Apa perbedaan antara ls >
dan ls >>
? Saya perlu memahami ini untuk komputasi GCSE saya tetapi tidak tahu apa bedanya.
command-line
Helen Schofield
sumber
sumber
man bash
).Jawaban:
>
&>>
adalah operator pengalihan; mereka mentransfer output dari sesuatu, dalam hal inils
, di tempat lain. Jika output ini masuk ke file,>
akan memotong file - yaitu menghapus semua konten sebelumnya, sedangkan>>
akan menambahkan data baru ke akhir file, menjaga konten sebelumnya. Ini akan bekerja dengan input apa pun, jadiecho
&cat
, misalnya, juga dapat digunakan dengan cara ini.Yang juga menarik adalah
|
operator, yang meneruskan data ke aplikasi lain - jadils | cat -n
akan memberi Anda daftar nomor baris!Pipa adalah istilah yang relevan.
sumber
strace
output untukbash -c 'echo a > blah'
:open("blah, O_WRONLY|O_CREAT|O_TRUNC, 0666)
, sehingga truncate akan menjadi istilah yang tepat.>>
untuk menulis ke file (mis: log) juga memiliki sisi baiknya efek untuk tidak memiliki karakter "Nul" muncul di awal file saif jika file terpotong saat proses masih menulis untuk itu! (mis: selama rotasi file log). Karena "file foo>" tidak mencari, ia tidak melihat perubahan ukuran dan masih menunjuk lebih jauh dari awal, ad OS mengisi dengan Nul.foo >>file
mencari dan karena itu menunjuk ke posisi baru (awal).Simbol
>
dan>>
digunakan untuk mengarahkan output ke file.Keduanya akan membuat file jika file tidak ada. Jika file sudah ada, maka
>
akan menimpa file di mana seperti>>
akan menambahkan data ke file.Jadi
ls > myfile
akan membuat dokumen bernamamyfile
jika tidak ada. Jikamyfile
sudah ada dan berisi beberapa data, maka itu akan ditimpa dengan data baru yang Anda berikan.Sedangkan
ls >> myfile
akan membuat file jika tidak ada dan menulis data untuk itu. Jika file ada dengan beberapa data, maka data baru akan ditambahkan ke bagian akhirnya.sumber
JIKA Anda menggunakan satu>, maka itu akan menimpa file jika sudah ada. Berhati-hatilah saat menggunakan ini.
Jika Anda menggunakan dua >>, maka itu hanya akan menambahkan (dengan kata lain, mulai menulis di bagian bawah file) jika sudah ada. Kalau tidak, itu membuat file baru jika tidak ada.
sumber