我们可能每天都会要使用到很多的 Linux 命令行。 我们也会网络上知晓一些使用它们的小技巧,但是如果我们没有时常来进行练习,就有可能会忘掉怎么去使用它们。 所以我就决定把那些你可能会忘记的小提示和小技巧,或者对你而言可能是全新的东西都列表来。

将输出内容以表格的形式显示出来

有时,在你看到命令行执行的输出时,因为字符串过度拥挤(比如说 mount 命令的输出)导致输出内容难以识别。如果我们看到的内容是一张表格会如何呢?其实这是很容易做到的!

mount | column –t:

在此例中,由于内容中留了空格,所以输出的形式就美观了起来。 那如果想要的分隔符是别的什么符号,比如说冒号,又该怎么去做呢? (例如,在 cat/etc/passwd 的输出内容中使用)

这时候只需要使用 -s 参数指定分隔符就行了,像下面这样。

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

 
 

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

如果在 Google 上搜索这个功能,你会发现很多人都问到了如何重复执行命令,直到这个命令成功返回并且运行正常。 Google上的建议里就包括 ping 服务器,直到它变得空闲为止,还有就是检查是否有向特定的目录上传了具有特定扩展名的文件,还有就是检查特定的URL是否已经存在,诸如此类的办法。

其实你还可以使用 while true 的循环来实现来实现这个功能:

在上面这个示例中,>/dev/null 2>&1 会让程序的输出重定向到 /dev/ null。标准错误和标准输出都会被包含进去。

这是我认为最酷的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 命令来操作会变化的数据,你可以尽情想象自己能拿这个来做些什么哦。

在会话关掉以后继续运行程序

如果你在后台运行了什么程序,然后你关掉了的 shell 会话,那么这个后台运行的程序就会被你的 shell 杀掉。关闭 shell 以后怎么让程序继续运行下去呢?

这个可以用 nohup 命令做到 - 该指令表示不做挂断操作:

nohup wget site.com/file.zip

此命令是最容易被遗忘的 Linux 命令行技巧之一,因为我们许多人都会使用另外一个类命令的 screen 环境:

这样会在同一个目录下生成一个名称为 nohup.out 的文件,其中包含了正在运行的程序的输出内容:

命令很酷,对吧?

 

自动对任何命令回答 Yes 或者 No

如果你想自动化需要向用户说的 Yes 的过程,可以使用 yes 命令来实现:yes | apt-get update。

也许你想做的是自动地说“No”。这个可以使用 yes no | 命令来实现。

创建具有指定大小的文件

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

这样就会创建出一个 10 MB 的文件,填充零作为内容:

以根目录用户来运行最后一个命令

有时,你会忘记在需要 root 权限的命令之前敲入 sudo。这时候你没必要去重写命令; 只要输入 sudo 就行了!

对命令行会话进行记录

如果想要把自己在 shell 屏幕上敲的内容记录下来,可以使用 script 命令将所有敲写的内容保存到一个名为 typescriptscript 的文件中去。

等你敲入 exit 命令以后,所有命令就都会被写入该文件,以便你事后再回过头去查看。

 
 

用标签符号替换空格符

可以使用 tr 命令替换任何字符,这个用起来非常方便:cat geeks.txt | tr ':[space]:' '\t' > out.txt.

将文件内容转换为大写或者小写

可以这样实现:cat myfile | tr a-z A-Z> output.txt。

强大的 Xargs 命令

xargs 命令是最重要的 Linux 命令行技巧之一。你可以使用这个命令将命令的输出作为参数传递给另一个命令。例如,搜索 png 文件然后对其进行压缩或者其它操作:

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

又或者你的文件中有一个 URL 的列表,而你想要做的是以不同的方式下载或者处理这些 URL,可以这样做:

cat urls.txt | xargs wget

请你要记得,第一个命令的输出会在 xargs 命令结尾处传递。

那如果命令需要中间过程的输出,该怎么办呢?这个简单!

只需要使用 {} 并结合 -i 参数就行了。如下所示,替换在第一个命令的输出应该去的地方的参数:

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

这只是 Linux 命令行技巧其中的几个而已。你可以使用其他命令来做一些更 HAPPY 的事情,比如 awk 命令和 sed 命令!

如果你知道一些我在这里没有提到的任何其它的极客命令,欢迎评论。

最实用的 Linux 命令行使用技巧的更多相关文章

  1. 最有用的Linux命令行使用技巧集锦

    最近在Quora上看到一个问答题目,关于在高效率Linux用户节省时间Tips.将该题目的回答进行学习总结,加上自己的一些经验,记录如下,方便自己和大家参考. 下面介绍的都是一些命令行工具,这些工具在 ...

  2. 实用 Linux 命令行使用技巧集锦

    最近在Quora上看到一个问答题目,关于在高效率Linux用户节省时间Tips.将该题目的回答进行学习总结,加上自己的一些经验,记录如下,方便自己和大家参考. 下面介绍的都是一些命令行工具,这些工具在 ...

  3. 20个实用的Linux命令

    20个实用的Linux命令 2016-04-16 程序员之家 1. 命令:sl (蒸汽机车) 你可能了解 ‘ls’ 命令,并经常使用它来查看文件夹的内容.但是,有些时候你可能会拼写成 ‘sl’ ,这时 ...

  4. 10个最实用的Linux命令

    收集了一些对于Linux新手最基本但最有用的Linux命令.你完全可以键入这些命令来管理你的服务器.这些命令对于学习vps或服务器管理的新手最为简便.1.List命令 ls -a //列出所有文件 l ...

  5. 实用的linux 命令(上)

    今天介绍几个我常用的Linux 命令,每个命令这里只介绍其常用参数. 对于每个Linux 命令都可以使用man + 命令名称,查看其完整使用方法. 0,man man 命令是一个非常有用的命令,当你不 ...

  6. Linux命令--top使用技巧

    摘自 http://www.jb51.net/LINUXjishu/151995.html top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况,类似于Windows的 ...

  7. 〖Linux〗不知谁写的,很实用的Linux命令

    第一部分 . sudo 运行上一条命令 sudo !! . HTTP方式共享当前目录 python -m SimpleHTTPServer . vim保存一个root用户文件 :w !sudo tee ...

  8. 一些实用的linux命令

    一直在用linux,可linux下的命令还是用得不是很熟悉,记录一下比较有用命令: ``和$()是一样的,都是用指令的执行结果来替换. linux下 echo hello    world => ...

  9. 实用收藏Linux命令备忘

    系统操作 #使用shutdown命令马上重启系统[root@H32 ~]# shutdown –r now #使用shutdown命令马上关闭系统[root@H32 ~]# shutdown –h n ...

随机推荐

  1. 004-搭建框架-实现AOP机制【一】代理技术

    前景提要 监控方法性能.执行时间.记录日志等 AOP( Aspect Oriented Programming)面向方面编程. 在AOP中,需要定义一个Aspect(切面)类来编写需要横切业务的逻辑代 ...

  2. 部署Jenkins+docker集成环境

    环境: 主机(mac osx)和虚拟机(Ubuntu 16.04) mac osx系统,运行Jenkins Ubuntu16.04系统,运行docker(用Ubuntu14.04镜像创建一个docke ...

  3. MySQL忘记密码的正确解决方法

    MySQL忘记密码解决方案:破解本地密码: Windows: 1.用系统管理员登陆系统. 2.停止MySQL的服务. 3.进入命令窗口,然后进入 MySQL的安装目录,比如我的安装目录是c:\mysq ...

  4. 曾经遇到的坑------href="#"和href="javascript:void(0);"、href="javascript:;"

    这个是为了 在点击此链接后回到页首,如果你写href="#"那么点击后会回到页首,这样影响操作. <a href="javascript:void 0" ...

  5. 异动K线2--600532做一个分析时再给大家一只个股和近日大盘的分析

    http://bbs.tianya.cn/post-stocks-612892-3.shtml ————看了一页就感觉没什么太大的意义 选时重于选股 这是一条股市生存的基本法则 看看天涯真正的高手 现 ...

  6. css系列(6)css的运用(二)

        本节继续介绍css在html页面重的应用实例.     (1)div的border-style属性: none: 无样式 hidden: 除了同表格的边框发生冲突的时候,其它同none dot ...

  7. EF删除集中方法对比

    // DELETE api/<controller>/5 [HttpGet] public void delete(string id) { #region 官方推荐写法 /* var a ...

  8. 大数据架构之:Spark

    Spark是UC Berkeley AMP 实验室基于map reduce算法实现的分布式计算框架,输出和结果保存在内存中,不需要频繁读写HDFS,数据处理效率更高Spark适用于近线或准实时.数据挖 ...

  9. 大数据架构之:Flume

    1. Flume是一个分布式.可靠.和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力. 2.一个 ...

  10. linux音频 DAPM之二:audio paths与dapm kcontrol

    转:https://blog.csdn.net/wh_19910525/article/details/12749293 在用alsa_amixer controls时,除了我们之前提到的snd_so ...