非常实用的Linux命令行技巧(转载)

非常实用的Linux命令行技巧

译者注:当我们不经常练习时,人们很容易忘记过去我们学到了什么。这同样经常发生在当我们使用Linux命令行时。作者介绍了一些有用的linux命令行使用技巧。

我们每天使用许多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参数,如下,用第一个命令输出结果去代替参数的位置:

作者丨Seco Max
翻译lloog

原文:

https://mp.weixin.qq.com/s?__biz=MzA4Mzc0NjkwNA==&mid=2650783043&idx=3&sn=ab53713b8127dbda898c46287e552b5b&chksm=87fad474b08d5d62d88272e19d8e3693403668ad9450e86f3b688e0e89857e75a62c8e4140bb&mpshare=1&scene=1&srcid=0905CMm9tVyacaXkI9s8C8i9&pass_ticket=M%2BEr4nscA45TuZXSsCG0baVwiOC%2FttdngWEKE74q9cnYMp6%2FM%2FOuxN6MajgdEDWf#rd
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值