189 8069 5689

linux基本命令面试 linux基本命令面试题及答案

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问题是基础知识部分中必然会问到的一块,对于不常使用或没有接触过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对于工作中是不可避免的一步。投机取巧只能应付一时,不要本末倒置哦。

面试常问的 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面试题

1、解释下什么是GPL,GNU,自由软件?

GPL:(通用公共许可证):一种授权,任何人有权取得、修改、重新发布自由软件的权力。

GNU:(革奴计划):目标是创建一套完全自由、开放的的操作系统。

自由软件:是一种可以不受限制地自由使用、复制、研究、修改和分发的软件。主要许可证有GPL和BSD许可证两种。

2、linux系统里,buffer和cache如何区分?

buffer和cache都是内存中的一块区域,

当CPU需要写数据到磁盘时,由于磁盘速度比较慢,所以CPU先把数据存进buffer,

然后CPU去执行其他任务,buffer中的数据会定期写入磁盘;

当CPU需要从磁盘读入数据时,由于磁盘速度比较慢,

可以把即将用到的数据提前存入cache,CPU直接从Cache中拿数据要快的多。

3、描述Linux运行级别0-6的各自含义

0:关机模式

1:单用户模式==破解root密码

2:无网络支持的多用户模式

3:有网络支持的多用户模式(文本模式,工作中最常用的模式)

4:保留,未使用

5:有网络支持的X-windows支持多用户模式(桌面)

6: 重新引导系统,即重启

4、描述Linux系统从开机到登陆界面的启动过程

⑴开机BIOS自检,加载硬盘。

⑵读取MBR,MBR引导。

⑶grub引导菜单(Boot Loader)。

⑷加载内核kernel。

⑸启动init进程,依据inittab文件设定运行级别

⑹init进程,执行rc.sysinit文件。

⑺启动内核模块,执行不同级别的脚本程序。

⑻执行/etc/rc.d/rc.local

⑼启动mingetty,进入系统登陆界面。

5、描述Linux下软链接和硬链接的区别

在Linux系统中,链接分为两种,一种是硬链接(Hard link),另一种称为符号链接或软链接(Symbolic Link)。

①默认不带参数的情况下,ln创建的是硬链接,带-s参数的ln命令创建的是软链接。

②硬链接文件与源文件的inode节点号相同,而软链接文件的inode节点号,与源文件不同,

③ln命令不能对目录创建硬链接,但可以创建软链接。对目录的软链接会经常使用到。

④删除软链接文件,对源文件和硬链接文件无任何影响。

⑤删除文件的硬链接文件,对源文件及软链接文件无任何影响。

⑥删除链接文件的源文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状)。

⑦同时删除源文件及其硬链接文件,整个文件才会被真正的删除。

⑧很多硬件设备的快照功能,使用的就是类似硬链接的原理。

⑨软链接可以跨文件系统,硬链接不可以跨文件系统。

6、shell脚本中“$?”标记的用途是什么?

在写一个shell脚本时,如果你想要检查前一命令是否执行成功,在if条件中使用“ ?

如果结束状态是0,说明前一个命令执行成功。

root@localhost:~# ls /usr/bin/share

ls: cannot access /usr/bin/share: No such file or directory

root@localhost:~# echo $?

2

如果结束状态不是0,说明命令执行失败。

7、如何让history命令显示具体时间?

$ HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S"

$ export HISTTIMEFORMAT

重新开机后会还原,可以写/etc/profile

8、用shell统计ip访问情况,要求分析nginx访问日志,找出访问页面数量在前10位的IP数。以下是nginx的访问日志节选

202.101.129.218- - [26/Mar/2006:23:59:55 +0800] "GET /online/stat_inst.php?pid=d065HTTP/1.1" 302 20-"-" "-" "Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1)"

1}' access.log |sort|uniq -c |head -n 10

31 202.101.129.218

21 123.93.29.11

11 13.92.19.31

9、将本地的80端口的请求转发到8080端口,本机地址10.0.0.254,写出命令

$ iptables -t nat -A PREROUTING -d 10.0.0.254 -p tcp --dprot 80 -j DNAT --to-destination 10.0.0.254:8080

10、Load过高的可能性有哪些?

排查思路:

其他经验:

cpu load的飙升,一方面可能和full gc的次数增大有关,一方面可能和死循环有关

11、描述/etc/fstab 文件中每个字段的含义?

(1)第一列:将被加载的文件系统名;

(2)第二列:该文件系统的安装点;

(3)第三列:文件系统的类型;

(4)第四列:设置参数;

(5)第五列:供备份程序确定上次备份距现在的天数;

(6)第六列:在系统引导时检测文件系统的顺序。

12、 如何在打包时排除指定目录?

$ tar --exclude=/home/dmtsai --exclude= .tar -zcvf myfile.tar.gz /home/ /etc

mysql update user set password=password('123123') where user='root';


本文名称:linux基本命令面试 linux基本命令面试题及答案
文章分享:http://cdxtjz.cn/article/hgogdc.html

其他资讯