Linux 常用命令(4):文件管理与编辑
🏷️ Linux
mkdir
创建一个目录。 mkdir
是 make directory 的缩写
mkdir [选项] 目录名
选项 | 说明 |
---|---|
-m | 对新建目录设置存取权限 |
-p | 可以指定一个路径名称。 此时,若路径中的某些目录尚不存在,加上此选项后,系统将自动创建那些尚不存在的目录, 也就是说,一次可以创建多个目录。 |
more
如果一个文本文件比较长,一屏无法显示完毕,就需要使用 more
命令。
more [选项] 文件名
选项 | 说明 |
---|---|
-d | 在屏幕底部 more 提示符后显示友好信息。 |
-s | 将输出文件中的多个空行减少为只有一个空行输出。以文件的第一行为准。 |
-p | 先清除显示屏以前的信息,再显示文本信息。 |
-c | 显示文件时,每屏显示都清除屏幕先前显示的信息,然后从最顶端显示出来。 |
cat
将文件的内容输出到标准输出,同时 cat
还可以用来连接合并文件。
cd [选项] 文件名
或者
cd 文件1 文件2 > 文件3
diff
比较文件的差异。
diff [选项] 文件1 文件2
grep
文本过滤工具, grep
根据指定的字符串,对文件的每一行进行搜索,如果找到了这个字符串,就输出该行内容。
grep [选项] 需要查找的字符串 文件名
选项 | 说明 |
---|---|
-A NUM | 除了列出符合条件的行外,同时列出每个符合条件行的后 NUM 行 |
-c | 只显示符合条件的行数,而不显示每行的具体信息。 |
-f file | 事先将要搜索的样式写入一个文件中,每行一个样式,然后以这个文件作为条件进行搜索。 |
-i | 搜索时忽略大小写。 |
-n | 在搜索结果中显示行号。 |
-B | 与选项 -A 相反,除了列出符合条件的行外,同时列出每个符合条件行的前 NUM 行 |
rm
删除某个目录及其下的所有文件及子目录。
rm [选项] 文件或者目录
选项 | 说明 |
---|---|
-r | 告诉 rm 将选项中列出的全部目录以及子目录还有文件均递归地删除,如果在选项中不指定 -r 选项, rm 命令将不能删除目录。 |
-f | 忽略不存在的问题,也不给出提示。 |
-i | 交互式删除,即在删除前进行确认。 |
touch
改变指定文件的访问时间和修改时间,若指定文件不存在则创建此文件。
touch [选项] 设定的时间 文件
ln
在文件或目录之间创建链接。 Linux 下的链接有两种:硬链接(Hard Link)和符号链接(Symbolic Link)。
硬链接(Hard Link):通过文件的 inode 来进行链接。允许多个文件只想同一个 inode,此时,只有当最后一个链接被删除后,文件才会被真正删除。多用于防止误删除操作。
符号链接(Symbolic Link):也叫软链接,是一个指向真正文件或目录的符号连接,类似于 Windows 的快捷方式。
默认情况下,ln
命令产生的是硬链接。
ln [选项] 源文件 目标链接名
选项 | 说明 |
---|---|
-f | 如果在目标位置存在与链接名相同的文件,这个文件将被删除。 |
-s | 进行软链接。 |
-d | 允许系统管理员硬链接自己的目录。 |
-b | 对将在链接时会被覆盖或者删除的文件进行备份。 |
file
显示文件的类型。
对于长度为 0 的文件,将识别为空文件;
对于符号链接文件,默认情况下将显示符号链接引用的真实文件路径。
file [选项] 文件名
选项 | 说明 |
---|---|
-b | 显示文件类型结果,不显示对应文件名称。 |
-L | 直接显示符号链接所指向的文件类型。 |
-z | 显示压缩文件的信息。 |
-i | 如果文件不是常规文件,则不进一步对文件类型进行分类。 |
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
将给出的文件或者目录复制到另一个文件或者目录中。
cp [选项] 源文件或者目录 目标文件或者目录
选项 | 说明 |
---|---|
-a | 在复制目录时使用。 它保留所有的信息,包含文件链接、文件属性,并递归地复制目录。 |
-r | 若给出的源文件是一个目录文件,此时 cp 将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。 |
-d | 复制时保留链接,这样不会失去链接文件。 |
-p | 保留文件的修改时间和存取权限。 |
-i | 如果已经有相同文件名的目标文件,则提示用户是否覆盖。 |
find
在指定的路径下查找指定的文件。
find path-name [-options] [-print -exec -ok 命令 {} \;]
path-name:查找的目录路径。.
表示当前目录;/
表示系统根目录。
-options:控制搜索的方式。
-print:将搜索结果输出到标准输出。
-exec:对搜索出符合条件的文件执行所给出的 Linux 命令,而不询问用户是否需要执行该命令。
-ok:对搜索出符合条件的文件执行所给出的 Linux 命令。与 -exec 不同的是,它会询问用户是否执行该命令。
root@xyb-server:/# find / -name 'nacos'
split
分割文档,将一个文件分成数个。
split [选项] [input_file] [ouput_file]
选项 | 说明 |
---|---|
-b size | 指定分割出来的文件大小, size 可加入单位, b 代表 512 字节,k 代表 1KB,m 代表 1MB。 |
-n | 指定分割的每个文件的长度,默认为 1000 行。 |
-d | 将 split 命令生成的文件序列以数字形式命名。 |
-a | 指定 split 命令生成的文件序列的长度,默认长度为 2。 |
mv
将文件或目录改名或将文件由一个目录移入另一个目录中。
mv [选项] 源文件或目录 目标文件或目录
选项 | 说明 |
---|---|
-i | 交互式操作。 |
-f | 禁止交互式操作。默认覆盖。 |