天天看点

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       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包,这样直接安装 本文转自xinsz08の平行时空博客51CTO博客,原文链接http://blog.51cto.com/xinsz08/1794730如需转载请自行联系原作者 维度2018