在玩转VMware:手把手教你安装CentOS,开启虚拟世界的大门一章中,您已经成功地在VMware Workstation上搭建了自己的CentOS环境。接下来,我们将一起探索在这个新环境中如何管理文件------从简单的文件创建、删除到复杂的权限管理,每一项操作都是您熟练掌握Linux系统的关键。那么,让我们继续前行,开始今天的旅程吧!
任务描述
1、创建/删除目录(文件夹)
2、目录切换
3、列出目录项
4、新建/删除文件
5、列举文件
6、查看文件内容
7、查找文件
8、复制文件
9、文件重命令/移动文件
10、比较文件
11、合并文件
12、改变文件读取权限
13、文件重定向和追加
14、软链接和符号链接
15、文件打包
16、文件解压
知识回顾
【文件属性】Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。 在 Linux 中我们可以使用 ll 或者 ls --l 命令来显示一个文件的属性以及文件所属的用户和组。
实例中,其中"下载"的第一个属性用 d 表示。d 在 Linux 中代表该文件是一个目录文件。 在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。
当为 d 则是目录
当为 - 则是文件;
若是 l 则表示为链接文档(link file);
若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,r 代表可读(read)、w 代表可写(write)、x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。
每个文件的属性由左边第一部分的 10 个字符来确定(如下图):
从左至右用 0-9 这些数字来表示。
第 0 位确定文件类型
第 1-3 位确定属主(该文件的拥有者)拥有该文件的权限。
第 4-6 位确定属组(拥有者的同组用户)拥有该文件的权限。
第 7-9 位确定其他用户拥有该文件的权限。
第 1、4、7 位表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限。
第 2、5、8 位表示写权限,如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限。
第 3、6、9 位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用"-"字符表示,则没有执行权限。
任务准备
- 前提条件是Linux操作系统已经正常运行。
- 桌面右键打开终端或远程SSH连接操作Linux服务器。
- 学会帮助命令,在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档; linux系统内置的帮助文档很详细,通常能解决我们的问题,我们需要掌握如何正确的去使用它们。
- 在只记得部分命令关键字的场合,我们可通过man -k来搜索;
- 需要知道某个命令的简要说明,可以使用whatis;而更详细的介绍,则可用info命令;
- 查看命令在哪个位置,我们需要使用which;
- 而对于命令的具体参数及使用方法,我们需要用到强大的man;
任务实施
1、创建文件夹budaos
csharp
[root@localhost /]# mkdir budaos
2、删除文件夹budaos
csharp
[root@localhost /]# rmdir budaos
切换到mnt目录3、目录切换
csharp
[root@localhost /]# cd mnt
Ls(list)4、列出usr目录项及文件
csharp
[root@localhost /]# ls /usr
5、新建/删除test.txt文件
csharp
[root@localhost /]# touch test.txt
6、查看文件
学会使用view,cat,more,less,head,tail查看文件
csharp
[root@localhost /]#cat /etc/yum.conf
[root@localhost /]#view /etc/yum.conf
[root@localhost /]#more /etc/yum.conf
[root@localhost /]#less /etc/yum.conf
[root@localhost /]#head -n 8 /etc/yum.conf
[root@localhost /]#tail -n 9 /etc/yum.conf
7、查找文件
csharp
[root@localhost /]# find -name yum.conf
8、复制文件:复制/etc/yum.conf至/mnt
csharp
[root@localhost /]# cp -Rf /etc/yum.conf /mnt
9、文件重命名和移动
csharp
[root@localhost /]# cd /mnt
[root@localhost /]# touch test.txt
[root@localhost /]# mv test.txt testbak.txt
[root@localhost /]#mv /mnt/testbak.txt /opt
10、比较文件
新建test.txt写入内容I am a teacher! 再创建文件test1.txt写入内容I am a student!
csharp
[root@localhost /]# vi test.txt
[root@localhost /]# vi test1.txt
[root@localhost /]# diff test.txt test1.txt
11、合并文件并覆盖原文件
csharp
[root@localhost /]# cat test.txt test1.txt > test2.txt
12、合并并追加文件
csharp
[root@localhost /]# cat test.txt test1.txt >>test2.txt
13、改变文件读取权限
chmod -R a+rw *
数字权限使用格式
在这种使用方式中,首先我们需要了解数字如何表示权限。 首先,我们规定 数字 4 、2 和 1表示读、写、执行权限(具体原因可见下节权限详解内容),即 r=4,w=2,x=1 。此时其他的权限组合也可以用其他的八进制数字表示出来,如: rwx = 4 + 2 + 1 = 7 rw = 4 + 2 = 6 rx = 4 +1 = 5 即
若要同时设置 rwx (可读写运行) 权限则将该权限位 设置 为 4 + 2 + 1 = 7 若要同时设置 rw- (可读写不可运行)权限则将该权限位 设置 为 4 + 2 = 6 若要同时设置 r-x (可读可运行不可写)权限则将该权限位 设置 为 4 +1 = 5
上面我们提到,每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。即我们可以用用三个8进制数字分别表示 拥有者 、群组 、其它组( u、 g 、o)的权限详情,并用chmod直接加三个8进制数字的方式直接改变文件权限。语法格式为 :
chmod file...
其中a,b,c各为一个数字,分别代表User、Group、及Other的权限。相当于简化版的chmod u=权限,g=权限,o=权限 file...而此处的权限将用8进制的数字来表示User、Group、及Other的读、写、执行权限
例如:
chmod 777 file (等价于 chmod u=rwx,g=rwx,o=rwx file 或 chmod a=rwx file)
设置拥有者可读写,其他人不可读写执行
chmod 600 file (等价于 chmod u=rw,g=---,o=--- file 或 chmod u=rw,go-rwx file )
csharp
[root@localhost /]#chmod 644 mm.txt
14、文件重定向或追加
15、打包成gzip压缩包
csharp
[root@localhost /]# tar -zcvf test.tar.gz test.txt # 打包后,以 gzip 压缩
16、解压文件
其中:-C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
csharp
[root@localhost /]# tar -zxvf test.tar.gz -C /mnt # 将 tar 包解压缩
17、文件重定向或追加
gzip * # 将所有文件压缩成 .gz 文件
gzip -l * # 详细显示压缩文件的信息,并不解压
gzip -dv * # 解压上例中的所有压缩文件,并列出详细的信息
gzip -r test.tar # 压缩一个 tar 备份文件,此时压缩文件的扩展名为.tar.gz
gzip -rv test/ # 递归的压缩目录
gzip -dr test/ # 递归地解压目录
csharp
[root@localhost mnt]# gzip * #将mnt目录下所有的文件压缩成.gz文件
18、zip压缩文件
将 /mnt/ 这个目录下所有文件和文件夹打包为当前目录下的 mnt.zip
csharp
[root@localhost /]# zip -q -r mnt.zip /mnt
python
unzip mnt.zip # 解压 zip 文件19、unzip解压
unzip -n mnt.zip -d /tmp/ # 在指定目录下解压缩
unzip -o mnt.zip -d /tmp/ # 在指定目录下解压缩,如果有相同文件存在则覆盖
unzip -v mnt.zip # 查看压缩文件目录,但不解压
csharp
[root@localhost /]# unzip mnt.zip
19、chown命令使用
将目录/mnt/及其下面的所有文件、子目录的文件主改成creatorblue
csharp
[root@localhost /]# chown -R creatorblue /mnt
20、更改文件或文件夹权限
将 /mnt/ 这个目录下所有文件和文件夹设置为755权限
csharp
[root@localhost /]# chmod -Rf 755 /mnt/*
小结:了解在CentOS环境下如何高效管理文件。从创建和删除目录到切换工作目录,从文件的建立与移除到文件内容的查看,涵盖了文件管理的基本操作。此外,还介绍了文件查找、复制、重命名、权限修改等高级技巧,并涉及文件的打包与解压方法。通过本文的学习,您将掌握Linux系统中文件操作的核心技能,提升日常工作的效率。