目录
01.more指令
more
是一个用于逐页显示文本文件内容的命令行工具。它允许用户逐页浏览大型文本文件,以便更容易地查看和阅读文件内容。
-
基本用法:
more [选项] 文件名
-
常用选项:
-d
:在每一页的底部显示一条提示,提示用户按空格键继续翻页,按q
键退出。-f
:强制显示文件名。如果显示的是多个文件,将在每个文件的开头显示文件名。-n
:指定每页显示的行数。例如,more -n 20 filename
将每页显示20行。+n
:从文件的第n行开始显示内容。例如,more +10 filename
将从文件的第10行开始显示内容。-p
:使用定位指示器(percentage)而不是行数来显示文件位置。
-
操作方式:
- 按下空格键(Space):显示下一页内容。
- 按下回车键(Enter):显示下一行内容。
- 按下
b
键:返回上一页。 - 按下
q
键:退出more
命令。
-
示例:
more myfile.txt
:显示myfile.txt
文件的内容,一页一页地显示。more -d myfile.txt
:显示myfile.txt
文件的内容,并在底部显示提示信息。more -n 20 myfile.txt
:每页显示20行myfile.txt
文件的内容。more +10 myfile.txt
:从myfile.txt
文件的第10行开始显示内容。
02.less指令
less
是一个用于查看文本文件内容的命令行工具。它提供了比more
更多的功能和更好的用户体验。与more
不同,less
允许用户在文本文件中自由浏览、搜索和进行其他操作。
-
基本用法:
less [选项] 文件名
-
常用选项:
-N
:显示行号。-i
:忽略大小写进行搜索。-S
:在水平方向不折行显示长行。-F
:当只有一页时,不显示提示。-f
:强制打开普通文件,而不管文件是否是文本格式。-r
:将 ANSI 转义序列显示为颜色或文本属性。-X
:禁用对终端初始化字符串的输出,可以避免某些终端显示问题。
-
操作方式:
- 使用上下箭头键进行向上和向下滚动。
- 使用空格键翻页。
- 使用
b
键返回上一页。 - 使用
q
键退出less
。 - 使用
/
键进行搜索。输入要搜索的内容,然后按Enter键。 - 使用
n
键查找下一个匹配项。 - 使用
N
键查找上一个匹配项。 - 使用
G
键跳转到文件末尾。 - 使用
1G
或gg
跳转到文件开头。 - 使用
!
键执行外部命令。
-
示例:
less myfile.txt
:显示myfile.txt
文件的内容,并允许用户进行交互式操作。less -N myfile.txt
:显示myfile.txt
文件的内容,并显示行号。less -i myfile.txt
:显示myfile.txt
文件的内容,并忽略大小写进行搜索。less +10 myfile.txt
:从myfile.txt
文件的第10行开始显示内容。less /var/log/syslog
:查看系统日志文件内容。less -f /var/log/syslog
:即使/var/log/syslog
不是纯文本文件,也会强制打开并显示内容。
03.head指令
head
用于显示文本文件的开头部分。它默认显示文件的前10行,但用户可以通过指定参数来显示任意行数的内容。
-
基本用法:
head [选项] 文件名
-
常见选项:
-n N
:显示文件的前N行。例如,head -n 20 filename
将显示文件的前20行。-c N
:显示文件的前N个字节而不是行数。例如,head -c 100 filename
将显示文件的前100个字节。-q
:当处理多个文件时,不显示文件名。-v
:当处理多个文件时,始终显示文件名。
-
示例:
head myfile.txt
:显示myfile.txt
文件的前10行。head -n 5 myfile.txt
:显示myfile.txt
文件的前5行。head -c 50 myfile.txt
:显示myfile.txt
文件的前50个字节。head -n 3 file1.txt file2.txt
:显示file1.txt
和file2.txt
文件的前3行,并在每个文件的输出之前显示文件名。head -q -n 3 file1.txt file2.txt
:显示file1.txt
和file2.txt
文件的前3行,但不显示文件名。ls | head -n 5
:显示当前目录中的前5个文件或目录。
04.tail指令
tail
用于显示文本文件的尾部内容。与head
命令相反,tail
默认显示文件的最后10行,但用户也可以通过指定参数来显示任意行数的内容。
-
基本用法:
tail [选项] 文件名
-
常见选项:
-n N
:显示文件的最后N行。例如,tail -n 20 filename
将显示文件的最后20行。-c N
:显示文件的最后N个字节而不是行数。例如,tail -c 100 filename
将显示文件的最后100个字节。-f
:跟踪文件的变化,在文件末尾持续显示新内容。常用于查看日志文件等实时变化的文件。-q
:当处理多个文件时,不显示文件名。-v
:当处理多个文件时,始终显示文件名。
-
示例:
tail myfile.txt
:显示myfile.txt
文件的最后10行。tail -n 5 myfile.txt
:显示myfile.txt
文件的最后5行。tail -c 50 myfile.txt
:显示myfile.txt
文件的最后50个字节。tail -f logfile.txt
:实时跟踪显示logfile.txt
文件的最新内容,当文件有更新时自动刷新显示。tail -n 3 file1.txt file2.txt
:显示file1.txt
和file2.txt
文件的最后3行,并在每个文件的输出之前显示文件名。tail -q -n 3 file1.txt file2.txt
:显示file1.txt
和file2.txt
文件的最后3行,但不显示文件名。ps -ef | tail -n 5
:显示当前正在运行的进程列表的最后5行。
05.date指令
date
是一个常用的命令行工具,用于显示或设置系统的日期和时间。
-
基本用法:
date [选项]
-
常用选项:
-R
或--rfc-2822
:以RFC 2822格式显示日期和时间。-u
或--utc
:显示UTC(协调世界时)时间,而不是本地时间。+%FORMAT
:按指定的格式显示日期和时间。可以使用不同的格式控制符来定制输出。例如,date +"%Y-%m-%d %H:%M:%S"
将显示类似2024-03-07 15:30:00
的日期和时间。-s
:设置系统时间。例如,sudo date -s "2024-03-07 15:30:00"
可以设置系统时间为指定的日期和时间。-d
:显示指定日期和时间之后的日期和时间。例如,date -d "tomorrow"
将显示明天的日期和时间。
-
示例:
date
:显示当前日期和时间。date -R
:以RFC 2822格式显示当前日期和时间。date -u
:显示当前的UTC时间。date +"%Y-%m-%d %H:%M:%S"
:以指定的格式显示当前日期和时间。sudo date -s "2024-03-07 15:30:00"
:设置系统时间为指定的日期和时间。date -d "tomorrow"
:显示明天的日期和时间。
06.cal指令
cal
用于显示日历。它默认显示当前月份的日历,但也可以通过指定参数来显示任何月份或年份的日历。
-
基本用法:
cal [选项] [月份] [年份]
-
常见选项:
-3
:显示当前月份的前一个月、当前月份和下一个月的日历。-y
:显示指定年份的整年日历。-A NUM
:显示从当前月份开始的未来NUM个月的日历。-B NUM
:显示包括当前月份在内的过去NUM个月的日历。-h
:显示帮助信息。
-
示例:
cal
:显示当前月份的日历。cal 3 2024
:显示2024年3月的日历。cal -3
:显示当前月份的前一个月、当前月份和下一个月的日历。cal -y 2024
:显示2024年的整年日历。cal -A 3
:显示从当前月份开始的未来3个月的日历。cal -B 2
:显示包括当前月份在内的过去2个月的日历。
07.find指令
find
用于查找文件和目录。它可以根据用户指定的条件在文件系统中搜索文件,并返回符合条件的文件和目录的列表。
-
基本用法:
find [路径...] [表达式]
-
常见选项:
-name
:按照文件名进行搜索。-type
:按照文件类型进行搜索,例如文件(f
)或目录(d
)。-user
:按照文件所有者进行搜索。-group
:按照文件所属组进行搜索。-size
:按照文件大小进行搜索,可以使用+
或-
符号来指定文件大小范围。-mtime
:按照文件修改时间进行搜索,可以使用+
或-
符号来指定时间范围。-exec
:对搜索到的文件执行指定的命令。-print
:打印搜索到的文件路径。
-
表达式:
find
命令可以使用各种表达式来指定搜索条件,例如-name "*.txt"
表示搜索文件名以.txt
结尾的文件。 -
示例:
find /home/user/docs -name "*.txt"
:在/home/user/docs
目录及其子目录中搜索所有以.txt
结尾的文件。find /var/log -type f -size +1M
:在/var/log
目录中搜索所有大小超过 1MB 的文件。find /etc -type f -user root -exec ls -l {} \;
:在/etc
目录中搜索所有属于 root 用户的文件,并显示详细信息。find /home -type d -mtime +30 -exec rm -rf {} \;
:在/home
目录中搜索所有修改时间超过 30 天的目录,并删除它们以及它们的内容。
find
命令非常强大,可以根据各种条件来搜索文件和目录,是系统管理员和用户管理文件的重要工具之一。但请注意,在使用 find
命令时务必小心,避免意外删除或操作重要文件。
08.grep指令
grep
用于在文本文件中搜索指定模式的行,并将符合条件的行输出到标准输出设备。
-
基本用法:
grep [选项] 模式 [文件...]
-
常见选项:
-i
:忽略大小写进行搜索。-v
:反向匹配,只输出不包含模式的行。-n
:显示匹配行的行号。-r
或-R
:递归搜索指定目录及其子目录中的文件。-w
:仅匹配整个单词,而不是模式的部分片段。-c
:仅显示匹配行的计数,而不显示匹配的具体内容。-l
:仅显示包含匹配模式的文件名,而不显示匹配的具体内容。-E
:使用扩展正则表达式进行匹配。-F
:将模式视为固定字符串,而不是正则表达式。
-
模式: 模式可以是简单字符串或正则表达式,用于指定搜索的匹配条件。
-
示例:
grep "pattern" file.txt
:在file.txt
中搜索包含字符串"pattern"
的行。grep -i "pattern" file.txt
:在file.txt
中忽略大小写地搜索包含字符串"pattern"
的行。grep -r "pattern" /path/to/directory
:在/path/to/directory
及其子目录中递归搜索包含字符串"pattern"
的行。grep -n "pattern" file.txt
:在file.txt
中搜索包含字符串"pattern"
的行,并显示行号。grep -v "pattern" file.txt
:在file.txt
中搜索不包含字符串"pattern"
的行。grep -w "word" file.txt
:在file.txt
中搜索包含整个单词"word"
的行。grep -c "pattern" file.txt
:统计file.txt
中包含字符串"pattern"
的行数。grep -l "pattern" *.txt
:在当前目录中搜索所有.txt
文件,仅显示包含字符串"pattern"
的文件名。
09.zip/unzip指令
zip
和 unzip
是在 Linux 系统中用于压缩和解压缩文件的命令行工具。
-
zip:
zip
命令用于将文件或目录压缩成一个 ZIP 归档文件。其基本用法如下:zip [选项] 压缩文件名.zip 文件/目录
-r
:递归地压缩目录及其子目录中的所有文件。-q
:安静模式,不显示任何输出。-9
:最高压缩率,压缩速度较慢,文件大小最小。-j
:不保存目录路径,将所有文件放在根目录。-u
:更新已存在的 ZIP 文件,只添加新文件或更新修改过的文件。-m
:压缩后删除原始文件。-P
:设置密码保护压缩文件。
示例:
zip -r archive.zip directory/
zip -r -P password encrypted.zip directory/
-
unzip:
unzip
命令用于解压缩 ZIP 归档文件。其基本用法如下:unzip [选项] 压缩文件名.zip
-d 目录
:指定解压缩后的目标目录。-l
:列出 ZIP 文件中的内容列表,但不解压缩。-q
:安静模式,不显示任何输出。-P
:解压缩需要的密码。
示例:
unzip archive.zip
unzip -d destination_directory archive.zip
unzip -P password encrypted.zip
10.tar指令
tar
用于创建、查看、提取和解压归档文件,通常用于打包和压缩文件和目录。这里区分一下归档文件和压缩文件:
-
归档文件:
- 归档文件是指将多个文件或目录组合成一个单一的文件的过程。
- 归档文件通常用于集中管理和传输多个文件,例如将一个项目的所有文件和子目录打包成一个归档文件以便于备份或传输。
tar
(Tape Archive)是常用的归档工具,在 Unix/Linux 系统中经常使用。它可以将多个文件或目录打包成一个单一的归档文件,而不进行压缩。- 归档文件通常以
.tar
扩展名结尾。
-
压缩文件:
- 压缩文件是指通过压缩算法将文件或数据减少其大小的过程。
- 压缩文件可减少存储空间和传输带宽的消耗,以及提高数据的传输速度。
- 压缩文件通常用于将归档文件或其他大型文件进行压缩,以节省存储空间或在网络上传输时减少数据传输量。
- 常见的压缩工具有
gzip
、bzip2
、zip
等,它们使用不同的压缩算法。 - 压缩文件通常以不同的扩展名结尾,如
.gz
(gzip)、.bz2
(bzip2)、.zip
(zip)等。
下面是tar指令的基本用法和常见选项:
-
基本用法:
tar [选项] [归档文件] [文件/目录...]
-
常见选项:
-c
:创建归档文件。-x
:从归档文件中提取文件。-f 文件名
:指定归档文件的名称。-v
:显示详细信息,例如提取过程中的文件列表。-z
:使用 gzip 压缩算法进行压缩/解压缩。-j
:使用 bzip2 压缩算法进行压缩/解压缩。-r
:向归档文件中追加文件。-t
:列出归档文件中的内容。-C 目录
:在指定目录中提取文件。--remove-files
:在创建归档文件时,删除原始文件。
-
示例:
- 创建归档文件:
tar -cvf archive.tar file1 file2 directory/
- 提取归档文件:
tar -xvf archive.tar
- 使用 gzip 压缩归档文件:
tar -czvf archive.tar.gz directory/
- 使用 bzip2 压缩归档文件:
tar -cjvf archive.tar.bz2 directory/
- 查看归档文件中的内容:
tar -tvf archive.tar
- 创建归档文件:
11.bc指令
bc
是一个用于执行任意精度计算的命令行计算器。它支持整数和浮点数计算,提供了大量的数学函数和运算符,可以进行复杂的数值计算。
-
基本用法:
bc
这将启动
bc
计算器的交互式模式,用户可以直接在命令行中输入表达式,并获取计算结果。 -
常见特性:
- 支持数值类型:
bc
支持整数和浮点数的计算。 - 数学运算符:支持基本的数学运算符,如加法(+)、减法(-)、乘法(*)、除法(/)等。
- 数学函数:
bc
提供了一系列常见的数学函数,如正弦、余弦、指数、对数等。 - 变量和赋值:可以定义变量并对其赋值,以便在计算中重复使用。
- 控制结构:支持
if
、while
等控制结构,使得能够编写复杂的计算程序。 - 文件输入:可以将计算表达式保存在文件中,并通过
bc
命令执行文件中的计算。
- 支持数值类型:
12.uname -r指令
uname
用于获取系统信息。它通常用于显示系统的名称、版本、类型等信息。
-
基本用法:
uname [选项]
-
常见选项:
-s
或--kernel-name
:显示内核名称。-n
或--nodename
:显示网络节点主机名。-r
或--kernel-release
:显示内核发行版本。-v
或--kernel-version
:显示内核版本。-m
或--machine
:显示硬件架构。-p
或--processor
:显示处理器类型。-i
或--hardware-platform
:显示硬件平台。-o
或--operating-system
:显示操作系统名称。--help
:显示帮助信息。
-
示例:
-
显示系统内核名称:
uname -s
-
显示系统版本信息:
uname -a
-
显示硬件架构:
uname -m
-
显示操作系统名称:
uname -o
-