linux磁盘与文件选择题,Linux 练习题-3文件与磁盘 命令

1、如何取得/etc/passwd文件的权限对应的数字内容,如rw-r--r--为644,要求使用命令取得644这样的数字

stat file | sed -nr 's#^.*\(0(.*)/-.*$#\1#gp'   #这里的\(是对(进行了转义

stat file | awk -F "[0/]" 'NR==4 {print $2}'

stat -c %a file

2、linux下通过mkdir命令创建一个新目录/cbl/one ,它的硬链接数是多少?

如果在/cbl/one 下面在创建一个目录two。/cbl/one的硬链接数又是多少?

(1)目录结构为/cbl/one/时,/cbl/one的硬链接数为2,分别是

/cbl/one

/cbl/one/.

(2)目录结构为/cbl/one/two/时,/cbl/one的硬链接数为3,分别是

/cbl/one

/cbl/one/.

/cbl/one/two/..

(3)目录下每多一个子目录,硬链接数加1

3、执行命令取出linux中eth0的IP地址(cut,  awk , sed)ifconfig eth0 | cut -d      ":" -f 2 | head -2 | tail -1 | cut -d " " -f 1

ifconfig eth0 | awk -F      "[ :]+" 'NR==2 {print $4}

ifconfig eth0 | sed -n '2p' |      sed 's#^.*dr:##g' | sed 's#       B.*$##g'

ifconfig eth0 | sed -n      '2s#^.*dr:##gp' | sed 's#  B.*$##g'

ifconfig eth0 |      sed -nr 's#^.*dr:(.*)  B.*$#\1#gp'(严格注意其中的空格)

grep IPADDR      /etc/sysconfig/network-scripts/ifcfg-eth0 | cut -d "=" -f2

4、交换/etc/passwd的第一列和最后一列

head -1 /etc/passwd | sed -nr 's#([^:]+)(:.*:)(/.*$)#\2#gp'

5、在一个命令上加什么参数可以实现后面命令的内容在一行输出:echo "123" ; echo "456"

echo -n "123" ; echo "456"

6、过滤文件中的空行

grep -v '^$'

grep '^[^$]'

sed '/^$/d'

awk '/^[^$]/' 2

7、写一个脚本,实现批量添加20个用户,用户名为user1-20,密码为5个随机字符

方法一:

#!/bin/bash

for n in `seq 20`;

do

useradd user$n

echo "`echo user$n|md5sum|cut -c4-8`" | passwd --stdin user$n

done

方法二:

#!/bin/bash

for n in `seq 20`;

do

useradd user$n

done

for n in `seq 20`:

do

echo "user$n:`echo user$n|md5sum|cut -c4-8`" | chpasswd

done

8、统计/var/log/下文件个数

ls -l /var/log/ | grep "^-" | wc -l

find /var/log/ -maxdepth 1 -type f | wc -l

tree -L 1 /var/log/ | tail -1

9、将监控脚本"/usr/local/nagios/libexe/m.sh"放入crontab内,使每7分钟执行一次

*/7 * * * * /bin/sh /usr/local/nagios/libexe/m.sh >/dev/null 2>&1

10、如果磁盘的inode节点满了,如何定位到问题所在地

find / -type f -size +1K | xargs -n 1 dirname | sort | uniq -c | sort -rn

11、设置一个定时任务,每天0点0分将/var/log/nginx目录下7天以前大于1G的日志文件移到/date/201804XX(以前一天日期命名的)目录中

(1)编写脚本move_log.sh,放入scripts目录

#!/bin/sh

dir=/date/`date +%F -d -1day`

mkdir $dir -p

/bin/find /var/log/nginx -type f -size +1G -mtime +7|xargs mv -t $dir

(2)编辑crontab

0 0 * * * /bin/sh /scripts/move_log.sh >/dev/null 2>&1

12、如何看到某用户对系统所做的操作和系统登录记录

cat /home/user/.bash_history  #看操作

last #列出目前与过去登入系统的用户相关信息

13、sed命令实现将a.txt中的abc替换为def

sed 's#abc#def#g' a.txt

14、列出/root下各个子目录占用的空间大小

cd /root

ls -d */ | xargs du -sh

15、编写shell脚本,在目录/tmp下找到10个以abc开头的文件,然后把这些文件的第一行保存到文件new中

(1)环境模拟:

touch abc{1..60}

find . -type f -name "abc*"| xargs -n 1 | awk '{print"echo cbl >"$0}'| bash

(2)实验:

find . -type f -name "abc*" | head | xargs head -1 -q > new

find . -type f -name "abc*" | head | xargs -n 1 head -1 >new

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值