实用的Linux命令行技巧
  TEZNKK3IfmPf 2023年11月14日 26 0

实用的Linux命令行技巧    

1. 输出内容格式化

例如mount命令的输出结果看起来很费劲

实用的Linux命令行技巧

请点击此处输入图片描述

可以使用column对其进行格式化

mount | column -t

实用的Linux命令行技巧

请点击此处输入图片描述

再比如有的文件内容格式也不友好

cat /etc/passwd

实用的Linux命令行技巧

请点击此处输入图片描述

可以根据:进行格式化

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

实用的Linux命令行技巧

请点击此处输入图片描述

2. 重复执行命令,直到成功

例如:

  1. ping 一个server直到其是live状态

  2. 检查某个特定的文件是否被成功上传

  3. 检查某个特定URL是否存在

可以使用while true实现,示例:

while true

> do

> ping -c 1 baidu.com > /dev/null 2>&1 && break

> done;

其中>/dev/null 2>&1是把程序的输出转到空设备/dev/null(详细说明可以查看之前的文章 “理解 Linux shell 中的一个方言:2>&1”)

3. 进程列表根据CPU、内存排序

ps -aux的结果中第3、第4列为cpu和内存

实用的Linux命令行技巧

请点击此处输入图片描述

根据内存排序:

ps aux | sort -rnk 4

 

实用的Linux命令行技巧

请点击此处输入图片描述

根据CPU排序:

ps aux | sort -rnk 3

4. 用 root 权限执行上一条命令

有时我们会忘记在需要root权限的命令前使用sudo,就要重写,比较麻烦,可以使用sudo !!命令来省去麻烦

例如

[vagrant@localhost ~]$ cat /etc/shadow

cat: /etc/shadow: Permission denied

接下来直接执行sudo !!就可以用 root 权限执行上一条命令cat /etc/shadow

5. 强大的 Xargs 命令

示例(1)

例如文件urls.txt中有一个url列表,现在想下载他们,可以使用命令一次完成:

cat urls.txt | xargs wget

xargs会把cat的输出结果作为参数传给wget

示例(2)

再比如需要杀掉tomcat进程

ps -ax | grep tomcat | grep -v grep | awk '{print $1}' | xargs kill -9

grep tomcat过滤出含有tomcat的进程

grep -v grep是排除含有grep的进程

awk '{print $1}'取得进程号那列内容

xargs kill -9把前面取得的tomcat进程号传给kill命令

示例(3)

如果要传递的命令中需要多个参数,如cp有2个参数,xargs要把之前命令的输出作为其中一个参数传给cp

ls *.txt | xargs -i cp {} /tmp
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   52   0   0 linux服务器
  TEZNKK3IfmPf   2024年05月31日   31   0   0 linux服务器centos
  TEZNKK3IfmPf   2024年05月31日   29   0   0 linuxbind
  TEZNKK3IfmPf   2024年05月31日   40   0   0 linuxshell
TEZNKK3IfmPf