chgrp
、chown
和chmod
命令来修改文件和目录的权限,并通过实战任务来加深理解和应用。chgrp 用户组 文件
chown 用户 文件
chmod 权限 文件
字母 | 角色 |
---|---|
u | 所有者(user) |
g | 用户组(group) |
o | 其他人(other) |
字母 | 权限 |
---|---|
r | 可读(readable) |
w | 可写(writable) |
x | 可执行(executable) |
方式 | 说明 | 实例 | 实例 | 实例 | 实例 |
---|---|---|---|---|---|
字母方式 | r-w-x | rwx | r | rw | rx |
数字方式 | 4-2-1 100-010-001 | 4+2+1=7 | 4+0+0=4 | 4+2+0=6 | 4+0+1=5 |
chmod 756 love.txt
相当于chmod u=rwx, g=rx, o=rw love.txt
创建文件的方法很多,比如用vim、touch、echo……
root用户创建新文件love.txt
(echo
是输出命令,默认是输出到屏幕;>
是重定向命令)
查看文件love.txt
的用户及用户组
将其用户组改为lzy
用户组(在1.2节曾创建了lzy
用户组),执行命令:chgrp lzy love.txt
(love.txt
→
\rightarrow
→lzy)
查看文件love.txt
的用户及用户组
love.txt
的所有者改变成alice
(在1.2节里创建的普通用户)chown alice love.txt
(love.txt
∈
\in
∈ alice)love.txt
的所有者信息love.txt
文件所有者改为smith
,用户组改为luzhou
love.txt
的用户及用户组信息针对文件love.txt
,权限字符串:-rw-r--r--
权限字符串有10位,分为四个部分。
第1位:表示文件类型;-
表示文件,d
表示目录,l
表示链接
第234位:表示文件所有者(user)的读写可执行权限
第567位:表示文件所在组(group)的读写可执行权限
第89X位:表示文件其他人(other)的读写可执行权限
修改文件所有者权限为可读可写可执行(rwx),文件所在组的权限改为可读可执行但是不可写(r-x),文件其他人的权限设置为可读可执行但是不可写(r-x)
执行命令:chmod u=rwx,g+x,o=rx love.txt
(g+x:表明在原来权限基础上添加可执行权限)
查看文件love.txt
的操作权限
其实,执行chmod 755 love.txt
效果完全相同,我们不妨试一试。
课堂练习:减去love.txt文件的用户组和其他人的可执行权限(字母方式或数字方式)
采用字母方式,执行命令:chmod g-x,o-x love.txt
查看love.txt的详细信息
采用数字方式,执行命令:chmod 744 love.txt
查看love.txt的详细信息
pwd
、cd
、ls
、mkdir
、du
、cp
、mv
和rm
等命令来执行常见的目录操作,并通过实战任务来加深理解和应用。命令 | 功能 |
---|---|
help, man, info | 获得命令帮助 |
pwd | 查看当前的工作目录 |
cd | 切换工作目录 |
ls -l | 以长格式显示文件和目录的列表,包括权限,大小,最后更新时间等信息 |
ls -a | 显示所有子目录和文件的信息,包括以“.”开头的隐藏目录和隐藏文件 |
ls -d | 显示目录属主的属性,而不是显示目录内容 |
ls -R | 以递归的方式显示指定目录及其子目录的内容 |
mkdir | 命令创建新的目录,使用“-p”创建嵌套的多层目录结构。 |
du | 统计目录及文件的空间占用情况 |
du -a | 统计磁盘空间占用时包括所有的文件,而不仅仅统计目录 |
du -h | 以K,M单位显示显示统计结果 |
du -s | 只统计每个参数所占空间总大小,而不是统计每个子目录和文件的大小 |
cp | 拷贝目录或文件,允许使用通配符 |
mv | 移动目录或文件 |
rm | 删除目录或文件(rm -rf 强制删除) |
help pwd
,查看pwd
命令帮助信息man pwd | head -20
,查看pwd
命令帮助信息(print working dirctory)info pwd | head -20
,查看pwd
命令帮助信息pwd
(pwd: print working directory)执行命令:ls
,显示当前目录下的目录文件名(ls - list)
执行命令:ls /home
,显示/home
目录下的目录文件名
执行命令:ls -l
,显示当前目录下的目录文件详细信息
说明:ls -l
相当于ll
命令
执行命令:ls -a
,显示所有子目录和文件的信息,包括以“.”开头的隐藏目录和隐藏文件(.
- 当前目录;..
- 父目录)
执行命令:ls .
,查看当前目录的内容
执行命令:ls ..
,查看父目录的内容
执行命令:ls -d
与ls -d /home
,显示目录属主的属性,而不是显示目录内容
执行命令:ls -R /home
,以递归的方式显示指定目录及其子目录的内容(R - recursive)
我们换一个目录来试,执行命令:ls -R /etc/sysconfig
注意选项参数是-R
,不是-r
,用-r
,查看结果是不同的,并没有递归
执行命令:ls -h /etc/sysconfig
创建单个目录:mkdir 目录名,在当前目录下创建test
目录(mkdir - make directory)
创建多层目录:mkdir -p 多层目录,在当前目录下创建hw/yl/lzy
如果不加参数-p
,就不能创建原本不存在的多级目录
创建平行的多个目录:mkdir 目录1 目录2 目录3……
课堂练习:创建下图所示目录结构(可以有不同的方法来完成任务)
方法一:采用参数-p
直接创建
采用递归方式查看刚才创建的目录结构
执行命令:yum -y install tree
,安装tree
,查看目录树
修改网卡配置文件,执行命令:vim /etc/sysconfig/network-scripts/ifcfg-ens33
存盘退出,重启网络服务,执行命令:systemctl restart network
执行命令:yum -y install tree
执行命令:tree /lzy
,查看目录结构
为了演示第二种方法,先把/lzy
目录彻底删除
方法二:逐层创建每一级目录
逐层创建,需要用到两个命令:mkdir和cd(切换目录)
执行命令:tree /lzy
,查看目录树
执行命令:cd /
,返回根目录
执行命令:cd ~
(~
省掉也是一样的),返回当前用户的主目录,当前用户是root
用户,其主目录是/root
howard用户的主目录就是/home/howard
,由root用户切换到howard用户,当前目录依然是root用户的主目录,即/root
,发布cd ~
命令,切换到howard用户的主目录,即/home/howard
。
返回上一级目录:cd …
说明:本来当前目录在/home/howard
,发布cd..
命令,返回到/home
目录。
返回上一次的目录:cd -
说明:刚才由/home/howard
目录,发布cd ..
命令,返回到父目录/home
,紧接着发布cd -
命令,返回上一次的目录,那就是/home/howard
了。
du
du -a
du -h
-r
。hw1
目录下的CentOS-Base.repo
文件移到当前目录hw2
目录下的yum
目录移到hw1
目录hw1
目录下以Cent
打头的文件全部删除hw1
目录下的yum
目录rm -rf hw1/yum
chgrp
、chown
和chmod
。通过这些命令,我们可以修改文件或目录的所有者、用户组和权限,从而更好地保护系统的安全性和稳定性。pwd
、cd
、ls
、mkdir
、du
、cp
、mv
和rm
等。通过这些命令,我们可以查看当前工作目录、切换工作目录、显示目录内容、创建新目录、统计目录及文件空间占用情况、复制和移动文件和目录以及删除文件和目录等。