練習如下:
1、取出/etc/passwd檔案的第6行;
#sed -n ‘6p’ /etc/passwd

2、取出當前系統上所有用戶的shell,要求,每種shell只顯示一次,并且按順序進行顯示;
#awk -F: '{print $NF}' /etc/passwd | sort -u

3、如果/var/log/messages檔案的行數大于100,就顯示好大的檔案
#[ `cat /var/log/messages | wc -l` -gt 100 ] && echo "好大的檔案" || echo "不大的檔案"

4、顯示/etc目錄下所有以pa開頭的檔案,并統計其個數;
# find /etc/ -maxdepth 1 -name "pa*" | wc -l

5、如果用戶 hadoop 不存在則就添加 , 否則將顯示用戶已存在
# id hadoop &> /dev/null && echo "用戶已存在" || useradd hadoop
# id hadoop &> /dev/null && echo "用戶已存在" || useradd hadoop

6、撰寫一個 Shell 程式 mkf,此程式的功能是:顯示 root 下的檔案資訊,然后建立一個 kk 的檔案夾,在此檔案夾下建立一個檔案 aa,修改此檔案的權限為可執行
#! /bin/bash
ls -l /root
mkdir /root/kk
touch /root/kk/aa
chmod a+x /root/kk/aa


7、撰寫一個 Shell 程式 —test3,程式執行時從鍵盤讀入一個目錄名,然后 顯示該目錄下的所有檔案的資訊
#!/bin/bash
read -p "請輸入一個目錄名:" x
ls -l $x


8、撰寫一個 Shell 程式 —test4,從鍵盤讀入 x、y 的值,然后對其做加法運算,最后輸出其結果
if [ -n "$x" -a -n "$y" ];then
if [[ "$x" =~ ^[0-9]+$ ]] && [[ "$y" =~ ^[0-9]+$ ]];then
z=$[x+y]
echo "x+y=$x+$y=$z"
else
echo "請輸入數字:"
fi
else
echo "請輸入內容"
fi

9、寫一個腳本,完成以下要求:
首先給定一個用戶:
1、如果該用戶的UID為0,就顯示此為管理員;
2、否則,就顯示其為普通用戶;
#!/bin/bash
read -p "輸入一個用戶名:" a
[ `id -u $a` -eq 0 ] && echo "此用戶為管理員" || echo "此用戶為普通用戶"

10、練習:寫一個腳本
判斷當前系統上是否有用戶的默認shell為bash;
如果有,就顯示有多少個這類用戶;否則,就顯示沒有這類用戶;
#!/bin/bash
grep "bash" /etc/passwd &> /dev/null
if [ $? -eq 0 ];then
echo "有多個這類用戶"
else
echo "沒有這類用戶"
fi
grep "bash" /etc/passwd | cut -d":" -f1

11、練習:寫一個腳本
給定一個檔案,比如/etc/inittab
判斷這個檔案中是否有空白行;
如果有,則顯示其空白行數;否則,顯示沒有空白行,
#!/bin/bash
a=`grep "^$" /etc/inittab |wc -1`
if [ $a -gt 0 ];then
echo "含有空白行"
grep -n ^$ /etc/inittab
else
echo "沒有空白行"
fi

12、練習:寫一個腳本
給定一個用戶,判斷其UID與GID是否一樣
如果一樣,就顯示此用戶為“good guy”;否則,就顯示此用戶為“bad guy”,
#!/bin/bash
read -p "請輸入一個用戶:" user
[ `id -u $user` -eq `id -g $user` ] && echo "good guy" || echo "bad guy"

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/291303.html
標籤:其他
上一篇:一起重新開始學大資料-java篇-DAY26反射,正則運算式
下一篇:計算機視覺 訓練營分享
