1、删除一个目录下的所有文件,但保留一个指定文件


比如环境如下:要保留sos.txt 其他全部删除

wKiom1nnDDqiRTUgAABTaUKiSWI659.png


linux面试题_第1张图片

通过!取反操作


wKiom1nnDQyj7YUnAABiI3QxSmI730.png

以上两种方式


grep查找    -v显示没有匹配到的内容   以下两种也可以

linux面试题_第2张图片

linux面试题_第3张图片


脚本中删除文件或目录时,生产环境的使用方法一般为:

find . -type f -name “*.log” -mtime +15 | xargs rm -f

删除当前目录下以.log结尾的文件,且修改时间在15天以上的


find . -type d -name “*.heihei” -mtime +30 | xargs rm -rf

删除当前目录下以.heihei结尾的目录,且修改时间在30天以上的  


2、已知/tmp目录下存在了no1.txt文件,如何执行命令才能把/test/no1.txt拷贝到/tmp下覆盖掉

/tmp/test.txt,而让Linux系统不提示是否覆盖(root权根下)

两种方法

(1)、\cp 作用是使用命令自身的意义    

像cp是有命令别名的,实际系统中是cp -i

(2)、取消其命令别名

(3)、使用命令的全路径来执行

linux面试题_第4张图片

linux面试题_第5张图片

不过这里的取消命令别名只是当前生效


怎么设置别名,下图 这里也是当前生效

wKioL1nnFD_jQKqTAAAmoyhp3QA184.png


如何全局有效,编辑/etc/profile文件,在最后加上

wKiom1nnGADRotRWAABcSAMg0bc475.png


再重读下文件(#source /etc/profile),配置生效。


而只想对当前用户有效定义在~/.bashrc文件中。


3、只查看ett.txt文件(100行)内第20到第30行的内容(企业常见问题)

第20行到第30行,一共是11行

以下四种方式:

linux面试题_第6张图片

linux面试题_第7张图片

sed -n '20,30'p a.txt也可以

-n 取消默认输出    

p 打印

linux面试题_第8张图片

NR 行号

linux面试题_第9张图片

linux面试题_第10张图片

-B 除显示匹配的,并显示该行之前的N before

-A 除显示匹配的,并显示该行之后的N after

-C 除显示匹配的,并显示该行之前后各的N


4、查找pq目录,以其子目录中,以.txt结尾的文件中,把oldboy替换为gogo

linux面试题_第11张图片

wKiom1nnI-vRM0nPAABdkaqxn-M050.png

先找到以.txt结尾的目录


linux面试题_第12张图片

然后用sed替换,并显示到标准输出界面,确认是否正确,无误再-i,替换原文件内容


ps:-g参数  globle全局的  没有的话,只替换该文件匹配到的第一个内容


也可这样写

a3c132c18afdc6d13d6e0841f2e9d0cc.png 


80c11a9717a33cd582647d74218fc5e1.png

-o 或者


9e667c6dcd300a4631f6274c4acd7bdd.png

-s 指定分隔符  默认是回车  这里是空格


!!重新执行上一条命令

!m 最近使用m开头的命令  !c  !i    !s  等等

!数字

linux面试题_第13张图片


cd -  返回当前目录上一次的目录


ctrl+d 退出当前登录 再按回车就行

类似exit  logout


ctrl+l 清屏     类似clear

 

复制粘贴  ctrl+shift+c   ctrl+shift+v


ctrl+a 跳到命令开头    ctrl+e 跳到命令结尾


ABCDEFGHIJK

ctrl+u  当前光标前的删除

EFGHIJK

ctrl+k  当前光标及后面的删除


ctrl+r 搜索

(reverse-i-search)`cat': cat /etc/issue


fecd9cf409b964c475626bd31dad1616.png

linux面试题_第14张图片

查看操作系统、查看内核版本


linux面试题_第15张图片

linux面试题_第16张图片

tree  -a 全部 包括隐藏  -L num 向下显示几层  -d 显示目录

 -i 不显示树枝    -f 显示全路径  

-dfiL 连用

linux面试题_第17张图片


linux面试题_第18张图片


a74749298e2b7e0f60f02a5b7b4225cf.png

linux面试题_第19张图片

方法二

linux面试题_第20张图片


linux面试题_第21张图片

5、在/etc/profile或者 /etc/bashrc   里面定义

echo alias rm='echo do not use it' >> /etc/profile


6#find /tmp-type f ! -name "passwd" | xargs rm -f



7、

linux面试题_第22张图片


linux面试题_第23张图片

8、

8e3a398b4600e2c49f82b153b33e831f.png


9、

linux面试题_第24张图片

linux面试题_第25张图片

显示的就是文件里面的内容

这就是xargs的作用


linux面试题_第26张图片

linux面试题_第27张图片

linux面试题_第28张图片


linux面试题_第29张图片

10、

70e052af3591503df32ecdc643f80b03.png


下面两条为删除作用(没考虑文件大小)

find /test -type f -name "*.txt" -mtime +7 -exec rm -f {} \;

find /test -type f -name "*.txt" -mtime +7 | xargs rm -f


date -s "2017/10/01 00:04"修改时间


11cat/etc/inittab

自己看


12

cache 是为了弥补高速设备和低速设备的鸿沟而引入的中间层,最终起到加快访问速度的作用。

buffer 的主要目的进行流量×××,把突发的大数量较小规模的 I/O 整理成平稳的小数量较大规模的I/O,以减少响应次数(比如从网上下电影,你不能下一点点数据就写一下硬盘,而是积攒一定量的数据以后一整块一起写,不然硬盘都要被你玩坏了)。


linux面试题_第30张图片

怎么显示行号

还能用vim 命令行模式 set nu

#awk '{print NR,$0}'gogogo.txt 这样也行

linux面试题_第31张图片


但是上面用grep的方式不能把空行也显示行号

linux面试题_第32张图片

grep这样才能把空行的行号显示出来


Linux系统中查看中文乱码,如何解决?

9bf27329d5f42f34524216bee226fd93.png

linux面试题_第33张图片


查看文件多少行  专门看行号的

wc -l 显示文件行数

wc -L 显示一个文件中的最长行的长度


添加20个用户,给随机5位密码

linux面试题_第34张图片


linux面试题_第35张图片


查看/var/log下有多少文件

#tree -L 1 /var/log/ | cut -d " " -f3

43

blob.png

blob.png


查看端口

linux面试题_第36张图片

linux面试题_第37张图片

linux面试题_第38张图片


显示一个文件的前三行:

linux面试题_第39张图片


将/tmp/d1目录下大于100K的文件,转移到/tmp/d2

linux面试题_第40张图片

linux面试题_第41张图片

blob.png

-t 反转 源和目标反转  目标tmp放前面 就可以了



将监控脚本“/usr/local/nginx/libexe/m.sh”放入crontab内,使每10分钟执行一次。

blob.png


每天00分将/var/log/nginx目录下7天前以前大于等于800k的日志文件移动到/tmp/date/201712xx(以前一天的日期命名)目录中。

模拟环境:

linux面试题_第42张图片

blob.png

写法一:

linux面试题_第43张图片

写法二:

blob.png


blob.png

*/1 是每分钟,而不是60/1


每星期一下午550/data目录下的所有目录和文件归档并压缩为文件:201712120600.backup.tar.gz

blob.png

这个可行

下面这个不行,不知道为什么。

blob.png



找出系统内大于50K,小于100K的文件,并删除它们。

blob.png

blob.png

blob.png

blob.png

sed命令实现直接将文件B.txt中的abc换成def

linux面试题_第44张图片

修改源文件得加-i


linux面试题_第45张图片

格式要对

linux面试题_第46张图片

blob.png


列出某目录下,各个子目录占用空间的大小

blob.png


在目录/tmp下找到10个以abc开头的文件,并把这些文件的第一行保存到文件new

linux面试题_第47张图片

linux面试题_第48张图片

想到一个排序的问题,与本题无关


linux面试题_第49张图片

linux面试题_第50张图片

linux面试题_第51张图片


root密码忘记

方法一:

linux面试题_第52张图片

blob.png

b,重启

linux面试题_第53张图片

修改密码


方法二:

linux面试题_第54张图片

linux面试题_第55张图片

blob.png

blob.png

删除密码

重新登录,创建密码

linux面试题_第56张图片


方法三:

就是chroot /mnt/sysimage/

passwd root 修改