1.2 文件管理类命令

写在前面

在处理 Linux 文件时注意:

  1. Linux 对文件后缀不严格限制

  2. Linux 对大小写是敏感的

  3. 标准的 Linux 文件,路径名长度(包含所有字符) 不可超过4096字节

  4. 路径名中通过 / 分隔开的每一部分的长度不可超过255字节

手册与命令类型查询

man命令(manual) 显示手册页,通过阅读手册了解命令的使用如:man ls

type命令 判断命令是可执行文件、shell 内置命令还是别名,type的使用方法参考1.4 Linux 命令附录

新建文件/目录

touch命令 有两个功能:

  • 把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;

  • 创建新的空文件

mkdir命令(make directory)用来创建目录。e.g.

llls -a的别名,别名的配置方法参见配置别名

不要把所有的文件都存放在主目录中。通过创建子目录来更有效地整理文件,最好采用前后一致的命名方式来区分文件和目录。

权限

Linux 系统中,文件权限表示方法有字母和数字两种,终端中输入ll就能看到文件权限:

chmod命令(change mode)用来变更文件或目录的权限。

-v 显示权限变更的详细资料

-R 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)

e.g. 修改文件权限

chown命令 (change owner)变更文件所有人。

chgrp命令 (change group)仅变更组。

压缩

zip命令 可以用来解压缩文件,或者对文件进行打包操作。zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有.zip扩展名的压缩文件。

压缩和解压缩文件的语法分别是zip filenameunzip filename

e.g. 压缩及解压

zcat命令 显示压缩格式文件内容的工具。

查找

find命令 用来在指定目录下查找文件。支持正则表达。e.g.

pwd命令(print work directory)可以打印出当前的工作目录。

比较

diff命令 在最简单的情况下,比较给定的两个文件的不同。如果使用“-”代替“文件”参数,则要比较的内容将来自标准输入。diff命令是以逐行的方式,比较文本文件的异同处。如果该命令指定进行目录的比较,则将会比较该目录中具有相同文件名的文件,而不会对其子目录文件进行任何比较操作。

e.g. 比较 .bashrc 与 lab1 的差异

链接

Linux 具有为一个文件起多个名字的功能,称为链接。被链接的文件可以存放在相同的目录下,但是必须有不同的文件名,而不用在硬盘上为同样的数据重复备份。

ln命令(link file)用来为文件创建链接,链接类型分为硬链接和符号链接两种,默认的链接类型是硬链接。如果要创建软链接必须使用-s选项。

e.g. ln命令的使用

统计

内存统计

df命令(disk free)用于显示文件系统的磁盘空间利用情况。当在终端中运行 df 命令时,它会列出系统中所有的文件系统及其对应的磁盘空间使用情况,包括磁盘总容量、已用空间、可用空间以及挂载点等信息。这个命令对于了解系统中磁盘空间的使用情况非常有用。建议使用-h参数使之易读。

du命令(disk usage)也是查看使用空间的,但是与df命令不同的是 du命令是对文件和目录磁盘使用的空间的查看常用命令是du -shdu -h,前者可以查看当前目录下所有文件大小的总和,后者可以列出当前目录下所有文件的大小。

e.g. 不同参数的 du命令的统计效果

文本统计

wc命令 可以计算文件的 Byte 数、字数(-w)、或是行数(-l)。

复制/移动/重命名/删除

cp命令(copy file)用来将一个或多个源文件或者目录复制到指定的目的文件或目录。cp命令支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

mv命令(move file)常用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。

mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果:

  • 如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。

  • 如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中。所有移到该目录下的文件都将保留以前的文件名。

mvcp的结果不同,mv好像“搬家”,文件个数并未增加。而cp对文件复制,文件个数增加了。

语法如下:

跨服务器传文件

在两台机之间传输文件可以用 scp,它的地址格式与ssh基本相同,都是可以省略用户名和端口,稍微的差别在与指定端口时用的是大写的 -P 而不是小写的。不过,如果已经配置了别名,那么这都不重要,因为 scp 也支持直接用别名。

rm命令(remove file)删除文件或目录。

删除目录可以使用rm -rf命令或者 rmdir命令(Remove directory)。

最后更新于