Bash / Файл ба директор удирдах

Файл ба директор удирдах

Хөгжүүлэгч хүний өдөр тутмын ажлын ихэнх нь файл ба директор бүтцийг удирдахтай холбоотой. Шинэ директор үүсгэх, файл хуулах, зөөх, устгах — эдгээр үйлдлийг хулгана ашиглахгүйгээр командын мөрөөр хийх нь хавьгүй хурдан. Энэ хичээлд хамгийн өргөн ашиглагддаг командуудыг сурна.

mkdir — Директор үүсгэх

mkdir (make directory) нь шинэ директор үүсгэнэ:

bash
mkdir projects              # Одоогийн директорт projects үүсгэнэ
mkdir -p projects/bash/01   # Дундын директоруудыг хамт үүсгэнэ
mkdir dir1 dir2 dir3        # Нэг командаар хэд хэдэн директор үүсгэнэ

-p сонголт маш хэрэгтэй — projects/bash/01 зам дахь projects болон bash директорууд байхгүй бол автоматаар үүсгэнэ.

touch — Хоосон файл үүсгэх

touch команд хоосон файл үүсгэнэ. Хэрэв файл байгаа бол өөрчлөгдсөн огноог шинэчилнэ:

bash
touch notes.txt             # Хоосон notes.txt файл үүсгэнэ
touch file1.sh file2.sh     # Нэг дор хэдэн файл үүсгэнэ
touch ~/Desktop/todo.txt    # Тодорхой замд файл үүсгэнэ

cp — Файл хуулах

cp (copy) команд файл эсвэл директорыг хуулна:

bash
cp notes.txt backup.txt           # notes.txt-г backup.txt болгон хуулна
cp notes.txt ~/Documents/         # Documents директорт хуулна
cp -r projects/ projects_backup/  # Директорыг рекурсивч хуулна
cp *.txt ~/backup/                # Бүх .txt файлыг хуулна

Директор хуулахдаа заавал -r (recursive) сонголт хэрэгтэй. Мартвал алдаа гарна.

mv — Файл зөөх буюу нэр өөрчлөх

mv (move) команд хоёр үйлдэл хийнэ — файлыг өөр байршилд зөөх эсвэл нэрийг өөрчлөх:

bash
mv old.txt new.txt            # old.txt-н нэрийг new.txt болгоно
mv notes.txt ~/Documents/     # notes.txt-г Documents руу зөөнө
mv *.log /tmp/logs/           # Бүх .log файлыг /tmp/logs/ руу зөөнө
mv projects/ /var/www/        # Директорыг бүтнээр зөөнө

cp-с ялгаатай нь mv эх сурвалжийг устгадаг. Нэр өөрчлөхөд -r хэрэггүй.

rm — Файл устгах

rm (remove) команд файл устгана. Анхааруулга: Устгасан файл recycle bin-д очдоггүй — шууд устдаг.

bash
rm notes.txt                  # Нэг файл устгана
rm file1.txt file2.txt        # Хэдэн файл хамт устгана
rm -r projects/               # Директорыг дотроос нь хамт устгана
rm -i *.txt                   # Устгахын өмнө тус бүрийг асууна
rm -rf /tmp/cache/            # Асуулгүй, рекурсивч устгана (болгоомжтой!)

-rf бол хамгийн хүчтэй ба аюултай хослол. rm -rf / гэх мэт командыг хэзээ ч бичихгүй байх хэрэгтэй — бүх систем устана.

cat ба less — Файлын агуулга харах

bash
cat notes.txt                 # Файлын бүх агуулгыг харуулна
cat file1.txt file2.txt       # Хоёр файлыг дарааллан харуулна
less notes.txt                # Том файлыг хуудас хуудсаар харуулна
head -5 notes.txt             # Эхний 5 мөрийг харуулна
tail -10 notes.txt            # Сүүлийн 10 мөрийг харуулна

less дотор гүйлгэж, / дарж хайж, q дарж гарна.

Дараагийн хичээлд:

Хувьсагч (variable) үндэс — Bash дотор өгөгдлийг хэрхэн хадгалж, ашиглах аргыг сурна.