🧊Fayllarni boshqarish

Ushbu bobda biz Unix-da fayllarni boshqarish haqida batafsil gaplashamiz. Unix-dagi barcha ma'lumotlar fayllarga ajratilgan. Barcha fayllar kataloglarga (Directories) ajratilgan. Ushbu kataloglar fayl tizimi deb ataladigan daraxtga o'xshash tuzilmada tashkil etilgan.

Unix bilan ishlaganingizda, u yoki bu tarzda, siz ko'p vaqtingizni fayllar bilan ishlashga sarflaysiz. Ushbu qo'llanma sizga fayllarni qanday yaratish va o'chirish, ularni nusxalash va nomlarini o'zgartirish, ularga havolalar yaratish va hokazolarni tushunishga yordam beradi.

Unix-da uchta asosiy turdagi fayllar mavjud -

  • Oddiy fayllar (Ordinary Files) - Oddiy fayl tizimdagi ma'lumotlar, matn yoki dastur ko'rsatmalarini o'z ichiga olgan fayldir. Ushbu qo'llanmada siz oddiy fayllar bilan ishlashni ko'rib chiqasiz.

  • Kataloglar (Directories) - kataloglar ham maxsus, ham oddiy fayllarni saqlaydi. Windows yoki Mac OS bilan tanish bo'lgan foydalanuvchilar uchun Unix kataloglari papkalarga tengdir.

  • Maxsus fayllar (Special Files ) - Ba'zi maxsus fayllar qattiq disklar, CD-ROM drayvlar, modemlar va Ethernet adapterlari kabi apparat vositalariga kirishni ta'minlaydi. Boshqa maxsus fayllar taxalluslar yoki yorliqlarga o'xshaydi va turli nomlar yordamida bitta faylga kirish imkonini beradi.

Fayllarni ro'yxati

Joriy katalogda saqlangan fayllar va kataloglarni ro'yxatini olish uchun quyidagi buyruqdan foydalaning -

$ ls

Mana yuqoridagi buyruqning namunaviy chiqishi -

$ ls

bin        hosts  lib     res.03
ch07       hw1    pub     test_results
ch07.bak   hw2    res.01  users
docs       hw3    res.02  work

ls buyrug'i ro'yxatdagi fayllar haqida ko'proq ma'lumot olishga yordam beradigan -l variantini qo'llab-quvvatlaydi -

$ ls -l
total 1962188

drwxrwxr-x  2 ismoilovdev ismoilovdev      4096 Dec 25 09:59 uml
-rw-rw-r--  1 ismoilovdev ismoilovde      5341 Dec 25 08:38 uml.jpg
drwxr-xr-x  2 ismoilovdev ismoilovde      4096 Feb 15  2006 univ
drwxr-xr-x  2 root   root        4096 Dec  9  2007 urlspedia
-rw-r--r--  1 root   root      276480 Dec  9  2007 urlspedia.tar
drwxr-xr-x  8 root   root        4096 Nov 25  2007 usr
drwxr-xr-x  2    200    300      4096 Nov 25  2007 webthumb-1.01
-rwxr-xr-x  1 root   root        3192 Nov 25  2007 webthumb.php
-rw-rw-r--  1 ismoilovdev ismoilovde     20480 Nov 25  2007 webthumb.tar
-rw-rw-r--  1 ismoilovdev ismoilovde      5654 Aug  9  2007 yourfile.mid
-rw-rw-r--  1 ismoilovdev ismoilovde    166255 Aug  9  2007 yourfile.swf
drwxr-xr-x 11 ismoilovdev ismoilovde      4096 May 29  2007 zlib-1.2.3
$

Bu erda barcha ro'yxatdagi ustunlar haqida ma'lumot -

  • Birinchi ustun - fayl turini va faylga berilgan ruxsatni ifodalaydi. Quyida barcha turdagi fayllarning tavsifi keltirilgan.

  • Ikkinchi ustun - fayl yoki katalog tomonidan olingan xotira bloklari sonini ko'rsatadi.

  • Uchinchi ustun - fayl egasini ifodalaydi. Bu faylni yaratgan Unix foydalanuvchisi.

  • To'rtinchi ustun - egasining guruhini ifodalaydi. Har bir Unix foydalanuvchisi bog'langan guruhga ega bo'ladi.

  • Beshinchi ustun - fayl hajmini baytlarda ifodalaydi.

  • Oltinchi ustun - bu fayl oxirgi marta yaratilgan yoki o'zgartirilgan sana va vaqtni ko'rsatadi.

  • Ettinchi ustun - fayl yoki katalog nomini ifodalaydi.

ls -l listing misolida har bir fayl qatori d , - yoki l bilan boshlanadi . Ushbu belgilar ro'yxatdagi fayl turini ko'rsatadi.

  • - Oddiy fayl, masalan, ASCII matn fayli, ikkilik bajariladigan fayl yoki qattiq havola.

  • b Maxsus faylni bloklash. Jismoniy qattiq disk kabi kirish/chiqish qurilmasi faylini bloklash.

  • c Belgilar uchun maxsus fayl. Jismoniy qattiq disk kabi xom kiritish/chiqish qurilmasi fayli.

  • d Boshqa fayllar va kataloglar ro'yxatini o'z ichiga olgan katalog fayli.

  • l Ramziy havola fayli. Har qanday oddiy faylga havolalar.

  • p Nomlangan quvur. Jarayonlararo aloqalar mexanizmi.

  • s Jarayonlararo aloqa uchun ishlatiladigan rozetka(Socket).

Meta belgilar

Unixda metabelgilar alohida ma'noga ega. Masalan, * va ? meta-belgilardir. Biz 0 yoki undan ortiq belgilarni moslashtirish uchun * dan foydalanamiz, savol belgisi ( ? ) bitta belgi bilan mos keladi.

Misol uchun -

$ ls ch*.doc

Nomi ch bilan boshlanib, .doc − bilan tugaydigan barcha fayllarni ko'rsatadi

ch01-1.doc   ch010.doc  ch02.doc    ch03-2.doc 
ch04-1.doc   ch040.doc  ch05.doc    ch06-2.doc
ch01-2.doc ch02-1.doc c

Bu erda * har qanday belgi bilan mos keladigan meta-belgi sifatida ishlaydi. Agar siz faqat .doc bilan tugaydigan barcha fayllarni ko'rsatishni istasangiz , quyidagi buyruqdan foydalanishingiz mumkin -

$ ls *.doc

Yashirin fayllar

Ko'rinmas fayl bitta bo'lib, uning birinchi belgisi nuqta yoki nuqta belgisi (.). Unix dasturlari (shu jumladan qobiq) konfiguratsiya ma'lumotlarini saqlash uchun ushbu fayllarning ko'pchiligidan foydalanadi.

Yashirin fayllarning ba'zi umumiy misollari fayllarni o'z ichiga oladi -

  • .profile - Bourne shell (sh) ishga tushirish skripti

  • .kshrc - Korn shell (ksh) ishga tushirish skripti

  • .cshrc - C shell (csh) ishga tushirish skripti

  • .rhosts - masofaviy shell konfiguratsiya fayli

Ko'rinmas fayllarni ro'yxatga olish uchun -a opsiyasini ls - ga belgilang

$ ls -a

.         .profile       docs     lib     test_results
..        .rhosts        hosts    pub     users
.emacs    bin            hw1      res.01  work
.exrc     ch07           hw2      res.02
.kshrc    ch07.bak       hw3      res.03
$
  • Yagona nuqta (.) - Bu joriy katalogni ifodalaydi.

  • Ikki nuqta (..) - Bu asosiy katalogni ifodalaydi.

Fayllarni yaratish

Siz har qanday Unix tizimida oddiy fayllarni yaratish uchun vi muharriridan foydalanishingiz mumkin. Siz shunchaki quyidagi buyruqni berishingiz kerak -

$ vi filename

Yuqoridagi buyruq berilgan fayl nomi bilan faylni ochadi. Endi tahrirlash rejimiga o'tish uchun i tugmachasini bosing . Tahrirlash rejimida bo'lganingizdan so'ng, quyidagi dasturda bo'lgani kabi faylga tarkibingizni yozishni boshlashingiz mumkin -

Salom men linuxda ishlashni o'rganyapman

Dasturni tugatganingizdan so'ng, quyidagi amallarni bajaring -

  • Tahrirlash rejimidan chiqish uchun esc tugmasini bosing .

  • Fayldan to'liq chiqish uchun ikkita Shift + ZZ tugmalarini birga bosing.

Endi sizda joriy katalogda fayl nomi bilan yaratilgan fayl bo'ladi.

$ vi filename
$

Fayllarni tahrirlash

Vi muharriri yordamida mavjud faylni tahrirlashingiz mumkin . Mavjud faylni qanday ochishni qisqacha muhokama qilamiz -

$ vi filename

Fayl ochilgandan so'ng siz i tugmachasini bosib tahrirlash rejimiga o'tishingiz va keyin faylni tahrirlashni davom ettirishingiz mumkin. Agar siz fayl ichida bu yerga va u yerga o'tmoqchi bo'lsangiz, avval Esc tugmachasini bosib tahrirlash rejimidan chiqishingiz kerak . Shundan so'ng, fayl ichida harakatlanish uchun quyidagi tugmalardan foydalanishingiz mumkin -

  • l tugmasi o'ng tomonga o'tish.

  • chap tomonga o'tish uchun h tugmasi.

  • k tugmasi faylda tepaga siljiydi.

  • j tugmasi faylda pastga siljiydi.

Shunday qilib, yuqoridagi tugmalar yordamida siz kursoringizni tahrirlashni xohlagan joyga joylashtirishingiz mumkin. Joylashtirilgandan so'ng , tahrirlash rejimiga kirish uchun i tugmasidan foydalanishingiz mumkin. Faylni tahrirlashni tugatganingizdan so'ng, fayldan to'liq chiqish uchun Esc va nihoyat ikkita Shift + ZZ tugmachalarini bosing.

Fayl tarkibini ko'rsatish

Fayl mazmunini ko'rish uchun cat buyrug'idan foydalanishingiz mumkin . Quyida yuqorida yaratilgan faylning mazmunini ko'rish uchun oddiy misol -

$ cat filename
Salom.
Men linuxda ishlashni o'rganyapman
$

Cat buyrug'i bilan birga -b opsiyasidan foydalanib, qator raqamlarini quyidagicha ko'rsatishingiz mumkin -

$ cat -b filename
1 Salom.
2 Men linuxda ishlashni o'rganyapman
$

Fayldagi so'zlarni sanash

Fayldagi satrlar, so'zlar va belgilarning umumiy sonini olish uchun wc buyrug'idan foydalanishingiz mumkin . Quyida yuqorida yaratilgan fayl haqidagi ma'lumotlarni ko'rish uchun oddiy misol -

$ wc filename
2  5 37 filename
$

Bu erda barcha to'rtta ustunning tafsiloti -

  • Birinchi ustun - fayldagi satrlarning umumiy sonini ifodalaydi.

  • Ikkinchi ustun - fayldagi so'zlarning umumiy sonini ko'rsatadi.

  • Uchinchi ustun - fayldagi baytlarning umumiy sonini ifodalaydi. Bu faylning haqiqiy hajmi.

  • To'rtinchi ustun - fayl nomini ifodalaydi.

Siz bir vaqtning o'zida bir nechta fayllarni berishingiz va bu fayllar haqida ma'lumot olishingiz mumkin. Quyida oddiy sintaksis -

$ wc filename1 filename2 filename3

Fayllarni nusxalash

Fayl nusxasini yaratish uchun cp buyrug'idan foydalaning. Buyruqning asosiy sintaksisi -

$ cp source_file destination_file

Quyida mavjud fayl nomining nusxasini yaratish misoli keltirilgan .

$ cp filename copyfile
$

Endi siz joriy katalogingizda yana bitta fayl nusxasini topasiz. Ushbu fayl asl fayl nomi bilan bir xil bo'ladi .

Fayllar nomini o'zgartirish

Fayl nomini o'zgartirish uchun mv buyrug'idan foydalaning. Quyida asosiy sintaksis -

$ mv old_file new_file

Quyidagi dastur mavjud fayl nomini newfile ga o'zgartiradi .

$ mv filename newfile
$

mv buyrug'i mavjud faylni to'liq yangi faylga o'tkazadi . Bunday holda, joriy katalogingizda faqat yangi faylni topasiz.

Fayllarni o'chirish

Mavjud faylni o'chirish uchun rm buyrug'idan foydalaning. Quyida asosiy sintaksis -

$ rm fayl

E'tibor bering - fayl foydali ma'lumotlarni o'z ichiga olishi mumkin. Ushbu O'chirish buyrug'idan foydalanganda doimo ehtiyot bo'lish tavsiya etiladi. rm buyrug'i bilan birga -i variantini qo'llash yaxshidir .

Quyida mavjud fayl nomini qanday qilib butunlay olib tashlashni ko'rsatadigan misol keltirilgan .

$ rm filename
$

Quyida berilgan buyruq bilan bir vaqtning o'zida bir nechta faylni o'chirishingiz mumkin -

$ rm filename1 filename2 filename3
$

Last updated