命令速查网站

https://linux.cmsblogs.cn/

端口相关

  1. # netstat命令
  2. netstat -ap | grep 端口号
  3. # lsof命令
  4. lsof -i:端口号

解压与压缩相关

  1. # .tar文件, 仅打包,并非压缩
  2. tar -xvf FileName.tar # 解包
  3. tar -cvf FileName.tar DirName # 将DirName和其下所有文件(夹)打包
  4. # .gz文件
  5. gunzip FileName.gz # 解压1
  6. gzip -d FileName.gz # 解压2
  7. gzip FileName # 压缩,只能压缩文件
  8. # .tar.gz文件、 .tgz文件
  9. tar -zxvf FileName.tar.gz # 解压
  10. tar -C DesDirName -zxvf FileName.tar.gz # 解压到目标路径
  11. tar -zcvf FileName.tar.gz DirName # 将DirName和其下所有文件(夹)压缩
  12. # .zip文件
  13. unzip FileName.zip # 解压
  14. zip FileName.zip DirName # 将DirName本身压缩
  15. zip -r FileName.zip DirName # 压缩,递归处理,将指定目录下的所有文件和子目录一并压缩
  16. # .rar文件
  17. rar x FileName.rar # 解压
  18. rar a FileName.rar DirName # 压缩

软件安装相关

  1. # apt是会解决和安装模块的依赖问题,并会咨询软件仓库,是在线安装
  2. # dpkg只能安装本地的deb文件,不会关心ubuntu软件仓库的软件,不会解决模块的依赖关系
  3. apt install
  4. apt reinstall # 重新安装
  5. apt remove # package删除包,包括配置文件等
  6. apt reomove --purge # package删除包及其依赖的软件包配置文件等
  7. apt update # 更新源
  8. apt upgrade # 更新已安装的包
  9. dpkg -i package.deb # 安装deb软件包
  10. dpkg -c package.deb # 列出deb包的内容
  11. dpkg -r package # 移除软件包,包括删除数据和可执行文件
  12. dpkg -p package # 完全移除,包括配置文件

文件传送相关

  1. scp /xxx/xxx.txt

关机/重启/注销

  1. shutdown -h now # 即刻关机
  2. shutdown -h 10 # 10分钟后关机
  3. shutdown -h 11:00 # 11:00关机
  4. shutdown -h +10 # 预定时间关机(10分钟后)
  5. shutdown -c # 取消指定时间关机
  6. shutdown -r now # 重启
  7. shutdown -r 10 # 10分钟之后重启
  8. shutdown -r 11:00 # 定时重启
  9. reboot # 重启
  10. init 6 # 重启
  11. init 0 # ⽴刻关机
  12. telinit 0 # 关机
  13. poweroff # ⽴刻关机
  14. halt # 关机
  15. sync buff # 数据同步到磁盘
  16. logout # 退出登录Shell

磁盘和分区

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

常见系统服务命令

  1. chkconfig --list # 列出系统服务
  2. service <服务名> status # 查看某个服务
  3. service <服务名> start # 启动某个服务
  4. service <服务名> stop # 终⽌某个服务
  5. service <服务名> restart # 重启某个服务
  6. systemctl status <服务名> # 查看某个服务
  7. systemctl start <服务名> # 启动某个服务
  8. systemctl stop <服务名> # 终⽌某个服务
  9. systemctl restart <服务名> # 重启某个服务
  10. systemctl enable <服务名> # 开启⾃启动
  11. systemctl disable <服务名> # 关闭⾃启动

文件和目录操作

  1. cd <⽬录名> # 进⼊某个⽬录
  2. cd .. # 回上级⽬录
  3. cd ../.. # 回上两级⽬录
  4. cd # 进个⼈主⽬录
  5. cd - # 回上⼀步所在⽬录
  6. pwd # 显示当前路径
  7. ls # 查看⽂件⽬录列表
  8. ls -F # 查看⽬录中内容(显示是⽂件还是⽬录)
  9. ls -l # 查看⽂件和⽬录的详情列表
  10. ls -a # 查看隐藏⽂件
  11. ls -lh # 查看⽂件和⽬录的详情列表(增强⽂件⼤⼩易读性)
  12. ls -lSr # 查看⽂件和⽬录列表(以⽂件⼤⼩升序查看)
  13. tree # 查看⽂件和⽬录的树形结构
  14. mkdir <⽬录名> # 创建⽬录
  15. mkdir dir1 dir2 # 同时创建两个⽬录
  16. mkdir -p /tmp/dir1/dir2 # 创建⽬录树
  17. touch file.txt #创建文件file.txt
  18. cat > filename # 使用该命名后,linux让我们向创建的文件中添加内容,
  19. #当添加完内容后,回车另起一行,再按ctrl+d结束内容添加。或者不回车,按2次ctrl+d结束内容添加
  20. cat >> 文件名 << EOF # 这种方式和cat > 文件名的作用是一样的,只不过不用按ctrl+d结束内容添加,
  21. # 而是另起一行,输入EOF结束内容添加,这里的EOF是一个标识,也可以通过cat > 文件名 << ABC,然后另起一行输入ABC结束内容的添加
  22. rm -f file1 # 删除'file1'⽂件
  23. rmdir dir1 # 删除'dir1'⽬录
  24. rm -rf dir1 # 删除'dir1'⽬录和其内容
  25. rm -rf dir1 dir2 # 同时删除两个⽬录及其内容
  26. mv old_dir new_dir # 重命名/移动⽬录
  27. cp file1 file2 # 复制⽂件
  28. cp dir/* . # 复制某⽬录下的所有⽂件⾄当前⽬录
  29. cp -a dir1 dir2 # 复制⽬录
  30. cp -a /tmp/dir1 . # 复制⼀个⽬录⾄当前⽬录
  31. ln -s file1 link1 # 创建指向⽂件/⽬录的软链接
  32. ln file1 lnk1 # 创建指向⽂件/⽬录的物理链接
  33. find / -name file1 # 从根⽬录开始搜索⽂件/⽬录
  34. find / -user user1 # 搜索⽤户user1的⽂件/⽬录
  35. find /dir -name *.bin # 在⽬录/dir中搜带有.bin后缀的⽂件
  36. locate <关键词> # 快速定位⽂件
  37. locate *.mp4 # 寻找.mp4结尾的⽂件
  38. whereis <关键词> # 显示某⼆进制⽂件/可执⾏⽂件的路径
  39. which <关键词> # 查找系统⽬录下某⼆进制⽂件
  40. chmod ugo+rwx dir1 # 设置⽬录所有者(u)、群组(g)及其他⼈(o)的读(r)写(w)执⾏(x)权限
  41. # 文件操作权重(八进制): r=4,w=2,x=1
  42. chmod go-rwx dir1 # 移除群组(g)与其他⼈(o)对⽬录的读写执⾏权限
  43. chmod -R 777 filename # filename下的全部文件任意读取执行
  44. chown user1 file1 # 改变⽂件的所有者属性
  45. chown -R user1 dir1 # 改变⽬录的所有者属性
  46. chgrp group1 file1 # 改变⽂件群组
  47. chown user1:group1 file1 # 改变⽂件的所有⼈和群组

文件查看和处理

  1. cat file1 # 查看⽂件内容
  2. cat -n file1 # 查看内容并标示⾏数
  3. cat file1 > file2 # 清空file2的内容,再将file1的内容写入
  4. cat file1 >> file2 # 将file1的内容追加到file2中
  5. tac file1 # 从最后⼀⾏开始反看⽂件内容
  6. more file1 # 查看⼀个⻓⽂件的内容
  7. less file1 # 类似more命令,但允许反向操作
  8. head -2 file1 # 查看⽂件前两⾏
  9. tail -2 file1 # 查看⽂件后两⾏
  10. tail -f /log/msg # 实时查看添加到⽂件中的内容
  11. grep codesheep hello.txt # 在⽂件hello.txt中查找关键词codesheep
  12. grep ^sheep hello.txt # 在⽂件hello.txt中查找以sheep开头的内容
  13. grep [0-9] hello.txt # 选择hello.txt⽂件中所有包含数字的⾏
  14. sed 's/s1/s2/g' hello.txt # 将hello.txt⽂件中的s1替换成s2
  15. sed '/^$/d' hello.txt # 从hello.txt⽂件中删除所有空⽩⾏
  16. sed '/ *#/d; /^$/d' hello.txt # 从hello.txt⽂件中删除所有注释和空⽩⾏
  17. sed -e '1d' hello.txt # 从⽂件hello.txt 中排除第⼀⾏
  18. sed -n '/s1/p' hello.txt # 查看只包含关键词"s1"的⾏
  19. sed -e 's/ *$//' hello.txt # 删除每⼀⾏最后的空⽩字符
  20. sed -e 's/s1//g' hello.txt # 从⽂档中只删除词汇s1并保留剩余全部
  21. sed -n '1,5p;5q' hello.txt # 查看从第⼀⾏到第5⾏内容
  22. sed -n '5p;5q' hello.txt # 查看第5⾏
  23. paste file1 file2 # 合并两个⽂件或两栏的内容
  24. paste -d '+' file1 file2 # 合并两个⽂件或两栏的内容,中间⽤"+"区分
  25. sort file1 file2 # 排序两个⽂件的内容
  26. comm -1 file1 file2 # 不列出file1独有的,即只列出二者共有的 和 file2独有的
  27. comm -2 file1 file2 # 不列出file2独有的,即只列出二者共有的 和 file1独有的
  28. comm -3 file1 file2 # 不会显示两文件共有的,列出file1独有的和file2独有的

打包和解压

zip xxx.zip file # 压缩⾄zip包
zip -r xxx.zip file1 file2 dir1 # 将多个⽂件+⽬录压成zip包
unzip xxx.zip # 解压zip包
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 # 将tar包解压⾄指定⽬录
tar -jcvf xxx.tar.bz2 dir # 创建bz2压缩包
tar -jxvf xxx.tar.bz2 # 解压bz2压缩包
tar -zcvf xxx.tar.gz dir # 创建gzip压缩包
tar -zxvf xxx.tar.gz # 解压gzip压缩包
bzip2 filename # 压缩⽂件
bunzip2 xxx.bz2 # 解压bz2压缩包
gzip filename # 压缩⽂件
gzip -9 filename # 最⼤程度压缩
gunzip xxx.gz # 解压gzip压缩包

rpm包管理命令

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

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 # 清除缓存的软件包
yum clean headers # 清除缓存的header

dpkg包管理命令

dpkg -c xxx.deb # 列出deb包的内容
dpkg -i xxx.deb # 安装/更新deb包
dpkg -r pkg_name # 移除deb包
dpkg -P pkg_name # 移除deb包(不保留配置)
dpkg -l # 查看系统中已安装deb包
dpkg -l pkg_name # 显示包的⼤致信息
dpkg -L pkg_name # 查看deb包安装的⽂件
dpkg -s pkg_name # 查看包的详细信息
dpkg –unpack xxx.deb # 解开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 # 清理缓存

网络和进程管理

ifconfig # 查看⽹络接⼝属性
ifconfig eth0 # 查看某⽹卡的配置
route -n # 查看路由表
netstat -lntp # 查看所有监听端⼝
netstat -antp # 查看已经建⽴的TCP连接
netstat -lutp # 查看TCP/UDP的状态信息
ifup eth0 # 启⽤eth0⽹络设备
ifdown eth0 # 禁⽤eth0⽹络设备
iptables -L # 查看iptables规则
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 # 配置ip地址
dhclient eth0 # 以dhcp模式启⽤eth0
route add -net 0/0 gw Gateway_IP # 配置默认⽹关
route del 0/0 gw Gateway_IP # 删除静态路由
hostname # 查看主机名
host www.baidu.com # 解析主机名
nslookup www.baidu.com # 查询DNS记录,查看域名解析是否正常
ps -ef # 查看所有进程
ps -ef | grep xxx # 过滤出你需要的进程
kill -s name # kill指定名称的进程
kill -s pid # kill指定pid的进程
top # 实时显示进程状态

系统信息和性能查看

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

用户和用户组

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


机/重启/注销
关机/重启/注销
关机/重启/注销