中国领先的IT技术网站
|
|

非常实用的Linux命令行技巧

我们每天使用许多Linux命令行。我们从网上知道一些技巧,但如果我们不去练习,我们就有可能忘记。我决定做一个关于技巧和窍门的列表,这些技巧和窍门对于你来说可能是已经忘记的,或者可能是全新的。

作者:Seco Max来源:CSDN大数据|2017-09-05 08:57

Tech Neo技术沙龙 | 11月25号,九州云/ZStack与您一起探讨云时代网络边界管理实践


我们每天使用许多Linux命令行。我们从网上知道一些技巧,但如果我们不去练习,我们就有可能忘记。我决定做一个关于技巧和窍门的列表,这些技巧和窍门对于你来说可能是已经忘记的,或者可能是全新的。

输出显示为一个表

有时候,当你看到一个命令的输出,由于过度拥挤的字符串可能就无法识别输出(例如,mount命令的输出)。那通过表格显示呢?这很容易做到!

  1. mount | column –t: 

在这个例子中,因为空格,输出是格式良好的。如果分隔符是别的东西,像冒号?(例如,在cat/etc/passwd的输出中)。

指定分隔符-s参数,就像下面。

  1. cat /etc/passwd | column -t -s: 

重复一个命令,直到它运行成功

如果您在Google上搜索此功能,您会发现很多人会问到如何重复该命令,直到它成功返回并运行正常。 例如包括ping服务器,直到它在线,检查是否从特定目录上传具有特定扩展名的文件,检查特定URL是否已经存在等。

您可以使用while true循环来实现:

在这个例子中, >/dev/null 2>&1 重定向你的程序的输出到 /dev/null。 同时包括了Standard Error和 Standard Out。

对于我来说这是最酷的linux命令行技巧之一。

通过内存利用率排序进程

  1. ps aux | sort -rnk 4: 

通过CPU利用率排序进程

  1. ps aux | sort -nk 3:  

检查你的架构,执行getconf LONG_BIT。

同时查看多个日志文件

你可以用tail命令看你日志没有问题,但有时,你可能想看多个日志文件。你需要使用支持文本高亮显示、过滤和更多的功能的multi-tail命令:

如果在你的系统上没有这个命令,你可以用apt-get install multitail。

回到你以前的目录

只要输入cd -,你将返回到前面的目录。

做一个非交互式Shell会话互动

做到这一点, 需要改变设置从 ~/.bashrc 到 ~/.bash_profile.

定期监控命令输出

使用观察命令(watch df - h),你可以看任何命令的输出。例如,你可以查看空闲空间,以及它是如何增长的。

通过watch命令,你可以想象你能用变量做什么。

在关闭会话后运行程序

当您在后台运行的任何程序,它都会被你的shell关闭。如何才能在关闭shell后,你仍然可以继续运行这个程序?

这可以通过使用nohup命令——这代表没有hang-up:

  1. nohup wget site.com/file.zip 

这个命令是一种最被遗忘的Linux命令行技巧,因为我们很多人使用另一个命令screen:

在同一个目录中将会生成一个叫nohup.out的文件,其中包含正在运行的程序的输出:

命令很酷,对吗?

对任何命令自动回答是或者否

如果你想自动实现用户输入yes的过程

你可以使用yes命令:yes | apt-get update。

或者你想自动输入no,你可以使用yes no | command。

创建指定大小的文件

你可以使用dd命令创建指定大小的文件:dd if=/dev/zero of=out.txt bs=1M count=10。

下面创建里面填充0,大小为10MB的文件:

以root用户身份运行最后的命令

有时,你想以root身份运行命令,但忘记输入sudo命令。你不必重新输入;仅仅只需输入sudo!

记录你的命令行会话

如果你想记录你在shell上输入的内容,你可以使用脚本命令来保存你所有输入的内容到一个叫typescript:script的文件中。

一旦你输入exit,所有你输入的命令将会写入到那个文件,后面你可以重新查看它。

用占位符代替空格

你可以使用tr命令代替任何其他字符,这很方便: cat geeks.txt | tr ‘:[space]:’ ‘\t’ > out.txt。

将文件转换为大写或小写

你可以使用:

  1. cat myfile | tr a-z A-Z> output.txt 

强大的Xargs命令

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

  1. find. -name *.png -type f -print | xargs tar -cvzf images.tar.gz 

或者,也许你在一个文件中有一个URL清单,你想要去下载它们或者用不同的方式处理它们:

  1. cat urls.txt | xargs wget 

记住,第一个命令的输出传递到xargs命令的结尾。

如果你的命令需要在中间输出怎么办?简单!

仅仅使用{}结合-i参数,如下,用第一个命令输出结果去代替参数的位置:

  1. ls /etc/*.conf | xargs -i cp {} /home/likegeeks/Desktop/out   

【编辑推荐】

  1. Linux系统开机启动项清理
  2. Ubuntu Linux的不同安装类型:服务器vs桌面
  3. Linux内核中的内存屏障
  4. Linux 1.0之旅:回顾这一切的开始
  5. Linux反弹shell命令解析
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

网络管理员考前辅导

本书按照国家人事部、信息产业部全国计算机技术与软件专业资格(水平)考试要求编写,内容紧扣《网络管理员考试大纲》。全书共分为11章,覆...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× Phthon,最神奇好玩的编程语言