关机/重启/注销

作⽤命令
即刻关机shutdown -h now
10分钟后关机shutdown -h 10
11:00关机shutdown -h 11:00
预定时间关机(10分钟后)shutdown -h +10
取消指定时间关机shutdown -c
重启shutdown -r now
10分钟之后重启shutdown -r 10
定时重启shutdown -r 11:00
重启reboot
重启init 6
⽴刻关机init 0
关机telinit 0
⽴刻关机poweroff
关机halt
buff数据同步到磁盘sync
退出登录Shelllogout

系统信息和性能查看

作⽤命令
查看内核/OS/CPU信息uname -a
查看内核版本uname -r
查看处理器架构uname -m
查看处理器架构arch
查看计算机名hostname
显示当前登录系统的⽤户who
显示登录时的⽤户名who am i
显示当前⽤户名whoami
查看linux版本信息cat /proc/version
查看CPU信息cat /proc/cpuinfo
查看中断cat /proc/interrupts
查看系统负载cat /proc/loadavg
查看系统运⾏时间、⽤户数、负载uptime
查看系统的环境变量env
查看系统USB设备信息lsusb -tv
查看系统PCI设备信息lspci -tv
查看已加载的系统模块lsmod
查看内存总量grep MemTotal /proc/meminfo
查看空闲内存量grep MemFree /proc/meminfo
查看内存⽤量和交换区⽤量free -m
显示系统⽇期时间date
显示2021⽇历表cal 2021
动态显示cpu/内存/进程等情况top
每1秒采⼀次系统状态,采20次vmstat 1 20
查看io读写/cpu使⽤情况iostat
查询cpu使⽤情况(1秒⼀次,共10次)sar -u 1 10
查询磁盘性能sar -d 1 10

磁盘和分区

作⽤命令
查看所有磁盘分区fdisk -l
查看所有交换分区swapon -s
查看磁盘使⽤情况及挂载点df -h
同上df -hl
查看指定某个⽬录的⼤⼩du -sh /dir
从⾼到低依次显示⽂件和⽬录⼤⼩du -sk * ▏sort -rn
挂载hda2盘mount /dev/hda2 /mnt/hda2
指定⽂件系统类型挂载(如ntfs)mount -t ntfs /dev/sdc1 /mnt/usbhd1
挂载iso⽂件mount -o loop xxx.iso /mnt/cdrom
挂载usb盘/闪存设备mount /dev/sda1 /mnt/usbdisk
通过设备名卸载umount -v /dev/sda1
通过挂载点卸载umount -v /mnt/mymnt
强制卸载(慎⽤)fuser -km /mnt/hda1

⽤户和⽤户组

作⽤命令
创建⽤户useradd user_name
删除⽤户userdel -r user_name
修改⽤户的组usermod -g group_name user_name
将⽤户添加到组usermod -aG group_name user_name
修改⽤户登录的Shell、 主⽬录以及⽤户组usermod -s /bin/ksh -d /home/codepig –g dev user_name
查看test⽤户所在的组groups test
创建⽤户组groupadd group_name
删除⽤户组groupdel group_name
重命名⽤户组groupmod -n new_name old_name
完整切换到⼀个⽤户环境su - user_name
修改⼝令passwd
修改某⽤户的⼝令passwd user_name
查看活动⽤户w
查看指定⽤户test信息id test
查看⽤户登录⽇志last
查看当前⽤户的计划任务crontab -l
查看系统所有⽤户cut -d: -f1 /etc/passwd
查看系统所有组cut -d: -f1 /etc/group

⽹络和进程管理

作⽤命令
查看⽹络接⼝属性ifconfig
查看某⽹卡的配置ifconfig eth0
查看路由表route -n
查看所有监听端⼝netstat -lntp
查看已经建⽴的TCP连接netstat -antp
查看TCP/UDP的状态信息netstat -lutp
启⽤eth0⽹络设备ifup eth0
禁⽤eth0⽹络设备ifdown eth0
查看iptables规则iptables -L
配置ip地址ifconfig eth0 192.168.1.1 netmask 255.255.255.0
以dhcp模式启⽤eth0dhclient eth0
配置默认⽹关route add -net 0/0 gw Gateway_IP
配置静态路由到达⽹ 络'192.168.0.0/16'route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1
删除静态路由route del 0/0 gw Gateway_IP
查看主机名hostname
解析主机名host blog.realwds.com
查询DNS记录,查看域名解 析是否正常nslookup blog.realwds.com
查看所有进程ps -ef
过滤出你需要的进程ps -ef ▏grep name
kill指定名称的进程kill -s name
kill指定pid的进程kill -s pid
实时显示进程状态top
每1秒采⼀次系统状态,采 20次vmstat 1 20
查看io读写/cpu使⽤情况iostat
查询cpu使⽤情况(1秒⼀ 次,共10次)sar -u 1 10
查询磁盘性能sar -d 1 10

常⻅系统服务命令

作⽤命令
列出系统服务chkconfig --list
查看某个服务service <服务名> status
启动某个服务service <服务名> start
终⽌某个服务service <服务名> stop
重启某个服务service <服务名> restart
查看某个服务systemctl status <服务名>
启动某个服务systemctl start <服务名>
终⽌某个服务systemctl stop <服务名>
重启某个服务systemctl restart <服务名>
开启⾃启动systemctl enable <服务名>
关闭⾃启动systemctl disable <服务名>

⽂件和⽬录操作

作⽤命令
进⼊某个⽬录cd <⽬录名>
回上级⽬录cd ..
回上两级⽬录cd ../..
进个⼈主⽬录cd
回上⼀步所在⽬录cd -
显示当前路径pwd
查看⽂件⽬录列表ls
查看⽬录中内容(显示是⽂件还是⽬录)ls -F
查看⽂件和⽬录的详情列表ls -l
查看隐藏⽂件ls -a
查看⽂件和⽬录的详情列表(增强⽂件⼤⼩易读性)ls -lh
查看⽂件和⽬录列表(以⽂件⼤⼩升序查看)ls -lSr
查看⽂件和⽬录的树形结构tree
创建⽬录mkdir <⽬录名>
同时创建两个⽬录mkdir dir1 dir2
创建⽬录树mkdir -p /tmp/dir1/dir2
删除'file1'⽂件rm -f file1
删除'dir1'⽬录rmdir dir1
删除'dir1'⽬录和其内容rm -rf dir1
同时删除两个⽬录及其内容rm -rf dir1 dir2
重命名/移动⽬录mv old_dir new_dir
复制⽂件cp file1 file2
复制某⽬录下的所有⽂件⾄当前⽬录cp dir/* .
复制⽬录cp -a dir1 dir2
复制⼀个⽬录⾄当前⽬录cp -a /tmp/dir1 .
创建指向⽂件/⽬录的软链接ln -s file1 link1
创建指向⽂件/⽬录的物理链接ln file1 lnk1
从跟⽬录开始搜索⽂件/⽬录find / -name file1
搜索⽤户user1的⽂件/⽬录find / -user user1
在⽬录/dir中搜带有.bin后缀的⽂件find /dir -name *.bin
快速定位⽂件locate <关键词>
寻找.mp4结尾的⽂件locate *.mp4
显示某⼆进制⽂件/可执⾏⽂件的路径whereis <关键词>
查找系统⽬录下某的⼆进制⽂件which <关键词>
设置⽬录所有者(u)、群组(g)及其他⼈(o)的读(r)写 (w)执⾏(x)权限chmod ugo+rwx dir1
移除群组(g)与其他⼈(o)对⽬录的读写执⾏权限chmod go-rwx dir1
改变⽂件的所有者属性chown user1 file1
改变⽬录的所有者属性chown -R user1 dir1
改变⽂件群组chgrp group1 file1
改变⽂件的所有⼈和群组chown user1:group1 file1

⽂件查看和处理

作⽤命令
查看⽂件内容cat file1
查看内容并标示⾏数cat -n file1
从最后⼀⾏开始反看⽂件内容tac file1
查看⼀个⻓⽂件的内容more file1
类似more命令,但允许反向操作less file1
查看⽂件前两⾏head -2 file1
查看⽂件后两⾏tail -2 file1
实时查看添加到⽂件中的内容tail -f /log/msg
在⽂件hello.txt中查找关键词testgrep test hello.txt
在⽂件hello.txt中查找以sheep开头的内容grep ^sheep hello.txt
选择hello.txt⽂件中所有包含数字的⾏grep [0-9] hello.txt
将hello.txt⽂件中的s1替换成s2sed 's/s1/s2/g' hello.txt
从hello.txt⽂件中删除所有空⽩⾏sed '/^$/d' hello.txt
从hello.txt⽂件中删除所有注释和空⽩⾏sed '/ *#/d; /^$/d' hello.txt
从⽂件hello.txt 中排除第⼀⾏sed -e '1d' hello.txt
查看只包含关键词"s1"的⾏sed -n '/s1/p' hello.txt
删除每⼀⾏最后的空⽩字符sed -e 's/ *$//' hello.txt
从⽂档中只删除词汇s1并保留剩余全部sed -e 's/s1//g' hello.txt
查看从第⼀⾏到第5⾏内容sed -n '1,5p;5q' hello.txt
查看第5⾏sed -n '5p;5q' hello.txt
合并两个⽂件或两栏的内容paste file1 file2
合并两个⽂件或两栏的内容,中间⽤"+"区分paste -d '+' file1 file2
排序两个⽂件的内容sort file1 file2
删除重复行后的内容uniq file1
⽐较两个⽂件的内容(去除'file1'所含内容)comm -1 file1 file2
⽐较两个⽂件的内容(去除'file2'所含内容)comm -2 file1 file2
⽐较两个⽂件的内容(去除两⽂件共有部分)comm -3 file1 file2

打包和解压

作⽤命令
压缩⾄zip包zip xxx.zip file
将多个⽂件+⽬录压成zip包zip -r xxx.zip file1 file2 dir1
解压zip包unzip xxx.zip
创建⾮压缩tar包tar -cvf xxx.tar file
将多个⽂件+⽬录打tar包tar -cvf xxx.tar file1 file2 dir1
查看tar包的内容tar -tf xxx.tar
解压tar包tar -xvf xxx.tar
将tar包解压⾄指定⽬录tar -xvf xxx.tar -C /dir
创建bz2压缩包tar -cvfj xxx.tar.bz2 dir
解压bz2压缩包tar -jxvf xxx.tar.bz2
创建gzip压缩包tar -cvfz xxx.tar.gz dir
解压gzip压缩包tar -zxvf xxx.tar.gz
解压bz2压缩包bunzip2 xxx.bz2
压缩⽂件bzip2 filename
解压gzip压缩包gunzip xxx.gz
压缩⽂件gzip filename
最⼤程度压缩gzip -9 filename

RPM包管理命令

作⽤命令
查看已安装的rpm包rpm -qa
查询某个rpm包rpm -q pkg_name
显示xxx功能是由哪个包提供的rpm -q --whatprovides xxx
显示xxx功能被哪个程序包依赖的rpm -q --whatrequires xxx
显示xxx包的更改记录rpm -q --changelog xxx
查看⼀个包的详细信息rpm -qi pkg_name
查询⼀个包所提供的⽂档rpm -qd pkg_name
查看已安装rpm包提供的配置⽂件rpm -qc pkg_name
查看⼀个包安装了哪些⽂件rpm -ql pkg_name
查看某个⽂件属于哪个包rpm -qf filename
查询包的依赖关系rpm -qR pkg_name
安装rpm包rpm -ivh xxx.rpm
测试安装rpm包rpm -ivh --test xxx.rpm
安装rpm包时忽略依赖关系rpm -ivh --nodeps xxx.rpm
卸载程序包rpm -e xxx
升级确定已安装的rpm包rpm -Fvh pkg_name
升级rpm包(若未安装则会安装)rpm -Uvh pkg_name
RPM包详细信息校验rpm -V pkg_name

YUM包管理命令

作⽤命令
显示可⽤的源仓库yum repolist enabled
搜索软件包yum search pkg_name
下载并安装软件包yum install pkg_name
只下载不安装yum install --downloadonly pkg_name
显示所有程序包yum list
查看当前系统已安装包yum list installed
查看可以更新的包列表yum list updates
查看可升级的软件包yum check-update
更新所有软件包yum update
升级指定软件包yum update pkg_name
列出软件包依赖关系yum deplist pkg_name
删除软件包yum remove pkg_name
清除缓存yum clean all
清除缓存的软件包yum clean packages
清除缓存的headeryum clean headers

DPKG包管理命令

作⽤命令
列出deb包的内容dpkg -c xxx.deb
安装/更新deb包dpkg -i xxx.deb
移除deb包dpkg -r pkg_name
移除deb包(不保留配置)dpkg -P pkg_name
查看系统中已安装deb包dpkg -l
显示包的⼤致信息dpkg -l pkg_name
查看deb包安装的⽂件dpkg -L pkg_name
查看包的详细信息dpkg -s pkg_name
解开deb包的内容dpkg –unpack xxx.deb

APT软件⼯具

作⽤命令
搜索程序包apt-cache search pkg_name
获取包的概览信息apt-cache show pkg_name
安装/升级软件包apt-get install pkg_name
卸载软件(包括配置)apt-get purge pkg_name
卸载软件(不包括配置)apt-get remove pkg_name
更新包索引信息apt-get update
更新已安装软件包apt-get upgrade
清理缓存apt-get clean

参考文献

《Linux 操作系统常用操作和命令》 - CodeSheep