常用系列就是记录自己编程常用的东西,此文为常用系列第 1 篇,用于记录自己日常开发编程时常用的 Linux 命令,以便需要时查找。
查看目录#
ls#
tree#
展示当前目录的文件结构
修改文件权限#
查看文件内容#
more#
less#
tail#
管道相关#
wc#
grep#
xargs#
xargs 能够将输入数据转化为特定命令的命令行参数;这样,可以配合很多命令来组合使用。比如
grep
,find
;
cut#
用于从每行中删除部分内容
查找文件#
locate#
按照路径名查找文件,查找的范围在 /var/lib/mlocate/ 这个数据库中,存储在内存中,每天更新一次,所以无法用 locate 搜索新建的文件,可以使用 updatedb 来立即更新数据库。
系统如果没有自带
locate
命令,可以使用yum install mlocate -y
安装,安装结束执行updatedb
命令
find 命令#
以文件名查找文件
sed 文本替换#
sed 一般用于对文本内容做替换,操作时是逐行操作
sed 的基本工作方式是:
- 将文件以行为单位读取到内存(这个内存也叫模式空间)
- 使用 sed 的每个脚本对该行进行操作
- 处理完成后输出该行
格式
sed ‘操作命令’ 一个或多个文件
Bash 键盘技巧#
归档与备份#
gzip#
压缩单个或多个文件
gunzip#
解压文件
zip#
压缩和归档成 .zip 文件
unzip#
解压 .zip 的文件
tar#
归档多个文件或目录
查看磁盘空间#
查询进程#
ps#
top#
lsof#
其他#
终止进程#
分析线程栈#
使用命令 pmap,来输出进程内存的状况,可以用来分析线程堆栈;
性能监控#
监控 CPU#
查询内存#
查询端口占用#
查询页面交换#
查看页面交换发生状况 页面发生交换时,服务器的吞吐量会大幅下降;服务器状况不良时,如果怀疑因为内存不足而导致了页面交换的发生,可以使用 sar -W 这个命令来确认是否发生了大量的交换;
综合应用#
当系统中 sar 不可用时,可以使用以下工具替代:linux 下有 vmstat、Unix 系统有 prstat
eg: 查看 cpu、内存、使用情况: vmstat n m (n 为监控频率、m 为监控次数)
使用 watch 工具监控变化 当需要持续的监控应用的某个数据变化时,watch 工具能满足要求; 执行 watch 命令后,会进入到一个界面,输出当前被监控的数据,一旦数据变化,便会高亮显示变化情况;
eg:操作 redis 时,监控内存变化:
ping#
向指定的主机发送 ICMP 数据包,用于确认与主机的网络连接。发送的时间间隔为 1 s,用 Ctrl + C 中断发送,正常网络会显示 0% 的分组丢失率
traceroute#
会列出网络从本地到注定主机经过的所有跳数
ip#
是一个多功能的网络配置工具,用于检查系统的网络接口和路由表
- 会显示多个网络接口,常见接口:
- lo:环回接口,是一个虚拟接口,系统用于 “和自己对话”
- eth0: 以太网接口
- 接口第一行如果含有
UP
字样,表明该接口已启用 - 第 3 行 inet 字段为该网络接口的 IP 地址
netstat#
用于检查各种网路设置和统计信息,需安装
net-tools yum install net-tools
ssh#
用于本地主机与远程主机进行通信