Linux常用命令
目录
进程相关
ps
常用ps -ef | grep 执行的命令来查找程序的进程ID
ps -ef:查看父进程id(ppid)和执行命令(cmd)
ps -aux:查看进程的运行状态和当前的CPU占用和内存占用
lsof
常用lsof -p xx来查找当前进程打开的文件;用lsof -i:xx来查看谁在使用xx端口;lsof xx来查看当前使用xx文件的所有进程
查看打开的文件描述符:sudo lsof | grep 进程号或程序名称
还可用来恢复被删除的文件,前提是该文件仍在被进程使用:
# 1. 查找被删文件test.txt当前所在进程
lsof | grep test.txt
<输出如下>
ttt 12347 root 3r REG 8,2 6 2334724 /tmp/lx/test.txt (deleted)
# 2. 在/proc中可以看到该进程打开的文件描述符如下
<输出如下>
total 0
lrwx------ 1 root root 64 May 2 11:43 0 -> /dev/pts/1
lrwx------ 1 root root 64 May 2 11:43 1 -> /dev/pts/1
lrwx------ 1 root root 64 May 2 11:43 2 -> /dev/pts/1
lr-x------ 1 root root 64 May 2 11:43 3 -> /tmp/lx/test.txt (deleted)
# 3. 执行以下命令我们即可将/tmp/lx/test.txt文件的内容恢复至/tmp/test.txt
cat /proc/12347/fd/3 > /tmp/test.txt
参考:https://www.cnblogs.com/bangerlee/archive/2012/05/03/2464495.html
jobs bg fg ctrl+z nohup
当一个命令执行时间较长,想退出执行其他命令,可食用ctrl+z将其挂起
使用jobs查看所有任务状态
fg 将后台任务放置前台进行运行
bg 使挂起的后台任务继续运行,一般不要让有标准输出的任务在后台运行
nohup command > out.txt 2>&1 &
网络相关
- ip
- netcat
- netstat
- 通过进程号查看端口:sudo netstat -anp | grep 进程号 ;若要指定tcp或udp 在-anp后加上-t或-u
文件操作
wc
磁盘相关
查看目录大小:du -hs dir -s表示只显示summary即总目录大小,不显示子目录,-h表示以MB显示
查看磁盘大小:df -h
查看USB设备:lsusb
查看块设备:lsblk
查看磁盘和分区情况:fdisk -l
挂载设备:mount
若要挂载U盘,先通过fdisk -l查看U盘位置,如/dev/sda,然后查看其分区情况,U盘通常只有一个分区,则可能为/dev/sda1,然后建立挂载目录,如mkdir /mnt/usb,再进行挂载,mount /dev/sda1 /mnt/usb,使用完毕卸载设备,umount /dev/sda1
注意:mount只能挂载设备的分区,而不能对整个设备挂载
磁盘修复:fsck
查看当前磁盘读写速度:iostat -m 2 表示每隔2秒刷新显示,单位为m
系统相关
top
按P以CPU使用量排序
按M以内存使用量排序
iftop
查看流量信息
iftop -B #以字节为单位显示,否则以bit显示
free
free -h
iostat iotop
xx
- 查看系统位数:
getconf LONG_BIT显示系统是64位还是32位 - 查看cpu信息:
cat /proc/cpuinfo - 查看域名信息:
dig domainName、nslookup domainName - 网络相关配置修改,如IP、DNS:对于Ubuntu20等新版本,优先使用netplan
- 查看桌面环境,如是KDE还是GNOME:
echo $DESKTOP_SESSION
测试CPU性能
可通过OpenSSL来进行测试,数值越大越好
单核测试
openssl speed -evp aes-128-gcm
openssl speed -evp aes-256-gcm
openssl speed -evp chacha20-poly1305
多核测试
openssl speed -multi 4 -evp aes-128-gcm
openssl speed -multi 4 -evp aes-256-gcm
openssl speed -multi 4 -evp chacha20-poly1305
服务管理
- systemctl
- 自启动
systemctl enable xx - 启动
systemctl start xx
- 自启动
- service:
service xx start
测试与性能分析
stress
perf
其他
sudo
su user:在当前目录切换用户 (不指定用户则默认切换到root)su - user:切换用户,但目录变为要切换用户的家目录 (不指定用户则默认切换到root)sudo:以管理员权限执行命令,与直接用root用户执行命令不同的是,sudo会以当前用户的环境变量执行命令
图片信息
- 查看图片信息
exiftool picName