我们每天用很多Linux命令行。我们从网上知道一些技巧,但是如果不练习,可能就会忘了。我列了个提示和技巧的单子,都是些你可能已经忘了或者对你来说完全是新的内容。
像表格一样展示输出
有时候,当看到一个命令的输出,由于过度拥挤的字符串(例如mount命令的输出)像被淹没一样很难识别。如何让它看着像一个表格那样清晰?很简单。
mount | column –t:
在这个例子中,输出格式清晰是因为空间。如果分隔符是其他东西,比如冒号?(举例, 在cat /etc/passwd 的输出中)
只要指定一个–s 参数作分隔,如下:
cat /etc/passwd | column -t -s:
重复一个命令直到它成功运行
如果用谷歌搜索这个特性,将会发现许多人已经问过如何重复命令直到它返回成功并且正确的运行。建议包括服务器回音检查直到它有用,检查从特定目录中上传的特定扩展文件,检查一个已经存在的特定URL等等。
可以使用while true 循环来实现:
在这个例子中,>/dev/null 2>&1 把program的输出重定向到/dev/null。包括 Standard Error 和Standard Out。
对我来说,这是Linux命令行中最酷的技巧。
通过内存使用率分类进程
ps aux | sort -rnk 4:
通过CPU使用率分类进程
ps aux | sort -nk 3:
检查架构,执行getconf LONG_BIT。
同时观察多种日志文件
你也许会用tail命令来查看日志是否有问题,但是有时候,也许想看多种日志文件。使用multi-tail命令支持突出标题,过滤,和需要的更多的特征:
如果在系统中没找到apt-get install multitail ,可以安装一个。
回到之间的目录
只需输入cd – 就可以回到之前的目录了。
做一个非交互式的shell会话交互
为了做到这一点,改变设置由 ~/.bashrc 到 ~/.bash_profile。
定期监控命令输出
使用watch命令(watch df –h),可以看到任何命令的任何输出。例如,可以看到可用空间和它是如何增长的。
可以想象一下,可以用watch命令来运用不同的数据。
在session killing后运行程序
当在后台运行任何程序并接近的时候,它会被shell killed。那如何在close shell后继续运行程序呢?
可以用nohup命令——它代表不挂断的运行命令:
nohup wget site.com/file.zip
这个命令是Linux命令行技巧里最容易忘记的命令之一,因为我们中的许多人使用其他命令,就像下面这张图片里的:
用nohup.out名称,一个文件会在同样的目录中生成,它包含了运行program的输出:
是不是非常酷的代码?
自动回答任何命令yes or no
如果想自动进程请求用户表示yes。
可以用yes命令: yes | apt-get update。
也许想自动表示“no”代替。可以用 yes no | command。
指定size创建文件
可以使用 dd 命令创建一个指定size的文件: dd if=/dev/zero of=out.txt bs=1M count=10。
它将创建一个10mb满是0的文件:
用root运行最后的命令
有时候,在命令需要root权限之前你忘记打 sudo 。不需要重新写,只要打上sudo!
记录命令行会话
如果想记录shell screen上的内容,可以使用脚本命令来保存所有记录的内容到一个文件,名为typescript : script.
一旦退出,所有的命令将会写入该文件,以便之后查看。
用tabs代替spaces
可以用其他使用 tr 命令的代替任何字符,非常方便: cat geeks.txt | tr ‘:[space]:’ ‘\t’ > out.txt。
将文件转变为大写或小写
可以用这个: cat myfile | tr a-z A-Z > output.txt。
强大的xargs命令
xargs 命令是最重要的Linux命令行技巧中之一。可以用这个命令来通过一个命令的输出作为一个参数到另一个命令。例如,可以搜索PNGpng 文件并且压缩它们或者用它们做任何事:
find. -name *.png -type f -print | xargs tar -cvzf images.tar.gz
或者,也许你在文件中有一个URLs的单子,想下载它们或者通过一个不同的方式来处理:
cat urls.txt | xargs wget
请记住第一个命令的输出在 xargs 命令的结束的时候通过。
如果你的命令需要在中间输出?简单!
只要用 {} 结合 –i 参数,就像下面,在第一个命令输出的地方替换参数:
ls /etc/*.conf | xargs -i cp {} /home/likegeeks/Desktop/out
这只有少数Linux命令行技巧。有一些更令人讨厌的东西你可以使用其他命令,像是 awk 命令和 sed 命令。
如果 你知道其他令人讨厌的命令是我没提到的,请评论。
评论前必须登录!
注册