linux面试中的命令,面试中常用的linux命令
一道linux shell面试题:如何用shell命令统计排序网站域名的访问量。怎么办呢?
1、第一个“|” 后面紧跟的是awk命令
创新互联建站为您提适合企业的网站设计 让您的网站在搜索引擎具有高度排名,让您的网站具备超强的网络竞争力!结合企业自身,进行网站设计及把握,最后结合企业文化和具体宗旨等,才能创作出一份性化解决方案。从网站策划到网站设计、成都网站设计, 我们的网页设计师为您提供的解决方案。
这个命令含义是:将前面log中文件按“空格”或“制表符”分割,然后再以“/”分割第7个域,存入数组“D”中,这个域应该是网址,网址的格式一般是“”,所以以“/”分割后得到的第三个域 D[3] 就是“zhidao.baidu.com”,将这个字符串作为 key 存入数组 A 中,并且遇到相同的字符串时,A[key] 就加1,这样在awk 的END 段遍历数组A 就可以得到 key 和 key的计数(A[key]) 了
2、下一个“|”后面跟的命令 sort -nr 是指 按自然数大小(-n)和反序(-r) 排列
3、最后个“|”后面跟的命令 head 就是看输出的前10行
面试常问的 25+ 个 Linux 命令
本文并不会对所有命令进行详细讲解,只给出常见用法和解释。具体用法可以使用 --help 查看帮助或者直接通过google搜索学习。
find / -name filename.txt 根据名称查找/目录下的filename.txt文件。
find . -name "*.xml" 递归查找所有的xml文件
find . -name "*.xml" |xargs grep "hello world" 递归查找所有文件内容中包含hello world的xml文件
grep -H 'spring' *.xml 查找所以有的包含spring的xml文件
find ./ -size 0 | xargs rm -f 删除文件大小为零的文件
ls -l | grep '.jar' 查找当前目录中的所有jar文件
grep 'test' d* 显示所有以d开头的文件中包含test的行。
grep 'test' aa bb cc 显示在aa,bb,cc文件中匹配test的行。
grep '[a-z]{5}' aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
ps -ef|grep tomcat 查看所有有关tomcat的进程
kill -9 19979 终止线程号位19979的进程
ls -al
pwd
cp source dest 复制文件
cp -r sourceFolder targetFolder 递归复制整个文件夹
scp sourecFile romoteUserName@remoteIp:remoteAddr 远程拷贝
mkdir newfolder
rmdir deleteEmptyFolder 删除空目录
rm -rf deleteFile 递归删除目录中所有内容
mv /temp/movefile /targetFolder
mv oldNameFile newNameFile
su -username
chmod 777 file.java file.java 的权限 -rwxrwxrwx ,r表示读、w表示写、x表示可执行
tar -czf test.tar.gz /test1 /test2
tar -tzf test.tar.gz
tar -xvzf test.tar.gz
head -n 10 example.txt
tail -n 10 example.txt
tail -f exmaple.log 这个命令会自动显示新增内容,屏幕只显示10行内容的(可设置)。
sudo rm a.txt 使用管理员身份删除文件
netstat -tln | grep 8080 查看端口8080的使用情况
lsof -i :8080
ps aux|grep java 查看java进程
ps aux 查看所有进程
tree a
wget
curl
ping
ssh userName@ip
echo $JAVA_HOME 打印java home环境变量的值
java javac jps ,jstat ,jmap, jstack
svn git maven
欢迎补充!~
面试套路——如何应对Linux问题
面试中Linux问题是基础知识部分中必然会问到的一块,对于不常使用或没有接触过Linux的同学,如何巧妙应对呢?以下是我的经验。
面试官 :Linux了解吗?
我:还可以。
面试官:查看******的指令是什么?
我:不清楚。。。
面试官:查看******的指令呢?
我:不记得了。。。
(GG)
后来又一次跟学长吃饭,学长表示其实对于面试官Linux是加分项,会最好,不会也没什么。重要的是展示你了解多少,让面试官觉得你有一定程度的了解的,而不是一定要把面试官问的问题答上来(想要做到这一点要花的功夫可不小)。所以在之后的面试中,我改变了战术。
面试官:Linux了解吗?
我:Linux我只有一些使用经验,没有开发经验。去年在分布式的项目中,我需要在centos环境下部署分布式组件,常用一些基础的命令,比如:
cd 到一个路径下;
ll 查看当前路径下的内容;
chown 修改权限;
ps -aux | grep 查看进程信息;
cat 、 vim 等查看、修改文件内容。我常用的一些 vim 快捷键:
dd 删除当前行;
gg 定位到文件头部;
1$ 、 2$ 、 3$ 定位到当前行、第二行、第三行尾部。
有的面试官:(漏出满意的笑容)不错。(改问其他部分的问题)
还有的面试官: shell 命令熟悉吗?
我:接触过,有几次需要编写简单的shell脚本进行自动化测试,当时用的是 base shell ,但是只用过一两次,具体怎么写想不起来了,如果要用的话需要查一下 。
面试官:哦~能查出来是吧,可以。
总之,对于来不及准备情况,在被问到时主动把自己会的噼里啪啦说出来,可以避免被动提问然后答不上来的尴尬情况。而且会让面试官觉得你掌握得不错。我百度三面都被问到Linux,我都用了这一套回答过关,旁听的同学都听乐了。
当然这只是一个应对面试的小套路,真正学习和掌握Linux对于工作中是不可避免的一步。投机取巧只能应付一时,不要本末倒置哦。
盘点20个面试中常用的Linux命令
windows中的 dir ,如下图所示
ls -l
第一列第一个字段:文件类型,后面9个字符是模式,其中分为三组,每一组三个字段。第一组为所属用户权限。第二组为所属组的权限。第三组为其他用户所属权限。其中r(read)代表可读,w(write)代表可写,e(execute)代表可执行。在后面的9个字符中,如果是字母说明有相应的权限,如果为"-"代表没有权限。举一个例子
-rw-r-r--:此为普通文件,对于所属用户为可读可写不能执行,对于所属组仅仅可读,对于其他用户仅为读。
第三列是所属用户,第四列为所属组,第五列为文件大小,第六列为文件被修改的时间,最后为文件名。其中使用chown改变所属用户,chgrp改变所属组。
nohup command X.file 2 1
awk -F "," '{print 2}' a.csv
获取第三列最大值
awk 'BEGIN{max=0}{if(3}END{print max}'
解压缩命令
常用参数
常用命令组合
tar -xvf /home/a.tar //打开tar打包文件
tar -zxvf /home/a.tar.gz //解压以gzip压缩的文件
tar -jxvf /home/a.tar.bz2 //解压以bzip压缩的文件
tar -cvf /home/a.tar /home 打包/home下所有文件
常用组合:
例子1:将A服务器中/home/a.txt 复制到B服务器的/home中
scp -r /home/a.txt root@B_ip:/home
翻车现场请看次条。
例子:每隔一秒高亮显示http连接数的变化情况
watch -n 1 -d 'pstree | grep http'
例子:十秒一次输出系统的平均负载
watch -n 10 'cat /proc/loadavg'
查看磁盘大小
df -h
参数名含义
-n使用IP地址表示主机。使用数字表示端口
-i指定要监听的端口。如果为"-i any"表示住区所有网卡数据包
-v输出诸如ip数据包中的TTL更加详细的信息
-t不打印时间戳
-e显示以太网帧头部信息
-c仅仅抓取指定数量的数据包
-x按照十六进制显示数据包内容
知道了相关参数,下面看几个案例
同样,我们看看相关参数
老规矩,上几个例子
参数描述
-i设置数据包传送的时间间隔
-l以服务器方式运行。默认为客户端运行
-k重复接受并处理某个端口上的所有链接
-p以客户端运行时强制其使用指定端口
-C将CR和LF两个字符作为结束符
-u使用udp协议。默认tcp协议
-Xnc客户端余代理服务器通信时默认为socks5协议。
-z扫描目标机器某个范围服务是否开启
小贱上案例
下面列举几个常用例子
看一下vmstat都有哪些输出字段。
在这里插入图片描述
然后我们看看各个字段什么意思。
将文件分割为数个。
split -5 a.txt//将a.txt每5行分割为一个文件
统计文件中单词的个数。
一页一页显示,通过空白键显示下一页/上一页
查看某文件前几行或者后几行
diff -c file1 file2 //显示两个文件的差异
linux常用的20个命令面试有哪些?
如下:
1.查找文件
find / -name filename.txt
根据名称查找/目录下的filename.txt文件
2.查看一个程序是否运行
ps _ef|grep tomcat
查看所有有关tomcat的进程。
3.终止线程
kill -9 19979
终止线程号位19979的线程
4.查看文件,包含隐藏文件
ls -al
5.当前工作目录
pwd
6.复制文件包括其子文件到自定目录
cp -r sourceFolder targetFolder
7.创建目录
mkdir newfolder
8.删除目录(此目录是空目录)
rmdir deleteEmptyFolder
9.删除文件包括其子文件
rm -rf deleteFile
10.移动文件
mv /temp/movefile /targetFolder
扩展重命名 mv oldNameFile newNameFile
11.切换用户
su -username
12.修改文件权限
chmod 777 file.java
//file.java的权限-rwxrwxrwx,r表示读、w表示写、x表示可执行
13.压缩文件
tar -czf test.tar.gz /test1 /test2
14.列出压缩文件列表
tar -tzf test.tar.gz
15.解压文件
tar -xvzf test.tar.gz
16.查看文件头10行
head -n 10 example.txt
17.查看文件尾10行
tail -n 10 example.txt
18.查看日志文件
tail -f exmaple.log
//这个命令会自动显示新增内容,屏幕只显示10行内容的(可设置)
19.启动Vi编辑器
vi
20.查看系统当前时间
date
命令会输出 周几 几月 几日 时间 和 时间显示格式和年份
Sat Jan 20 04:39:49 CST 2018
date +"%Y-%m-%d"
网页名称:linux面试中的命令,面试中常用的linux命令
标题网址:http://scyanting.com/article/hecche.html