Linux common commands
文件与目录操作
ls -lh
以人类可读方式显示文件大小
ls -ltr
按时间排序
cd -
返回上一个目录
tree
树型结构显示目录,需要安装
stat file
查看文件详细信息
basename /path/file.txt
获取文件名
dirname /path/file.txt
获取文件路径
文件查看与处理
cat -n file
显示行号
tac file
反向输出文件
less -N file
分页并显示行号
strings file
提取二进制文件中的字符串
split -l 1000 big.txt part_
按行切割文件
sort file
排序
uniq file
去重
diff file1 file2
比较两个文件
cmp file1 file2
比较两个文件是否相同
权限与用户管理
chmod 644 file
rw-r–r–
chmod u+x file
给用户添加执行权限
umask
查看默认权限掩码
chgrp group file
修改文件所属组
groups user
查看用户所属组
useradd newuser
添加用户
usermod -aG sudo u
将用户加入sudo组
userdel -r user
删除用户及家目录
groupadd dev
新建用户组
系统信息与硬件
uname -r
查看内核版本
cat /etc/os-release
系统版本信息
hostnamectl
查看主机信息
uptime -p
只显示运行时长
lsblk
显示磁盘挂载
blkid
查看磁盘 UUID
mount /dev/sdb1 /mnt
挂载磁盘
umount /mnt
卸载磁盘
lscpu
CPU 信息
lsusb
USB 设备
lspci
PCI 设备
进程与任务管理
ps -ef | grep ssh
查找进程
pgrep -u user
查看用户进程 PID
kill -15 1234
优雅终止进程
kill -9 1234
强制终止
pkill nginx
杀死 nginx 进程
top -u user
查看用户进程
htop
更友好的进程监控
jobs
后台任务
fg %1
任务恢复前台
bg %1
后台继续运行
磁盘与文件系统
df -Th
查看磁盘文件系统类型
du -sh *
查看当前目录下文件大小
ls -lh /var/log
查看日志大小
ncdu
图形化磁盘分析工具(需安装)
fsck /dev/sdb1
检查文件系统
mount -o remount,rw /
重新挂载为可写
压缩与解压
tar -cvf a.tar dir/
打包
tar -xvf a.tar
解包
tar -czvf a.tar.gz dir
打包并压缩
tar -xzvf a.tar.gz
解压缩
zip -r a.zip dir/
压缩 zip
unzip a.zip -d dir/
解压到目录
xz -z file
压缩为 .xz
xz -d file.xz
解压
网络与传输
ping -c 4 baidu.com
ping 4 次
curl -I http://url
查看响应头
curl -O http://url/file
下载文件
wget -c http://url/file
断点续传下载
scp file user@ip:/dir/
上传文件
scp user@ip:/dir/file ./
下载文件
rsync -avz src/ dest/
高效同步文件
ssh user@ip
远程登录
ssh -p 2222 user@ip
指定端口
网络管理与排错
ifconfig
查看网卡信息(旧)
ip addr show
查看网卡信息(推荐)
ip route
查看路由表
netstat -tulnp
查看端口
ss -lntp
新版端口查看
traceroute baidu.com
路由跟踪
dig baidu.com
DNS 解析
nslookup baidu.com
DNS 查询
telnet ip port
测试端口连通性
软件包管理
Ubuntu/Debian系
apt update
apt upgrade
apt install pkg
apt remove pkg
dpkg -i file.deb
安装本地包
CentOS/RedHat系
yum install pkg
yum remove pkg
yum update
rpm -ivh file.rpm
安装本地包
日志与系统监控
journalctl -xe
查看系统日志
tail -f /var/log/syslog
实时日志
tail -f /var/log/messages
last
登录历史
w
登录用户及进程
uptime
系统负载
vmstat 2
每 2 秒显示内存/CPU
iostat -x 1
磁盘 IO
sar -u 1 10
CPU 性能监控
Shell快捷与工具
!!
执行上一条命令
!ls
执行最近的 ls 命令
history | grep xx
搜索历史命令
alias ll=’ls -l’
设置别名
unalias ll
删除别名
echo 查看环境变量
export VAR=123
设置环境变量
新建普通文件的默认权限为666(rw-rw-rw-).umask值027指定屏蔽的权限:所有者部分(0)无屏蔽,组部分(2)屏蔽写权限(w),其他部分(7)屏蔽所有权限(rwx)。计算实际权限:默认权限666&~umask=640(二进制110110110 AND 111101000=110100000,即rw-r—–)。因此,权限为rw-r—–(640)
在linux文件系统中,硬链接不能指向目录(只能指向文件),以防止文件系统循环等问题;而软链接可以指向文件或目录。硬链接共享inode,软连接独立inode。删除原始文件后硬链接可访问数据,软链接失效。硬链接不能跨文件系统,软链接可以。
shutdown -r now,-r表示重启(reboot),now表示立即执行。标准的重启指令reboot,直接调用系统重启功能,等同于shutdown -r nowinit 6,通过切换系统运行级别(runlevel)到6,表示重启,是传统的SysV初始化系统的重启方式,在大多数Linux发行版本中仍兼容halt,停止系统运行并关闭电源(相当于关机),不会触发重启通过文件目录可以实现从文件名到文件物理地址的转化
SIGTERM是用于优雅终止进程的标准信号,它允许进程捕获该信号、执行清理操作(如释放资源)并正常退出SIGKILL是强制终止,不可被进程捕获或忽略
