关于面试总结7-linux经典面试题
前言
现在做测试的出去面试,都会被问到linux,不会几个linux指令都不好意思说自己是做测试的了,本篇收集了几个被问的频率较高的linux面试题
常用指令
1.说出10个linux常用的指令
ls 查看目录中的文件
cd /home 进入 '/ home’ 目录;cd .. 返回上一级目录;cd ../.. 返回上两级目录
mkdir dir1 创建一个叫做 'dir1’ 的目录
rmdir dir1 删除一个叫做 'dir1’ 的目录 (只能删除空目录)
rm -f file1 删除一个叫做 'file1’ 的文件’,-f 参数,忽略不存在的文件,从不给出提示。
rm -rf /mulu 目录下面文件以及子目录下文件
cp /test1/file1 /test3/file2 如将/test1目录下的file1复制到/test3目录,并将文件名改为file2
mv /test1/file1 /test3/file2 如将/test1目录下的file1移动到/test3 目录,并将文件名改为file2
mv * ../ Linux当前目录所有文件移动到上一级目录
ps -ef|grep xxx 显示进程pid
kill 使用kill命令来终结进程。先使用ps命令找到进程id,使用kill -9命令,终止进程。
tar –xvf file.tar 解压 tar包
unzip file.zip 解压zip
unrar e file.rar 解压rar
free -m 查看服务器内存使用情况
ps查看进程
2.如何查看所有java进程
grep是搜索关键字
ps -ef | grep java
-aux 显示所有状态
ps -aux | grep java
kill 杀掉进程
3.如何杀掉某个服务的进程
kill 命令用于终止进程
-9 强迫进程立即停止
kill -9 [PID]
这里pid需要用 ps -ef | grep 查询pid
启动服务
4.如何启动服务
以启动Tomcat为例,先cd到启动的.sh文件目录
> cd /java/tomcat/bin > ./startup.sh
停止Tomcat服务命令
./shutdown.sh
查看日志
5.如何查看测试项目的日志
一般测试的项目里面,有个logs的目录文件,会存放日志文件,有个xxx.out的文件,可以用tail -f 动态实时查看后端日志
先cd 到logs目录(里面有xx.out文件)
tail -f xx.out
这时屏幕上会动态实时显示当前的日志,ctr+c停止
6.如何查看最近1000行日志
tail -1000 xx.out
查看端口
7.LINUX中如何查看某个端口是否被占用
netstat -anp | grep 端口号
图中主要看监控状态为LISTEN表示已经被占用,最后一列显示被服务mysqld占用,查看具体端口号,只要有如图这一行就表示被占用了
查看82端口的使用情况,如图
netstat -anp |grep 82
可以看出并没有LISTEN那一行,所以就表示没有被占用。此处注意,图中显示的LISTENING并不表示端口被占用,不要和LISTEN混淆哦,查看具体端口时候,必须要看到tcp,端口号,LISTEN那一行,才表示端口被占用了
查看当前所有已经使用的端口情况,如图:
netstat -nultp(此处不用加端口号)
find查找文件
8.如何查找一个文件大小超过5M的文件
find . -type f -size +100M
9.如果知道一个文件名称,怎么查这个文件在linux下的哪个目录,如:要查找tnsnames.ora文件
find / -name tnsnames.ora
查到:
/opt/app/oracle/product/10.2/network/admin/tnsnames.ora
/opt/app/oracle/product/10.2/network/admin/samples/tnsnames.ora
还可以用locate 来查找
locate tnsnames.ora
结果是:
/opt/app/oracle/product/10.2/hs/admin/tnsnames.ora.sample
/opt/app/oracle/product/10.2/network/admin/tnsnames.ora
/opt/app/oracle/product/10.2/network/admin/samples/tnsnames.ora
10.find查找文件
find / -name httpd.conf #在根目录下查找文件httpd.conf,表示在整个硬盘查找
find /etc -name httpd.conf #在/etc目录下文件httpd.conf
find /etc -name 'srm' #使用通配符(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串'srm’的文件
find . -name 'srm' #表示当前目录下查找文件名开头是字符串'srm’的文件
按照文件特征查找
find / -amin -10 # 查找在系统中最后10分钟访问的文件(access time)
find / -atime -2 # 查找在系统中最后48小时访问的文件
find / -empty # 查找在系统中为空的文件或者文件夹
find / -group cat # 查找在系统中属于 group为cat的文件
find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件(modify time)
find / -mtime -1 #查找在系统中最后24小时里修改过的文件
find / -user fred #查找在系统中属于fred这个用户的文件
find / -size +10000c #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
find / -size -1000k #查找出小于1000KB的文件