Linux 常用命令

收录工作中常用的 Linux 命令

文件操作、服务器问题排查等

Linux 常用命令

查看服务器信息

top

查看 CPU 占用率

free

查看内存使用情况
各项指标的意义如下:

  • total:总表示物理内存的大小;
  • used:已使用的内存大小;
  • free:可用内存大小;
  • shared:多个进程共享的内存总额;
  • buff/cached:磁盘缓存的大小;
  • available:应用程序能使用的物理内存大小。
ps
1
ps -ef | grep svn     # 查看指定进程
查看磁盘使用情况
1
df -h

文件操作

tail 查看日志
1
tail -fn 1000 xxx.log    # 循环实时查看最后 1000 条记录
ls
1
2
3
ls -lh    # 列出显示文件详细信息
ls -lrS # 按大小反序显示文件详细信息
ls -l t* # 列出当前目录中所有以"t"开头的目录的详细内容
I/O 信息
1
2
3
4
5
6
7
8
9
10
11
12
13
iostat -d -k 1 10       #查看TPS和吞吐量信息
iostat -d -x -k 1 10 #查看设备使用率(%util)、响应时间(await)
iostat -c 1 10 #查看cpu状态

指标
%iowait:每一个IO请求的处理的平均时间(单位是毫秒),这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。
kB_read/s:每秒读K字节数
kB_wrtn/s :每秒写K字节数
r/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/s
w/s: 每秒完成的写 I/O 设备次数。即 delta(wio)/s
rsec/s: 每秒读扇区数。即 delta(rsect)/s
wsec/s: 每秒写扇区数。即 delta(wsect)/s
tps:该设备每秒的传输次数 ,“一次传输”意思是“一次I/O请求”。多个逻辑请求可能会被合并为“一次I/O请求”。
du 查看文件/文件夹大小
1
2
3
4
du -sh * | sort -hr # 列出文件夹下所有文件大小并降序排序
du -b /home # 以字节为单位显示/home 文件夹下各个子文件夹的大小
du -h ./ # 以mb为单位显示当前 文件夹下各个子文件夹的大小
du -ks /home # 以千字节KB 为单位显示/home 文件夹的总大小
找出最大的 5 个目录
1
du -hm / --max-depth=1 | sort -nr | head -5 

查询操作

1
2
3
4
which     # 查看可执行文件的位置。
whereis # 查看文件的位置。
locate # 配合数据库查看文件位置。
find # 实际搜寻硬盘查询文件名称。
which
1
which     # 搜索某个 系统命令/可执行文件 的路径
whereis
1
2
3
4
5
# 只能用于程序名的搜索
-b # 定位可执行文件。
-m # 定位帮助文件。
-s # 定位源代码文件。
-u # 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
find
1
2
3
find -atime -2         # 查找 48 小时内修改过的文件
find ./ -name '*.log' # 在当前目录查找 以 .log 结尾的文件。 . 代表当前目录
find -size +1000c # 查找大于 1K 的文件

用户操作

1
2
sudo -s                # 切换到 root 用户
sudo su username # 切换用户