当前位置: 首页 > 科技观察

最实用也最被遗忘的Linux命令行技巧

时间:2023-03-20 18:13:05 科技观察

作为一名每天在Linux环境中工作的工程师,每天都会大量使用Linux命令行。有时候我们会在网上查找命令行的使用技巧,但是一旦没有及时练习,我们很快就会忘记这些技巧。所以我决定把这些小事整理一下,防止以后发生忘记事情的情况。把输出做成一目了然的表格在使用命令行的时候,经常可以看到输出是一团乱麻:太多的字符串挤在一起,看不清输出的是什么。如果你不相信我,试试mount命令。为了看得清楚,我们可以把输出结果转成表格,加几个字符就可以了:mount|column–t:这个小例子,我们用空格把输出结果隔开成表格,整个界面瞬间清晰明了美丽的。如果您不太喜欢用空格作为分隔符,也可以将它们替换为其他分隔符,例如冒号(:)。还是很简单的:直接用最后的-s参数指定对应的分隔符即可:cat/etc/passwd|column-t-s:重复一条命令,直到运行成功,在写这篇文章之前,特意搜索了一下。在谷歌上,很多人都在问如何实现重复直到成功的命令。搜索结果提到对服务器进行ping直到它空闲,或者检查特定文件是否已上传到目录,或者检查指定链接是否存在。不过您还有其他选择,例如使用whiletrue循环来完成任务:在上面的示例中,>/dev/null2>&1会将程序的输出重定向到/dev/null。包括标准错误和标准输出。在我看来,这是最酷的Linux命令行技巧之一。Sortprocessesbymemoryresourceusagepsaux|sort-rnk4:SortprocessesbyCPUresourceusagepsaux|sort-nk3:如果你想检查你的机器架构,执行getconfLONG_BIT。您可以同时查看多个日志文件。大多数人使用什么命令来查看日志?答案可能是tail命令。但是,如果要查看很多日志文件,tail就比较麻烦了。现在轮到我们使用multi-tail命令了!它不仅支持文本高亮,还支持内容过滤等更多功能~有时候需要安装它才能运行这个命令,不过也很简单apt-getinstallmultitail就可以轻松搞定。回到你工作的最后一个目录回到上一个目录就像cd一样简单-就是这样。使非交互式shell会话具有交互性为此,请将设置从~/.bashrc更改为~/.bash_profile。定时监控命令输出使用watch命令(watchdf-h),您可以看到任何命令的任何输出。例如,您可以查看可用空间及其使用增长情况。通过使用watch命令来操作不断变化的数据,您可以想象您可以用它做什么。session关闭后继续运行程序一般情况下,你运行一个后台程序,当你关闭shellsession时,这个程序会被杀死。在某些情况下,我应该怎么做才能让程序保持运行?这个可以用nohup命令来完成——这个命令的意思是不挂断:nohupwgetsite.com/file.zip这个命令一般人用不到,感谢screen环境:会在同级目录下生成一个名为nohup.out,其中包含正在运行的程序的输出:命令很酷,对吧?自动对任何命令回答是或否如果你想自动对用户说是的过程,你可以使用yes命令:易于获取更新。也许您想做的是自动说“不”。这可以使用yesno|来实现。命令。创建指定大小的文件可以使用dd命令创建指定大小的文件:ddif=/dev/zeroof=out.txtbs=1Mcount=10。这将创建一个10MB的文件,内容填充为零:以root身份运行最后一个命令有时,您忘记在需要root权限的命令之前键入sudo。此时您不需要重写命令;只需键入sudo!!。记录命令行会话如果你想记录你在shell屏幕上键入的内容,你可以使用脚本命令将所有键入的内容保存到一个名为typescriptscript的文件中。键入exit命令后,所有命令都会写入文件,以便您稍后返回查看。用制表符替换空格可以使用tr命令替换任意字符,使用起来非常方便:catgeeks.txt|tr':[空格]:'''>out.txt。像这样将文件内容转换为大写或小写Implementation:catmyfile|tra-zA-Z>输出.txt。强大的Xargs命令xargs命令是最重要的Linux命令行技巧之一。您可以使用此命令将一个命令的输出作为参数传递给另一个命令。例如,要搜索png文件并压缩它们或执行其他操作:查找.-name*.png-typef-print|xargstar-cvzfimages.tar.gz或者您的文件中有一个URL列表并且您想要执行此操作要以不同方式下载或处理这些URL,您可以这样做:caturls.txt|xargswget请记住,第一个命令的输出是在xargs命令的末尾传递的。那么如果命令需要中间过程的输出怎么办?这很容易!只需将{}与-i参数一起使用。替换第一个命令的输出应该去的参数如下:ls/etc/*.conf|xargs-icp{}/home/likegeeks/Desktop/out这些只是一些Linux命令行技巧中的一个。你可以使用其他命令来做一些更HAPPY的事情,比如awk命令和sed命令!如果你知道我在这里没有提到的任何其他令人讨厌的命令,欢迎评论。