1. 程式人生 > >Shell的經典面試題

Shell的經典面試題

lap mil 文件的 rc.d 備份 $1 call div 添加

1、將當前目錄下大於10K的文件轉移到/tmp目錄下

find . -size +10 -exec mv {} /tmp \;

2、編寫一個shell,判斷用戶輸入的文件是否是一個字符設備文件。如果是,請將其拷貝至/dev目錄下

技術分享圖片
#!/bin/bash
read -p Please input file name:  Filename
if [ -c "$Filename"  ]
  then
    mv $Filename /dev/
fi
View Code

3、請解釋該腳本中註釋行的默認含義與基礎含義

技術分享圖片
#!/bin/sh
# chkconfig: 
2345 20 80 # /etc/rc.d/rc.httpd # Start/stop/restart the Apache web server. # To make Apache start automatically at boot, make this # file executable: chmod 755 /etc/rc.d/rc.httpd case "$1" in start) /usr/sbin/apachectl start ;; stop) /usr/sbin/apachectl stop ;; restart) /usr/sbin/apachectl restart ;;
*) echo "usage $0 start|stop|restart" ;; esac
View Code
  • 請解釋該腳本中註釋行的默認含義與基礎含義
  • 第一行:指定腳本文件的解釋器
  • 第二行:指定腳本文件在chkconfig程序中的運行級別,2345代表具體用戶模式啟動(可用‘-‘代替),20表示啟動的優先級,80代表停止的優先級。優先級數字越小表示越先被執行
  • 第三行:告訴使用者腳本文件應存放路勁
  • 第四行:告訴用戶啟動方式以及啟動的用途
  • 第五行:對於腳本服務的簡單描述

4、寫一個簡單的shell添加10個用戶,用戶名以user開頭

技術分享圖片
#!/bin/bash
for i in {1..10} do useradd user$i done
View Code

5、寫一個簡單的shell刪除10個用戶,用戶名以user開頭

技術分享圖片
#!/bin/bash
for i in {1..10}
  do
    userdel -r user$i
  done
View Code

6、寫一個shell,在備份並壓縮/etc目錄的所有內容,存放在/tmp/目錄裏,且文件名如下形式yymmdd_etc.tar.gz

技術分享圖片
#!/bin/bash
NAME=$(date +%y%m%d)_etc.tar.gz
tar -zcf /tmp/${NAME} /etc
View Code

Shell的經典面試題