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.
sumber
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.
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 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.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:
Membaca File
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:
Rangkaian
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:
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:
Pembuatan File
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
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 >> file1Salin File
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
:Referensi:
sumber
cat
tidak membuat file-file itu - shellnya adalah saat Anda menggunakan pengalihan. Anda mungkin telah melakukannya dengan baikecho foo > file1
.cat
apa yang sebenarnya dilakukan oleh sesuatu yang lain. Misalnya, melakukanless file1 > file2
(ataugrep '.*' file1 > file
atauawk 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. Mengatakancat
membuat atau menyalin file itu hanya salah palsu.Dapat digunakan untuk menampilkan isi file. Misalnya:
cat "my file.txt"
. Anda juga dapat melakukanman cat
untuk menunjukkan kepada Anda detail tentang apa yangcat
dapat digunakan untuk.sumber
Berikut ini cara lain untuk membuat file menggunakan pengalihan shell (atau perpipaan) dan
cat
:cat << EOF
akan menampilkan baris berikut sampai stringEOF
ditemui lagi. Kemudian>
(>>
) akan mengarahkan output ke filefoo.sh
. Atau, jika Anda perlu membuat file sebagai root, Anda dapat mem-pipe output ke perintahtee
(tee -a
), dijalankan oleh perintahsudo
:chmod +x
) jika berhasil dibuat (&&
).$
) harus diloloskan (dengan\
) dalam output daricat
.sumber