目录命令及权限:
命令 | 说明 |
---|---|
ls | 列出目录 |
cd | 切换目录 |
pwd | 显示目前的目录 |
mkdir | 创建新目录 |
rmdir | 删除一个空的目录 |
cp | 复制文件或目录 |
rm | 移除文件或目录 |
mv | 移动文件与目录或修改文件与目录的名称 |
ls列出目录:
ls # 显示不隐藏的文件和文件夹
ls -l # 显示不隐藏的文件和文件夹的属性与权限等等数据
ls -d #仅列出目录本身,而不是列出目录内的文件数据(常用)
ls -a # 显示隐藏的所有文件和文件夹
ls -al # 显示所有文件和文件夹详细信息
用数字的方法改权限
# 770:就是所有的用户和用户组可读可写可执行,其他用户不可以读不可以写
chmod -R 770 aaa
chmod~符号权限
cd 切换目录:
- Linux的cd切换目录,相当于我们在Windows中通过鼠标或者快捷键点开不同的目录
- cd是Change Directory的缩写,这是用来变换工作目录的命令
- 使用者权限:所有使用者都可使用。
相对路径:
路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd …/man 这就是相对路径的写法啦!
[root@VM-0-9-centos /]# cd home
绝对路径:
路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。
[root@VM-0-9-centos ~]# cd /home
cd [相对路径或绝对路径]cd ~ 表示回到根目录
pwd显示当前目录:
- pwd 是 Print Working Directory 的缩写,也就是显示目前所在当前目录的命令。
- 使用者权限:所有使用者都可使用。
查看当前所在目录
pwd
pwd -p
mkdir:
- Linux的mkdir命令相当于我们在Windows中通过鼠标或者快捷键新建文件夹
mkdir命令用于建立名称为 dirName 之子目录- 使用权限:于目前目录有适当权限的所有使用者
语法:
mkdir [-p] dirName
参数说明:
- -p 确保目录名称存在,不存在的就建一个,建立一个名为Test 的子目录
mkdir 文件夹名
mkdir aaa
mkdir -p 多级文件夹名
mkdir -p aaa/bbb/ccc/ddd/eee
rmdir~删除文件夹
- rmdir命令删除空的目录
- 使用权限:于目前目录有适当权限的所有使用者。
- 参数:
-p
是当子目录被删除后使它也成为空目录的话,则顺便一并删除,如果文件夹里有文件要用rm
rmdir 文件夹名
rmdir -p 文件夹名
rm -r 文件/文件夹名
rm -rf 文件夹*
rm:
- rm命令用于删除一个文件或者目录。
- 使用权限:于目前目录有适当权限的所有使用者
参数:
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。
rm -r ccc
CP:
- cp命令主要用于复制文件或目录。
- 使用权限:于目前目录有适当权限的所有使用者
参数说明:
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r/R:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。
# cp 原文件路径 目标路径
cp aaa/a.txt bbb# cp -r原文件路径 目标路径 这个可以复制整个文件夹
cp -r aaa/* bbb
mv:
mv是Linux里的剪切和改名
mv 命令用来为文件或目录改名、或将文件或目录移入其它位置
参数说明:
-i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
-f: 在 mv 操作要覆盖某已有的目标文件时不给任何指示;
# mv 原文件路径 目标路径
mv aaa/a.txt bbb # mv -r原文件路径 目标路径 这个可以拷贝整个文件夹
mv -r aaa/* bbb
执行mv注意点
命令格式 | 运行结果 |
---|---|
mv 文件名 文件名 | 将源文 件改为目标文件名 |
mv 文件名 目录名 | 将文件移动到目标目录 |
mv 目录名 目录名 | 目标已存在,将源文件移动到目标目录,目标目录不存在则改名 |
mv 目录名 文件名 | 报错 |
chgrp更改属组:
- chgrp命令用于变更文件或目录的所属群组。
- 文件或目录权限的的拥有者由所属群组来管理。可以使用chgrp指令去变更文件与目录的所属群组,设置方式采用群组名称或群组识别码皆可为了方便初学者记忆,可以将 chgrp 理解为是 “change group” 的缩写
- 实际开发中我们经常会创建新建目录和文件,一般情况下,通过命令进行新建,
在创建完成后,使用不同的用户访问,可能就会出现报错,无法访问等等问题。
然后经过一番这查找,发现该有的文件都在,大小写也没问题,路径也没问题
其实并不是这些问题。而是权限问题导致我们无法访问!是因为一个文件默认隶属于一个属组,而使用其他用户访问这个文件肯定无法访问(因为访问用户所属的组和文件所在的不是同一个组)
那么怎么可以正常访问呢?其实就是通过更改用户组(用户组、文件组)来解决这些问题
# 把aaa所在的用户组改成root
chgrp root aaa
chgrp -v root aaa # 加-v就是多个提示语句
chown更改属主和属组:
- 我们为了让一些用户有权限查看某一文档,比如是一个时间表,而编写时间表的人要具有读写执行的权限(属主)
- 我们想让一些用户知道这个时间表的内容,而不让他们修改,所以我们可以把这些用户都划到一个组(属组),然后来修改这个文件的权限,让用户组可读,这样用户组下面的每个用户都是可读的
- Linux是多任务操作系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限
- 使用权限 : 管理员账户
语法:
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
-R:处理指定目录以及子目录下的所有文件
# 把aaa的所属主改成root
chown root aaa# 改所有的所属主和所属组为root
chown root:root aaa# 把aaa文件夹和里面的所有属主和属组改成root
chown -R root:root aaa
chmod:
作用
修改属主、属组、其他用户的权限
使用权限 : 所有使用者
修改方式:
- 数字方式
- 符号方式
数字权限:
数字权限就是数字类型的权限属性,为 rwx 属性数值的相加的和
语法:
chmod [参数选项] 数字权限 文件或目录
参数说明:
参数 | 说明 |
---|---|
-c | 若该档案权限确实已经更改,才显示其更改动作 |
-f | 若该档案权限无法被更改,也不要显示错误信息 |
-v | 显示权限变更的详细资料 |
-R | 对目前目录下的所有档案与子目录进行相同的权限变更(以递归的方式逐个变更) |
-help | 显示辅助说明 |
-- version | 显示版本 |
# 把aaa和下级文件全部设置成
# 1. 自己和所有者可读可写可执行
# 2. 用户组可读可写可执行
# 3. 其他的用户不可读不可写不可执行
chmod -R 770 aaa
符号权限:
语法:
chmod [参数选项] 数字权限 文件或目录
参数说明:和数字权限一样
含义 | 符号代替 |
---|---|
user属主权限 | u |
group属组权限 | g |
others其他权限 | o |
all表示以上全部身份 | a |
表示增加权限 | + |
表示取消权限 | - |
表示唯一设定权限 | = |
给单个文件设置
# u=rwx:自己所有者可读可写可执行
# g=rx:用户组可读可执行
# o=r:其他用户可读
# 将上面的权限设置给a.txt,不同权限要用英文的逗号隔开chmod u=rwx,g=rx,o=r a.txt# 给a文件夹下的所有文件夹和文件设置权限为可读可写可执行
chmod -R a=rwd a# 去掉a文件夹的其他用户的所有权限
chmod -R o-rwd a