Linux常用指令

image

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 用户名

16.查看以前敲过的所有命令:history (常与管道连用,history | more)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容