99fb7f0e82
- Created a new sitemap.xml file for better SEO. - Added a compressed version of the sitemap as sitemap.xml.gz. - Introduced extra.css for custom styles, including Persian font support (IRANSansX). - Defined font-face rules for regular and bold styles of IRANSansX. - Implemented various text styles and layout adjustments for better readability. - Enhanced Mermaid diagram styles to support Persian text rendering.
4.0 KiB
4.0 KiB
پاسخ تمرینها
در این صفحه، پاسخهای پیشنهادی و مختصر برای تمرینها آورده شدهاند. این صفحه در منوی اصلی قرار نگرفته است.
تمرین ۱: دیدن سخت — پاسخ نهایی
فقط سه خط ls مطابق صورت سؤال:
ls -lth
ls -lth ../alireza
ls -lth ../../arshia/sub
تمرین ۲: بازی بازی — فرمانها
# حذف کامل پوشه arshia
rm -r -- bazi-bazi/arshia
# ساخت ali/reza و زنجیره s/a/l/i/b
mkdir -p bazi-bazi/ali/reza
mkdir -p bazi-bazi/s/a/l/i/b
تمرین ۳: دفترچه تیمی — فرمانها
# ساخت ساختار و فایلهای روزانه
mkdir -p ~/notebook/daily ~/notebook/ideas
cd ~/notebook
touch daily/day-01.txt daily/day-02.txt daily/day-03.txt
# ایجاد و نوشتن سه ایده در brainstorm.txt
printf "Idea 1\nIdea 2\nIdea 3\n" > ideas/brainstorm.txt
# تجمیع ایدهها در یک فایل
cat ideas/brainstorm.txt >> ideas/all-ideas.txt
# تأیید: تعداد خطوط و سپس نمایش محتوا
wc -l ideas/all-ideas.txt && cat ideas/all-ideas.txt
تمرین ۴: بایگانی پروژه — فرمانها
# 1) نسخه پشتیبان src در backup/src-copy
mkdir -p ~/mini-project/backup
cp -r ~/mini-project/src ~/mini-project/backup/src-copy
# 2) تغییر نام و جابهجایی draft.txt به notes.txt در ریشه پروژه
mv ~/mini-project/tmp/draft.txt ~/mini-project/notes.txt
# 3) حذف old.log
rm ~/mini-project/tmp/old.log
# 4) حذف tmp در صورت خالی بودن
rmdir ~/mini-project/tmp
تمرین ۵: شکار گزینهٔ درست — یکخطی نهایی
find ~/Downloads -type f -size +5M -exec ls -lh {} +
-type f: فقط فایلها-size +5M: بزرگتر از ۵ مگابایت-exec ls -lh {} +: نمایش خروجی با اندازهٔ خوانا
تمرین ۶: تقویم تیم پشتیبان — فرمانها
# 1) تاریخ/زمان فعلی در قالب خواستهشده
date +"%Y-%m-%d %H:%M" > support-schedule.txt
# 2) ماه جاری و دو ماه بعد، با یک خط خالی بین هر ماه
for i in 0 1 2; do
cal $(date -d "+$i month" +"%m %Y") >> support-schedule.txt
echo >> support-schedule.txt
done
# 3) استخراج شمارهٔ هفتههای ماه جاری و افزودن به انتهای فایل
ncal -w | awk 'NR>1 {print $NF}' | paste -sd ' ' - | \
sed 's/^/Current month weeks: /' >> support-schedule.txt
تمرین ۷: پایپلاین خطاگیر — یکخطی پایدار
# فقط فایلهای متنی .log پردازش میشوند؛ خطاها در pipeline-errors.log ذخیره میشود
grep -h "ERROR" ~/logs/service-*.log 2>> ~/logs/pipeline-errors.log \
| tee -a ~/logs/errors-full.log \
| tee /dev/tty \
| wc -l > ~/logs/error-count.txt
grep -h "ERROR": فیلتر خطوط خطا از فایلهایservice-*.log2>> pipeline-errors.log: ثبت خطاهای احتمالی اجرای دستورtee -a errors-full.log: ذخیرهٔ کامل خطوط فیلترشده (ضمیمه)tee /dev/tty: نمایش همزمان در صفحهwc -l > error-count.txt: شمارش کل خطاها و نوشتن در فایل
تمرین ۸: یادداشتِ مریخی — نمونهحل خیلی ساده (Bash)
#!/bin/bash
read -r q
EXISTS=0
CONTENT=""
i=0
while [ "$i" -lt "$q" ]
do
read -r OP TEXT
if [ "$OP" = "touch" ]
then
if [ "$EXISTS" = "0" ]; then
EXISTS=1
CONTENT=""
fi
elif [ "$OP" = ">" ]
then
EXISTS=1
CONTENT="$TEXT"
elif [ "$OP" = ">>" ]
then
EXISTS=1
if [ -z "$CONTENT" ]; then
CONTENT="$TEXT"
else
CONTENT="$CONTENT
$TEXT"
fi
fi
i=$((i + 1))
done
if [ "$EXISTS" = "0" ] || [ -z "$CONTENT" ]; then
echo "EMPTY"
else
printf '%s\n' "$CONTENT"
fi