操作系統實驗報告
Linux編程基礎實驗
一、設計目的:
了解 Linux 編程環境和編程工具。
掌握基本的 Linux 系統命令及執行過程
了解 shell的作用及主要分類。
掌握shell 腳本程序運行原理及基礎語法,學會編寫簡單的 shell 腳本程序。
二、設計內容:
編寫 Linux bash 腳本文件實現查看目錄 home 中包含的文件數量和子目錄數量,并以以下格式輸出到文件 fle.ini 中,格式如下:
[ 文件夾 ]
文件夾下文件(夾)1
文件夾下文件(夾)2
...
[文件夾 2]
文件夾下文件(夾)1
文件夾下文件(夾)2
...
[Directories Count]
10
[ File Count ]
4
三、設計任務和要求:
3.1 實驗準備:
確保擁有 Linux 操作系統環境
了解基本的 Linux 命令行操作
了解 Bash 腳本的基礎語法
3.2 實驗基本知識及原理:
Linux 操作系統提供了強大的命令行工具,Bash 是其中一種常用的 Shell。Bash 腳本可以用于自動化執行一系列任務,包括文件和目錄的操作。在腳本中,可以使用循環、條件語句等結構,以及一系列 Linux 命令來實現特定的功能。
3.3 實驗說明:
創建一個 Bash 腳本文件(比如 count_files.sh
)。在腳本中使用循環和條件語句遍歷指定目錄下的文件和子目錄。輸出每個子目錄及其下文件的列表,并格式化輸出到指定的文件 file.ini
中。統計目錄數量和文件數量,將結果輸出到文件 file.ini
中。運行腳本并檢查生成的 file.ini
文件,確保輸出符合預期格式。
四、可選器材:
Linux實驗環境
五、參考資料:
《Linux 編程基礎》《計算機操作系統實驗指導》
六、實驗內容
count_files.sh
#!/bin/bash
# 輸出文件路徑
output_file="file.ini"
# 遍歷 home 目錄
for entry in "$HOME"/*; do
# 檢查是否為目錄
if [ -d "$entry" ]; then
# 輸出目錄名稱
echo "[$(basename "$entry")]"
# 遍歷目錄中的文件和子目錄
for sub_entry in "$entry"/*; do
# 輸出文件或子目錄
echo "$(basename "$sub_entry")"
done
# 輸出空行
echo ""
fi
done
# 統計目錄數量
directory_count=$(find "$HOME" -type d | wc -l)
# 統計文件數量
file_count=$(find "$HOME" -type f | wc -l)
# 輸出目錄數量
echo "[Directories Count]" >> "$output_file"
echo "$directory_count" >> "$output_file"
# 輸出文件數量
echo "[File Count]" >> "$output_file"
echo "$file_count" >> "$output_file"
echo "操作完成。請查看 $output_file 文件。"
確保在保存腳本后給予執行權限:
chmod +x count_files.sh
然后執行腳本:
./count_files.sh
這將生成一個包含目錄和文件信息的 file.ini
文件。
七、實驗結論
7.1 實驗難點
在之前沒有接觸過 Linux 操作系統,在使用命令行進行各項操作的時候,可能會有些不適應。Linux 的架構與 Windows 也存在一定的區別。
7.2.實驗重點
熟悉 Linux 的操作環境,了解 shell 腳本基本語法,通過執行腳本文件和C 語言程序進行對比,體會解釋執行和編譯執行的區別。