Linux生产应用常见习题汇总

1、如果想修改开机内核参数,应该修改哪个文件? C
    A./dev/sda1    (scsi sata sas,是第1块盘的第1个分区)
    B./etc/fstab (开机磁盘自动挂载配置文件)
    C./etc/grub/grub.conf (内核参数配置文件)
    D./etc/rc.local (开机自启动服务文件)

    
2、在Centos linux中,备份脚本bak.sh,需要在周一至周五每天下午1点整合和晚上8点整运行一次,下面哪条可以完成这项工作? D
    A.0 13,20 * 1-5 * bak.sh    B.0 13,20 1,5 * * bak.sh
    C.* 13,20 * * 1-5 bak.sh    D.0 13,20 * * 1,2,3,4,5 bak.sh
 
 
3、Your umask is set to 002.If you create a new file,what will the permission of the new file be? C
    A.-------w-        B.rwxrwx-w-        C.rw-rw-r--        D.rwxrwxr-x
    
    
4、如何查看二进制文件内容
    od    查看二进制文件
        -t    指定进制

        
5、写一个脚本,实现批量添加20个用户user1-20,密码为用户名和后面跟5个随机字符
    #!/bin/sh
    # 思路:通过for循环,创建多个用户和用户其对应的随机密码文件,在用chpasswd命令实现批量设置密码

    # 创建user1~20用户,并创建其对应的随机密码文件
    for ((i=1; i<=20; i++)); 
    do
    /usr/sbin/useradd user$i    # 创建用户
    /bin/echo -e "user$i:user$i`echo user$i|md5sum|cut -c 5-9`">>useradd.txt;    # 创建随机密码文件 
    done

    
6、统计/var/log/下文件个数
    find /var/log/ | wc -l

    
7、常用linux命令
显示指定工作目录下的内容:ls; 复制:cp; 移动:mv; 删除:rm;
查看服务器负载:top; 查看本地网卡信息:ifconfig,ip; 查看文档:cat,more,head,tail,less,vim;
显示磁盘使用情况:df; 编辑文本:vi,vim,sed; 查看当前系统内存使用情况:free;
查看占用80端口的进程:netstat -lntpu|grep "80",lsof -i :80; 打印出file1文件第1行到第3行:head -3 file1,head -n 3 file1;
将/home/tong/test 目录下大于100k的文件转移到/tmp目录: 
    1.find /home/tong/test/ -type f -size +100k -exec mv {} /tmp/ ;
    2.find /home/tong/test/ -type f -size +100k | xargs -i mv {} /tmp/
    3.mv `find /home/tong/test/ -type f -size +100k` /tmp/

    
8、一个文件的权限为:drwxr-xr-x,请写出权限的数值表示是什么,此文件类型是什么
    r读权限,w写权限,x执行权限,d目录文件,前rwx指的是文件属主权限,中间r-x指的是文件属组权限,后r-x指的是文件其他人权限

    
9、请写出redhat中,配置网卡及dns的配置文件是什么
    网卡:/etc/sysconfig/network-scripts/ifcfg-eth*
    DNS:/etc/resolv.conf

    
10、将监控脚本"/usr/local/nagios/libexe/m.sh"放入crontab内,使其每7分钟执行1次,请写出在crontab内添加的内容
    */7 * * * * /bin/sh /usr/local/nagios/libexe/m.sh &>/dev/null

    
11、请写出删除/backup/mysql/目录下三天前备份文件的命令
    1.find /backup/mysql/ -type f -mtime +3 -exec rm -f {} ;
    2.find /backup/mysql/ -type f -mtime +3 | xargs rm -f
    3.rm -f `find /backup/mysql/ -type f -mtime +3`

    
12、在命令重定向中 >、1>、2>、&>、>>各表示什么意思
    >和1>是一样的,为标准正确输出重定向(仅命令执行正确时,执行结果输出到一个文件)
    2>是错误输出重定向(仅命令执行错误时,执行报错输出到一个文件)
    &>输出重定向(无论命令执行正确与否,执行结果都输出到一个文件)
    >>为标准正确追加重定向(仅命令执行正确时,执行结果追加到一个文件的末尾处)

    
13、请列出linux下如何进入单用户的方法
    1.编辑/etc/inittab,将启动模式改为1,重启Linux系统
    2.命令行界面下,执行 "init 1" 命令

    
14、磁盘空间被占满如何定位问题?inode用尽如何定位问题?
    1.df -h查看磁盘空间使用情况,若block没满,则df -i查看系统inode使用情况
    2.如果是inode满了,优先检查是否是因为定时任务书写不规范导致mail邮件目录下小文件过多,如果是,清理邮件目录下的小文件,重新规范编写定时任务(即定时任务命令后加 "&>/dev/null"3.如果不是邮件目录下堆满了小文件,则通过find或其他命令遍历系统文件,找出小文件过多的位置,定位问题源,进行处理,避免下次再出现类似问题

    
15、让系统开机启动某个脚本或服务有哪些方式?
    1.将启动脚本或服务的命令添加到/etc/rc.local文件中
    2.为服务配置chkconfig启动脚本,通过chkconfig控制自启动与否

    
16、配1个定时任务,每天0点整将/var/log/nginx目录下7天以前大于1G的日志文件移动到/date/2017xxxx(以前1天日期命名)的目录中
    mkdir /scripts
    echo 'mkdir -p /date/`date -d "1 day ago" +%Y%m%d` && find /var/log/nginx/ -type f -name "*.log" -mtime +7 -size +1G -exec mv {} /date/`date -d "1 day ago" +%Y%m%d` ;' >/scripts/nginxlog.sh
    echo -e "# nginx日志整理
/bin/sh /scripts/nginxlog.sh &>/dev/null" >>/var/spool/cron/`who | awk '{print$1}'`
    
    
17、请列出以下命令的功能解析
    sortgreptailscp、rsync、ssh、netstat、findsed
    sort文件排序,例:ls | sort -R
    grep过滤想要的内容,例:netstat -lntpu | grep 80
    tail查看文件的尾部,常常用tailf或tail -F动态查看文件尾部内容,例:tailf /var/log/messages
    scp传输文件,例:scp root@10.0.0.188:love root@10.0.0.188:/tmp/test/
    rsync同步文件命令,常用于备份,可实现全量增量备份
    ssh连接终端,常用于远程连接
    netstat查看网络连接状态命令
    find查找文件命令
    sed流编辑器,可实现文件内容的过滤以及增删查改

    
18、如何查看swap分区、内存的大小及使用情况?buffer与cached什么区别?
    查看swap分区、内存命令:free -h
    buffer缓冲区,常用于提供写操作中介区;
    例:在生产环境中,有些服务器需要大量的写操作,大量的写操作会过量的消耗磁盘io,影响服务器性能,所以可以通过把需要写入服务器磁盘中的数据先存放到buffer中,待buffer中数据达到一定大小后,再统一将其写入到磁盘中,这样可以大大的优化服务器的性能
    cached缓存区,常用于提供读操作中介区;
    例:在生产环境中,有些服务器需要大量的读操作(如淘宝网站),磁盘的读取速度太慢了,大大影响了服务器的访问速度,因此,可以通过构建cached(cached的读物速度很快),将读取频率很大的文件内容存放到cached中,当出现访问时,可以直接从cached中提取数据,提升网站的访问速度

        
19、如何看到某用户对系统所做的操作和系统登录记录
    who查看当前登陆的用户,last查看近期登陆的用户列表,lastlog查看历史登陆过的用户及用户上次登陆的时间
    通过history命令或cat ~/.bash_history可以查看用户对系统所做过的操作

    
20、简述raid0 raid1 raid5 三种工作模式的工作原理及特点
    raid0:至少2块盘,系统有数据请求时可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求;raid0读写速度快(单个磁盘2倍以上),磁盘利用率高,但没有数据备份功能,数据安全性低
    raid1:至少2块盘,磁盘镜像实现数据冗余,在成对独立磁盘上产生互为备份的数据;raid1数据完全备份,数据安全性高,但读写速度慢,磁盘利用率低
    raid5:至少3块盘,把数据和与其相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,仅坏1块盘不会导致数据丢失;读取速度较快(比raid0稍慢),磁盘利用率较高,有一定的数据冗余性,但冗余性不高,当同时坏多块盘时,会导致数据丢失

    
21、找出系统内大于50k,小于100k的文件,并删除它们
    find / -type f -size +50k -size -100k | xargs ls -lh
    find / -type f -size +50k -size -100k -exec rm -f {} ;

    
22、用sed命令实现直接将文件DU.TXT中的所有abc替换成def
    sed 's#abc#def#g' DU.TXT -i

    
23、怎么把脚本添加到系统服务里,即用service来调用
    如把/etc/init.d/xinetd脚本添加到系统服务里,使其能被service调用,启动tftp服务
    在/etc/services里添加如下行内容:
    xinetd          69/udp                  # tftp

    
24、列出/home/tom/下各个子目录占用的空间大小
    1.find home/tom/ -type d | xargs du --max-depth=0 -h
    2.find /etc -type d -exec du --max-depth=0 -h {} ;
    3.du --max-depth=0 -h `find /etc -type d`
    4.du --max-depth=0 -h $(find /etc -type d)

    
25、编写shell脚本,实现功能:在目录/tmp下找到10个以abc开头的文件,然后把这些文件的第一行保存到文件new中
    #!/bin/sh
    find /tmp/ -type f -name "t*" | xargs head -1q >>new

    
26、12块2TB磁盘在不考虑HotSpare的情况下做RAID0、RAID1、RAID5后空间分别为 24TB, 12TB, 22TB。
            
27、已知/tmp目录下存在了no1.txt文件,如何执行命令才能把/test/no1.txt拷贝到/tmp下覆盖掉/tmp/test.txt,而让Linux系统不提示是否覆盖(root权根下)
    ① cp /test/no1.txt /tmp/test.txt                解析:使用命令本身的意义,即不使用别名
    ② /bin/cp /test/no1.txt /tmp/test.txt            解析:全路径执行命令
    ③ unalias cpcp /test/no1.txt /tmp/test.txt        解析:临时删除系统别名,使用命令本身的意义

    
28、只查看test.txt文件(100行)内第20到第30行的内容第20行到第30行,一共是11行
    ① head -30 test.txt | tail -11sed -n '20,30'p test.txt            解析:-n(取消默认输出);p(打印行号数据)
    ③ awk 'NR>19 && NR<31' test.txt     解析:NR(行号);awk ''
    

29、什么是linux运行级别,请描述linux的运行级别不同数字的含义
    cat /etc/inittab
    0 系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动
    1 单用户模式,root权限,用于系统维护,禁止远程登录,就像Windows下的安全模式登录
    2 多用户模式,没有NFS网络支持
    3 完整多用户文本模式,有NFS,登录后进入控制台命令行模式
    4 系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置
    5 图形化模式,登录后进入图形GUI模式,X Windows系统
    6 重启模式,默认运行级别不能设为6,否则不能正常启动。运行init 6系统就会重启
        

30、linux下通过mkdir 命令创建一个新文件/caiyun/ddu,它的硬链接数是多少,为什么?
    如果在/caiyun/ddu下面再创建一个目录test。再问/caiyun/ddu的硬链接数是多少?为什么?
    1. 硬链接数为2,其分别为ddu和ddu目录下的.
    2. 硬链接数为3,其分别为ddu、ddu目录下的.和test目录下的..
    
原文地址:https://www.cnblogs.com/Caiyundo/p/10471328.html