Skip to content
← 返回Linux列表
命令与系统观察

Linux 常用命令:用途、参数与操作边界 · touch 创建新文件至top 实时显示进程状态 ​

返回分篇目录

先按任务进入主速查;需要理解参数时再展开后面的逐条解释。命令未执行,平台与权限按相应条目核对。

touch 创建新文件 ​

"touch" 命令用于创建新文件或更新已有文件的修改时间。以下是 "touch" 命令的详解:

  • 格式:touch [选项] 文件
  • 选项:touch 命令支持许多选项,其中一些最常用的选项包括:
    • -a:只更改文件的访问时间。
    • -m:只更改文件的修改时间。
    • -c:不创建不存在的文件。
    • -t:指定要设置的时间戳,格式为 [[CC]YY]MMDDhhmm[.SS]
  • 文件:要创建或更新时间戳的文件名称。

举个例子,如果要在当前工作目录下创建一个名为 "test.txt" 的空文件,可以输入 "touch test.txt" 命令。如果要更新已有文件的修改时间,可以使用 "touch filename" 命令。如果需要只更改文件的访问时间或修改时间,可以使用 "-a" 或 "-m" 选项,例如 "touch -a filename" 命令只更改文件的访问时间。如果希望不创建不存在的文件,则可以使用 "-c" 选项,例如 "touch -c filename" 命令。如果需要指定要设置的时间戳,则可以使用 "-t" 选项,例如 "touch -t 202201011200.00 filename" 命令将文件的时间戳设置为 2022 年 1 月 1 日 12:00。

需要注意的是,在使用 "touch" 命令时,如果指定的文件不存在,则会创建一个空文件。在更新时间戳时,需要确保具有足够的权限,并且谨慎操作以避免误操作。

cat 连接、显示文件内容 ​

"cat" 命令用于显示文件内容或将多个文件合并成一个文件。以下是 "cat" 命令的详解:

  • 格式:cat [选项] 文件
  • 选项:cat 命令支持许多选项,其中一些最常用的选项包括:
    • -n:在输出文件的每一行前插入行号。
    • -b:在输出文件的非空行前插入行号。
    • -s:压缩连续空白行为一行。
    • -A:显示特殊字符(如文本中的制表符和换行符)。
  • 文件:要显示内容或合并的文件名称。

举个例子,如果要查看当前工作目录下名为 "test.txt" 的文件内容,可以输入 "cat test.txt" 命令。如果要合并两个文件 "file1" 和 "file2" 并将结果写入新文件 "output" 中,可以使用 "cat file1 file2 > output" 命令。如果需要在输出文件的每一行前插入行号,则可以使用 "-n" 选项,例如 "cat -n filename" 命令会输出带行号的文件内容。如果需要将连续空白行压缩成一行,则可以使用 "-s" 选项,例如 "cat -s filename" 命令会输出压缩后的文件内容。

需要注意的是,在显示文件之前,需要确保已经具有足够的权限来访问文件。在合并文件时,需要确保所有要合并的文件存在,并且目标文件没有被保护或已经存在,以避免数据丢失。

grep 文本搜索工具 ​

grep 命令是一种文本搜索工具,常用于从文件中查找某个特定的字符串或者正则表达式,并且可以显示匹配行的内容。

以下是 grep 命令的基本语法:

grep [options] pattern [file]

其中,pattern 为要匹配的模式,可以是一个字符串或者一个正则表达式;file 则为要搜索的文件名。

下面是常用的一些选项:

  • -i: 忽略大小写。
  • -v: 显示不匹配的行。
  • -n: 显示匹配行的行号。
  • -l: 只显示包含匹配项的文件名。
  • -c: 统计匹配行的数量。
  • -r: 在目录及其子目录下递归搜索。

例如,以下命令将在文件 example.txt 中搜索所有包含字符串 "hello" 的行:

grep "hello" example.txt

如果要忽略大小写,可以使用 -i 选项:

grep -i "hello" example.txt

如果要显示匹配行的行号,可以使用 -n 选项:

grep -n "hello" example.txt

如果要递归搜索目录 mydir 下的所有文件,可以使用 -r 选项:

grep -r "hello" mydir/

ping 测试网络连接 ​

ping 命令用于检查网络连接是否正常,可以测试与目标主机之间的连通性和网络延迟。它发送一个 ICMP ECHO 请求消息到指定的目的地,并等待接收一个 ICMP ECHO 响应消息。

以下是 ping 命令的基本语法:

ping [options] target

其中,target 可以是 IP 地址或者域名,表示需要对这个地址进行 ping 测试。

下面是一些常用的选项:

  • -c count: 指定要发送的 ICMP 请求消息的次数。
  • -i interval: 指定发送 ICMP 请求消息的时间间隔(以秒为单位)。
  • -s size: 指定每个 ICMP 请求消息的数据包大小(默认为 56 字节)。
  • -t ttl: 指定 ICMP 数据报中的 Time To Live 值(默认为 64)。
  • -w deadline: 指定等待响应的最大时间(以秒为单位)。

例如,以下命令将向 IP 地址为 192.168.1.1 发送 5 个 ICMP 请求消息:

ping -c 5 192.168.1.1

在 Linux 中,不指定次数即可持续发送,按 Ctrl+C 停止;-t 用于设置 TTL:

ping google.com

ifconfig 查看和配置网络接口状态 ​

ifconfig(interface configuration)命令是用于配置和显示网络接口信息的工具。它可以列出当前系统中所有的网络接口,包括以太网、无线网络、回环接口等,并且可以查看和修改这些接口的 IP 地址、子网掩码、MAC 地址等配置信息。

以下是 ifconfig 命令的基本语法:

ifconfig [options] [interface]

其中,interface 表示要操作的网络接口的名称,如果省略则默认显示所有接口的信息。

下面是一些常用的选项:

  • -a: 显示所有接口的信息,包括未激活的接口。
  • up: 启动指定的接口。
  • down: 关闭指定的接口。
  • inet addr: 指定 IPv4 地址。
  • netmask mask: 指定子网掩码。
  • hw ether MAC: 指定 MAC 地址。

例如,以下命令将显示所有网络接口的信息:

ifconfig -a

如果想要启动一个被禁止的网络接口(如 eth0),可以使用以下命令:

ifconfig eth0 up

如果想要修改一个接口的 IP 地址和子网掩码,可以使用以下命令:

ifconfig eth0 inet 192.168.1.10 netmask 255.255.255.0

以上是 ifconfig 命令的一些基本用法和选项。需要注意的是,ifconfig 命令已经被新的 ip 命令取代,因此在一些新的 Linux 发行版中可能已经不再支持 ifconfig 命令。

top 实时显示进程状态 ​

top 命令用于实时监控系统的进程和资源使用情况,可以查看哪些进程占用了 CPU 时间、内存、虚拟内存等系统资源,并且可以按照不同的指标进行排序。

以下是 top 命令的基本语法:

top

运行该命令后,会显示当前系统中所有进程的信息,按照 CPU 占用率进行排序,上方的几行显示了系统的总体信息,包括系统负载、运行进程数、CPU 使用情况、内存使用情况等。下面的每一行显示了一个具体的进程的信息,包括进程 ID、占用 CPU 的百分比、内存占用量、进程所属用户等。

下面是一些常用的交互命令:

  • q: 退出 top 命令。
  • k: 结束某个进程,需要输入要终止的进程 ID。
  • f: 显示或隐藏需要显示的字段,可以选择要显示的列,如 PID、CPU、MEM 等。
  • r: 修改某个进程的优先级,需要输入要修改的进程 ID 和新的优先级值。

例如,以下命令将启动 top 命令并按照内存占用率进行排序:

top -o %MEM

如果想要显示更多的进程信息,可以使用 f 命令选择要显示的字段:

top -o %CPU

以上是 top 命令的一些基本用法和选项。需要注意的是,top 命令只能在交互式命令行环境下使用,如果需要在脚本中监控系统进程和资源使用情况,可以考虑使用其他工具,如 ps 命令等。

继续阅读