5个实用的Linux命令行技巧
时间:2022-05-07
本文章向大家介绍5个实用的Linux命令行技巧,主要内容包括1. 输出内容格式化、2. 重复执行命令,直到成功、3. 进程列表根据CPU、内存排序、4. 用 root 权限执行上一条命令、5. 强大的 Xargs 命令、示例(2)、示例(3)、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
1. 输出内容格式化
例如 mount
命令的输出结果看起来很费劲
可以使用 column
对其进行格式化
mount | column -t
再比如有的文件内容格式也不友好
cat /etc/passwd
可以根据 :
进行格式化
cat /etc/passwd | column -t -s:
2. 重复执行命令,直到成功
例如:
- ping 一个server直到其是live状态
- 检查某个特定的文件是否被成功上传
- 检查某个特定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
- 刷脸注册、试装、支付……仅靠一张脸就能买买买的时尚店开业了
- JavaScript引用类型之Array数组之强大的splice()方法
- Linux快速入门03-系统管理
- JavaScript引用类型之Array数组的concat()和push()方法的区别
- JavaScript引用类型之Array数组的排序方法
- Linux快速入门02-文件系统管理
- JavaScript引用类型之Array数组的toString()和valueof()方法的区别
- Linux快速入门04-扩展知识
- JavaScript引用类型之Array数组的拼接方法-concat()和截取方法-slice()
- JavaScript引用类型之Array数组的拼接方法-concat()和截取方法-slice()
- 比特币在2017全球新闻谷歌搜索中排名第二,韩国政府聚焦比特币市场诈骗和假冒交易所
- ExtJs学习笔记(13)_Card布局
- Html与CSS快速入门03-CSS基础应用
- Html与CSS快速入门02-HTML基础应用
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- P1459 三值的排序 Sorting a Three-Valued
- P1457 城堡 The Castle 位运算+BFS+思维(难题,好题)
- PostgreSQL异常宕机重启时间超长
- C++ 重载运算符 继承 多态 (超详细)
- USACO 2.1 海明码 Hamming Codes (模拟+位运算+黑科技__builtin_popcount(n))
- POJ 3267为什么优先队列超时,DP就能过,难过
- 执行ALTER TABLE语句时如何避免长时间阻塞并发查询
- P1458 顺序的分数 Ordered Fractions(有技巧的枚举)+C++类封装=精简代码
- Codeforce 140C (贪心+优先队列)补题
- CodeForces - 140A New Year Table (几何题)当时没想出来-----补题
- PostgreSQL vacuum可见性
- PostgreSQL VFD机制
- POJ 2136 Vertical Histogram(当时写的比较恶心,优化一下)
- PostgreSQL 12的可拔插存储引擎--表访问方法以及bloackholes案例
- POJ 2230 Watchcow 欧拉回路的DFS解法(模板题)