最有用的Linux命令行与技巧大全

1.jpeg

21CTO导读:在我们学习使用Linux系统时,它现在发展的普通用户也使用鼠标来操作。但是程序员们就需要是用命令行来驱动开发系统。
 
当我们不怎么用某些技术时,很容易忘记以前学过的东西。 这经常发生在我们使用Linux命令行时的情况。本文旨在让开发者记起更多有用的命令行工具,值得分享收藏。

 
我们每天都用很多Linux命令。 Linux命令灵活有很多有用的技巧,但是一旦如果不怎么用,也会容易忘记。
于是我们决定列出一些你可能已经忘记的命令和技巧。当然,这里一些命令对你来说,也可能是全新的。以表格形式显示输出
 
有时候,当你看到一个命令的输出内容,由于过于拥挤的字符串(例如,mount命令的输出),满屏的字符混杂在一起,这种显示简直是太美丽。 如何让它在桌面上整齐的显示? 用下列命令很容易做到!

[size=15]mount | column –t[/size]

 

[size=15]mount |column –t[/size]

 :
最有用的Linux命令行与技巧大全
在这个例子中,由于空格,输出格式良好。 如果分隔符是其他的,比如冒号怎么办? (例如,在

[size=15]cat/etc/passwd[/size]

[size=19]的输出 [/size]
只需使用

[size=15]–s[/size]

参数指定分隔符,如下运行结果。

[size=15][b][size=13]cat/etc/passwd | column -t -s[/size][/b][/size]

[size=19] [/size]

[size=15][b][size=13]cat/etc/passwd | column -t –s[/size][/b][/size]

[size=19]:[/size]
最有用的Linux命令行与技巧大全重复一个命令,直到成功运行
 
如果搜索Google命令循环这个功能,会发现很多人询问如何重复执行命令,直到它成功返回并正确运行。 
比如包括ping服务器直到结果变为活动状态,检查是否从特定目录上传具有特定扩展名的文件,检查是否存在指定的网址等。 
可以用

[size=15]while true[/size]

循环来实现。我们使用如下命令:
最有用的Linux命令行与技巧大全
在这个例子中, 

[size=15]>/dev/null2>&1[/size]

将程序的输出重定向到

[size=15]/dev/null[/size]

[size=19]  包括[/size]

[size=15]StandardError[/size]

[size=15]Standard Out[/size]


这是最酷的Linux命令行技巧之一。进程按内存使用数量排序
 

[size=15]ps aux | sort -rnk 4[/size]

 

[size=15]ps aux |sort -rnk 4[/size]

:
最有用的Linux命令行与技巧大全进程按CPU使用率排序
 

[size=15]ps aux | sort -nk 3[/size]

 

[size=15]ps aux |sort -nk 3[/size]

[size=19] [/size]
最有用的Linux命令行与技巧大全
要检视自己的操作系统体系结构,可以执行:

[size=15]getconf LONG_BIT[/size]

[size=19] [/size]
结果显示为64或32,这和你当前的操作系统有关。同时查看多个日志文件
 
毫无疑问,你可以使用tail命令方便查看系统日志,有时我们可能需要查看多个日志文件,可使用multi-tail命令代替,它支持文本高亮显示,过滤等更多你您要的功能。
 
如下图显示:
最有用的Linux命令行与技巧大全
如果你的系统里没有,可以使用

[size=15]apt-get installmultitail[/size]

找到并安装它。返回到刚才使用的目录
 
您只需键入

[size=15]cd –- [/size]

你将返回到刚才使用的目录(不是上一级)。使非交互式Shell变成交互式会话
 
想做到这一点,可以将设置从

[size=15]~/.bashrc[/size]

更改为

[size=15]~/.bash_profile[/size]

[size=19] 即可。[/size]以常规间隔监视命令输出
 
可以使用watch命令( 

[size=15]watch df –h[/size]

[size=19] ),就可以查看任何命令的输出结果。 例如,可以查看可用空间以及增长情况。[/size]
 
我们可以想象一下使用watch命令可以对变体数据做哪些事情。
 会话结束后运行程序
 
我们在后台运行任何程序,但关闭掉Shell时,它的进程立即会被Shell杀死。 如何在关闭Shell后继续运行程序?
可以使用nohup命令来完成,这代表不做任何挂起:

[size=15]nohup wget site.com/file.zip[/size]

  
这个命令是最令人遗忘的Linux命令行技巧之一,因为许多人使用另一个命令做屏幕输出:
最有用的Linux命令行与技巧大全
一个文件将会在同一个目录生成名字为

[size=15]nohup.out[/size]

的文件,其中包含正在运行的程序的输出结果:
最有用的Linux命令行与技巧大全
很酷的命令,对吧?对任何命令自动回答Yes或No
 
如果你想自动化响应用户回答“Yes”的过程。可以通过使用yes命令来完成: 

[size=15]yes |apt-get update[/size]

 

[size=15]yes | apt-get update[/size]

[size=19] [/size]
也许你想自动说“No”,而不是“Yes”。 可以使用

[size=15]yes no |command[/size]

[size=19]来完成 [/size]

[size=15]yes no | command[/size]

[size=19] [/size]
最有用的Linux命令行与技巧大全创建具有指定大小的文件
 
您可以使用

[size=15]dd[/size]

命令创建具有特定大小的文件: 

[size=15]dd if=/dev/zero of=out.txt bs=1Mcount=10[/size]

[size=19] [/size]
这将创建一个10兆字节,内容填充为0的文本文件:
最有用的Linux命令行与技巧大全以root身份运行最后的命令
 
有时,你忘记在需要root权限的命令,

[size=15]这需要[/size]

键入

[size=15]sudo[/size]
[size=15]再重新翻页找回[/size]

 。 你不必重写它,只需键入

[size=15]sudo[/size]

 !!
最有用的Linux命令行与技巧大全记录命令行会话
 
如果您想记录在shell屏幕上输入的内容,可以使用script命令将所有类型保存到名为

[size=15]typescript[/size]

[size=19] [/size]

[size=15]script[/size]

的文件中。
当输入exit命令退出时,之前所有命令记录都会被写入该文件,以便日后查看。用字符替换字符
 
你可以使用

[size=15]tr[/size]

命令替换任何其他字符,非常方便: 

[size=15]cat geeks.txt | tr ':[space]:' '/t'> out.txt[/size]

 

[size=15]cat geeks.txt | tr ':[space]:' '/t'> out.txt[/size]

[size=19] [/size]
最有用的Linux命令行与技巧大全将文件转换为大写或小写
 
你可以使用: 

[size=15]cat myfile| tr az AZ > output.txt[/size]

 

[size=15]cat myfile | tr az AZ> output.txt[/size]

[size=19] [/size]
 强大的Xargs命令
 

[size=15]xargs[/size]

命令是最重要的Linux命令行技巧之一。 
您可以使用此命令将命令的输出作为参数传递给另一个命令。 例如,您可以搜索PNGpng文件并对其进行压缩或对其执行其它操作:

[size=15]find. -name *.png -type f -print | xargs tar-cvzf images.tar.gz[/size]

或者,也许你有一个文件中的URL列表,你想要下载或以不同的方式处理它们:

[size=15]cat urls.txt | xargs wget[/size]

最有用的Linux命令行与技巧大全
请记住,在

[size=15]xargs[/size]

命令结尾处传递的第一个命令的输出。
如果你的命令需要中间输出呢? 
只需结合使用

[size=15]{}[/size]

[size=15]–i[/size]

参数(如下所示)来替换第一个命令的输出所在位置的参数即可:

[size=15]ls /etc/*.conf | xargs -i cp {}/home/likegeeks/Desktop/out[/size]

 
小结
 
以上是Linux命令行的一些小窍门。 有些命令不一定都让我们喜欢,可以使用其他命令来实现,比如

[size=15]awk[/size]

[size=15]sed[/size]

命令或脚本语言处理。
 
如果你还知道其它我没有提到的有用甚至怪异的命令,欢迎在本文评论区发表高见。
 

作者:21CTO社区整理编译

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/257299.html

(0)
上一篇 2022年5月19日
下一篇 2022年5月19日

相关推荐

发表回复

登录后才能评论