Linux常用的shell命令汇总

今天我们一起来看看Linux系统下常用的系统级命令,包括软硬件查看、修改命令,有CPU、内存、硬盘、网络、系统管理等命令。


说明:所有命令是在Centos 6.4 64位的虚拟机系统进行测试的。这些命令是需要大家深深的记在脑海里的哦


硬件篇



CPU相关


lscpu            

#查看的是cpu的统计信息.


cat /proc/cpuinfo      

#查看CPU信息详细信息,如每个CPU的型号,主频等


内存相关


free -m              

#概要查看内存情况  这里的单位是MB


cat /proc/meminfo      

#查看内存详细信息


磁盘相关


lsblk              

#查看硬盘和分区分布,显示很直观


df -h              

#查看各分区使用情况


cat /proc/partitions      

#查看硬盘和分区


mount | column -t        

#查看挂接的分区状态


网卡相关


lspci | grep -i 'eth'      

#查看网卡硬件信息


ifconfig -a            

#查看系统的所有网络接口


ethtool eth0          

#如果要查看某个网络接口的详细信息,例如eth0的详细参数和指标


软件篇



内核相关


uname -a                

#查看版本当前操作系统内核信息


cat /proc/version          

#查看当前操作系统版本信息


cat /etc/issue          

#查看版本当前操作系统发行版信息


cat /etc/redhat-release      

#同上


cat /etc/SuSE-release        

#suse系统下才可使用


lsb_release -a            

#用来查看linux兼容性的发行版信息


lsmod                

#列出加载的内核模块


网络


ifconfig                

#查看所有网络接口的属性


iptables -L              

#查看防火墙设置


service iptables status      

#查看防火墙状态


service iptables stop      

#关闭防火墙


route -n                

#查看路由表


netstat -lntp            

#查看所有监听端口


netstat -antp            

#查看所有已经建立的连接


netstat -s              

#查看网络统计信息进程


netstat -at              

#列出所有tcp端口


netstat -au              

#列出所有udp端口


netstat -lt            

#只列出所有监听tcp端口


系统管理


top                    

#查看系统所有进程的详细信息,比如CPU、内存等,信息很多!


df -lh                

#查看硬盘大小及使用率


mount                  

#挂接远程目录、NFS、本地共享目录到linux下


hostname              

#查看/修改计算机名


w                      

#查看活动用户


id                    

#查看指定用户信息


last                  

#查看用户登录日志


cut -d: -f1 /etc/passwd      

#查看系统所有用户


cut -d: -f1 /etc/group      

#查看系统所有组


crontab -l              

#查看当前用户的计划任务服务


chkconfig –list        

#列出所有系统服务


chkconfig –list | grep on    

#列出所有启动的系统服务程序


rpm -qa                

#查看所有安装的软件包


uptime                  

#查看系统运行时间、用户数、负载


/sbin/chkconfig --list      

#查看系统自动启动列表


/sbin/chkconfig –add mysql    

#把MySQL添加到系统的启动服务组里面


文件相关


ls -lht                

#列出一个文件夹下所有文件及大小、访问权限


du -sh <dir>            

#查看指定目录的大小


du -lh <dir>          

#查看指定目录及各文件的大小


ln -s                  

#建立软链接


进程相关


pstree -p pid          

#查看一个进程下的所有线程


pstree  -a              

#显示所有进程的所有详细信息,遇到相同的进程名可以压缩显示。


ps -ef                

#查看所有进程


kill -9 pid            

#杀死进程


kill all test          

#杀死进程


kill -9 `pgrep test`    

#杀死进程


./test.sh &            

#使程序在后台运行


nohup ./test.sh &      

#使程序在后台运行


压缩解压缩


zip -r dir.zip dir file  

#将目录dir、文件file等压缩到zip包,


zip -re dir.zip dir file

#创建zip包,且加密


unzip dir.zip            

#解压


tar -zcvf dir.tar.gz dir file    

#将目录dir、文件file等压缩到tar包


tar -xf dir.tar.gz      

#解压


screen命令


screen命令组最大的好处就是当你的shell退出或关闭后,你运行的服务不会关系,也就是说,我们可以在screen里开启一组服务,且不受终端断开的影响。


screen -S test          

#创建一个名字为test的screen


screen -r test          

#打开名字为test的screen


screen -r pid          

#打开进程号为pid的screen


screen -ls              

#列出所有的screen


ctrl + a,d              

#当在一个screen时,退出screen


ctrl + a,n              

#当在一个screen时,切换到下一个窗口


ctrl + a,c            

#当在一个screen时,创建一个新的窗口


scp命令


scp local_file remote_username@remote_ip:remote_dir    

#拷贝本地文件到远程机器上


scp -r local_dir remote_username@remote_ip:remote_dir  

#拷贝本地整个目录到远程机器上


软件包安装管理命令


假设你想要安装的软件包叫做app,注意,这里的命令通常需要sudo或者root权限。


//centos系统、redhat系统

rpm -qa | grep app      

#查找本机是否安装了app;


rpm -ivh app.rpm        

#假设你有app的rpm包,这样直接安装


sudo yum install app  

#否则就在线安装


yum update app          

#更新app


rpm -e app              

#删除已安装的app包


//suse、opensuse系统

zypper search app      

#查找本机是否安装了app;


zypper install app    

#安装


zypper update app      

#更新


zypper remove app    

#删除


zypper lr              

#列出所有已定义的安装源。


zypper    ar            

#添加新安装源。


zypper    rr            

#删除指定的安装源


zypper    mr          

#修改指定的安装源


//ubuntu系统

apt-get install app    

#安装


apt-get update app    

#更新


apt-get remove app      

#删除


apt-cache search app  

#搜索软件包


dpkg -i app.deb        

#假设你有app的deb包,这样直接安装



本文转自 维度2018 51CTO博客,原文链接:http://blog.51cto.com/xinsz08/1794730,如需转载请自行联系原作者

上一篇:Node.js实现PC端类微信聊天软件(三)


下一篇:linux应急常用命令+技巧总结