命令速查网站
端口相关
# netstat命令netstat -ap | grep 端口号# lsof命令lsof -i:端口号
解压与压缩相关
# .tar文件, 仅打包,并非压缩tar -xvf FileName.tar # 解包tar -cvf FileName.tar DirName # 将DirName和其下所有文件(夹)打包# .gz文件gunzip FileName.gz # 解压1gzip -d FileName.gz # 解压2gzip FileName # 压缩,只能压缩文件# .tar.gz文件、 .tgz文件tar -zxvf FileName.tar.gz # 解压tar -C DesDirName -zxvf FileName.tar.gz # 解压到目标路径tar -zcvf FileName.tar.gz DirName # 将DirName和其下所有文件(夹)压缩# .zip文件unzip FileName.zip # 解压zip FileName.zip DirName # 将DirName本身压缩zip -r FileName.zip DirName # 压缩,递归处理,将指定目录下的所有文件和子目录一并压缩# .rar文件rar x FileName.rar # 解压rar a FileName.rar DirName # 压缩
软件安装相关
# apt是会解决和安装模块的依赖问题,并会咨询软件仓库,是在线安装# dpkg只能安装本地的deb文件,不会关心ubuntu软件仓库的软件,不会解决模块的依赖关系apt installapt reinstall # 重新安装apt remove # package删除包,包括配置文件等apt reomove --purge # package删除包及其依赖的软件包配置文件等apt update # 更新源apt upgrade # 更新已安装的包dpkg -i package.deb # 安装deb软件包dpkg -c package.deb # 列出deb包的内容dpkg -r package # 移除软件包,包括删除数据和可执行文件dpkg -p package # 完全移除,包括配置文件
文件传送相关
scp /xxx/xxx.txt
关机/重启/注销
shutdown -h now # 即刻关机shutdown -h 10 # 10分钟后关机shutdown -h 11:00 # 11:00关机shutdown -h +10 # 预定时间关机(10分钟后)shutdown -c # 取消指定时间关机shutdown -r now # 重启shutdown -r 10 # 10分钟之后重启shutdown -r 11:00 # 定时重启reboot # 重启init 6 # 重启init 0 # ⽴刻关机telinit 0 # 关机poweroff # ⽴刻关机halt # 关机sync buff # 数据同步到磁盘logout # 退出登录Shell
磁盘和分区
fdisk -l # 查看所有磁盘分区swapon -s # 查看所有交换分区df -h # 查看磁盘使⽤情况及挂载点df -hl # 同上du -sh /dir # 查看指定某个⽬录的⼤⼩du -sk * | sort -rn # 从⾼到低依次显示⽂件和⽬录⼤⼩mount /dev/hda2 /mnt/hda2 # 挂载hda2盘mount -t ntfs /dev/sdc1 /mnt/usbhd1 # 指定⽂件系统类型挂载(如ntfs)mount -o loop xxx.iso /mnt/cdrom # 挂载iso⽂件mount /dev/sda1 /mnt/usbdisk # 挂载usb盘/闪存设备umount -v /dev/sda1 # 通过设备名卸载umount -v /mnt/mymnt # 通过挂载点卸载fuser -km /mnt/hda1 # 强制卸载(慎⽤)
常见系统服务命令
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 # 创建⽬录树touch file.txt #创建文件file.txtcat > filename # 使用该命名后,linux让我们向创建的文件中添加内容,#当添加完内容后,回车另起一行,再按ctrl+d结束内容添加。或者不回车,按2次ctrl+d结束内容添加cat >> 文件名 << EOF # 这种方式和cat > 文件名的作用是一样的,只不过不用按ctrl+d结束内容添加,# 而是另起一行,输入EOF结束内容添加,这里的EOF是一个标识,也可以通过cat > 文件名 << ABC,然后另起一行输入ABC结束内容的添加rm -f file1 # 删除'file1'⽂件rmdir dir1 # 删除'dir1'⽬录rm -rf dir1 # 删除'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 # 从根⽬录开始搜索⽂件/⽬录find / -user user1 # 搜索⽤户user1的⽂件/⽬录find /dir -name *.bin # 在⽬录/dir中搜带有.bin后缀的⽂件locate <关键词> # 快速定位⽂件locate *.mp4 # 寻找.mp4结尾的⽂件whereis <关键词> # 显示某⼆进制⽂件/可执⾏⽂件的路径which <关键词> # 查找系统⽬录下某⼆进制⽂件chmod ugo+rwx dir1 # 设置⽬录所有者(u)、群组(g)及其他⼈(o)的读(r)写(w)执⾏(x)权限# 文件操作权重(八进制): r=4,w=2,x=1chmod go-rwx dir1 # 移除群组(g)与其他⼈(o)对⽬录的读写执⾏权限chmod -R 777 filename # filename下的全部文件任意读取执行chown user1 file1 # 改变⽂件的所有者属性chown -R user1 dir1 # 改变⽬录的所有者属性chgrp group1 file1 # 改变⽂件群组chown user1:group1 file1 # 改变⽂件的所有⼈和群组
文件查看和处理
cat file1 # 查看⽂件内容cat -n file1 # 查看内容并标示⾏数cat file1 > file2 # 清空file2的内容,再将file1的内容写入cat file1 >> file2 # 将file1的内容追加到file2中tac file1 # 从最后⼀⾏开始反看⽂件内容more file1 # 查看⼀个⻓⽂件的内容less file1 # 类似more命令,但允许反向操作head -2 file1 # 查看⽂件前两⾏tail -2 file1 # 查看⽂件后两⾏tail -f /log/msg # 实时查看添加到⽂件中的内容grep codesheep hello.txt # 在⽂件hello.txt中查找关键词codesheepgrep ^sheep hello.txt # 在⽂件hello.txt中查找以sheep开头的内容grep [0-9] hello.txt # 选择hello.txt⽂件中所有包含数字的⾏sed 's/s1/s2/g' hello.txt # 将hello.txt⽂件中的s1替换成s2sed '/^$/d' hello.txt # 从hello.txt⽂件中删除所有空⽩⾏sed '/ *#/d; /^$/d' hello.txt # 从hello.txt⽂件中删除所有注释和空⽩⾏sed -e '1d' hello.txt # 从⽂件hello.txt 中排除第⼀⾏sed -n '/s1/p' hello.txt # 查看只包含关键词"s1"的⾏sed -e 's/ *$//' hello.txt # 删除每⼀⾏最后的空⽩字符sed -e 's/s1//g' hello.txt # 从⽂档中只删除词汇s1并保留剩余全部sed -n '1,5p;5q' hello.txt # 查看从第⼀⾏到第5⾏内容sed -n '5p;5q' hello.txt # 查看第5⾏paste file1 file2 # 合并两个⽂件或两栏的内容paste -d '+' file1 file2 # 合并两个⽂件或两栏的内容,中间⽤"+"区分sort file1 file2 # 排序两个⽂件的内容comm -1 file1 file2 # 不列出file1独有的,即只列出二者共有的 和 file2独有的comm -2 file1 file2 # 不列出file2独有的,即只列出二者共有的 和 file1独有的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 # 查看系统所有组
机/重启/注销
关机/重启/注销
关机/重启/注销
