linux日常操作

查看linux版本信息

1.使用lsb_release 查看

lsb_release -a
# 出现错误 bash: lsb_release: command not found...
# 安装lsb_release
yum install -y readhat-lsb
lsb_release -a

2.uname 适合所有的linux发行版本

[root@CodeSheep ~]# uname
Linux
[root@CodeSheep ~]# uname -r
3.10.0-957.5.1.el7.x86_64
[root@CodeSheep ~]# uname -a
Linux CodeSheep 3.10.0-957.5.1.el7.x86_64 #1 SMP Fri Feb 1 14:54:57 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
[root@CodeSheep ~]# 

3.使用redhat-release

[root@CodeSheep ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core) 

4.查看Cetnos版本于redhat对应版本的命令

[root@CodeSheep ~]# cat /proc/version
Linux version 3.10.0-957.5.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Fri Feb 1 14:54:57 UTC 2019

netstat命令可以帮助查找本机的网络状态

netstat -pt #可以输出PID以及程序名

输出结果

Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 localhostname:16061 192.168.1.1:50060       ESTABLISHED 22000/java

是本机的16061端口在调192.168.1.1:50060上的服务,且本机16061端口上跑的是一个java程序,进程ID是22000

netstat -ant
netstat -input

lsof可以查看系统打开的文件,这里的“文件”包括/proc文件、磁盘文件、网络IO等

lsof /etc/passwd # 查看哪个进程在占用/etc/passwd
lsof -c mysql  # 列出某个程序打开的文件信息
lsof -u username # 列出某个用户打开的文件
lsof -u ^root # 排除某个用户外的被打开的文件信息
lsof -p 1 # 列出某个进程号打开的文件
lsof -i # 列出所有的网络连接
lsof -i :22 # 列出谁在使用22端口

ps命令用来列出系统中当前运行的进程快找

ps -A # 现实所有进程信息
ps -u root #显示root进程用户信息
ps -ef # 显示所有命令,连带命令行
ps -aux  # 显示所有包含其他使用者的行程
12-30 04:43