5个被忽视的Linux实用命令
大家好,提到Linux,一些用户会认为这是一个复杂的操作系统,因为所有工作都是通过终端使用命令来完成的。但是当用户开始在Linux上工作时,就会喜欢上这些命令,在Linux上工作一段时间后,用户会开始更喜欢Linux而不是Windows。此外,使用命令通过终端执行任务要比使用Linux的图形用户界面(GUI)快得多。下面本文将介绍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命令删除一行,这与替换类似,可以在给定的文件名中指定要删除的特定行号或行号范围。
删除特定行语法:
sed ‘nd’ fileName
示例:
sed ‘3d’ hello.txt
它将删除hello.txt
中的第n
行。
删除一系列特定行语法:
sed ‘n,md’ fileName
示例:
sed ‘3,7d’ hello.txt
它将删除hello.txt
中从第3
行到第7
行的内容。
删除模式匹配行语法:
sed ‘/pattern/d’ fileName
示例:
sed ‘/Linux/d’ hello.txt
它将删除hello.txt
中包含单词Linux
的所有行。
3.watch
watch
命令用于在特定时间间隔后执行任何命令,如果想每隔10秒执行一次命令,那么可以在该命令前面输入watch
,并且可以每隔10秒检查该命令的输出。
语法1:
watch -d -n timeInSeconds command_to_execeute
示例:
watch -d -n 10 free -m
它将每隔10秒执行一次free -m
命令,并且会突出显示与上次运行时的free -m
命令输出的差异。
语法2:
watch -g -n timeInSeconds command_to_execeute- :
示例:
watch -g -n 10 free -m
这将每隔10秒运行一次free -m
命令,并且当命令的输出与上次运行时相比有变化时,它就会终止。
4. df
这是一个用于检查系统磁盘空间的命令,默认情况下,它以KB和百分比为单位显示空间。
语法1:
df
示例:
df
这将以KB和百分比为单位显示磁盘空间。
语法2:
df -m
示例:
df -m
这将以MB和百分比为单位显示磁盘空间。
5. ifconfig
它用于显示网络信息,将显示网络的所有IP地址、子网掩码和默认网关。
语法:
ifconfig
示例:
ifconfig
这将显示系统网络的网络信息。