【原创】Linux基础之常用命令

1 磁盘、cpu、内存相关

查看全部设备信息

# lspci

查看整体磁盘空间占用情况

# df -h

查看整体磁盘inode占用情况

# df -i

查看文件详细信息

# ls -l $path

查看文件inode信息

# ls -i $path
# stat $path

查看指定目录磁盘占用情况,按照目录汇总,深度为1

# du -h --max-depth=1 $path

# du -sh $path/*

在指定目录下按照名字查找指定文件

# find $path -name $file_name

在指定目录下查找所有大于100M的文件

$ find $path -size +100M

查看磁盘io

# iostat

查看cpu信息

# cat /proc/cpuinfo

查看物理CPU个数

# cat /proc/cpuinfo| grep "physical id"

查看每个物理CPU中core的个数(即核数)

# cat /proc/cpuinfo| grep "cpu cores"

查看逻辑CPU的个数

# cat /proc/cpuinfo| grep "processor" 

查看内存信息

# cat /proc/meminfo

查看剩余内存

# free -m

2 统计、负载、进程相关

查看整体统计信息,包括进程、虚拟内存、磁盘和 CPU

# vmstat

查看当前负载

# top

然后输入M会按照内存占用排序,输入P会按照CPU占用排序,输入H查看线程,输入c切换查看详细启动命令

查看一个进程中所有线程的资源占用情况

# top -H -p $pid

这里展示的pid转化为16进制后

# echo 'obase=16;$pid'|bc

再到jstack中搜对应的线程;

查看当前所有的进程

# ps aux

查看进程中所有的线程

# ps -T -p $pid

杀死进程

# kill $pid

强制杀死进程

# kill -9 $pid

3 crontab相关

查看crontab

# crontab -l

编辑crontab

# crontab -e

查看crontab日志

# tail -f /var/log/cron

4 网络端口相关

查看网络信息

# ifconfig

查看ip路由信息

# ip route get 1

查看某个进程绑定的端口或者某个端口被哪个进程绑定

# netstat -tnlp|grep $pid
# netstat -tnlp|grep $port

查看端口占用情况

# lsof -i:$port

查看某个端口的绑定和连接情况

# netstat -nat|grep $port

针对端口抓包

# tcpdump -i eth1 tcp port $port -Xxv

修改静态ip

# vi /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=static

IPADDR=192.168.1.252

NETMAST=255.255.255.0

GATEWAY=192.168.1.1

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens33

UUID=989f4fa4-d0d5-4592-8891-99a50a1bb4a7

DEVICE=ens33

ONBOOT=yes

# service network restart

5 压缩解压相关

将目录打成tar包

$ tar cvf $tar_name.tar $dir_name

$ tar cvf $tar_name.tar $dir_name --exclude $exclude_file --exclude $exclude_dir

排除指定目录

$ tar cvf $tar_name.tar $dir_name --exclude $dir_name/$exclude_name

解压tar包

$ tar xvf $tar_name.tar

解压tar包至指定目录 -C $target_dir

压缩tar包,得到*.tar.gz

$ gzip $tar_name.tar

解压tar.gz

$ tar xvf $tar_name.tar.gz


将指定目录打成zip包

$ zip -r $zip_name.zip $dir_name

解压zip包

$ unzip $zip_name.zip

解压zip包至指定目录 -d $target_dir

6 软件包相关

查看已安装软件包

# yum list installed

查找软件包

# yum search $name

安装软件包

# yum install $name

下载软件包及所有依赖到指定目录

# yum install --downloadonly --downloaddir=$dir $name

卸载软件包

# yum remove $name

查看某个命令在哪个软件包中

# yum whatprovides $cmd

rpm安装

# rpm -ivh $name.rpm

yum安装rpm包

# yum localinstall $name.rpm

以上两者的区别是yum localinstall会自动安装发现的依赖

rpm查询已安装

# rpm -qa | grep $name

rpm卸载

# rpm -e --nodeps $name

7 shell相关

查看当前shell

# echo $SHELL

查看所有shell

# cat /etc/shells

修改默认shell

# chsh -s /bin/zsh

8 其他

查看当前哪些用户正在登录

# w

切换其他用户执行命令

# su - $user -c 'whoami'

查找命令在哪

# whereis $cmd

查看命令路径

# which $cmd

查看之前执行的命令

# history

查看系统限制

# ulimit -a

后台执行命令

# nohup $cmd $arg 1>output.log 2>&1 &

设置时区

# timedatectl set-timezone Asia/Shanghai

6 更多

iptables相关:
https://www.cnblogs.com/barneywill/p/10263530.html

用户组相关:
https://www.cnblogs.com/barneywill/p/10303553.html

文本替换相关:
https://www.cnblogs.com/barneywill/p/10115539.html

ssh相关:
https://www.cnblogs.com/barneywill/p/10271679.html
https://www.cnblogs.com/barneywill/p/10331354.html

后台运行相关:
https://www.cnblogs.com/barneywill/p/10266211.html

远程拷贝文件相关:
https://www.cnblogs.com/barneywill/p/10115108.html

查看发行版本相关:
https://www.cnblogs.com/barneywill/p/10251262.html

上传下载相关:
https://www.cnblogs.com/barneywill/p/10265704.html

sudo相关:
https://www.cnblogs.com/barneywill/p/10272455.html

curl相关:
https://www.cnblogs.com/barneywill/p/10279555.html

挂载硬盘相关:

https://www.cnblogs.com/barneywill/p/10365848.html

连通性相关:

https://www.cnblogs.com/barneywill/p/10386968.html

原文地址:https://www.cnblogs.com/barneywill/p/10337424.html