1. 程式人生 > >Linux練習題1

Linux練習題1

root帳號登入,檢視/tmp目錄,如果/tmp目錄下沒有子目錄myshare,則建立該目錄

cd /tmp
mkdir myshare

建立帳號testuser

useradd testuser

把myshare目錄及其目錄下的所有檔案和子目錄的擁有者該為testuser,工作組改為users

chown -R testuser:user myshare

切換至testuser帳號。進入/tmp/myshare目錄,採用vim編輯器編寫以上程式,程式名稱為hello.sh:

!/bin/bash
echo "app start"
echo -e
func (){
  echo "hello world!"
}
func
echo -e
echo "app end"

su testuser
vim hello.sh

儲存hello.sh後,給予hello.sh擁有者可讀、可寫和可執行的許可權,同組可讀可執行,其他人可執行許可權

chmod 751 hello.sh

輸入./hello.sh,觀察程式輸出的效果

進入testuser的使用者主目錄,在這個目錄下建立hello.sh的軟連結,同時拷貝hello.sh到該目錄下並改名為hello.sh.bak,要求拷貝時保留檔案屬性值

cd ~
ln -s /tmp/myshare/hello.sh hello.sh;cp -p /tmp/myshare/hello.sh ./hello.sh.bak

退出testuser帳號,回到root帳號,從/開始查詢字尾名為.conf的所有檔案,把輸出結果重定向到testuser帳號的主目錄下的output.txt檔案

find / -name "*.conf" >> /home/testuser/output.txt

在上一步操作的.conf檔案中找出檔案容量最大的和最小那個,並把這兩個檔案的容量大小輸出到output.txt檔案中

find / -name "*.conf" -exec stat -c "%s %n" {} \; | sort -nr | head -1 | cut -f1 -d'.' >> /home/testuser/output.txt

find / -name "*.conf" -exec stat -c "%s %n" {} \; | sort -nr | tail -1 | cut -f1 -d'.' >> /home/testuser/output.txt

統計出系統中有多少個使用者帳號,把數量輸出到output.txt檔案中

wc -l /etc/passwd

把output.txt檔案轉換為windows記事本可正規開啟的格式

unix2dos /home/testuser/output.txt

tar打包壓縮testuser帳號主目錄下的所有檔案

tar -cvf /home/testuser.gz /home/testuser