Apa perbedaan antara ls >dan ls >>? Saya perlu memahami ini untuk komputasi GCSE saya tetapi tidak tahu apa bedanya.
man bash).
Apa perbedaan antara ls >dan ls >>? Saya perlu memahami ini untuk komputasi GCSE saya tetapi tidak tahu apa bedanya.
man bash).
Jawaban:
>& >>adalah operator pengalihan; mereka mentransfer output dari sesuatu, dalam hal ini ls, 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, jadi echo& cat, misalnya, juga dapat digunakan dengan cara ini.
Yang juga menarik adalah |operator, yang meneruskan data ke aplikasi lain - jadi ls | cat -nakan memberi Anda daftar nomor baris!
Pipa adalah istilah yang relevan.
straceoutput untuk bash -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 >>filemencari 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 > myfileakan membuat dokumen bernama myfilejika tidak ada. Jika myfilesudah ada dan berisi beberapa data, maka itu akan ditimpa dengan data baru yang Anda berikan.
Sedangkan ls >> myfileakan membuat file jika tidak ada dan menulis data untuk itu. Jika file ada dengan beberapa data, maka data baru akan ditambahkan ke bagian akhirnya.
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.