Linux批量文件管理shell
實驗目標:編程
經過本實驗掌握批量創建、移動、複製文件或目錄的操做,也能夠做爲後續shell編程的基礎。3d
實驗步驟:blog
一、如今有十臺終端機器,要爲每臺機器創建3個文件,總共要創建30個文件。基礎
文件名稱爲system_change-machineY-month_Z.txt終端
其中Y爲機器編號,1-10,Z爲月份,jan,feb,marim
二、一次性建立3個目錄,分別爲jan,feb,mar,根據月份把新建的文件移動到相應的目錄d3
三、刪除和機器九、機器10相關的全部文件touch
參考命令:img
一、 批量創建文件
[root@localhost student]# touch system_change-machine{1..10}-month_{jan,feb,mar}.txt
{1..10} :這裏的名稱爲1到10共10個,中間是兩個句點
{jan,feb,mar} :這裏的名稱爲3個,用逗號隔開,總文件是10x3=30個
ls system* :顯示全部system開頭的文件,這裏的星號爲通配符,意思匹配任何字符
2.2 批量創建文件夾
[root@localhost student]# mkdir -p /home/syschanges/{jan,feb,mar}
mkdir -p ,自動創建多層目錄,好比mkdir –p /home/1/2/3,會把三個目錄都創建
{jan,feb,mar} , 創建平行的子目錄,而不是多層次目錄
經過ls –l 查看結果
2.3 批量移動文件
創建3個目錄
[root@localhost student]# mkdir -p /home/student/system_change-machine/jan
[root@localhost student]# mkdir -p /home/student/system_change-machine/feb
[root@localhost student]# mkdir -p /home/student/system_change-machine/mar
批量移動(這裏的星號爲通配符)
[root@localhost student]# mv system_change-machine*jan.txt /home/student/system_change-machine/jan
[root@localhost student]# mv system_change-machine*feb.txt /home/student/system_change-machine/feb
[root@localhost student]# mv system_change-machine*mar.txt /home/student/system_change-machine/mar
查看結果
2.4 批量刪除
[root@localhost jan]# rm -f /home/student/system_change-machine/*/system_change-machine{9,10}*.txt
中間的星號表明任何文件夾,這裏是jan,feb,mar三個文件夾下
{9,10},表明文件名machine後面有9或10的文件
後面的星號表明任何字符
rm –f ,f參數爲強制刪除,不問yes或no
查看結果,這裏的cd ../爲上一層目錄的意思