Skip to content

Linux 常用命令(4):文件管理与编辑

🏷️ Linux

mkdir

创建一个目录。 mkdirmake directory 的缩写

shell
mkdir [选项] 目录名
选项说明
-m对新建目录设置存取权限
-p可以指定一个路径名称。
此时,若路径中的某些目录尚不存在,加上此选项后,系统将自动创建那些尚不存在的目录,
也就是说,一次可以创建多个目录。

more

如果一个文本文件比较长,一屏无法显示完毕,就需要使用 more 命令。

shell
more [选项] 文件名
选项说明
-d在屏幕底部 more 提示符后显示友好信息。
-s将输出文件中的多个空行减少为只有一个空行输出。以文件的第一行为准。
-p先清除显示屏以前的信息,再显示文本信息。
-c显示文件时,每屏显示都清除屏幕先前显示的信息,然后从最顶端显示出来。

cat

将文件的内容输出到标准输出,同时 cat 还可以用来连接合并文件。

shell
cd [选项] 文件名

或者

shell
cd 文件1 文件2 > 文件3

diff

比较文件的差异。

shell
diff [选项] 文件1 文件2

grep

文本过滤工具, grep 根据指定的字符串,对文件的每一行进行搜索,如果找到了这个字符串,就输出该行内容。

shell
grep [选项] 需要查找的字符串 文件名
选项说明
-A NUM除了列出符合条件的行外,同时列出每个符合条件行的后 NUM
-c只显示符合条件的行数,而不显示每行的具体信息。
-f file事先将要搜索的样式写入一个文件中,每行一个样式,然后以这个文件作为条件进行搜索。
-i搜索时忽略大小写。
-n在搜索结果中显示行号。
-B与选项 -A 相反,除了列出符合条件的行外,同时列出每个符合条件行的前 NUM

rm

删除某个目录及其下的所有文件及子目录。

shell
rm [选项] 文件或者目录
选项说明
-r告诉 rm 将选项中列出的全部目录以及子目录还有文件均递归地删除,
如果在选项中不指定 -r 选项, rm 命令将不能删除目录。
-f忽略不存在的问题,也不给出提示。
-i交互式删除,即在删除前进行确认。

touch

改变指定文件的访问时间和修改时间,若指定文件不存在则创建此文件。

shell
touch [选项] 设定的时间 文件

ln

在文件或目录之间创建链接。 Linux 下的链接有两种:硬链接(Hard Link)和符号链接(Symbolic Link)。

硬链接(Hard Link):通过文件的 inode 来进行链接。允许多个文件只想同一个 inode,此时,只有当最后一个链接被删除后,文件才会被真正删除。多用于防止误删除操作。
符号链接(Symbolic Link):也叫软链接,是一个指向真正文件或目录的符号连接,类似于 Windows 的快捷方式。

默认情况下,ln 命令产生的是硬链接。

shell
ln [选项] 源文件 目标链接名
选项说明
-f如果在目标位置存在与链接名相同的文件,这个文件将被删除。
-s进行软链接。
-d允许系统管理员硬链接自己的目录。
-b对将在链接时会被覆盖或者删除的文件进行备份。

file

显示文件的类型。
对于长度为 0 的文件,将识别为空文件;
对于符号链接文件,默认情况下将显示符号链接引用的真实文件路径。

shell
file [选项] 文件名
选项说明
-b显示文件类型结果,不显示对应文件名称。
-L直接显示符号链接所指向的文件类型。
-z显示压缩文件的信息。
-i如果文件不是常规文件,则不进一步对文件类型进行分类。
shell
root@xyb-server:/test# file /etc/init.d/halt 
/etc/init.d/halt: POSIX shell script, ASCII text executable
root@xyb-server:/test# file /bin/sh
/bin/sh: symbolic link to dash

cp

将给出的文件或者目录复制到另一个文件或者目录中。

shell
cp [选项] 源文件或者目录 目标文件或者目录
选项说明
-a在复制目录时使用。
它保留所有的信息,包含文件链接、文件属性,并递归地复制目录。
-r若给出的源文件是一个目录文件,此时 cp 将递归复制该目录下所有的子目录和文件。
此时目标文件必须为一个目录名。
-d复制时保留链接,这样不会失去链接文件。
-p保留文件的修改时间和存取权限。
-i如果已经有相同文件名的目标文件,则提示用户是否覆盖。

find

在指定的路径下查找指定的文件。

shell
find path-name [-options] [-print -exec -ok 命令 {} \;]

path-name:查找的目录路径。.表示当前目录;/表示系统根目录。
-options:控制搜索的方式。
-print:将搜索结果输出到标准输出。
-exec:对搜索出符合条件的文件执行所给出的 Linux 命令,而不询问用户是否需要执行该命令。
-ok:对搜索出符合条件的文件执行所给出的 Linux 命令。与 -exec 不同的是,它会询问用户是否执行该命令。

shell
root@xyb-server:/# find / -name 'nacos'

split

分割文档,将一个文件分成数个。

shell
split [选项] [input_file] [ouput_file]
选项说明
-b size指定分割出来的文件大小,
size 可加入单位,b 代表 512 字节,k 代表 1KB,m 代表 1MB。
-n指定分割的每个文件的长度,默认为 1000 行。
-dsplit 命令生成的文件序列以数字形式命名。
-a指定 split 命令生成的文件序列的长度,默认长度为 2。

mv

将文件或目录改名或将文件由一个目录移入另一个目录中。

shell
mv [选项] 源文件或目录 目标文件或目录
选项说明
-i交互式操作。
-f禁止交互式操作。默认覆盖。