Movatterモバイル変換


[0]ホーム

URL:


Kontent qismiga oʻtish
Vikipediya
Qidiruv

Cat (Unix)

Vikipediya, erkin ensiklopediya
Haqiqiy mualifflarKen Thompson,

Dennis Ritchie

Ishlab chiqaruvchilarAT&T Bell Laboratories
Dastlabki ishlab chiqarilishi3-noyabr, 1971-yil; 50 yil avval (1971-11-03)
Operatsion tizimUnix,Unix-like,Plan 9,Inferno,ReactOS
PlatformaKross-platforma
TipCommand (buyruq)
LitsenziyaCoreutillar:GPLv3+

ReactOS:GPLv2+

cat — fayllarni ketma-ket oʻqib, ularni standart chiqarishga yozadigan standart Unix yordam dasturi hisoblanadi. Nom (con)cat enate fayllar (lotinchacatenare, „zanjirga“) funksiyasidan olingan. U bir qator operatsion tizimlarga koʻchirillgan

Tarixi

[tahrir |manbasini tahrirlash]

catUnix ning dastlabki versiyalarining bir qismi edi, masalan, 1-versiya va bitta faylni ekranga nusxalash uchunpr, PDP-7 vaMultics yordam dasturini almashtirdi. BuKen Thompson vaDennis Ritchie tomonidan yozilgan kodlar jamlanmasi edi.GNU coreutils -da toʻplangancat versiyasi Torbjorn Granlund vaRichard Stallman tomonidan yozilgan.ReactOS versiyasi David Welch, Semyon Novikov va Hermes Belusca tomonidan yaratilgan[1].

Vaqt oʻtishi bilantac vabat kabi muqobil yordamchi dasturlar ham yaratilib, turli xil yangi xususiyatlarning paydo boʻlishiga olib keldi[2][3].

Foydalanilishi

[tahrir |manbasini tahrirlash]

Yagona Unix spetsifikatsiyasicat fayllarni oʻz argumentlarida berilgan ketma-ketlikda oʻqish, ularning mazmunini bir xil ketma-ketlikda standart chiqishga asoslangan. Spetsifikatsiya bitta variant bayrogʻini qoʻllab-quvvatlashni talab qiladi, buferlanmagan chiqish uchunu, yaʼni har bir bayt oʻqilgandan keyin yoziladi. Baʼzi operatsion tizimlar, masalan, GNU Core Utilities dan foydalanadiganlar, buni sukut boʻyicha bajaradilar va bayroqni koʻp holatda eʼtiborsiz qoldiradilar[4].

Agar kirish fayl nomlaridan biri bitta chiziqcha (-) sifatida belgilangan boʻlsa, u holdacat ketma-ketlikning oʻsha nuqtasida standart kiritishdan qayta oʻqiydi. Hech qanday fayl belgilanmagan boʻlsa,cat faqat standart kirishnigina oʻqiydi.

Buyruqningsintaksisi :

cat [options] [file_names]

Variantlar

[tahrir |manbasini tahrirlash]

Baʼzicat variantlariga misol:[5]

  • -b (GNU:--number-nonblank), boʻsh boʻlmagan chiqish chiziqlarini raqamlash
  • -e-v degan maʼnoni anglatadi, lekin qator oxiri belgilarini $ sifatida koʻrsatadi (faqat GNU:-E bir xil, lekin-v bundan mustasno)
  • -n (GNU:--number), barcha chiqish qatorlarini raqamlash
  • -s (GNU:--squeeze-blank), bir nechta qoʻshni boʻsh qatorlarni siqib chiqarish
  • -t-v degan maʼnoni anglatadi, lekin yorliqlarni ^I sifatida koʻrsatadi (GNU:-T bir xil, lekin-v nazarda tutilmaydi)
  • -u stdout uchun buferlanmagan I/U dan foydalanish. POSIX ushbu parametrsiz xatti-harakatni aniqlamaydi.
  • -v (GNU:--show-nonprinting), yorliqlar va satr oxiri belgilaridan tashqari, chop etilmaydigan belgilarni koʻrsatadi

Foydalanish holatlari

[tahrir |manbasini tahrirlash]

cat faylni kirish oqimida oddiy matn yoki ikkilik maʼlumotlarni kutadigan dasturga oʻtkazish uchun ishlatilishi mumkin.cat birlashtirish va chiqarishda matn boʻlmagan baytlarni yoʻq qilmaydi. Shunday qilib, uning ikkita asosiy qoʻllanilish usuli matnli fayllar va maʼlum formatga mos keladigan ikkilik fayllar hisoblanadi.

Matnni birlashtirishASCII kabi bir xil eski kodlashdan foydalangan holda yaratilgan matn fayllari bilan cheklangan.cat bayt tartibi belgisiga ega boʻlgan Unicode matn fayllarini yoki turli matn kodlashlaridan foydalanib ishlangan fayllarni birlashtirish usulini taʼminlamaydi.

Koʻpgina tuzilgan ikkilik maʼlumotlar toʻplamlari uchun natijada olingan birlashtirilgan fayl haqiqiy boʻlmasligi mumkin; masalan, faylda noyob sarlavha yoki altbilgi boʻlsa, natija ularni soxta ravishda takrorlaydi. Biroq, baʼzi multimedia raqamli konteyner formatlari uchun natijada olingan faylgina amal qilinadi va shuning uchuncat fayllarni qoʻshishning samarali vositasini taqdim etadi. Video oqimlaricat muammosiz birlasha oladigan fayllarning muhim namunasi boʻlishi mumkin, masalan, MPEG dastur oqimi (MPEG-1 va MPEG-2) va DV (Raqamli video) formatlari, bu paketlarning nisbatan oddiy oqimlari kabilardir.

Misollar

[tahrir |manbasini tahrirlash]
BuyruqTushuntirish
cat file1.txtFayl tarkibini koʻrsatish
cat file1.txt file2.txtIkki matnli faylni birlashtirish va natijani terminalda koʻrsatish
cat file1.txt file2.txt > newcombinedfile.txtIkki matnli faylni birlashtirib, ularni yangi faylga yozish
cat > newfile.txtnewfile.txt nomli fayl yaratish. Kerakli kiritishdan so'ng tugatish uchun CTRL+D tugmalarini bosiladi. Matn newfile.txt faylida boʻladi.
cat -n file1.txt file2.txt > newnumberedfile.txt-n varianti bilan cat ning baʼzi ilovalar qatorlarini ham raqamlashi mumkin
cat file1.txt > file2.txtfile1.txt tarkibini file2.txt ichiga nusxalash
cat file1.txt >> file2.txtfile1.txt tarkibini file2.txt fayliga qoʻshish
cat file1.txt file2.txt file3.txt | sort > test4Fayllarni birlashtirish, toʻliq qatorlarni tartiblash va natijani yangi yaratilgan faylga yozish
cat file1.txt file2.txt | less„less (kamroq)“ dasturini fayl1 va fayl2 ga kiritilishi bilan birlashtirib ishga tushirish
cat file1.txt | grepp examplefile1.txt faylida „misol“ soʻzini ajratib koʻrsatish
command| catToʻgʻridan-toʻgʻri TTY ga yozishda „buyruq“ning maxsus xatti-harakatlarini (masalan, peyjing) bekor qilinadi (UUOC quyida berilgan)

Unix madaniyati

[tahrir |manbasini tahrirlash]

Jargon fayl taʼrifi

[tahrir |manbasini tahrirlash]

Jargon faylining 4.4.7 versiyasida bucat taʼrifi sifatida keltirilgan:

# Toʻxtovsiz butun faylni ekranga yoki boshqa chiqish qismiga joylash (sinx. blast).

  1. Kengaytma boʻyicha, katta hajmdagi ma'lumotlarni tayyorlanilmaganik maqsadida yo'naltirish yoki ularni diqqat bilan ko'rib chiqish talab etilmaydi. Foydalanilishi ahmoqona ish deb hisoblanadi. Unix saytlaridan tashqari holatlarda kamdan-kam uchraydi. Shuningdek:dd,BLT da ham.

Unix ishqibozlari orasidacat(1)interface foydalanuvchi dizaynining ajoyib namunasi hisoblanadi, chunki u fayl mazmunini fayllar orasidagi masofa yoki sarlavhalarsiz namoyish etadi, chunki u fayllarni matn satrlaridan iborat boʻlishini talab qilmaydi, lekin har qanday maʼlumotlar bilan ishlay oladi.

Unix tanqidchilari orasidacat(1) noaniq nomi tufayli yomon foydalanuvchi interfeysi dizaynining kanonik namunasi hisoblanadi. Ikki yoki undan ortiq fayllarni birlashtirishdan koʻra, bitta faylda standart chiqish uchun koʻproq ishlatiladi. Avvalgi operatsiya uchuncat nomi, masalan,LISP ningcdr holatlari kabi tushunarsizdir.[manba kerak]

Cat dan nooʻrin foydalanish

[tahrir |manbasini tahrirlash]

Useless use of Cat (UUOC) dan befoyda foydalanish buyruq qatori Unix konstruksiyalari uchun keng tarqalgan Unix jargonidir, ular faqat foydalanuvchiga qulaylik yaratish vazifasini bajaradi[6]. Hisoblashda „abuse (haqorat)“ soʻzi[7], taʼrifning ikkinchi maʼnosida, til konstruktsiyasining ortiqcha yoki keraksiz ishlatilishini qoralash uchun ishlatiladi; shuning uchuncat suiisteʼmol qilish baʼzan „cat abuse (mushukni haqorat qilish)“ deb ataladi. Quyida umumiycat abuse ga misol keltirilgan:

cat filename | command arg1 arg2 argn

Buni quyidagi shakllardan biri (birinchisi anʼanaviyroq) oʻrniga stdin ni qayta yoʻnaltirish yordamida qaytadan yozish mumkin:

 command arg1 arg2 argn < filename <filename command arg1 arg2 argn

Boshqa afzalliklardan tashqari, kirishni qayta yoʻnaltirish shakllaricommand (buyruq) faylga tasodifiy kirishni amalga oshirishga imkon beradi,cat misollarida bu holat kuzatilmaydi. Buning sababi shundaki, qayta yoʻnaltirish shakli faylnicommand toʻliq kirishi mumkin boʻlganstdin fayl identifikatori sifatida ochadi,cat shakli esa maʼlumotlarni baytlar oqimi sifatida taqdim etadi.cat ning keraksiz boʻlgan yana bir keng tarqalgan holati bu, buyruqstdin da ishlash uchun sukut boʻyicha foydalanishdir, lekin fayl nomi argument sifatida berilgan boʻlsa, toʻgʻridan-toʻgʻri fayldan oʻqiladi. Koʻpgina umumiy buyruqlar uchun shunday holat kuzatiladi; quyida misollar berilgan.

 cat file | grep pattern cat file | less

oʻrniga quyidagicha yozish mumkin:

grep pattern fileless file

Bitta fayl uchuncat umumiy interaktiv ishlatilishi, fayl mazmunini standart chiqishiga yordam berishi mumkin. Biroq, agar chiqish quvurli (|) yoki qayta yoʻnaltirilgan boʻlsa,cat kerak emas.

UUOC bilan yozilgancat hali ham oʻqilishi mumkinligi sababli afzalroq koʻrilishi mumkin, chunki chapdan oʻngga quvur orqali uzatilgan oqimni tushunish osonroq boʻlishi mumkin[8]. Bundan tashqari, " < " oʻrniga (koʻpincha klaviaturada qoʻshni) " > " qayta yoʻnaltirish belgisidan bitta notoʻgʻri foydalanish fayl mazmunini butunlay oʻchirib tashlashi mumkin, boshqacha aytganda clobbering va buning oldini olishning bir yoʻlicat quvurlari (|) bilan ishlatishdir. Taqqoslash:

command < in | command2 >out<in command | command2 >out

shuningdek:

cat in |command |command@> out

Manbalar

[tahrir |manbasini tahrirlash]
  1. „reactos/cat.c at master · reactos/reactos · GitHub“. github.com.
  2. „tac(1) - Linux manual page“. man7.org.
  3. „sharkdp/bat“ (2021-yil 2-dekabr).
  4. GNU Coreutils.„GNU Coreutils manual“,GNU, Retrieved on 1 Mars 2017.
  5. OpenBSD manual page and the GNU Core Utiltites version of cat
  6. comp.unix.shell.„Early award example of UUOC (1994)“,comp.unix.shell via Google Groups, Retrieved on 1 Mars 2017.
  7. „Merriam Webster's Definition of Abuse“. Qaraldi: 2021-yil 25-fevral.
  8. Nguyen. „Stanford Computational Journalism Lab“. stanford.edu. Qaraldi: 2017-yil 8-oktyabr.

Havolalar

[tahrir |manbasini tahrirlash]
  • cat: concatenate and print files - Shell and Utilities Reference, The Single UNIX Specification, Version 4 from The Open Group
  • UNIX Style, or cat -v Considered Harmful — A paper by Rob Pike on proper Unix command design using cat as an example.
  • cat(1) original manual page in the First Edition ofUnix.
  • cat(1): concatenate and write files - GNU Coreutils reference
  • cat(1): concatenate and print files - OpenBSD General Commands Manual
  • cat(1) - FreeBSD General Commands Manual
  • cat(1) - Plan 9 Programmer’s Manual, Volume 1
  • tac(1): concatenate and write files in reverse - GNU Coreutils reference

Andoza:Unix commands

"https://uz.wikipedia.org/w/index.php?title=Cat_(Unix)&oldid=4212444" dan olindi
Turkum::
Yashirin turkum:

[8]ページ先頭

©2009-2026 Movatter.jp