第386集CentOS运维手册-Linux系统命令整理 | 字数总计: 11.2k | 阅读时长: 46分钟 | 阅读量:
CentOS运维手册 - Linux系统命令整理 系统简介 本手册系统整理了Linux系统常用命令,按照功能分类,为运维人员提供快速参考。适用于CentOS、RHEL、Ubuntu等主流Linux发行版。
一、查询及帮助命令(2个) 1. man - 查看命令手册 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 man ls man grep man 1 ls man 5 passwd man 8 mount man -k keyword man -f command man -a keyword man -w command
说明 :man是Linux系统最重要的帮助命令,提供详细的命令使用说明。
2. help - 查看内置命令帮助 1 2 3 4 5 6 7 8 9 10 help cd help echo help export help help -d cd
说明 :help用于查看Shell内置命令的帮助信息,比man更简洁。
二、文件和目录操作命令(11个) 1. ls - 列出目录内容 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ls ls /home ls -l ls -a ls -h ls -t ls -r ls -S ls -lah ls -lht ls -R ls -d */
2. tree - 树形显示目录结构 1 2 3 4 5 6 7 8 9 10 11 12 yum install tree -y tree tree /home tree -L 2 tree -d tree -a tree -I 'node_modules|.git' tree -h tree -p
3. pwd - 显示当前工作目录 1 2 3 4 5 6 pwd CURRENT_DIR=$(pwd ) echo "当前目录: $CURRENT_DIR "
4. mkdir - 创建目录 1 2 3 4 5 6 7 8 9 10 11 12 13 14 mkdir dir1mkdir dir1 dir2 dir3mkdir -p /home/user/project/srcmkdir -m 755 dir1mkdir -v dir1
5. cd - 切换目录 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 cd /home/usercd ~cd cd -cd ..cd ../..cd /
6. touch - 创建空文件或更新文件时间戳 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 touch file1.txttouch file1.txt file2.txt file3.txttouch -a file1.txttouch -m file1.txttouch -t 202401011200 file1.txttouch -d "2024-01-01 12:00:00" file1.txt
7. cp - 复制文件或目录 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 cp file1.txt file2.txtcp file1.txt /home/user/cp -r dir1 dir2cp -p file1.txt file2.txtcp -v file1.txt file2.txtcp -f file1.txt file2.txtcp -i file1.txt file2.txtcp -d link1 link2cp -a dir1 dir2
8. mv - 移动或重命名文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 mv oldname.txt newname.txtmv file1.txt /home/user/mv dir1 /home/user/mv file1.txt file2.txt /home/user/mv -f file1.txt file2.txtmv -i file1.txt file2.txtmv -v file1.txt file2.txt
9. rm - 删除文件或目录 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 rm file1.txtrm file1.txt file2.txt file3.txtrm -r dir1rm -f file1.txtrm -i file1.txtrm -v file1.txtrm -rf dir1rm -rf *
10. ln - 创建链接 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ln file1.txt file2.txtln -s file1.txt link1ln -s /home/user/dir1 link_dirln -sf file1.txt link1ln -sv file1.txt link1
11. find - 查找文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 find /home -name "*.txt" find /home -type f find /home -type d find /home -type l find /home -size +100M find /home -size -10M find /home -size 50M find /home -mtime -7 find /home -mtime +30 find /home -mmin -60 find /home -perm 644 find /home -perm -u+x find /home -user username find /home -uid 1000 find /home -name "*.log" -mtime +30 -delete find /home -name "*.txt" -exec ls -l {} \; find /home -name "*.txt" -exec rm {} \;
三、查看文件及内容处理命令(17个) 1. cat - 显示文件内容 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 cat file1.txtcat file1.txt file2.txtcat -n file1.txtcat -b file1.txtcat -A file1.txtcat file1.txt file2.txt > merged.txtcat >> file1.txt << EOF 新内容 EOF
2. more - 分页显示文件 1 2 3 4 5 6 7 8 9 10 11 12 more file1.txt more +10 file1.txt
3. less - 分页显示文件(more的增强版) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 less file1.txt less -N file1.txt
4. head - 显示文件开头 1 2 3 4 5 6 7 8 9 10 11 12 head file1.txthead -n 20 file1.txthead -20 file1.txthead -c 100 file1.txthead file1.txt file2.txt
5. tail - 显示文件结尾 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 tail file1.txttail -n 20 file1.txttail -20 file1.txttail -f /var/log/messagestail -F /var/log/messages tail -c 100 file1.txttail -n +20 file1.txt
6. cut - 截取文件内容 1 2 3 4 5 6 7 8 9 10 11 cut -c 1-10 file1.txtcut -d ':' -f 1,3 /etc/passwdcut -d ',' -f 1,2 file.csvps aux | cut -d ' ' -f 1
7. sort - 排序 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 sort file1.txtsort -r file1.txtsort -n file1.txtsort -u file1.txtsort -f file1.txtsort -t ':' -k 3 -n /etc/passwd
8. uniq - 去重 1 2 3 4 5 6 7 8 9 10 11 12 13 14 uniq file1.txtuniq -c file1.txtuniq -d file1.txtuniq -u file1.txtsort file1.txt | uniq
9. wc - 统计文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 wc file1.txtwc -l file1.txtwc -w file1.txtwc -c file1.txtwc -m file1.txtwc file1.txt file2.txt
10. file - 查看文件类型 1 2 3 4 5 6 7 8 9 10 11 file file1.txt file file1.txt file2.txt file -v file1.txt file -b file1.txt
11. diff - 比较文件差异 1 2 3 4 5 6 7 8 9 10 11 12 13 14 diff file1.txt file2.txt diff -y file1.txt file2.txt diff -u file1.txt file2.txt diff -w file1.txt file2.txt diff -r dir1 dir2
12. vimdiff - 可视化比较文件 1 2 3 4 5 6 7 8 9 vimdiff file1.txt file2.txt
13. chattr - 修改文件属性 1 2 3 4 5 6 7 8 9 10 11 12 13 chattr +i file1.txt chattr +a file1.txt chattr +A file1.txt chattr -i file1.txt chattr -R +i dir1 lsattr file1.txt
14. lsattr - 查看文件属性 1 2 3 4 5 6 7 8 9 10 11 lsattr file1.txt lsattr -d dir1 lsattr -R dir1 lsattr -a dir1
15. rev - 反转文件内容 1 2 3 4 5 rev file1.txt echo "hello" | rev
16. grep - 文本搜索 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 grep "pattern" file1.txt grep -i "pattern" file1.txt grep -n "pattern" file1.txt grep -v "pattern" file1.txt grep -r "pattern" /home grep -l "pattern" *.txt grep -o "pattern" file1.txt grep -c "pattern" file1.txt grep -E "pattern1|pattern2" file1.txt grep --color "pattern" file1.txt
17. egrep - 扩展正则表达式搜索 1 2 3 4 5 6 egrep "pattern1|pattern2" file1.txt egrep -i "pattern" file1.txt egrep -n "pattern" file1.txt
补充命令 split - 分割文件 1 2 3 4 5 6 7 8 split -l 1000 file1.txt output_split -b 10M file1.txt output_split -n 5 file1.txt output_
paste - 合并文件 1 2 3 4 5 6 7 8 paste file1.txt file2.txtpaste -d ':' file1.txt file2.txtpaste -s file1.txt
iconv - 字符编码转换 1 2 3 4 5 iconv -f GBK -t UTF-8 file1.txt > file2.txt iconv -l
dos2unix - DOS到Unix格式转换 1 2 3 4 5 6 7 8 yum install dos2unix -y dos2unix file1.txt dos2unix *.txt
四、文件压缩及解压缩命令(7个) 1. tar - 归档和压缩 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 tar -cf archive.tar dir1 tar -xf archive.tar tar -czf archive.tar.gz dir1 tar -xzf archive.tar.gz tar -cjf archive.tar.bz2 dir1 tar -xjf archive.tar.bz2 tar -cJf archive.tar.xz dir1 tar -xJf archive.tar.xz tar -tzf archive.tar.gz tar -xzvf archive.tar.gz
2. unzip - 解压zip文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 unzip archive.zip unzip archive.zip -d /home/user/ unzip -l archive.zip unzip -t archive.zip unzip -q archive.zip unzip -o archive.zip unzip -n archive.zip
3. gzip - gzip压缩 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 gzip file1.txt gzip -d file1.txt.gz gunzip file1.txt.gz gzip -k file1.txt gzip -l file1.txt.gz gzip -9 file1.txt gzip -r dir1
4. zip - 创建zip压缩 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 zip archive.zip file1.txt zip -r archive.zip dir1 zip archive.zip file1.txt file2.txt zip -9 archive.zip file1.txt zip -r archive.zip dir1 -x "*.log" zip -v archive.zip file1.txt
5. bzip2 - bzip2压缩 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 bzip2 file1.txt bzip2 -d file1.txt.bz2 bunzip2 file1.txt.bz2 bzip2 -k file1.txt bzip2 -l file1.txt.bz2 bzip2 -t file1.txt.bz2 bzip2 -9 file1.txt
6. zcat - 查看gzip压缩文件内容 1 2 3 4 5 6 7 8 zcat file1.txt.gz zcat file1.txt.gz | less zcat file1.txt.gz | grep "pattern"
7. bzcat - 查看bzip2压缩文件内容 1 2 3 4 5 6 7 8 bzcat file1.txt.bz2 bzcat file1.txt.bz2 | less bzcat file1.txt.bz2 | grep "pattern"
五、信息显示命令(12个) 1. hostnamectl - 主机名管理 1 2 3 4 5 6 7 8 9 10 11 12 13 hostnamectl hostnamectl set-hostname newhostname hostnamectl status hostnamectl --static hostnamectl --transient hostnamectl --pretty
2. uname - 显示系统信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 uname uname -auname -runame -muname -ouname -nuname -v
3. hostname - 显示或设置主机名 1 2 3 4 5 6 7 8 9 10 11 hostname hostname -f hostname -i hostname newhostname
4. dmesg - 显示内核消息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 dmesg dmesg | tail -20 dmesg -w dmesg -T dmesg -l err dmesg -l warn dmesg -l info dmesg -c
5. uptime - 显示系统运行时间
6. file - 查看文件类型(见第三部分) 7. stat - 显示文件详细信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 stat file1.txtstat -d dir1stat -f /homestat -c "%n %s %y" file1.txt
8. du - 显示目录磁盘使用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 du dir1du -h dir1du -sh dir1du -h --max-depth=1 /homedu -h /home | sort -hdu -h --exclude="*.log" dir1
9. df - 显示文件系统磁盘使用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 df df -hdf -idf -Tdf -h /homedf -h -x tmpfs -x devtmpfs
10. top - 实时显示进程信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 top top -o %CPU top -o %MEM top -u username top -d 2 top -H top -b -n 1 > process_info.txt
11. free - 显示内存使用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 free free -h free -m free -g free -s 2 free -t
12. date - 显示或设置日期时间 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 date date "+%Y-%m-%d %H:%M:%S" date +%sdate -d @1640995200date -s "2024-01-01 12:00:00" cal cal 1 2024 cal 2024
六、搜索文件命令(4个) 1. which - 查找命令路径 1 2 3 4 5 6 7 8 9 10 11 which ls which pythonwhich javawhich -a command which command > /dev/null && echo "存在" || echo "不存在"
2. whereis - 查找命令、源码、手册页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 whereis ls whereis -b ls whereis -m ls whereis -s ls whereis -B /usr/bin -f ls
3. locate - 快速查找文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 yum install mlocate -y updatedb locate file1.txt locate -i file1.txt locate -l 10 file1.txt locate -r "\.txt$" locate -S
4. find - 查找文件(见第二部分) 1 2 3 4 5 6 7 8 9 10 11 find /etc -name "*.conf" find /home -type f -name "*.log" find /var -size +100M find /tmp -mtime +7 -delete
七、用户管理命令(10个) 1. useradd - 添加用户 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 useradd username useradd -d /home/username username useradd -u 1001 username useradd -g groupname username useradd -G group1,group2 username useradd -r username useradd -s /bin/bash username useradd -c "User Comment" username
2. usermod - 修改用户 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 usermod -d /new/home username usermod -u 1002 username usermod -g newgroup username usermod -aG groupname username usermod -s /bin/zsh username usermod -l newname oldname usermod -L username usermod -U username
3. userdel - 删除用户 1 2 3 4 5 6 7 8 userdel username userdel -r username userdel -f username
4. groupadd - 添加组 1 2 3 4 5 6 7 8 groupadd groupname groupadd -g 1001 groupname groupadd -r groupname
5. passwd - 修改密码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 passwd passwd username passwd -l username passwd -u username passwd -d username passwd -e username passwd -S username
6. chage - 修改密码过期信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 chage -l username chage -M 90 username chage -m 7 username chage -W 7 username chage -E 2024-12-31 username chage username
7. id - 显示用户ID信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 id id usernameid -u usernameid -g usernameid -G usernameid -un username
8. su - 切换用户 1 2 3 4 5 6 7 8 9 10 11 12 13 14 su username su - su - username -c "command" su -p username su -v username
9. visudo - 编辑sudoers文件 1 2 3 4 5 6 7 8 9 10 visudo visudo -c
10. sudo - 以其他用户身份执行命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 sudo command sudo -u username command sudo -i sudo -u username -i sudo -l sudo -v
八、基础网络操作命令(10个) 1. telnet - 远程登录 1 2 3 4 5 6 7 8 9 10 yum install telnet -y telnet hostname port telnet 192.168.1.1 80
2. ssh - 安全远程登录 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ssh username@hostname ssh -p 2222 username@hostname ssh -i /path/to/key username@hostname ssh username@hostname "command" ssh -L 8080:localhost:80 username@hostname ssh -v username@hostname ssh-keygen -t rsa -b 4096 ssh-copy-id username@hostname
3. scp - 安全复制文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 scp file1.txt username@hostname:/path/ scp username@hostname:/path/file1.txt ./ scp -r dir1 username@hostname:/path/ scp -P 2222 file1.txt username@hostname:/path/ scp -v file1.txt username@hostname:/path/ scp -p file1.txt username@hostname:/path/
4. wget - 下载文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 wget http://example.com/file.zip wget -O output.zip http://example.com/file.zip wget -c http://example.com/file.zip wget -b http://example.com/file.zip wget --limit-rate=200k http://example.com/file.zip wget -r http://example.com/ wget -r -A "*.jpg,*.png" http://example.com/ wget -v http://example.com/file.zip
5. ping - 测试网络连通性 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ping hostname ping 192.168.1.1 ping -c 4 hostname ping -i 2 hostname ping -W 5 hostname ping -v hostname ping -M do hostname
6. route - 显示和操作路由表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 route -n route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 route del -net 192.168.1.0 netmask 255.255.255.0 route add default gw 192.168.1.1 route -C
7. ifconfig - 配置网络接口 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ifconfig ifconfig eth0 ifconfig eth0 192.168.1.100 ifconfig eth0 netmask 255.255.255.0 ifconfig eth0 up ifconfig eth0 down ifconfig eth0 hw ether 00:11:22:33:44:55
8. ifup - 启用网络接口 1 2 3 4 5 6 7 8 ifup eth0 ifup -v eth0 ifup -f eth0
9. ifdown - 禁用网络接口 1 2 3 4 5 6 7 8 ifdown eth0 ifdown -v eth0 ifdown -f eth0
10. netstat - 显示网络连接 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 netstat -a netstat -t netstat -u netstat -l netstat -p netstat -n netstat -r netstat -i netstat -tulpn
九、深入网络操作命令(6个) 1. lsof - 列出打开的文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 lsof lsof -p PID lsof -u username lsof -i :80 lsof -i tcp lsof -i udp lsof -i @192.168.1.1 lsof +D /home lsof -t /path/to/file | xargs kill
2. route - 路由管理(见第八部分) 3. mail - 发送邮件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 echo "邮件内容" | mail -s "主题" user@example.commail -s "主题" user@example.com < file.txt mail -s "主题" -a attachment.txt user@example.com mail
4. mutt - 邮件客户端 1 2 3 4 5 6 7 8 9 10 11 yum install mutt -y mutt -s "主题" user@example.com < file.txt mutt user@example.com mutt -a attachment.txt -s "主题" user@example.com
5. nslookup - 查询DNS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 nslookup example.com nslookup example.com 8.8.8.8 nslookup -type =MX example.com nslookup -type =A example.com nslookup > set type =MX > example.com
6. dig - DNS查询工具 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 dig example.com dig example.com MX dig example.com NS dig example.com TXT dig @8.8.8.8 example.com dig +short example.com dig -x 8.8.8.8 dig +trace example.com
十、有关磁盘文件系统的命令(8个) 1. mount - 挂载文件系统 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 mount mount /dev/sdb1 /mnt mount -t ext4 /dev/sdb1 /mnt mount -o rw,noatime /dev/sdb1 /mnt mount -o loop image.iso /mnt mount -t nfs server:/path /mnt mount -o remount,rw /mnt mount -l
2. umount - 卸载文件系统 1 2 3 4 5 6 7 8 9 10 11 umount /mnt umount /dev/sdb1 umount -f /mnt umount -l /mnt
3. df - 显示磁盘使用(见第五部分) 4. du - 显示目录大小(见第五部分) 5. fsck - 检查文件系统 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 fsck /dev/sdb1 fsck -a /dev/sdb1 fsck -r /dev/sdb1 fsck -f /dev/sdb1 fsck -v /dev/sdb1 fsck.ext4 /dev/sdb1
6. dd - 数据复制和转换 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 dd if =input.txt of=output.txtdd if =/dev/sda of=/dev/sdb bs=4Mdd if =/dev/sda of=backup.img bs=4Mdd if =backup.img of=/dev/sda bs=4Mdd if =/dev/zero of=file.txt bs=1M count=100dd if =/dev/sda of=/dev/sdb bs=4M status=progressdd if =input.txt of=output.txt conv=ucasedd if =input.txt of=output.txt conv=lcase
7. dumpe2fs - 显示ext文件系统信息 1 2 3 4 5 6 7 8 dumpe2fs /dev/sdb1 dumpe2fs -h /dev/sdb1 dumpe2fs -g /dev/sdb1
8. dump - 备份文件系统 1 2 3 4 5 6 7 8 9 10 11 dump -0u -f /backup/backup.dump /dev/sdb1 dump -1u -f /backup/backup.dump /dev/sdb1 dump -W restore -r -f /backup/backup.dump
十一、关机/重启/注销命令(4个) 1. shutdown - 关机 1 2 3 4 5 6 7 8 9 10 11 12 13 14 shutdown -h now shutdown -h 20:00 shutdown -h +10 shutdown -h now "系统维护" shutdown -c
2. halt - 停止系统 1 2 3 4 5 6 7 8 halt halt -f halt -p
3. init - 切换运行级别 1 2 3 4 5 6 7 8 9 10 11 12 13 14 init 1 init 3 init 5 init 6 init 0
4. reboot - 重启系统 1 2 3 4 5 6 7 8 reboot reboot -f reboot now
十二、系统管理相关命令(8个) 1. uptime - 系统运行时间(见第五部分) 2. top - 进程监控(见第五部分) 3. free - 内存使用(见第五部分) 4. vmstat - 虚拟内存统计 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 vmstat vmstat 2 5 vmstat -s vmstat -m vmstat -d vmstat -p /dev/sda1
5. mpstat - 多处理器统计 1 2 3 4 5 6 7 8 9 10 11 12 13 14 yum install sysstat -y mpstat mpstat 2 5 mpstat -P ALL mpstat -P 0
6. iostat - I/O统计 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 iostat iostat 2 5 iostat -x iostat -c iostat -d iostat -x 1
7. sar - 系统活动报告 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 yum install sysstat -y sar -u sar -r sar -b sar -n DEV sar -s 10:00:00 -e 11:00:00 sar -u 1 10
8. chkconfig - 服务管理(CentOS 6) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 chkconfig --list chkconfig service_name on chkconfig service_name off chkconfig --level 35 service_name on chkconfig --add service_name chkconfig --del service_name
注意 :CentOS 7+使用systemctl替代chkconfig
十三、系统安全相关命令(10个) 1. chmod - 修改文件权限 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 chmod +x file1.txtchmod -x file1.txtchmod 755 file1.txtchmod 644 file1.txtchmod u+x file1.txtchmod g+w file1.txtchmod o-r file1.txtchmod -R 755 dir1chmod u+s file1.txtchmod g+s dir1chmod +t dir1
2. chown - 修改文件所有者 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 chown username file1.txtchown username:groupname file1.txtchown :groupname file1.txtchown -R username:groupname dir1chown -v username file1.txtchown -h username link1
3. chgrp - 修改文件组 1 2 3 4 5 6 7 8 chgrp groupname file1.txtchgrp -R groupname dir1chgrp -v groupname file1.txt
4. chage - 密码过期管理(见第七部分) 5. passwd - 密码管理(见第七部分) 6. su - 切换用户(见第七部分) 7. sudo - 权限提升(见第七部分) 8. umask - 设置默认权限 1 2 3 4 5 6 7 8 9 10 11 12 13 umask umask 022umask -S
9. chattr - 文件属性(见第三部分) 10. lsattr - 查看文件属性(见第三部分)
十四、查看系统用户登陆信息的命令(7个) 1. whoami - 显示当前用户 1 2 3 4 5 6 whoami CURRENT_USER=$(whoami ) echo "当前用户: $CURRENT_USER "
2. who - 显示登录用户 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 who who -awho -bwho -pwho -rwho -q
3. w - 显示登录用户及活动 1 2 3 4 5 6 7 8 9 10 11 w w username w -h w -s
4. last - 显示登录历史 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 last last username last -n 10 last -t YYYYMMDDHHMMSS last reboot last shutdown
5. lastlog - 显示最后登录时间 1 2 3 4 5 6 7 8 lastlog lastlog -u username lastlog -t 7
6. users - 显示登录用户
7. finger - 显示用户信息 1 2 3 4 5 6 7 8 9 10 11 yum install finger -y finger username finger finger -s username
十五、查看硬件信息相关命令(8个) 1. ifconfig - 网络接口(见第八部分) 2. free - 内存信息(见第五部分) 3. fdisk - 磁盘分区 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 fdisk -l fdisk -l /dev/sda fdisk /dev/sda
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 yum install ethtool -y ethtool eth0 ethtool -i eth0 ethtool -S eth0 ethtool eth0 | grep Link ethtool -s eth0 speed 1000 duplex full
1 2 3 4 5 6 7 8 9 10 11 mii-tool mii-tool eth0 mii-tool -v eth0 mii-tool -F 100baseTx-FD eth0
6. dmidecode - DMI信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 yum install dmidecode -y dmidecode dmidecode -t system dmidecode -t baseboard dmidecode -t processor dmidecode -t memory dmidecode -t bios
7. dmesg - 内核消息(见第五部分) 8. lspci - 显示PCI设备 1 2 3 4 5 6 7 8 9 10 11 12 13 14 lspci lspci -v lspci -vv lspci -t lspci -k
十六、其它命令(19个) 1. echo - 显示文本 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 echo "Hello World" echo $HOME echo -n "Hello" echo -e "Hello\nWorld" echo "Hello" > file.txtecho "World" >> file.txt
2. printf - 格式化输出 1 2 3 4 5 6 7 8 9 10 11 12 printf "Name: %s, Age: %d\n" "John" 25printf "%-10s %5d\n" "User1" 100printf "%-10s %5d\n" "User2" 200
3. rpm - RPM包管理 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 rpm -ivh package.rpm rpm -Uvh package.rpm rpm -e package rpm -q package rpm -qa rpm -qi package rpm -ql package rpm -qf /path/to/file rpm -V package rpm -qpR package.rpm
4. yum - YUM包管理 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 yum install package yum update package yum update yum remove package yum search keyword yum info package yum list installed yum list available yum clean all yum makecache yum grouplist yum groupinstall "Development Tools"
5. watch - 定期执行命令 1 2 3 4 5 6 7 8 9 10 11 12 watch -n 2 "command" watch -d "command" watch -t "command" watch -n 1 "ps aux | head -10" watch -n 2 "free -h"
6. alias - 创建别名 1 2 3 4 5 6 7 8 9 10 11 12 13 alias ll='ls -lah' alias grep='grep --color' alias unalias llecho "alias ll='ls -lah'" >> ~/.bashrcsource ~/.bashrc
7. unalias - 删除别名 1 2 3 4 5 unalias llunalias -a
8. date - 日期时间(见第五部分) 9. clear - 清屏
10. history - 命令历史 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 history history 20!n !! !string history | grep "keyword" history -chistory -whistory -r
11. eject - 弹出可移动媒体 1 2 3 4 5 6 7 8 eject eject /dev/cdrom eject -t
12. time - 测量命令执行时间 1 2 3 4 5 6 7 8 9 10 time command time -v command
13. nohup - 后台运行命令 1 2 3 4 5 6 7 8 9 10 11 nohup command &nohup command > output.log 2>&1 &jobs ps aux | grep command
14. nc - 网络工具 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 yum install nc -y nc -zv hostname 80 nc -l 8080 nc hostname 8080 nc -l 8080 < file.txt nc hostname 8080 > file.txt nc -u hostname 8080
15. xargs - 构建和执行命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 echo "file1 file2 file3" | xargs rm echo "1 2 3 4 5" | xargs -n 2 echo find . -name "*.txt" | xargs -p rm find . -name "*.txt" | xargs -t rm find . -name "*.txt" -print0 | xargs -0 rm
16. exec - 执行命令 1 2 3 4 5 6 7 8 9 exec command exec 3< input.txtexec 3> output.txtexec 3<&-
17. export - 导出环境变量 1 2 3 4 5 6 7 8 9 10 11 12 export VAR="value" export export -n VARexport PATH=$PATH :/new/pathexport JAVA_HOME=/usr/java
18. unset - 删除变量 1 2 3 4 5 6 7 unset VARunset -f function_name
19. type - 显示命令类型 1 2 3 4 5 6 7 8 9 10 11 12 13 14 type ls type cd type -a command type -f function_name
十七、系统性能监视高级命令(12个) 内存监控 1. top - 实时监控(见第五部分) 2. free - 内存使用(见第五部分) 3. vmstat - 虚拟内存统计(见第十二部分) 4. mpstat - 多处理器统计(见第十二部分) 5. iostat - I/O统计(见第十二部分) 6. sar - 系统活动报告(见第十二部分) CPU监控 7. top - CPU监控(见第五部分) 8. vmstat - CPU统计(见第十二部分) 9. mpstat - CPU统计(见第十二部分) 10. iostat - CPU统计(见第十二部分) 11. sar - CPU报告(见第十二部分) I/O监控 12. vmstat - I/O统计(见第十二部分) 13. mpstat - I/O统计(见第十二部分) 14. iostat - I/O统计(见第十二部分) 15. sar - I/O报告(见第十二部分) 进程监控 16. ipcs - 显示IPC信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ipcs ipcs -m ipcs -s ipcs -q ipcs -a ipcs -u username
17. ipcrm - 删除IPC 1 2 3 4 5 6 7 8 9 10 11 ipcrm -m shmid ipcrm -s semid ipcrm -q msqid ipcrm -a
18. lsof - 打开文件(见第九部分) 19. strace - 系统调用跟踪 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 strace command strace -p PID strace -t command strace -r command strace -c command strace -e trace=open,read command strace -o output.txt command
20. ltrace - 库函数跟踪 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 yum install ltrace -y ltrace command ltrace -p PID ltrace -t command ltrace -c command ltrace -e malloc,free command
21. vmstat - 虚拟内存(见第十二部分) 负载监控 22. uptime - 系统负载(见第五部分)
十八、进程管理命令(16个) 1. bg - 后台运行
2. fg - 前台运行
3. jobs - 显示后台任务 1 2 3 4 5 6 7 8 9 10 11 12 13 14 jobs jobs -ljobs -pjobs -rjobs -s
4. kill - 终止进程 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 kill PIDkill -9 PIDkill -SIGTERM PIDkill -SIGKILL PIDkill -TERM -PGIDkill -l
5. killall - 按名称终止进程 1 2 3 4 5 6 7 8 9 10 11 12 13 14 killall process_name killall -9 process_name killall -i process_name killall -v process_name killall -w process_name
6. pkill - 按模式终止进程 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pkill process_name pkill -9 process_name pkill -l process_name pkill -u username process_name pkill -t tty1 process_name
7. crontab - 定时任务 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 crontab -e crontab -l crontab -r crontab -u username -e
8. ps - 显示进程 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ps aux ps auxf ps aux --sort =-%cpu ps aux --sort =-%mem ps -u username ps -ef ps -f ps -e
9. pstree - 显示进程树 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pstree pstree -p pstree -a pstree username pstree PID
10. top - 实时进程监控(见第五部分) 11. nice - 设置进程优先级 1 2 3 4 5 6 7 8 nice -n 10 command renice 10 PID ps -o pid,ni,comm
12. screen - 终端复用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 yum install screen -y screen screen -S session_name screen -ls screen -r session_name screen -X -S session_name quit
13. nohup - 后台运行(见第十六部分) 14. pgrep - 查找进程 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pgrep process_name pgrep -l process_name pgrep -a process_name pgrep -u username process_name pgrep -t tty1
15. strace - 系统调用跟踪(见第十七部分) 16. ltrace - 库函数跟踪(见第十七部分) 17. vmstat - 虚拟内存统计(见第十二部分)
十九、Linux系统三剑客(3个) 1. grep - 文本搜索(见第三部分) 2. sed - 流编辑器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 sed 's/old/new/g' file.txt sed -i 's/old/new/g' file.txt sed '2d' file.txt sed '2,5d' file.txt sed '/pattern/d' file.txt sed '2i\新行' file.txt sed '2a\新行' file.txt sed -n '2p' file.txt sed -n '2,5p' file.txt sed -e 's/old1/new1/g' -e 's/old2/new2/g' file.txt sed -f script.sed file.txt sed 's/^/# /' file.txt sed 's/$/;/' file.txt sed '/^$/d' file.txt
3. awk - 文本处理工具 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 awk '{print $1}' file.txt awk -F ':' '{print $1}' /etc/passwd awk '{print $1, $3}' file.txt awk '$3 > 100 {print $1, $3}' file.txt awk '{print NR, NF, $0}' file.txt awk 'BEGIN {print "开始"} {print} END {print "结束"}' file.txt awk '{sum+=$1} END {print sum}' file.txt awk '{count[$1]++} END {for (i in count) print i, count[i]}' file.txt awk '/pattern/ {print}' file.txt awk 'NR==1 {print}' file.txt awk 'NR>1 {print}' file.txt awk '{if ($1 > 100) print}' file.txt
三剑客组合使用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 grep "pattern" file.txt | sed 's/old/new/g' grep "pattern" file.txt | awk '{print $1, $3}' sed 's/old/new/g' file.txt | awk '{print $1}' grep "pattern" file.txt | sed 's/old/new/g' | awk '{print $1, $3}' ps aux | grep java | awk '{print $2}' | xargs kill cat /var/log/access.log | grep "404" | awk '{print $1}' | sort | uniq -c | sort -rn
附录:常用命令组合 1. 系统监控组合 1 2 3 4 5 6 7 8 watch -n 1 'uptime && ps aux --sort=-%cpu | head -10' watch -n 2 'free -h && df -h' watch -n 1 'netstat -tulpn | grep LISTEN'
2. 日志分析组合 1 2 3 4 5 6 7 8 tail -f /var/log/messages | grep -i errorgrep -i error /var/log/messages | awk '{print $1, $2, $3}' | uniq -c cat /var/log/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -10
3. 文件操作组合 1 2 3 4 5 6 7 8 find /tmp -name "*.tmp" -mtime +7 -delete find /var/log -name "*.log" -mtime +30 -exec gzip {} \; find /home -type f -name "*.txt" | wc -l
4. 进程管理组合 1 2 3 4 5 ps aux | grep process_name | grep -v grep | awk '{print $2}' | xargs kill watch -n 1 'ps aux --sort=-%mem | head -10'
5. 网络诊断组合 1 2 3 4 5 6 7 8 netstat -tulpn | grep :80 watch -n 1 'netstat -i' for ip in 192.168.1.{1..10}; do ping -c 1 $ip &>/dev/null && echo "$ip is up" || echo "$ip is down" ; done
总结 本手册系统整理了Linux系统常用命令,涵盖了:
查询帮助 :man, help
文件操作 :ls, tree, pwd, mkdir, cd, touch, cp, mv, rm, ln, find
内容处理 :cat, more, less, head, tail, cut, sort, uniq, wc, grep等
压缩解压 :tar, zip, gzip, bzip2等
系统信息 :uname, hostname, uptime, date等
用户管理 :useradd, usermod, passwd, sudo等
网络操作 :ssh, scp, ping, netstat等
进程管理 :ps, top, kill, crontab等
性能监控 :vmstat, iostat, sar等
三剑客 :grep, sed, awk
掌握这些命令,能够高效地进行Linux系统运维工作。建议结合实际场景多加练习,形成自己的命令使用习惯。
更新日期 :2024-01-01适用系统 :CentOS 6/7/8, RHEL, Ubuntu等主流Linux发行版维护者 :运维团队