在这里,本文将介绍5个不太常用但会很实用的命令。
1、find
find命令用于在目录中查找任何文件。它通过目录进行搜索,并返回与给定搜索条件匹配的文件名称。该命令的语法如下:
find directory_name -name file_name
示例:
find /home -name hello.txt
将在home目录及其子目录中找到hello.txt。
2、sed
它代表流编辑器。它可以执行许多任务,如搜索、查找和替换。对于较大的文件来说,它就像一个魔法,因为在基于图形用户界面的编辑器中打开文件会耗费大量时间。它支持正则表达式,可以执行复杂的模式匹配。该命令的语法如下 :
2.1 用新文本替换旧文本:此命令将在给定文件中将旧文本替换为新文本。
语法:
sed ‘ -s/old_text/new_text’ fileName
示例:
sed ‘ -s/Linux/Unix’ hello.txt
将在hello.txt中将单词Linux替换为Unix。
2.2 替换一行中第n次出现的模式:此命令将在给定文件的每一行中用新文本替换旧文本的第n次出现。如果某一行只出现一次,则不会被替换。
语法:
sed ‘ -s/old_text/new_text/n’ fileName
示例:
sed ‘ -s/Linux/Unix/2’ hello.txt
将用“Unix”替换hello.txt中每一行中第2次出现的Linux一词。
2.3 替换特定行号上的字符串:可以限制sed命令以替换特定行号“k”上的字符串。
语法:
sed ‘k -s/old_text/new_text/n’ fileName
示例:
sed ‘3 -s/Linux/Unix’ hello.txt
它将在hello.txt的第3行中将单词Linux替换为Unix。
2.4 替换一系列行上的字符串:可以将一系列行号指定给sed命令来替换字符串。
语法:
sed ‘n,m -s/old_text/new_text/n’ fileName
示例:
sed ‘3,7 -s/Linux/Unix’ hello.txt
它将在hello.txt的第m行到第n行之间将单词Linux替换为Unix。
2.5 从特定文件中删除行:也可以使用sed命令删除一行。与替换类似,可以在给定的文件名中指定要删除的特定行号或行号范围。
2.5.1 删除特定行:
语法:
sed ‘nd’ fileName
示例:
sed ‘3d’ hello.txt
它将删除hello.txt中的第n行。
2.5.2 删除一系列特定行:
2 To delete a range of particular lines: 语法:
sed ‘n,md’ fileName
示例:
sed ‘3,7d’ hello.txt
它将删除hello.txt中从第3行到第7行的内容。
2.5.3 删除模式匹配行:
语法:
sed ‘/pattern/d’ fileName
示例:
sed ‘/Linux/d’ hello.txt
它将删除hello.txt中包含单词Linux的所有行。
3、watch
watch命令用于在特定时间间隔后执行任何命令。例如,如果想每隔10秒执行一次命令,那么可以在该命令前面输入watch,并且可以每隔10秒检查该命令的输出。
常规语法:
watch [option] command_to_execeute
3.1
语法:
watch -d -n timeInSeconds command_to_execeute
示例:
watch -d -n 10 free -m
它将每隔10秒执行一次free -m命令,并且会突出显示与上次运行时的free -m命令输出的差异。
3.2
语法:
watch -g -n timeInSeconds command_to_execeute- :
示例:
watch -g -n 10 free -m
这将每隔10秒运行一次free -m命令,并且当命令的输出与上次运行时相比有变化时,它就会终止。
4. df
这是一个用于检查系统磁盘空间的命令。默认情况下,它以KB和百分比为单位显示空间。
4.1
语法:
df
示例:
df
这将以KB和百分比为单位显示磁盘空间。
4.2
语法:
df -m
示例:
df -m
这将以MB和百分比为单位显示磁盘空间。
5. ifconfig
它用于显示网络信息。它将显示网络的所有IP地址、子网掩码和默认网关。
语法:
ifconfig
示例:
ifconfig
这将显示系统网络的网络信息。