Linux一切皆文件

1.1、cat命令

cat 命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

语法:    cat [选项] [文件]...

功能:

  • 一次显示整个文件:cat filename

  • 从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.

  • 将几个文件合并为一个文件:cat file1 file2 > file3

  • 追加内容到指定文件

[root@www ~]# cat <<e >> 3.txt
123456
e
​

重定向符号:

1、正确重定向

##覆盖重定向 >
##追加重定向 >>

2、错误重定向

##覆盖重定向 2>
##追加重定向 2>>

3、混合重定向

##覆盖重定向 &>
##追加重定向 &>>

选项:

-n 显示行号。
-v 显示不可打印的字符。
-e 在输出的行尾添加制表符和换行符。
-b 在输出的行尾添加空格而不是制表符和换行符。
-A 类似于 -v 和 -e,但只显示不可打印的字符和行尾的空格。
-t 仅显示每行的第一个非空格字符。
-f 按行分割文件,并将每一行分别发送到标准输出。
-l 仅显示当前行的行号。
-r 在输出的行尾添加回车符和换行符。
-s 在连续的空白字符中输出一个空格。

1.2、more命令

用于逐页查看文本文件内容的命令。当需要查看大型文件时,more 命令能够按页显示文件内容,允许用户逐页浏览文件内容。

语法:more [选项] [文件名]

操作:

操作 作用
空格键 向下翻动一页。
Enter键 向下翻动一行。
q 退出 more 命令。
/pattern 在文件中搜索指定的模式(pattern)。
:n 跳转到第 n 行。
:f 显示文件名和当前行号。

1.3、less命令

看文本文件内容的命令,类似于 more 命令,但提供了更多的功能和操作选项。less 命令可以让用户在文件中进行搜索、前后翻页、跳转到指定行等操作。

语法:   less [选项] [文件名]

操作:

操作 作用
空格键 向下滚动一屏。
Page Up 或 b 向上滚动一屏。
Page Down 或 空格键 向下滚动一屏。
/pattern 在文件中搜索指定模式(pattern)。
n 找到下一个匹配的搜索结果。
N 找到上一个匹配的搜索结果。
g 跳转到文件的起始处。
G 跳转到文件的末尾。
q 退出 less 命令。

1.4、head命令

head 命令用于显示文件的开头部分,默认情况下显示文件的前 10 行内容。head 命令在查看文件的头部信息时非常有用,尤其适合用于快速查看文件的开头几行内容。

语法:  head [选项] [文件名]

管道符:

将前一命令的结果作为后一命令的输入进行再次处理;相当于流水线工作。

连接前后两个命令结合使用 传递数据流

[root@www ~]# cat -n anaconda-ks.cfg  | head -1

选项:

选项 作用
-q 隐藏文件名
-v 显示文件名
-c<字节> 显示字节数
-n<行数> 显示的行数

1.5、tail命令

tail 命令用于查看文件的尾部内容,默认情况下显示文件的最后 10 行。tail 命令在查看日志文件或需要关注文件末尾信息时非常有用。。使用 tail -f 选项可以实时监控文件的变化,这对于监控系统日志或等待文件尾部的特定信息非常方便。

语法:    tail [选项] [文件名]

选项:

选项 作用
-f 循环读取,实时监控文件内容的变化
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示行数

1.6、nl命令

nl 命令是 Linux 和类 Unix 系统中的一个用于将文本文件中的行号添加到内容的命令。它主要用于向文本文件中的每一行添加行号,便于阅读和查找

语法:    nl [options] [file]

选项:

选项 作用
-b 指定要将行号添加到的行。
-b a 添加行号到非空行。
-b t 添加行号到所有行。
-b n 不添加行号到任何行。
-n 设置行号的开始值。
-w 指定行号字段的宽度。
-s 设置行号与文本之间的分隔符。

案例:

  1. 将行号添加到文件中的所有行,并将行号输出到标准输出:nl file.txt

  2. 将行号添加到文件中的非空行,并使用制表符作为分隔符:nl -b a -s $'\t' file.txt

  3. 将行号添加到文件中的所有行,从指定的行号开始:            nl -n 100 file.txt

  4. 设置行号字段的宽度为 3 个字符,并将行号添加到所有行:  nl -w 3 file.txt

2、创建目录命令

mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。如果需要创建多级目录,可以使用通配符 * 或多个目录名。还支持使用{}来进行创建多个目录。

语法:  mkdir [选项] 目录名

选项:

选项 作用
-p 递归创建目录,如果父目录不存在也会创建。
-m 设置新目录的权限。
-v 显示详细信息,包括正在创建的目录和已使用的文件系统类型。

3、创建文件命令

3.1、touch命令

用于创建一个新的空文件或修改现有文件的时间戳。它的全称是 "touch file",即触摸文件。

语法:   touch [选项]... 文件...

选项:

选项 作用
-a 或 --time=access 如果文件不存在,创建一个新文件。同时更新访问时间和修改时间。
-m 或 --time=modify 仅更新文件的修改时间。
-t 或 --time=date 使用指定的日期和时间更新文件的访问和修改时间。

3.2、echo命令

用于在终端输出指定的文本内容。

语法:   echo [选项] 文本内容

选项:

选项 作用
-n 在输出内容后不换行。
-e

启用转义字符的解析。“\"转义符号;\n:换行;\r:回车;\t:水平制表符(tab)

查看文件的时间戳:       stat 文件名称

[root@c2407 c2407-3]# stat f1.txt 
  文件:"f1.txt"
  大小:0          块:0          IO 块:4096   普通空文件
设备:fd00h/64768d Inode:1839635     硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2024-08-02 09:23:49.110424207 +0800
最近更改:2024-08-02 09:23:21.526489727 +0800
最近改动:2024-08-02 09:23:21.526489727 +0800
创建时间:-

4、文件或目录复制命令

cp命令用来复制文件和目录的命令

语法:   cp [options] source destination

选项:

选项 作用
-i(交互式) 如果在目标位置存在一个文件且该文件会 被覆盖时,cp命令会询问用户是否继续。
-n(不覆盖) 在目标位置存在文件时,不会覆盖该文件,即不会进行复制操作。
-r或-R(递归) 用于复制目录以及目录内所有子目录和文件。
-p(保留属性) 复制文件的同时保留源文件的属性如权限和时间戳。
-v(详细模式) 显示详细的复制过程信息。

5、文件或目录移动命令

mv命令用来移动文件或目录,或者重命名文件和目录的命令。

语法:   mv [options] source destination

选项:

选项 作用
-i(交互式) 如果移动或重命名目标位置已存在且会覆盖时,mv 命令会询问用户是否继续。
-n(不覆盖) 在目标位置存在文件时,不会覆盖该文件,即不会进行移动或重命名操作。
-v(详细模式) 显示详细的移动或重命名过程信息。

6、文件或目录删除命令

rm命令用于删除文件的命令。它的全称是 "remove",意思是 "删除"。

语法:  rm [options] file ...

选项:

选项 作用
-i 或 --interactive 在删除之前,显示每个文件是否确认删除。
-f 或 --force 强制删除,即使文件正在被使用,或者存在打开的文件描述符。
-r 或 --recursive 递归地删除目录及其内容。
-v 或 --verbose 详细模式,显示删除的每个文件。

7、别名命令

用于创建或显示当前目录下的别名。别名是一种用户定义的命令或函数,可以用来简化复杂的命令序列。使用unalias name可以删除一个别名。

语法:  alias [options] name=command

选项:

选项 作用
-p 显示当前目录下的所有已定义的别名列表。

8、文件属性查看命令

stat 命令是 Unix 和 Linux 系统中的一个实用程序,用于显示关于文件的状态信息。stat 命令提供比 ls -l 更详细的文件信息,包括文件的大小、创建时间、最后访问时间、最后修改时间等。

语法:  stat [options] file

选项:

选项 作用
-c 或 --format 指定输出信息的格式。
-f 或 --file-system 显示文件系统级别的。
-t 或 --terse 以更紧凑的方式显示输出信息。
--all 或 -a 显示所有可用的信息。
--dereference 跟随符号链接。
最近访问:2025-08-01 09:50:02.977821719 +0800  #看了文件
最近更改:2025-08-01 09:50:22.142591350 +0800  #内容变化
最近改动:2025-08-01 09:50:45.594309455 +0800  #属性变化和内容变化
创建时间:2025-07-31 10:57:44.200429395 +0800  #不会动

9、目录结构查看命令

tree 命令是一个用于以树状结构显示目录及其内容的实用程序,常用于显示文件系统的层次结构。tree 命令会递归地列出指定目录下的所有子目录和文件,并以树的形式展示它们之间的关系。

语法:   tree [options] [directory]

选项:

选项 作用
-L 指定要显示的层级深度。
-d 只显示目录,不显示文件。
-f 显示完整路径。
-a 显示所有文件和目录,包括隐藏的。
-I 排除符合模式的文件或目录。

10、dd命令

用于复制文件和转换数据。它用于将源文件复制到目标文件,或者用于在目标文件上进行数据转换。

功能:

  • 生成块文件

  • 复制文件内容

  • 测试 I/O性能

语法:   dd [选项] [输出选项] [输入选项]

选项:

选项 作用
if=filename 指定输入文件。
of=filename 指定输出文件。
bs=size 指定块大小。
count=num 指定要复制的块数。
conv=参数 进行数据转换,例如tec进行techeus格式转换,auto允许尽可能多的转换(这对于大量数据是安全的)。
skip=num 跳过第一个num块。
status=progress 显示进度信息。

11、链接命令

ln 命令用于在文件系统中创建链接(links)。链接分为两种类型:硬链接(hard link)和符号链接(symbolic link)。

硬链接(hard link):(目录不允许创建硬链接)

  • 硬链接是文件系统中的一个目录条目,它指向另一个文件的数据块。

  • 硬链接和原始文件共享同一个 inode,因此对文件的修改会影响到所有硬链接。

  • 硬链接不能跨越文件系统边界。

符号(软)链接(symbolic link):

  • 符号链接是一个特殊的文件,其内容是指向另一个文件的路径。

  • 符号链接和原始文件不共享 inode,因此删除原始文件后,符号链接仍然存在,但无法访问。

  • 符号链接可以跨越文件系统边界。

特点:

软连接: 文件:Inode不同;目录Inode相同

硬链接:文件:Inode相同

语法:  ln [options] source destination

选项:

选项 作用
-s 或 --symbolic 创建符号链接而不是硬链接。
-f 或 --force 如果目标文件已存在,则覆盖它。
-i 或 --interactive 在覆盖目标文件之前询问用户。
-p 或 --preserve 保留源文件的属性,如权限和时间戳。

12、file命令

在UNIX和Linux系统中,file命令用于确定文件的类型或属性。它可以提供有关文件的内容、文件系统类型、文件权限等信息。

语法:  file [选项] 文件名

选项:

选项 作用
-b 以二进制形式输出文件类型信息。
-f 仅显示文件类型,不显示其他信息。
-i 以人类可读的格式显示文件类型。
-L 对符号链接进行特殊处理,查看链接指向的真实文件。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐