一、寫一個腳本,完成以下功能bash
(1) 傳遞一個磁盤設備文件路徑給腳本,判斷此設備是否存在;ide
(2) 若是存在,則顯示此設備上的全部分區信息;函數
#!/bin/bash # # finddev.sh # 傳遞一個磁盤設備文件路徑給腳本,判斷此設備是否存在 # 若是存在,則顯示此設備上的全部分區信息 if [ $# -ge 1 ];then for dev in $@;do if [ -b $dev ];then fdisk -l $dev else errdev=$errdev" "$dev fi done [[ $(echo $errdev | wc -c) -gt 1 ]] && echo -e "\n============如下設備不存在==============\n$errdev" else echo "請輸入一個存在的磁盤設備" fi
腳本測試工具
[root@localhost script]# bash finddev.sh 請輸入一個存在的磁盤設備 [root@localhost script]# bash finddev.sh /dev/adb /dev/ma ============如下設備不存在============== /dev/adb /dev/ma [root@localhost script]# bash finddev.sh /dev/sda Disk /dev/sda: 85.9 GB, 85899345920 bytes 255 heads, 63 sectors/track, 10443 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0004d0da Device Boot Start End Blocks Id System /dev/sda1 * 1 64 512000 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 64 10444 83373056 8e Linux LVM
二、寫一個腳本,完成以下功能測試
傳遞一個參數給腳本,此參數爲gzip、bzip2或者xz三者之一;ui
(1) 若是參數1的值爲gzip,則使用tar和gzip歸檔壓縮/etc目錄至/backups目錄中,並命名爲/backups/etc-20160613.tar.gz;rest
(2) 若是參數1的值爲bzip2,則使用tar和bzip2歸檔壓縮/etc目錄至/backups目錄中,並命名爲/backups/etc-20160613.tar.bz2;ip
(3) 若是參數1的值爲xz,則使用tar和xz歸檔壓縮/etc目錄至/backups目錄中,並命名爲/backups/etc-20160613.tar.xz;虛擬機
(4) 其它任意值,則顯示錯誤壓縮工具,並執行非正常退出;it
三、寫一個腳本,接受一個路徑參數:
(1) 若是爲普通文件,則說明其可被正常訪問;
(2) 若是是目錄文件,則說明可對其使用cd命令;
(3) 若是爲符號連接文件,則說明是個訪問路徑;
(4) 其它爲沒法判斷;
四、寫一個腳本,取得當前主機的主機名,判斷
(1) 若是主機名爲空或爲localhost,或爲"(none)",則將其命名爲mail.magedu.com;
(2) 不然,顯示現有的主機名便可;
五、寫一個腳本,完成以下任務 :
(1) 按順序分別複製/var/log目錄下的每一個直接文件或子目錄至/tmp/test1-testn目錄中;
(2) 複製目錄時,才使用cp -r命令;
(3) 複製文件時使用cp命令;
(4) 複製連接文件時使用cp -d命令;
(5) 餘下的全部類型,使用cp -a命令;
六、請詳細描述CentOS系統的啓動流程(詳細到每一個過程系統作了哪些事情)
七、爲運行於虛擬機上的CentOS 6添加一塊新硬件,提供兩個主分區;
(1) 爲硬盤新建兩個主分區;併爲其安裝grub;
(2) 爲硬盤的第一個主分區提供內核和ramdisk文件; 爲第二個分區提供rootfs;
(3) 爲rootfs提供bash、ls、cat程序及所依賴的庫文件;
(4) 爲grub提供配置文件;
(5) 將新的硬盤設置爲第一啓動項並可以正常啓動目標主機;
八、寫一個腳本
(1) 能接受四個參數:start, stop, restart, status
start: 輸出「starting 腳本名 finished.」
...
(2) 其它任意參數,均報錯退出;
九、寫一個腳本,判斷給定的用戶是否登陸了當前系統;
(1) 若是登陸了,則顯示用戶登陸,腳本終止;
(2) 每3秒鐘,查看一次用戶是否登陸;
十、寫一個腳本,顯示用戶選定要查看的信息;
cpu) display cpu info
mem) display memory info
disk) display disk info
quit) quit
非此四項選擇,則提示錯誤,並要求用戶從新選擇,只到其給出正確的選擇爲止;
十一、寫一個腳本
(1) 用函數實現返回一個用戶的UID和SHELL;用戶名經過參數傳遞而來;
(2) 提示用戶輸入一個用戶名或輸入「quit」退出;
當輸入的是用戶名,則調用函數顯示用戶信息;
當用戶輸入quit,則退出腳本;進一步地:顯示鍵入的用戶相關信息後,再次提醒輸出用戶名或quit:
十二、寫一個腳本,完成以下功能(使用函數)
(1) 提示用戶輸入一個可執行命令的名字;獲取此命令依賴的全部庫文件;
(2) 複製命令文件至/mnt/sysroot目錄下的對應的rootfs的路徑上,例如,若是複製的文件原路徑是/usr/bin/useradd,則複製到/mnt/sysroot/usr/bin/目錄中;
(3) 複製此命令依賴的各庫文件至/mnt/sysroot目錄下的對應的rootfs的路徑上;規則同上面命令相關的要求;