1.帮助:(查看指令的详细信息)
1.1 xxx --help (xxx -h)
1.2 man xxx
2.查看哪个程序占用了特定端口?占用某个端口的进程是谁?
2.1 lsof -i -n -P | grep :80
//查看哪个程序占用了特定端口
2.2 lsof -i
//显示所有打开的端口
2.3 lsof -i:80
//显示所有打开80端口的进程
2.4 lsof -n
//不将IP转换为hostname,缺省是不加上-n参数
-P //port numbers to port names;
3.查看磁盘使用情况:
查看磁盘中指定目录的使用情况:du -ach --max-depth=1 指定目录的路径
查看系统磁盘占用情况:df -lh
4.进程相关操作:
查看系统执行的进程(不包括父进程):ps -aux | more
(ps -aux | grep xxxx
)
查看当前所有进程,包括父进程:ps -ef | more
(ps -ef | grep xxxx
)
查看系统负载:w
动态查看负载: top
在 top 状态下:
按shift + m,可以按照内存使用大小排序。
按数字 1 可以列出各颗 cpu 的使用状态。
静态查看系统负载:top -bn1
和 top 命令唯一的区别就是,它一次性全部把所有信息输出出来而非动态显示。
查看系统当前剩余多少内存:
free -h
(-h及human,以方便人阅读方式显示)
杀死进程:kill 进程号
强制杀死进程:kill -9 进程号
按照进程名强制杀死该进程名的所有进程:pkill -9 进程名
按照进程名杀死进程:killall 进程名
5.查看系统信息:
查看内核版本号:uname -r
查看系统内核版本,gcc编译器版本详细信息: cat /proc/version
查看系统信息:cat /etc/redhat-release
查看操作系统版本所有信息: lsb_release -a
查看内存信息 cat /proc/meminfo
查看网卡信息 dmesg | grep -i eth
查看机器型号 dmidecode | grep "Product Name"
查看硬盘信息命令 : fdisk -l
查看主板信息 dmidecode |grep -A16 "System Information$"
查看CPU信息(型号) cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
查看CPU的主频 cat /proc/cpuinfo |grep MHz|uniq
查看当前CPU运行在32bit还是64bit模式下 getconf LONG_BIT
查看是否支持64bit cat /proc/cpuinfo | grep flags | grep 'lm' | wc -l
(如果结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit)
查看CPU是几核: cat /proc/cpuinfo |grep "cores"|uniq
逻辑CPU个数:cat /proc/cpuinfo | grep "processor" | wc -l
物理CPU个数: cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
每个物理CPU中Core的个数: cat /proc/cpuinfo | grep "cpu cores" | wc -l
6.查看网络:
查看当前主机的ip地址和网卡信息: ifconfig
(附加网卡的启用ifup eth0与停用stop eth0命令)
查看IP地址信息:ip addr
(注:安装minimal版的CentOS系统时,ifconfig等网络相关的指令用不了,暂时可以用ip addr)
测试网络的连通性 : ping
(网络统计)命令显示连接信息,路由表信息等: netstat
通常配合使用参数,这里只演示一个参数。netstat -?
打印网络连接状况:netstat -anp
(-p表示显示进程名和进程ID)
当前系统启动哪些端口:netstat -lnp
(-l表示显示正在监听的端口)netstat指令无效时:使用yum install net-tools
安装
路由跟踪命令: traceroute
可以查看到你从源到目的的所经过的路由
查询DNS相关信息记录,CNAME,MX记录等等: dig
这个命令主要用于解决相关DNS查询;
nslookup
也具备查询DNS的功能,还可以显示一个ip地址的记录!
查找到IP的名称或IP的名字在IPv4和IPv6 DNS记录和查询: host IP地址
例如host www.baidu.com
查看主机名: hostname
或者你可以到/etc/sysconfig/network中修改主机名。
查看路由表信息: route
增加和删除路由条目: root add -net 192.168.199.129/24 gw 192.168.199.1
查看默认的表使用: arp
为地址解析协议
查看网络模式和网络速度等信息: ethtool
有关配置可以到/etc/sysconfig/network-scripts/ifcfg-eth0下进行修改。
7.任务调度:
编辑定时任务:crontab -e
删除:crontab -r
查询:crontab -l
重启:service crond restart
8.压缩/解压缩:
解压到当前目录:tar -zxvf xxx.tar.gz
解压到指定目录:tar -zxvf xxx.tar.gz -C 目标目录
压缩:tar -zcvf 打包后的文件名(以.tar.gz为后缀) 要压缩的文件名
tar里面没有针对xz格式的参数比如 -z是针对 gzip,-j是针对 bzip2)
解压tar.xz文件:
先 xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar
然后,再用 tar xvf xxx.tar
来解包。
创建tar.xz文件:
先 tar cvf xxx.tar xxx/
这样创建xxx.tar文件,
然后使用 xz -z xxx.tar
来将 xxx.tar压缩成为 xxx.tar.xz
9.rpm:安装/查询/删除rpm包:
安装本地的rpm包:rpm -ivh rpm包全路径名
查询是否安装了某个rpm包:rpm -qa | grep 软件名
删除rpm方法安装的某个rpm包: rpm -e 软件包名
升级某个rpm包:rpm -Uvh 软件包名
10.yum:安装/查询/删除rpm包:
查询公网的yum服务器中是否有我们要安装的某个软件源:yum list | grep 软件名
(或者用yum search 软件名)
安装最新版的某个软件(默认):yum -y install 软件名
安装指定版本的某个软件:yum -y install 软件名-版本号
升级某个rpm包: yum update -y 软件名
(查看是否有新版本及版本号 yum update |grep 软件名)
删除yum方式安装的rpm包:yum remove 软件名
当要使用一个指令,系统提示不存在,于是用yum安装它但又不知道它属于哪个rpm包时:yum provides 指令名
(以ifconfig为例:yum provides ifconfig
)
查看包的关系:repoquery --nvr --whatprovides 包名
( repoquery是yum扩展工具包yum-utils中的一个工具,所有如果你没有repoquery命令的话,可以先 sudo yum install yum-utils
安装yum-utils包)
11.防火墙:
CentOS7查看防火墙状态:systemctl status firewalld
(CentOS6查看防火墙状态:service iptables status)
临时关闭防火墙:systemctl stop firewalld
启动防火墙:systemctl start firewalld
12.关机/重启/注销linux:
关机:halt
(或者shutdown -h 1 表示一分钟后关机;shutdown -h now立刻关机)
重启:reboot
注销:logout
13.文件/目录操作:
创建目录(父目录不存在时创建父目录,即级联创建目录):mkdir -pv 目录名
(目录名如./aaa/bbb/ccc/ddd)
创建文件:touch 文件名
递归且强制删除目录/文件:rm -rf 目录名
显示目录下的文件/目录:ls -a
(-a 表示列出所有文件,包括隐藏文件) ls -d
(-d表示针对目录的,只列出目录本身)
浏览小文件并显示行号:cat -n 文件名
(浏览大文件:cat -n 文件名 | more)
浏览大文件 并显示行号,百分比:less -mN 文件名
追加:向文件的内容后面追加内容:echo "内容" >> 文件名
覆盖:用文件1的内容覆盖文件2里面的内容 : cat 文件1 > 文件2
控制台打印内容:echo “xxxx”
查看文件后5行:tail -n 5 文件名
(查看前5行:head -n 文件名)
创建快捷方式(软链接):ln -s 原文件 快捷方式名称
文件重命名 : mv 原文件名/目录名 新文件名/目录名
剪切(移动):mv 原文件名/目录 新的路径
复制:cp -r 原文件/目录 目标文件/目录
(注意:复制目录必须加-r,表递归复制)
14.搜索文件/目录:
按照名称查询某个目录下是否有某个文件:find 搜索的目录 -name 要搜索的文件名
查询某个目录下属于某个用户的所有文件: find 搜索的目录 -user 用户名
15.用户操作:
切换为某个用户:su -用户名
切换为管理员用户即root用户:su -
以管理员权限执行一条命令 :sudo 要执行的命令
创建用户/组:useradd/groupadd
useradd -g 所属的组名 用户名
(注意:指定用户所属的组(前提:组存在))
改变文件所属用户/组:chown/chgrp
改变用户所属组:usermod
改权限:chmod
改运行级别:chkconfig --level
0到6的数字 服务名 on (on 表开启,off表关闭)
查看用户所属组:id 用户名
查看有哪些用户:cat /etc/passwd
查看有哪些组:cat /etc/group
设置密码 passwd 用户名