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日志整理\n/bin/sh /scripts/nginxlog.sh &>/dev/null" >>/var/spool/cron/`who | awk '{print$1}'` 17、请列出以下命令的功能解析 sort、grep、tail、scp、rsync、ssh、netstat、find、sed 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 cp;cp /test/no1.txt /tmp/test.txt 解析:临时删除系统别名,使用命令本身的意义 28、只查看test.txt文件(100行)内第20到第30行的内容第20行到第30行,一共是11行 ① head -30 test.txt | tail -11 ② sed -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目录下的..
静静的学习一阵子儿...