Copyable HTML: бүх текстийг mouse-аар select хийгээд Ctrl+C ашиглан шууд хуулж болно.

ЛАБОРАТОРИЙН АЖИЛ 2

ТЕРМИНАЛЫН ОРЧИН, ФАЙЛЫН СИСТЕМ, ЗАМ, REDIRECT БОЛОН PIPE

ҮзүүлэлтМэдээлэл
Хичээлийн долоо хоногIII–IV долоо хоног
Нийт хугацаа180 минут (90 + 90 минут)
ХэлбэрUbuntu Desktop LTS виртуал машин дээр бие даан гүйцэтгэнэ
Хамаарах CLOCLO 2, CLO 6
Үнэлгээний хэлбэрТанхимд командыг цээжээр бичиж ажиллуулан командуудыг тайлбарлаж хамгаална
Нийт оноо8 оноо

1. Лабораторийн ажлын зорилго

Ubuntu терминалын орчинд командын бүтэц, тусламжийн систем, файл ба директорын үйлдэл, абсолют болон харьцангуй зам, стандарт оролт гаралтын дахин чиглүүлэлт, хоолой ашиглан командуудыг холбоход суралцана. Оюутан үндсэн командыг танхимд тусламжгүй зөв бичиж ажиллуулна. Нэмэлт команд болон нарийн сонголтыг man, --help ашиглан өөрөө олж, командын зориулалт, сонголт, аргумент, гаралт болон гарсан алдааг амаар тайлбарлана.

2. Эзэмших мэдлэг чадвар

3. Шаардлагатай орчин

4. Онолын хэсэг

4.1 Терминал, shell болон prompt

Терминал нь хэрэглэгч команд бичиж, shell-ийн боловсруулсан үр дүнг харах график программ юм. Shell нь хэрэглэгчийн бичсэн командыг задлан уншиж, тохирох программыг ажиллуулдаг командын тайлбарлагч. Ubuntu-д түгээмэл shell нь Bash юм. Prompt нь shell команд хүлээж байгааг харуулах мөр бөгөөд хэрэглэгчийн нэр, компьютерийн нэр, одоогийн байрлал болон эрхийн түвшнийг илэрхийлнэ.

oyutniikod@ubuntu:~/F_NSM101/LAB2$

График орчинд Terminal нээх үндсэн арга нь Ctrl + Alt + T.

4.2 Командын бүтэц ба тусламжийн систем

ls -la ~/F_NSM101/LAB2
ХэсэгЖишээҮүрэг
CommandlsФайл болон директорын жагсаалтыг харуулна
Option-laДэлгэрэнгүй мэдээлэл болон далд объектыг харуулна
Argument~/F_NSM101/LAB2Команд ажиллах директорын зам

Командын мэдээллийг --help, man, whatis, apropos ашиглан олно.

4.3 Файл, директор ба зам

Замын төрөлЖишээТайлбар
Абсолют зам/home/davaasuren/F_NSM101/LAB2/file1Үндсэн / директороос эхэлсэн бүрэн зам
Харьцангуй зам../LAB2/file1Одоогийн байрлалаас тооцсон зам
Home товчлол~/F_NSM101/LAB2/file1Одоогийн хэрэглэгчийн home директорыг ~ тэмдэглэнэ

4.4 Стандарт урсгал, redirect болон pipe

ТэмдэгҮүрэгЖишээ
>Гаралтыг файлд шинээр бичнэls > files.txt
>>Гаралтыг файлын төгсгөлд нэмнэdate >> files.txt
<Командын оролтыг файлаас авнаsort < names.txt
2>Алдааны урсгалыг файлд бичнэls missing 2> error.txt
|Хоёр командын урсгалыг холбоноcat names.txt | sort
teeДэлгэцэд харуулж файлд зэрэг хадгалнаsort names.txt | tee sorted.txt

6. Лабораторийг гүйцэтгэх алхам

6.1 Ажлын орчин бэлтгэх

whoami
hostname
pwd
mkdir -p ~/F_NSM101/LAB2
cd ~/F_NSM101/LAB2
printf "Оюутан: НЭР\nКод: ОЮУТНЫ_КОД\n" > student_info.txt
cat student_info.txt

6.2 Тусламжийн систем ашиглах

type ls
ls --help | head -n 15
man ls
whatis pwd
apropos "current directory"

6.3 Замын ялгааг турших

mkdir -p project/docs project/data project/backup
cd project/docs
pwd
touch notes.txt
ls -l notes.txt
ls -l ~/F_NSM101/LAB2/project/docs/notes.txt
cd ../data
pwd

7. Хийх даалгавар

7.1 Нэгдсэн даалгавар 1 — Файл, хавтас болон зам

F_NSM101/
└── LAB2/
    ├── documents/
    ├── backup/
    └── result/
  1. F_NSM101 болон LAB2 директор, түүний дотор documents, backup, result дэд директор үүсгэнэ.
  2. LAB2 директор руу харьцангуй зам ашиглан нэвтэрч, одоогийн байрлалыг шалгана.
  3. documents дотор student.txt нэртэй файл үүсгэнэ.
  4. student.txt файлд өөрийн нэр, оюутны код, хичээлийн нэрийг терминалаас бичнэ.
  5. Файлын агуулгыг терминал дээр нээж харуулна.
  6. student.txt файлыг backup директор руу хуулна.
  7. Хуулсан файлын нэрийг student_backup.txt болгон өөрчилнө.
  8. student_backup.txt файлд абсолют зам ашиглан хандаж агуулгыг харуулна.
  9. student.txt файлыг result директор руу зөөн final.txt гэж нэрлэнэ.
  10. Үүссэн бүтцийг дэлгэрэнгүй жагсааж, файл бүрийн эзэмшигч, бүлэг, хэмжээ, эрхийг тайлбарлана.

Ашиглах үндсэн команд: pwd, ls, cd, mkdir, touch, echo, cat, cp, mv, realpath

7.1.1 Ахисан түвшин

  1. LAB2 доторх бүх .txt өргөтгөлтэй файлыг дэд директоруудын хамт хайж жагсаана.
  2. student.txt файлын inode дугаар болон hard link-ийн тоог харуулна.
  3. student.txt файлд student_link.txt нэртэй hard link үүсгэнэ.
  4. Хоёр нэр ижил inode руу зааж байгааг батална.
  5. Эх student.txt нэрийг устгасны дараа student_link.txt-ээр агуулгыг уншина.
  6. Өгөгдөл яагаад усталгүй үлдсэнийг inode болон link count ойлголтоор тайлбарлана.

7.2 Нэгдсэн даалгавар 2 — Redirect, pipe болон алдааны урсгал

fruits.txt агуулга:

apple
banana
orange
apple
banana
apple
  1. > оператор ашиглан fruits.txt файлын эхний мөрийг бичнэ.
  2. >> оператор ашиглан үлдсэн мөрүүдийг файлын төгсгөлд нэмнэ.
  3. Файлын агуулгыг терминал дээр нээж зөв бичигдсэнийг шалгана.
  4. < оператор ашиглан файлын мөрүүдийг эрэмбэлнэ.
  5. Pipe ашиглан нэр бүр хэдэн удаа давтагдсаныг тоолно.
  6. Боловсруулсан үр дүнг дэлгэцэд харуулахын зэрэгцээ fruit_count.txt файлд хадгална.
  7. apple орсон мөрийн тоог pipe ашиглан гаргана.
  8. Байхгүй файл эсвэл директорт хандаж алдаа үүсгэнэ.
  9. Алдааны урсгалыг error.txt файл руу чиглүүлж, дараа нь агуулгыг харуулна.
  10. fruits.txt, fruit_count.txt, error.txt файлуудыг жагсааж, зориулалтыг тайлбарлана.

Ашиглах команд ба оператор: echo, cat, sort, uniq, grep, wc, tee, >, >>, <, 2>, |

7.2.1 Ахисан түвшин

  1. Жимсний нэр бүрийн давтамжийг тоолж, давтамжаар нь ихээс бага руу эрэмбэлнэ.
  2. Хамгийн олон давтагдсан нэг жимсний нэр болон тоог гаргана.
  3. Эцсийн үр дүнг дэлгэцэд харуулахын зэрэгцээ summary.txt файлд хадгална.
  4. Зөв гаралт болон алдааны урсгалыг combined.log нэртэй нэг файлд хамтад нь хадгална.
  5. Pipe-ийн шат бүрийн stdin, stdout хэрхэн өөрчлөгдөж байгааг дарааллаар тайлбарлана.

8. Хамгаалалтын бэлтгэл

Тусламжгүй бичих үндсэн команд:

pwd ls ls -l ls -la cd mkdir touch cp mv rm -i
cat echo whoami id hostname uname -r

Оператор: > >> < 2> |

Тусламжийн системээр ажиллуулах: man whatis apropos grep sort uniq wc tee realpath

9.1 Хамгаалалтын жишиг даалгавар

10. Хамгаалалтын асуулт

  1. Shell болон Terminal хоёр ямар ялгаатай вэ?
  2. man cp дахь SYNOPSIS хэсгийн дөрвөлжин хаалт ямар утгатай вэ?
  3. Абсолют зам ямар тэмдэгтээс эхэлдэг вэ?
  4. cd .., cd ~, cd - командуудын ялгаа юу вэ?
  5. > ба >> операторууд файлын өмнөх агуулгад хэрхэн нөлөөлөх вэ?
  6. stdout, stderr урсгалуудын дугаар хэд вэ?
  7. Pipe нь файл үүсгэхгүйгээр хоёр командыг хэрхэн холбодог вэ?
  8. tee команд ямар тохиолдолд хэрэгтэй вэ?
  9. rm -i сонголтыг яагаад ашигласан бэ?
  10. cat fruits.txt | sort | uniq -c командын өгөгдлийн урсгалыг тайлбарла.

12. Түгээмэл алдаа

Буруу жишээШалтгаанЗөв хувилбар
ls-l file1Команд ба option хооронд зай аваагүйls -l file1
echo $termОрчны хувьсагч том жижиг үсэг ялганаecho $TERM
man -l passwd-l нь локал man файл нээх зориулалттайman passwd
cd picturesДиректорын нэрийн үсгийн хэмжээ таараагүйcd Pictures
ls file1Файл одоогийн хавтаст байхгүйpwd; ls -la; realpath file1

Энэ HTML нь uploaded PDF-ийн текстийг copy/select хийхэд зориулж хөрвүүлсэн хувилбар.