Saya telah melihat perintah kucing muncul dalam beberapa hal daring dan saya ingin tahu apa yang cat
dilakukan dan untuk apa dalam konteks seseorang yang hanya melakukan beberapa hal baris perintah sederhana.
Saya telah melihat perintah kucing muncul dalam beberapa hal daring dan saya ingin tahu apa yang cat
dilakukan dan untuk apa dalam konteks seseorang yang hanya melakukan beberapa hal baris perintah sederhana.
Jawaban:
cat
Tujuan utama adalah untuk con kucing file enate. cat file1 file2 ...
akan menampilkan konten file
, file2
dan yang lainnya satu demi satu, seolah-olah isinya berada dalam satu file. Lihat halaman manual :
NAME
cat - concatenate and print files
Ini dimaksudkan untuk penggunaan di mana:
perintah target tidak dapat membaca dari file dan Anda harus mengirimkan banyak file ke sana. Contohnya adalah tr
utilitas. Biasanya, dengan satu file, Anda akan melakukan:
tr < file
Tetapi dengan banyak file, pengalihan tidak dapat digunakan, jadi Anda harus melakukan:
cat file1 file2 ... | tr
wc
, yang mencetak jumlah untuk setiap file, bersama dengan nama file, di mana Anda mungkin menginginkan total, tanpa nama file.Ingat bahwa sebagian besar perintah Anda temui ( grep
, sed
, awk
, sort
, ...) dapat membaca file baik-baik saja.
Jika Anda ingin melihat konten file, gunakan pager - less
dan more
keduanya benar-benar mampu menyajikan file untuk dilihat, dan jauh lebih nyaman untuk digunakan.
cat
adalah salah satu perintah yang paling sering digunakan pada sistem operasi mirip Unix. Ini memiliki tiga fungsi terkait berkaitan dengan file teks:
Sintaks umum kucing adalah:
cat [options] [filenames] [-] [filenames]
Penggunaan cat yang paling umum adalah membaca isi file, dan cat seringkali merupakan program yang paling nyaman untuk tujuan ini. Semua yang diperlukan untuk membuka file teks untuk dilihat pada layar monitor adalah mengetik kata cat diikuti dengan spasi dan nama file dan kemudian tekan tombol ENTER. Misalnya, berikut ini akan menampilkan konten file bernama file1:
cat file1
Peran kedua kucing adalah penggabungan. (Ini adalah sumber nama penasaran kucing.) Tidak ada efek pada file aslinya.
Sebagai contoh, perintah berikut akan menyatukan salinan dari isi tiga file file1, file2 dan file3:
cat file1 file2 file3
Isi setiap file akan ditampilkan di layar monitor. Output ini bisa dengan mudah dialihkan menggunakan operator redirection output ke file lain, seperti file4, menggunakan yang berikut ini:
cat file1 file2 file3 > file4
Berkat @muru komentar: cat mampu membuat file baru tergantung pada fitur redirection shell dan bukan dirinya sendiri
Untuk file kecil ini seringkali lebih mudah daripada menggunakan vi, gedit atau editor teks lainnya. Ini dilakukan dengan mengetikkan cat diikuti oleh operator pengalihan output dan nama file yang akan dibuat, kemudian menekan ENTERdan akhirnya secara bersamaan menekan tombol Ctrl& d.
Misalnya, file baru bernama file1 dapat dibuat dengan mengetik
cat > file1
lalu tekan ENTERdan secara bersamaan tekan tombol Ctrl& d.
PS1: Jika file bernama file1 sudah ada, itu akan ditimpa
PS2: Anda dapat menambahkan ke file yang keluar menggunakan menambahkan operator >>
contoh cat >> file1
Perintah cat juga dapat digunakan ( tergantung pada fitur redirection shell) untuk membuat file baru dan mentransfer data dari file yang sudah ada. Contoh: buat salinan file oldfile.txt
:
cat oldfile.txt > newfile.txt
Referensi:
cat
tidak membuat file-file itu - shellnya adalah saat Anda menggunakan pengalihan. Anda mungkin telah melakukannya dengan baik echo foo > file1
.
cat
apa yang sebenarnya dilakukan oleh sesuatu yang lain. Misalnya, melakukan less file1 > file2
(atau grep '.*' file1 > file
atau awk 1 file1 > file2
atau ...) memiliki efek yang sama. Ditto for 4. Ini hanya penyalahgunaan.
> file
dan memberikan hasil yang sama, tetapi tidak bisakah saya menganggapnya valid untuk melakukan itu dengan kucing ?!
cat
tidak membuat file. Mengatakan cat
membuat atau menyalin file itu hanya salah palsu.
Dapat digunakan untuk menampilkan isi file. Misalnya: cat "my file.txt"
. Anda juga dapat melakukan man cat
untuk menunjukkan kepada Anda detail tentang apa yang cat
dapat digunakan untuk.
Berikut ini cara lain untuk membuat file menggunakan pengalihan shell (atau perpipaan) dan cat
:
cat << EOF > foo.sh
#!/bin/sh
echo 'Hello World!'
EOF
cat << EOF
akan menampilkan baris berikut sampai string EOF
ditemui lagi. Kemudian >
( >>
) akan mengarahkan output ke file foo.sh
. Atau, jika Anda perlu membuat file sebagai root, Anda dapat mem-pipe output ke perintah tee
( tee -a
), dijalankan oleh perintah sudo
:
cat << EOF | sudo tee foo.sh && sudo chmod +x foo.sh
#!/bin/sh
HELLO='Hello World!'
echo "\$HELLO"
EOF
chmod +x
) jika berhasil dibuat ( &&
).$
) harus diloloskan (dengan \
) dalam output dari cat
.
< <(cat file[12]) tr
serta<<<$(cat file[12]) tr
keduanya merupakan cara yang benar-benar valid untuk mengarahkan beberapa file. Tentu saja Anda perlucat
untuk itu juga, hanya saja perpipaan bukan satu-satunya cara.