編寫Shell腳本來管理文件是一個非常實用的技能,可以幫助你自動化許多常見的文件操作任務。以下是一些基本的示例,展示了如何編寫Shell腳本來管理文件。
#!/bin/bash
# 列出當前目錄中的所有文件
ls -l
#!/bin/bash
# 創建一個名為new_directory的新目錄
mkdir new_directory
#!/bin/bash
# 刪除名為old_file.txt的文件
rm old_file.txt
#!/bin/bash
# 復制文件source.txt到destination.txt
cp source.txt destination.txt
#!/bin/bash
# 將文件source.txt移動到destination_directory目錄中
mv source.txt destination_directory/
#!/bin/bash
# 將文件old_name.txt重命名為new_name.txt
mv old_name.txt new_name.txt
#!/bin/bash
# 查找當前目錄及其子目錄中所有.txt文件
find . -type f -name "*.txt"
#!/bin/bash
# 刪除當前目錄及其子目錄中所有.log文件
find . -type f -name "*.log" -exec rm {} \;
#!/bin/bash
# 備份文件source.txt到backup目錄中,并添加時間戳
cp source.txt backup/source_$(date +%Y%m%d%H%M%S).txt
#!/bin/bash
# 壓縮目錄my_directory為my_directory.tar.gz
tar -czvf my_directory.tar.gz my_directory
#!/bin/bash
# 解壓縮my_directory.tar.gz到當前目錄
tar -xzvf my_directory.tar.gz
#!/bin/bash
# 批量重命名當前目錄中的所有.txt文件,添加前綴new_
for file in *.txt; do
mv "$file" "new_$file"
done
#!/bin/bash
# 刪除當前目錄及其子目錄中的所有空目錄
find . -type d -empty -delete
#!/bin/bash
# 統計當前目錄中.txt文件的數量
ls -l *.txt | grep -v ^d | wc -l
#!/bin/bash
# 合并file1.txt, file2.txt, file3.txt為一個文件merged.txt
cat file1.txt file2.txt file3.txt > merged.txt
你可以將這些腳本保存為.sh
文件,然后通過命令行運行它們。例如,如果你將第一個腳本保存為list_files.sh
,你可以通過以下命令運行它:
chmod +x list_files.sh
./list_files.sh
通過編寫和運行這些腳本,你可以大大提高文件管理的效率。