操作系統(tǒng)實(shí)驗(yàn)報(bào)告
Linux編程基礎(chǔ)實(shí)驗(yàn)
一、設(shè)計(jì)目的:
了解 Linux 編程環(huán)境和編程工具允青。
掌握基本的 Linux 系統(tǒng)命令及執(zhí)行過程
了解 shell的作用及主要分類。
掌握shell 腳本程序運(yùn)行原理及基礎(chǔ)語法,學(xué)會(huì)編寫簡單的 shell 腳本程序旁舰。
二罪帖、設(shè)計(jì)內(nèi)容:
編寫 Linux bash 腳本文件實(shí)現(xiàn)查看目錄 home 中包含的文件數(shù)量和子目錄數(shù)量披诗,并以以下格式輸出到文件 fle.ini 中俱萍,格式如下:
[ 文件夾 ]
文件夾下文件(夾)1
文件夾下文件(夾)2
...
[文件夾 2]
文件夾下文件(夾)1
文件夾下文件(夾)2
...
[Directories Count]
10
[ File Count ]
4
三、設(shè)計(jì)任務(wù)和要求:
3.1 實(shí)驗(yàn)準(zhǔn)備:
確保擁有 Linux 操作系統(tǒng)環(huán)境
了解基本的 Linux 命令行操作
了解 Bash 腳本的基礎(chǔ)語法
3.2 實(shí)驗(yàn)基本知識(shí)及原理:
Linux 操作系統(tǒng)提供了強(qiáng)大的命令行工具痊剖,Bash 是其中一種常用的 Shell韩玩。Bash 腳本可以用于自動(dòng)化執(zhí)行一系列任務(wù),包括文件和目錄的操作陆馁。在腳本中找颓,可以使用循環(huán)、條件語句等結(jié)構(gòu)叮贩,以及一系列 Linux 命令來實(shí)現(xiàn)特定的功能击狮。
3.3 實(shí)驗(yàn)說明:
創(chuàng)建一個(gè) Bash 腳本文件(比如 count_files.sh
)。在腳本中使用循環(huán)和條件語句遍歷指定目錄下的文件和子目錄益老。輸出每個(gè)子目錄及其下文件的列表彪蓬,并格式化輸出到指定的文件 file.ini
中。統(tǒng)計(jì)目錄數(shù)量和文件數(shù)量捺萌,將結(jié)果輸出到文件 file.ini
中档冬。運(yùn)行腳本并檢查生成的 file.ini
文件,確保輸出符合預(yù)期格式桃纯。
四酷誓、可選器材:
Linux實(shí)驗(yàn)環(huán)境
五、參考資料:
《Linux 編程基礎(chǔ)》《計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)》
六慈参、實(shí)驗(yàn)內(nèi)容
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
# 統(tǒng)計(jì)目錄數(shù)量
directory_count=$(find "$HOME" -type d | wc -l)
# 統(tǒng)計(jì)文件數(shù)量
file_count=$(find "$HOME" -type f | wc -l)
# 輸出目錄數(shù)量
echo "[Directories Count]" >> "$output_file"
echo "$directory_count" >> "$output_file"
# 輸出文件數(shù)量
echo "[File Count]" >> "$output_file"
echo "$file_count" >> "$output_file"
echo "操作完成呛牲。請(qǐng)查看 $output_file 文件刮萌。"
確保在保存腳本后給予執(zhí)行權(quán)限:
chmod +x count_files.sh
然后執(zhí)行腳本:
./count_files.sh
這將生成一個(gè)包含目錄和文件信息的 file.ini
文件驮配。
七、實(shí)驗(yàn)結(jié)論
7.1 實(shí)驗(yàn)難點(diǎn)
在之前沒有接觸過 Linux 操作系統(tǒng)着茸,在使用命令行進(jìn)行各項(xiàng)操作的時(shí)候壮锻,可能會(huì)有些不適應(yīng)。Linux 的架構(gòu)與 Windows 也存在一定的區(qū)別涮阔。
7.2.實(shí)驗(yàn)重點(diǎn)
熟悉 Linux 的操作環(huán)境猜绣,了解 shell 腳本基本語法,通過執(zhí)行腳本文件和C 語言程序進(jìn)行對(duì)比敬特,體會(huì)解釋執(zhí)行和編譯執(zhí)行的區(qū)別掰邢。