目录

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 domainNamenslookup 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