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://ybzwz.com/article/hecche.html