Kedi komutunun bazı çevrimiçi şeylerde geldiğini gördüm ve cat
sadece basit komut satırı şeyler yapan birinin bağlamında ne yaptığını ve ne için olduğunu merak ettim .
Kedi komutunun bazı çevrimiçi şeylerde geldiğini gördüm ve cat
sadece basit komut satırı şeyler yapan birinin bağlamında ne yaptığını ve ne için olduğunu merak ettim .
Yanıtlar:
cat
bireyin temel amacı con etmektir kedi enate dosyaları. cat file1 file2 ...
içeriği gösterilir file
, file2
içerikleri tek bir dosyada sanki birbiri ardına ve diğerleri. Bkz manpage :
NAME
cat - concatenate and print files
Aşağıdakilerden herhangi birinde kullanım içindir:
bir hedef komut dosyalardan okuyamaz ve ona birden fazla dosya iletmeniz gerekir. tr
Yardımcı program buna bir örnektir . Normalde, tek bir dosyayla:
tr < file
Ancak birden çok dosyada yeniden yönlendirme kullanılamaz, bu yüzden yapmanız gerekenler:
cat file1 file2 ... | tr
wc
her dosya için sayıları ve dosya adıyla yalnızca toplamı isteyebileceğiniz dosya adlarını yazdırır.Karşılaştığınız çoğu komutları hatırla ( grep
, sed
, awk
, sort
, ...) mükemmel ince dosyalarını okuyabilir.
Bir dosyanın içeriğini görüntülemek istiyorsanız , bir çağrı cihazı kullanın - less
ve more
her ikisi de dosyaları görüntülemek üzere sunma yeteneğine sahiptir ve kullanımı çok daha uygundur.
cat
Unix benzeri işletim sistemlerinde en sık kullanılan komutlardan biridir. Metin dosyaları ile ilgili üç ilgili işlevi vardır:
kedinin genel sözdizimi:
cat [options] [filenames] [-] [filenames]
Kedinin en yaygın kullanımı dosyaların içeriğini okumaktır ve kedi genellikle bu amaç için en uygun programdır. Ekran monitöründe görüntülemek üzere bir metin dosyasını açmak için gereken tek şey cat kelimesini, ardından bir boşluk ve dosyanın adını yazmak ve ardından ENTER tuşuna basmaktır. Örneğin, aşağıdakiler dosya1 adlı bir dosyanın içeriğini görüntüler:
cat file1
Kedinin ikinci rolü bitiştirmedir. (Bu kedinin meraklı isminin kaynağıdır.) Orijinal dosyalar üzerinde herhangi bir etkisi yoktur.
Örneğin, aşağıdaki komut üç dosya dosya1, dosya2 ve dosya3 içeriğinin kopyalarını birleştirir:
cat file1 file2 file3
Her dosyanın içeriği monitör ekranında görüntülenir. Bu çıktı, çıkış yeniden yönlendirme operatörü kullanılarak aşağıdakiler kullanılarak dosya4 gibi başka bir dosyaya kolayca yeniden yönlendirilebilir:
cat file1 file2 file3 > file4
@Muru yorumu sayesinde : kedi, kendisini değil, yeniden yönlendirme özelliğine bağlı olarak yeni dosyalar oluşturabilir
Küçük dosyalar için bu vi, gedit veya diğer metin editörlerini kullanmaktan daha kolaydır. Cat yazdıktan sonra çıktı yönlendirme operatörü ve oluşturulacak dosyanın adı, ardından tuşuna basıp ENTERson olarak Ctrl& dtuşlarına basılarak gerçekleştirilir .
Örneğin, dosya1 adlı yeni bir dosya yazılarak oluşturulabilir
cat > file1
ardından ve tuşlarına ENTERaynı anda basın .Ctrld
PS1: file1 adlı bir dosya zaten varsa, üzerine yazılır
PS2: append operatörü >>
örnek cat >> file1 kullanarak çıkılan dosyaya ekleyebilirsiniz
Cat komutu ayrıca ( kabuk yeniden yönlendirme özelliğine bağlı olarak) yeni bir dosya oluşturmak ve varolan bir dosyadan veri aktarmak için kullanılabilir. Örnek: dosyanın bir kopyasını oluşturun oldfile.txt
:
cat oldfile.txt > newfile.txt
Referanslar:
cat
bu dosyaları oluşturmuyor - kabuk, yeniden yönlendirme kullandığınız zamandır. Yapabilirsin echo foo > file1
.
cat
Başka bir şey tarafından gerçekte ne yapıldığına atıfta bulunuyorsunuz . Örneğin, less file1 > file2
(veya grep '.*' file1 > file
veya awk 1 file1 > file2
veya ...) yapmak aynı etkiye sahiptir. Ditto for 4. Bunlar sadece yanlış kullanımlardır.
> file
ve aynı sonucu verebileceğimi biliyorum , ama bunu kedi ile yapmak için geçerli olduğunu düşünemez miyim ?!
cat
. Diyen cat
oluşturan veya kopya dosya sadece düz yanlıştır.
Bir dosyanın içeriğini göstermek için kullanılabilir. Ör: cat "my file.txt"
. Ayrıca man cat
, ne cat
için kullanılabileceğiyle ilgili ayrıntıları göstermek için de yapabilirsiniz .
İşte başka bir yolu dosya kabuk yeniden yönlendirme (veya boru) yaratılması ve için cat
:
cat << EOF > foo.sh
#!/bin/sh
echo 'Hello World!'
EOF
cat << EOF
dize EOF
tekrar karşılaşılana kadar aşağıdaki satırları çıktılar . Ardından >
( >>
) çıktıyı dosyaya yönlendirir foo.sh
. Alternatif olarak, kök olarak bir dosya oluşturmanız gerekiyorsa, çıktıyı komutla yürütülen tee
( tee -a
) komutuna bağlayabilirsiniz sudo
:
cat << EOF | sudo tee foo.sh && sudo chmod +x foo.sh
#!/bin/sh
HELLO='Hello World!'
echo "\$HELLO"
EOF
chmod +x
, başarıyla oluşturulmuşsa ( &&
) dosyayı yürütülebilir ( ) yapar.$
) özel anlamı \
, çıktısında (ile ) kaçmalıdır cat
.
< <(cat file[12]) tr
hem de<<<$(cat file[12]) tr
birden fazla dosyayı yeniden yönlendirmenin mükemmel geçerli yollarıdır. Elbettecat
bunun için de ihtiyacınız var , sadece bu borulama tek yol değil.