【Linux实践】实验四:Shell实用功能及文件权限
【Linux实践】实验四:Shell实用功能及文件权限
- 实验目的
- 实验内容
- 实验步骤及结果
- 1. 别名
- 2. 输出和重定向
- 3. 分页显示
- 4. 权限(续)
- ① 文件/目录管理
- ② 用户管理
- ③ 组管理
- 5. 链接
实验目的
1.掌握LINUX中Shell的实用功能,命令行自动补全,命令历史记录,命令别名,管道及输入输出重定向。
2.掌握文件权限设置的方法,以及如何修改文件所有者及用户。
3.掌握LINUX下建立链接文件的方法。
实验内容
1、使用命令“cat /etc/named.conf”设置为别名named,然后再取消别名。
2、使用echo命令和输出重定向创建文本文件/root/nn,内容是hello,然后再使用追加重定向输入内容为word。
3、使用管道方式分页显示/etc/passwd的内容。
4、分别用文字设定法和数字设定法,对/root/ab文件设置权限,所有者为读取、写入和执行权限,同组用户为读取和写入权限,其他用户没有任何权限。
5、将文件/root/ab所有者更改为用户zhangsan。
6、将目录/root/b连同它的下级文件/root/b/cc的所有者和用户组一起更改为newuser。
7、使用命令创建/root/a文件的硬链接文件/root/b和软链接文件/root/c,并用ls –l命令查看输出信息的第二列(链接数)以及第五列(文件尺寸)。
实验步骤及结果
1. 别名
- 在Shell中,别名是为命令设置的简短替代名称。可以使用
alias
命令来(临时)创建别名。 - 格式:
alias 别名='原命令'
这里给命令
cat /etc/named.conf
设置了别名named。
现在直接输入named
,就会执行cat /etc/named.conf
- 要取消一个别名,使用
unalias
命令。
现在取消 named 别名,取消后,输入
named
将会提示找不到命令。
alias
命令只能用于临时创建和使用别名,关闭终端后,别名自动取消。要想永久定义别名,需要修改/root/.bashrc
文件。
2. 输出和重定向
本小点在 实验三 中已经提到,这里直接展示结果。
- 使用
echo
命令和输出重定向>
创建文本文件,文本内容为 hello。
- 追加内容,使用
>>
3. 分页显示
-
管道符号:
|
- 功能:将一个命令的输出通过管道作为另一个命令的输入
- 左端写数据,右端读数据
- 常用的管道命令有:
more
:分屏显示内容
grep
:再命令执行结果的基础上查询指定的文本
-
more
功能:用于分屏显示文件内容,每次只显示一页内容- 适合 查看内容较多 的文本文件
按键 | 含义 |
---|---|
Space | 显示手册页滚到下一屏 |
Enter | 一次滚动手册页的一行 |
B | 回滚一屏 |
F | 前滚一屏 |
Q | 退出 |
/word | 搜索 word 字符串 |
- 按 Q 可直接退出。
4. 权限(续)
在实验三中有接触到文件权限,这里将更详细的描述文件权限。
- 在Linux系统中,权限是控制用户对文件和目录访问的一种机制。
- Linux 权限主要涉及三个方面:用户(User)、组(Group)和其他(Other)。
序号 | 命令 | 作用 |
---|---|---|
01 | chown | 修改拥有者 |
02 | chgrp | 修改组 |
03 | chmod | 修改权限 |
chown 用户名 文件名|目录名
chgrp -R 组名 文件名|目录名
chmod -R 755 文件名|目录名
① 文件/目录管理
-
Linux权限分类:读(
r
)、写(w
)和执行(x
)权限 英文 缩写 数字代号 读 read r 4 写 write w 2 执行 excute x 1 无权限 - 0 -
表示法有两种:字符表示法、数字表示法
字符表示法 数字表示法 二进制 说明 ---
0 000 无权限 r--
4 100 只读 -w-
2 010 仅可写 --x
1 001 仅可执行 rw-
6 110 可读可写 r-x
5 101 可读可执行 -wx
3 011 可写可执行 rwx
7 111 可读可写可执行 由此可以看出字符表示法转数字表示法的规律。
-
设定权限从左往右,每三个字符(或每个数字)为一类,分别是 所属用户、组、其他。
rw--r--r--
表示:所属用户可读可写,所属组可读,其他用户可读。
后面有2个root
,第一个代表所属用户为root,第二个代表属于root组。 -
使用
chmod
命令设置权限:- 格式:
chmod [ugoa][+-=][rwxX] 文件|目录
- 通过数字或符号方式设置权限。
- 数字方式:r=4, w=2, x=1, -=0,将权限值相加得到最终权限。这种方式直观易懂,适用于简单的权限设置。
- 符号方式:u(user)、g(group)、o(other)、a(all),+(添加权限)、-(移除权限)、=(设置权限)。这种方式更加灵活,可以精确地控制每个用户的权限。
- 格式:
-
用文字设定法对 /root/ab 文件设置权限:所有者为读取、写入和执行权限,同组用户为读取和写入权限,其他用户没有任何权限。
-
用数字设定法
② 用户管理
- 创建用户 / 删除用户 / 修改其他用户密码 的终端命令都需要使用 sudo
序号 | 命令 | 作用 | 说明 |
---|---|---|---|
01 | useradd -m -g 组 新建用户名 | 添加新用户 | -m 自动创建用户家目录;-g 指定用户所在的组,否则会建立一个同名的组 |
02 | passwd 用户名 | 设置用户密码 | 如果是普通用户,直接用 passwd 可以修改自己的账户密码 |
03 | userdel -r 用户名 | 删除用户 | -r 选项会自动删除用户家目录 |
04 | cat /etc/passwd | grep 用户名 | 确认用户信息 | 新建用户后,用户信息会保存在 /etc/passwd 文件中 |
-
创建用户时,如果没有添加 -m 选项指定新用户的家目录,应删除用户,重新创建
-
使用
chown
命令设置用户或用户组:- 格式:
chown 选项 用户:组 文件|目录
- 常用选项
-R
: 对目录下的所有文件与子目录进行相同的拥有者变更
- 格式:
-
简单创建一个用户 zhangsan(同时会自动创建一个zhangsan组,如需指定需加
-g
)。
-
查看是否有zhangsan这个用户
-
将文件/root/ab所有者更改为用户zhangsan
③ 组管理
- 创建 / 删除组 的终端命令都必须通过 sudo 执行
序号 | 命令 | 作用 |
---|---|---|
01 | groupadd 组名 | 添加组 |
02 | groupdel 组名 | 删除组 |
03 | cat /etc/group | 确认组信息 |
04 | chgrp 组名 文件 / 目录名 | 修改文件 / 目录的所属组 |
- 组信息保存在
/etc/group
文件中 /etc
目录时专门用来保存 系统配置信息 的目录- 同样可以用
chown
修改文件或目录的所属组。
创建用户newuser,创建时会自动创建newuser组。
将目录/root/b连同它的下级文件/root/b/cc的所有者和用户组一起更改为newuser
5. 链接
ln
功能:为某一个文件在另外一个位置建立一个同步的链接。- 常用语法:
ln [选项] 源文件 目标文件
- 常用参数
-s
:对源文件建立符号(软)链接。
软链接:软链接文件是一种特别类型的文件,它们是一个文本文件,文件内部只包含了被链接文件的路径名。类似于windows系统中的快捷方式。
硬链接:文件创建硬链接只能创建在同一磁盘或磁盘分区下,不能创建在不同的磁盘或磁盘分区。硬链接不占磁盘空间,且目录不能创建硬链接。
- 创建/root/a文件的硬链接文件/root/b
- 创建/root/a文件的软链接文件/root/c
- 查看文件信息,第二列(链接数)、第五列(文件尺寸)。