常见命令面试题
1、Linux查看当前进程命令?
ps -ef | grep java
2、Linux查看指定端口号的进程情况?
netstat -tunlp | grep 端口号
3、Linux 查看一个端口上的连接数的指令?
netstat -nat | grep -i "80" | wc -l #统计80端口连接数
4、Linux查看磁盘和系统资源占用
# 总体内存占用的查看 free # 查看内存占用前五的进程 ps auxw|head -1;ps auxw|sort -rn -k4|head -5 # 查看CPU占用前三的进程 ps auxw|head -1;ps auxw|sort -rn -k3|head -3 # 查看系统整体的负载 top
5、Linux 查看进程所占内存命令
# 首先可以通过ps命令找到进程id ps -ef | grep kafka # 找到kafka这个程序的进程id # 使用top命令可以动态实时的看到CPU和内存的占用率 top -p 进程id # 或者直接使用ps命令查看 ps -aux | grep kafka
6、Linux查看CPU占有率?
# 查看单核CPU占有率 top # 查看多核CPU占有率 top # 进入交互界面 # 接下来按1,查看每个cpu占用
7、如果CPU使用率达到100%,怎么排查?
具体过程:
- 通过
top
找到占用率高的进程。 - 通过
top -Hp pid
找到占用CPU高的线程ID,这里假设找到958的线程ID。 - 再把线程ID转化为16进制,
printf "0x%x\n" 958
,得到线程ID0x3be
。 - 通过命令
jstack 163 | grep '0x3be' -C5 --color
或者jstack 163|vim +/0x3be -
找到有问题的代码。
8、讲一讲常见的Linux命令?
常用的文件、目录命令:
ls
:用户查看目录下的文件;ls -a
可以用来查看隐藏文件;ls -l
可以用于查看文件的详细信息,包括权限、大小、所有者等信息;touch
:用于创建文件。如果文件不存在,则创建一个新的文件,如果文件已存在,则会修改文件的时间戳;cat
:cat是英文concatenate
的缩写,用于查看文件内容。使用cat
查看文件的话,不管文件的内容有多少,都会一次性显示,所以他不适合查看太大的文件;more
:more和cat有点区别,more用于分屏显示文件内容。可以用空格键
向下翻页,b
键向上翻页;less
:和more类似,less用于分行显示;tail
:可能是平时用的最多的命令了,查看日志文件基本靠他了。一般用户tail -fn 100 xx.log
查看最后的100行内容;
常用的权限命令
chmod
:修改权限命令。一般用+
号添加权限,-
号删除权限,x
代表执行权限,r
代表读取权限,w
代表写入权限,常见写法比如chmod +x 文件名
添加执行权限;- 还有另外一种写法,使用数字来授权,因为
r
=4,w
=2,x
=1,平时执行命令chmod 777 文件名
这就是最高权限了; - 第一个数字7= 4+2+1代表着所有者的权限,第二个数字7代表所属组的权限,第三个数字代表其他人的权限;
- 常见的权限数字还有644,所有者有读写权限,其他人只有只读权限,755代表其他人有只读和执行权限;
chown
:用于修改文件和目录的所有者和所属组。一般用法chown user 文件
用于修改文件所有者,chown user:user 文件
修改文件所有者和组,冒号前面是所有者,后面是组;
常用的压缩命令
zip
:压缩zip文件命令,比如zip test.zip 文件
可以把文件压缩成zip文件,如果压缩目录的话则需添加-r
选项;unzip
:与zip对应,解压zip文件命令。unzip xxx.zip
直接解压,还可以通过-d
选项指定解压目录;gzip
:用于压缩.gz后缀文件,gzip命令不能打包目录。需要注意的是直接使用gzip 文件名
源文件会消失,如果要保留源文件,可以使用gzip -c 文件名 > xx.gz
,解压缩直接使用gzip -d xx.gz
;tar
:tar常用几个选项,-x
解打包,-c
打包,-f
指定压缩包文件名,-v
显示打包文件过程,一般常用tar -cvf xx.tar 文件
来打包,解压则使用tar -xvf xx.tar
;- Linux的打包和压缩是分开的操作,如果要打包并且压缩的话,按照前面的做法必须先用tar打包,然后再用gzip压缩。当然,还有更好的做法就是-z命令,打包并且压缩;
- 使用命令
tar -zcvf xx.tar.gz 文件
来打包压缩,使用命令tar -zxvf xx.tar.gz
来解压缩;
9、Linux查看网络状态的命令?
在Linux系统中,可以使用以下命令来查看网络状态:
- ifconfig命令:ifconfig命令可以用来显示和配置网络接口的信息。使用方法为:
ifconfig [选项] [网络接口]
。例如,要查看所有网络接口的信息,可以使用ifconfig命令;要查看eth0网络接口的信息,可以使用ifconfig eth0命令。 - netstat命令:netstat命令可以用来显示网络连接、路由表和网络接口的信息。使用方法为:
netstat [选项]
。例如,要查看所有的网络连接信息,可以使用netstat -a命令;要查看所有的路由表信息,可以使用netstat -r命令。 - ip命令:ip命令是Linux系统中新的网络配置工具,可以用来显示和配置网络接口、路由表和网络协议的信息。使用方法为:
ip [选项] [命令]
。例如,要查看所有的网络接口信息,可以使用ip link命令;要查看所有的路由表信息,可以使用ip route命令。 - ping命令:ping命令可以用来检查网络连通性。使用方法为:
ping [选项] 目标主机
。例如,要检查与百度服务器的连通性,可以使用ping www.baidu.com命令。 - traceroute命令:traceroute命令可以用来查看数据包到达目标主机的路径。使用方法为:
traceroute [选项] 目标主机
。例如,要查看与百度服务器的连通性,可以使用traceroute www.baidu.com命令。