【Linux】常见指令2(more指令、less指令、head指令、tail指令、date指令、cal指令、find指令、grep指令、zip/unzip指令、tar指令、bc指令、uname -r)

本文介绍了Linux系统中的几个实用命令行工具,包括逐页查看文件的more和less,文件头部和尾部查看的head和tail,日期和时间管理的date,日历查看的cal,文件搜索的find,文本搜索grep,文件压缩和解压的zip/unzip,数值计算的bc,以及系统信息获取的uname-r。这些工具对于日常运维和编程工作非常有用。
摘要由CSDN通过智能技术生成

目录

01.more指令

02.less指令

03.head指令

04.tail指令

05.date指令

06.cal指令

07.find指令

08.grep指令

09.zip/unzip指令

10.tar指令

11.bc指令

12.uname -r指令


01.more指令

more是一个用于逐页显示文本文件内容的命令行工具。它允许用户逐页浏览大型文本文件,以便更容易地查看和阅读文件内容。

  1. 基本用法

    more [选项] 文件名

  2. 常用选项

    • -d:在每一页的底部显示一条提示,提示用户按空格键继续翻页,按q键退出。
    • -f:强制显示文件名。如果显示的是多个文件,将在每个文件的开头显示文件名。
    • -n:指定每页显示的行数。例如,more -n 20 filename将每页显示20行。
    • +n:从文件的第n行开始显示内容。例如,more +10 filename将从文件的第10行开始显示内容。
    • -p:使用定位指示器(percentage)而不是行数来显示文件位置。
  3. 操作方式

    • 按下空格键(Space):显示下一页内容。
    • 按下回车键(Enter):显示下一行内容。
    • 按下b键:返回上一页。
    • 按下q键:退出more命令。
  4. 示例

    • 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允许用户在文本文件中自由浏览、搜索和进行其他操作。

  1. 基本用法

    less [选项] 文件名

  2. 常用选项

    • -N:显示行号。
    • -i:忽略大小写进行搜索。
    • -S:在水平方向不折行显示长行。
    • -F:当只有一页时,不显示提示。
    • -f:强制打开普通文件,而不管文件是否是文本格式。
    • -r:将 ANSI 转义序列显示为颜色或文本属性。
    • -X:禁用对终端初始化字符串的输出,可以避免某些终端显示问题。
  3. 操作方式

    • 使用上下箭头键进行向上和向下滚动。
    • 使用空格键翻页。
    • 使用b键返回上一页。
    • 使用q键退出less
    • 使用/键进行搜索。输入要搜索的内容,然后按Enter键。
    • 使用n键查找下一个匹配项。
    • 使用N键查找上一个匹配项。
    • 使用G键跳转到文件末尾。
    • 使用1Ggg跳转到文件开头。
    • 使用!键执行外部命令。
  4. 示例

    • 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行,但用户可以通过指定参数来显示任意行数的内容。

  1. 基本用法

    head [选项] 文件名

  2. 常见选项

    • -n N:显示文件的前N行。例如,head -n 20 filename将显示文件的前20行。
    • -c N:显示文件的前N个字节而不是行数。例如,head -c 100 filename将显示文件的前100个字节。
    • -q:当处理多个文件时,不显示文件名。
    • -v:当处理多个文件时,始终显示文件名。
  3. 示例

    • 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.txtfile2.txt文件的前3行,并在每个文件的输出之前显示文件名。
    • head -q -n 3 file1.txt file2.txt:显示file1.txtfile2.txt文件的前3行,但不显示文件名。
    • ls | head -n 5:显示当前目录中的前5个文件或目录。

04.tail指令

tail用于显示文本文件的尾部内容。与head命令相反,tail默认显示文件的最后10行,但用户也可以通过指定参数来显示任意行数的内容。

  1. 基本用法

    tail [选项] 文件名

  2. 常见选项

    • -n N:显示文件的最后N行。例如,tail -n 20 filename将显示文件的最后20行。
    • -c N:显示文件的最后N个字节而不是行数。例如,tail -c 100 filename将显示文件的最后100个字节。
    • -f:跟踪文件的变化,在文件末尾持续显示新内容。常用于查看日志文件等实时变化的文件。
    • -q:当处理多个文件时,不显示文件名。
    • -v:当处理多个文件时,始终显示文件名。
  3. 示例

    • 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.txtfile2.txt文件的最后3行,并在每个文件的输出之前显示文件名。
    • tail -q -n 3 file1.txt file2.txt:显示file1.txtfile2.txt文件的最后3行,但不显示文件名。
    • ps -ef | tail -n 5:显示当前正在运行的进程列表的最后5行。

05.date指令

date 是一个常用的命令行工具,用于显示或设置系统的日期和时间。

  1. 基本用法

    date [选项]

  2. 常用选项

    • -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" 将显示明天的日期和时间。
  3. 示例

    • 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用于显示日历。它默认显示当前月份的日历,但也可以通过指定参数来显示任何月份或年份的日历。

  1. 基本用法

    cal [选项] [月份] [年份]

  2. 常见选项

    • -3:显示当前月份的前一个月、当前月份和下一个月的日历。
    • -y:显示指定年份的整年日历。
    • -A NUM:显示从当前月份开始的未来NUM个月的日历。
    • -B NUM:显示包括当前月份在内的过去NUM个月的日历。
    • -h:显示帮助信息。
  3. 示例

    • cal:显示当前月份的日历。
    • cal 3 2024:显示2024年3月的日历。
    • cal -3:显示当前月份的前一个月、当前月份和下一个月的日历。
    • cal -y 2024:显示2024年的整年日历。
    • cal -A 3:显示从当前月份开始的未来3个月的日历。
    • cal -B 2:显示包括当前月份在内的过去2个月的日历。

07.find指令

find 用于查找文件和目录。它可以根据用户指定的条件在文件系统中搜索文件,并返回符合条件的文件和目录的列表。

  1. 基本用法

    find [路径...] [表达式]

  2. 常见选项

    • -name:按照文件名进行搜索。
    • -type:按照文件类型进行搜索,例如文件(f)或目录(d)。
    • -user:按照文件所有者进行搜索。
    • -group:按照文件所属组进行搜索。
    • -size:按照文件大小进行搜索,可以使用 +- 符号来指定文件大小范围。
    • -mtime:按照文件修改时间进行搜索,可以使用 +- 符号来指定时间范围。
    • -exec:对搜索到的文件执行指定的命令。
    • -print:打印搜索到的文件路径。
  3. 表达式find 命令可以使用各种表达式来指定搜索条件,例如 -name "*.txt" 表示搜索文件名以 .txt 结尾的文件。

  4. 示例

    • 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 用于在文本文件中搜索指定模式的行,并将符合条件的行输出到标准输出设备。

  1. 基本用法

    grep [选项] 模式 [文件...]

  2. 常见选项

    • -i:忽略大小写进行搜索。
    • -v:反向匹配,只输出不包含模式的行。
    • -n:显示匹配行的行号。
    • -r-R:递归搜索指定目录及其子目录中的文件。
    • -w:仅匹配整个单词,而不是模式的部分片段。
    • -c:仅显示匹配行的计数,而不显示匹配的具体内容。
    • -l:仅显示包含匹配模式的文件名,而不显示匹配的具体内容。
    • -E:使用扩展正则表达式进行匹配。
    • -F:将模式视为固定字符串,而不是正则表达式。
  3. 模式: 模式可以是简单字符串或正则表达式,用于指定搜索的匹配条件。

  4. 示例

    • 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指令

zipunzip 是在 Linux 系统中用于压缩和解压缩文件的命令行工具。

  1. zipzip 命令用于将文件或目录压缩成一个 ZIP 归档文件。其基本用法如下:

    zip [选项] 压缩文件名.zip 文件/目录

    • -r:递归地压缩目录及其子目录中的所有文件。
    • -q:安静模式,不显示任何输出。
    • -9:最高压缩率,压缩速度较慢,文件大小最小。
    • -j:不保存目录路径,将所有文件放在根目录。
    • -u:更新已存在的 ZIP 文件,只添加新文件或更新修改过的文件。
    • -m:压缩后删除原始文件。
    • -P:设置密码保护压缩文件。

    示例:

    zip -r archive.zip directory/

    zip -r -P password encrypted.zip directory/

  2. unzipunzip 命令用于解压缩 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用于创建、查看、提取和解压归档文件,通常用于打包和压缩文件和目录。这里区分一下归档文件和压缩文件:

  1. 归档文件

    • 归档文件是指将多个文件或目录组合成一个单一的文件的过程。
    • 归档文件通常用于集中管理和传输多个文件,例如将一个项目的所有文件和子目录打包成一个归档文件以便于备份或传输。
    • tar(Tape Archive)是常用的归档工具,在 Unix/Linux 系统中经常使用。它可以将多个文件或目录打包成一个单一的归档文件,而不进行压缩。
    • 归档文件通常以 .tar 扩展名结尾。
  2. 压缩文件

    • 压缩文件是指通过压缩算法将文件或数据减少其大小的过程。
    • 压缩文件可减少存储空间和传输带宽的消耗,以及提高数据的传输速度。
    • 压缩文件通常用于将归档文件或其他大型文件进行压缩,以节省存储空间或在网络上传输时减少数据传输量。
    • 常见的压缩工具有 gzipbzip2zip 等,它们使用不同的压缩算法。
    • 压缩文件通常以不同的扩展名结尾,如 .gz(gzip)、.bz2(bzip2)、.zip(zip)等。

下面是tar指令的基本用法和常见选项:

  1. 基本用法

    tar [选项] [归档文件] [文件/目录...]

  2. 常见选项

    • -c:创建归档文件。
    • -x:从归档文件中提取文件。
    • -f 文件名:指定归档文件的名称。
    • -v:显示详细信息,例如提取过程中的文件列表。
    • -z:使用 gzip 压缩算法进行压缩/解压缩。
    • -j:使用 bzip2 压缩算法进行压缩/解压缩。
    • -r:向归档文件中追加文件。
    • -t:列出归档文件中的内容。
    • -C 目录:在指定目录中提取文件。
    • --remove-files:在创建归档文件时,删除原始文件。
  3. 示例

    • 创建归档文件:

      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 是一个用于执行任意精度计算的命令行计算器。它支持整数和浮点数计算,提供了大量的数学函数和运算符,可以进行复杂的数值计算。

  1. 基本用法

    bc

    这将启动 bc 计算器的交互式模式,用户可以直接在命令行中输入表达式,并获取计算结果。

  2. 常见特性

    • 支持数值类型bc 支持整数和浮点数的计算。
    • 数学运算符:支持基本的数学运算符,如加法(+)、减法(-)、乘法(*)、除法(/)等。
    • 数学函数bc 提供了一系列常见的数学函数,如正弦、余弦、指数、对数等。
    • 变量和赋值:可以定义变量并对其赋值,以便在计算中重复使用。
    • 控制结构:支持 ifwhile 等控制结构,使得能够编写复杂的计算程序。
    • 文件输入:可以将计算表达式保存在文件中,并通过 bc 命令执行文件中的计算。

12.uname -r指令

uname用于获取系统信息。它通常用于显示系统的名称、版本、类型等信息。

  1. 基本用法

    uname [选项]

  2. 常见选项

    • -s--kernel-name:显示内核名称。
    • -n--nodename:显示网络节点主机名。
    • -r--kernel-release:显示内核发行版本。
    • -v--kernel-version:显示内核版本。
    • -m--machine:显示硬件架构。
    • -p--processor:显示处理器类型。
    • -i--hardware-platform:显示硬件平台。
    • -o--operating-system:显示操作系统名称。
    • --help:显示帮助信息。
  3. 示例

    • 显示系统内核名称:

      uname -s

    • 显示系统版本信息:

      uname -a

    • 显示硬件架构:

      uname -m

    • 显示操作系统名称:

      uname -o

  • 22
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谁在夜里看海.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值