Linux的常用文件管理命令
Linux中对文件管理的命令有ls(查看),mkdir(创建文件夹),rmdir(删除空文件夹),touch(创建文件),mv(移动文件和文件夹),rm(删除文件)等。
ls命令可以查看文件的的列表,常用的选项有:
-A 显示出去.和..以外的所有隐藏文件
-a 显示所有的隐藏文件,包括.和..
-C 多列显示输出结果
--color=auto 使用不同的颜色显示不同的类型
-d 仅显示目录名,而不显示目录下的内容太列表;显示符号链接本身文件,而不显示其所指向的目标列表
-F 在每个输出文件的后面加上文件的类型识别码:*表示有执行权限的普通文件,/表示目录,@表示符号链接,|表示管道FIFO,=表示套接字
-l 以长格式显示目录下的内容列表。输出从左到有为:权限,链接数,所有者,所属组,大小,时间,文件名
--full-time 显示格式同-l一样,只是时间变成完整时间
-i 显示文件的索引节点号
-m 用“,”区隔每个文件和目录
-n 以用户识别码和群组识别码代替其名称
-R 递归处理,将指定目录下的所有文件和子目录一起处理
-r 以文件名反序排列并输出目录内容列表
-s 显示文件和目录的大小,以区块为单位
-t 以文件和目录的更改时间排序
执行下面的一条命令看看执行过程:
ls --color=auto -liFR

上图中红色标注wang,它有蓝色,这是使用选项--color=auto的原因;
上图中的wang后面有个“/”,这是它的类型识别符,表明它是文件夹,这是选项-F的功能;
上图中的蓝色标注的,是列出了文件的详细内容,并且列出了所有子文件的内容,这是选项-l和-R的功能;
上图中的黄色标注的,是文件的索引节点号,是选项-i的显示结果。
我们接着在使用命令ls -l查看wang文件下的内容:

上图中执行完命令ls -l wang后,发现没有任何文件或目录的输出;
执行完命令ls -al wang后,发现出现了很多点开头的文件和文件夹,这是因为-a可以显示所有隐藏的文件。在Linux中隐藏文件都是以“.”开头的。
mkdir命令可以创建文件夹,经常使用的选项有:
-p,--parents 如果上级目录接有创建,就创建上级文件夹
-m,--mode=MODE 设置文件夹的权限。-m 后面跟数字权限。
-v,--verbose 显示执行的详细过程。
使用mkdir在/data/test/shiyan文件夹下创建文件夹ouma
mkdir ouma

使用选项-p在/data/test/shiyan文件夹创建文件夹today/ouma
mkdir -p today/ouma

从上图可以看出,today目录不存在,直接使用mkdir today/ouma命令会出现报错,不能正常创建;这时,只需要加上选项-p就可以创建了
rmdir命令删除空文件夹,经常使用的选项有:
-p,--parents 删除空目录以及空的上级目录。
-v,--verbose 显示执行的详细过程。

上图中-v选项会显示执行的过程:rmdir:removing directory,'ouma'

看上图可以知道,不加选项p只能删除一个空的目录;加上p选项会将提供的路径的所有空目录删除,直至上级目录不为空为止。
touch命令可以创建大小为0的文件;如果文件存在就是修改文件的时间戳,常用的选项如下:
-a 修改文件的访问时间Access time为当前时间
-m 文件内容的更改时间Modify time为当前时间
--time=word 若word=atime或access,修改文件的访问时间为当前时间
--time=word 若word=mtime或modify,文件内容更改的时间为当前时间
-c,--no-create 若文件存在就修改文件的三个时间为当前时间;若文件不存在,也不创建文件
-t CCYYMMDDhhmm.SS 把指定的时间替代文件中的时间
-r,--reference=File 使用file的时间代替文件的时间

上图是touch -a/-m的用法,--time的用法和-a/-m一样。

上图是touch不带选项的用法。如果文件不存在就创建大小为0的文件;如果存在就更新文件的时间为当前时间。


上图中touch -c的用法说明:如果文件存在,touch -c就将文件的时间更改当前时间;如果文件不存在,就不创建文件,
cp命令可以复制文件和文件夹,常用的选项有:
-a 相当于-dr preserve=all,备份文件时经常使用,复制文件时保持文件所有的属性
-b 覆盖文件之前,先进行备份,备份字尾字符串为。程序进行备份前会进行检测,如果存在备份编号,就使用备份编号;如果不存在就使用备份。
-S,suffix=后缀名 指定备份文件的后缀名
--backup=CONTROL 如果CONTROL=numbered或t,则采用备份编号,备份字尾字符串为1,编号以此增加
--backup=CONTROL 如果CONTROL=simple或never,将采用简单备份
--backup=CONTROL 如果CONTROL=existing或nil,程序进行备份前会进行检测,如果存在备份编号,就使用备份编号;如果不存在就使用~备份
--backup=CONTROL 如果CONTROL=none或off,将不备份直接覆盖
-r,-R,--recursive 递归处理,将处理指定目录下的所有文件和子目录
-u,--update 如果源文件比目标文件新或目标文件不存在时就进行复制
-l,--link 创建硬链接文件
-s,--symbolic-link 创建软链接文件
-f, --force 如果用户没有权限操作文件,就将文件删除再复制
-i,--interactive 覆盖文件之前先提示用户,这是centos系统默认设置
-n,--no-clobber 不覆盖已经存在的文件,即使指定-i
-v,--verbose 显示执行的详细过程
-p,--preserve= 保留文件的属性,包括所有者,所属组,权限和时间
-P,--no-dereference 复制软链接本身,而非复制软链接指向的源文件,和-d一样

上图中的命令为:
cp -av --backup=t passwd.txt /home/new-passwd.txt
上图中的红色圈住的部分,可以看到两个文件的类型,权限,链接数,所有者,所属组,大小和时间都是一样的,这就是选项-a的功能。
上图中蓝色圈住的部分,显示了执行了过程,这是选项-v的作用。
上图中黄色圈住的部分,文件名后面加了~1~,这是备份编号,没有覆盖已经存在的文件,而是在新的文件后面加上编号,这是--backup=t的功能。
cp不仅复制了文件(包括属性),而且还将文件改名为new-passwd.txt;如果复制的是文件夹,也可以修改文件夹的名字。
mv命令可以将文件和文件夹移动到指定路径,还可以修改文件和文件夹的名字,常用的选项有:
-b 覆盖文件之前,先进行备份,备份文件后面加上~
--backup 用法同cp的--backup用法一致
-S,--suffix=后缀名 指定备份文件的后缀名
-u,--updata 如果源文件比目标文件新或目标文件不存在,就移动文件
-f,--force 强制覆盖文件
-i,--interactive 覆盖文件之前提示用户,则是centos系统的默认值
-n,--no-clobber 不覆盖已经存在的文件。如果指定-i -f -n ,最后面的选项起作用
-v,--verbose 显示执行的详细过程。

图中红色是将文件夹2021重命名为2020;途中黄色的是将文件passwd.txt重命名为password.txt。在同一个文件夹下,mv可以修改文件或文件夹的名字。

图中是将2020文件夹移动test文件夹中。
rm命令可以删除文件,常用的选项有:
-f 强制删除文件
-r,-R,--recursive 递归处理,删除指定目录下的文件和子目录。删除文件夹必须指定-r
-i 删除文件前提示用户
-I 删除的文件超过3个时,只提醒一次
-d,--dir 删除空目录
-v,--verbose 显示执行的详细过程

删除/data文件夹下的所有文件,使用了选项-r(删除指定文件夹所有文件和子目录),-f(强制删除不提示),-v(显示执行的过程)。

浙公网安备 33010602011771号