数据API 产品矩阵 案例 关于
掌握聚合最新动态了解行业最新趋势
API接口,开发服务,免费咨询服务

5个实用的Linux命令行技巧

1. 输出内容格式化

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

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

mount | column -t

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

cat /etc/passwd

可以根据 : 进行格式化

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

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 和 内存

根据内存排序:

ps aux | sort -rnk 4

根据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

原文来自:性能与架构

声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com

掌握聚合最新动态了解行业最新趋势
API接口,开发服务,免费咨询服务
5个实用的Linux命令行技巧
发布:2017-07-25 11:23:12

1. 输出内容格式化

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

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

mount | column -t

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

cat /etc/passwd

可以根据 : 进行格式化

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

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 和 内存

根据内存排序:

ps aux | sort -rnk 4

根据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

原文来自:性能与架构

声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com

选择想要的接口, 看看能免费获取多少次调用 选择(单选)或填写想要的接口
  • 短信API服务
  • 银行卡四元素检测[简]
  • 身份证实名认证
  • 手机状态查询
  • 三网手机实名制认证[简]
  • 身份证OCR识别
  • 证件识别
  • 企业工商信息
短信API服务
  • 短信API服务
  • 银行卡四元素检测[简]
  • 身份证实名认证
  • 手机状态查询
  • 三网手机实名制认证[简]
  • 身份证OCR识别
  • 证件识别
  • 企业工商信息
  • 确定
选择您的身份
请选择寻找接口的目的
预计每月调用量
请选择预计每月调用量
产品研发的阶段
请选择产品研发的阶段
×

前往领取
电话 0512-88869195
×
企业用户认证,
可获得1000次免费调用
注册登录 > 企业账户认证 > 领取接口包
企业用户认证领取接口包 立即领取
× 企业用户认证,
可获得1000次免费调用,立即领取>
数 据 驱 动 未 来
Data Drives The Future