LINUX探路 shell指令碼程式設計練習

2021-09-23 13:33:19 字數 2097 閱讀 2439

1、建立使用者:

批量建立使用者,使用者名為:班級+學號+暱稱;每個班為乙個組群,能夠自動刪除所建立的使用者,每成功建立或刪除乙個使用者,在螢幕上顯示使用者名稱

#!/bin/bash

echo "start input username"

grouppath=/etc/group

grouplist=()

userlist=()

groupcount=1

for ((i=1;i<3;i=i+1))

doread -p "input classname " classname

read -p "input username " username

echo "uname is $_$"

grep $ $ > /dev/null

if [ $? != 0 ]; then

echo "groupadd $"

groupadd $

grouplist[$]=$

groupcount=$[$ + 1]

fiecho "useradd $_$"

useradd -g $ $_$ 

userlist[i]=$_$

done

echo "groupcount $"

echo "grouplist $ $"

echo "userlist $ $"

for ((i=1;i<3;i=i+1))

doecho "userdel $]}"

userdel $]}

rm -rf /home/$]}

rm -rf /var/spool/mail/$]}

done

for ((i=1;i<$;i=i+1))

doecho "groupdel $]}"

groupdel $]}

done

2、批量建立10個目錄dir$1-10

每個目錄下建立10個檔案:dir$+file$1-10

然後修改所有檔案許可權為755

等待輸入乙個數1-10

將對應dir$目錄下的所有檔案增加副檔名bak,並將目錄下的所有名字寫到./dir$bak下,刪除所有包含該數字的目錄和檔案

echo "" > a.out 覆蓋 >> 追加

#!/bin/bash

echo "hanle file begin"

for i in

domkdir "dir$"

for j in

dotouch "dir$/dir$file$"

chmod 755 "dir$/dir$file$"

done

done

read -p "input dir num: " dirnum

for filename in dir$/*

doecho "filename: $" 

mv $ $.bak

touch dir$.bak

echo $.bak >> dir.bak

done

rm -rf ./*$*

rm -rf ./*/*$*

3、需要寫乙個工作例程使用crontab

首先寫乙個指令碼放在/root/mine/mine.sh

#!/bin/bash

datett=`date +%f`

touch /root/mine/$.txt

然後修改指令碼 chmod 777 /root/mine/mine.sh

寫工作排程:crontab -e

00 18 * * * /root/mine/mine.sh -----------每天18:00執行

4、檢視/etc/passwd中包含『aa'的所有使用者並儲存到file中

grep "*aa*" /etc/passwd | cut -d: -f1 > file    ----------cut -d: -f1 代表使用:將字串分割開,並取第一段

5、逐步讀取檔案的每一行並進行處理:

for line in $(cat data.dat)

do echo "file:$"

done

6、統計/home目錄下的檔案數量

ls /home |wc -l

linux探路 linux命令

1 建立使用者組 groupadd project 2 建立使用者 useradd g project username 3 groups 檢視當前登入使用者的組內成員 groups test 檢視test使用者所在的組,以及組內成員 whoami 檢視當前登入使用者名稱 4 vim操作 曾經也在找...

Linux實驗 Linux下的shell程式設計

某單位的系統管理員計畫用shell程式設計編寫乙個程式實現usb裝置的自動掛載。程式的功能如下 運算程式時,提示使用者輸入 y 或 n 確定是不是掛載usb裝置。如果使用者輸入 y 則掛載這個usb裝置。提示使用者輸入 y 或 n 確定是不是複製文字。如果使用者輸入 y 則顯示檔案列表,然後提示使用...

Linux之shell指令碼

1.shell是系統的使用者介面,提供了使用者與核心進行互動操作的一種介面。它接收使用者輸入的命令並把它送入核心去執行。2.每個linux系統的使用者可以擁有他自己的使用者介面或shell,用以滿足他們自己專門的shell需要。同linux本身一樣,shell也有多種不同的版本 比如bash或sh ...