Dalam beberapa situasi, Anda mungkin ingin memotong (mengosongkan) file yang ada ke panjang nol. Dengan kata sederhana, memotong file berarti menghapus konten file tanpa menghapus file.
Memotong file jauh lebih cepat dan lebih mudah daripada menghapus file, membuatnya kembali, dan mengatur izin dan kepemilikan yang benar. Juga, jika file dibuka oleh suatu proses, menghapus file dapat menyebabkan program yang menggunakannya tidak berfungsi.
Tutorial ini menjelaskan cara memotong file ke ukuran nol di sistem Linux menggunakan pengalihan shell dan truncate
perintah.
Pengalihan Shell #
Metode termudah dan paling sering digunakan untuk memotong file adalah dengan menggunakan >
operator pengalihan shell.
Format umum untuk memotong file menggunakan pengalihan adalah:
: > filename
Mari kita uraikan perintahnya:
:
titik dua berartitrue
dan tidak menghasilkan keluaran.- Operator pengalihan
>
mengarahkan output dari perintah sebelumnya ke file yang diberikan. filename
, file yang ingin Anda potong.
Jika file ada, itu akan dipotong menjadi nol. Jika tidak, file akan dibuat.
Alih-alih :
juga dapat menggunakan perintah lain yang tidak menghasilkan keluaran.
Berikut adalah contoh penggunaan cat
perintah untuk menampilkan konten /dev/null
device, yang hanya mengembalikan karakter akhir file:
cat /dev/null > filename
Perintah lain yang dapat digunakan adalah echo
. -n
opsi memberitahu echo
untuk tidak menambahkan baris baru:
echo -n > filename
Pada kebanyakan shell modern seperti Bash atau Zsh Anda dapat menghilangkan perintah sebelum simbol redirection dan menggunakan:
> filename
Untuk dapat memotong file, Anda harus memiliki izin menulis pada file tersebut. Biasanya, Anda akan menggunakan sudo
untuk ini, tetapi hak akses root yang ditinggikan tidak berlaku untuk pengalihan. Ini contohnya:
sudo : > /var/log/syslog
bash: /var/log/syslog: Permission denied
Ada beberapa solusi yang memungkinkan pengalihan dengan sudo
. Opsi pertama dapat menjalankan shell baru dengan sudo dan menjalankan perintah di dalam shell tersebut menggunakan -c
bendera:
sudo sh -c '> filename'
Pilihan lain adalah menyalurkan output ke tee
perintah, tinggikan tee
hak istimewa dengan sudo
, dan tulis output kosong ke file yang diberikan:
: | sudo tee filename
truncate
Perintah #
truncate
adalah utilitas baris perintah yang memungkinkan Anda mengecilkan atau memperluas ukuran file ke ukuran tertentu.
Sintaks umum untuk memotong file ke ukuran nol dengan truncate
perintah, adalah sebagai berikut:
truncate -s 0 filename
-s 0
opsi menyetel ukuran file ke nol.
Misalnya, untuk mengosongkan log akses Nginx, Anda akan menggunakan:
sudo truncate -s 0 /var/log/nginx/access.log
Kosongkan Semua File Log #
Seiring waktu, drive disk Anda mungkin menjadi berantakan dengan banyak file log besar yang menghabiskan banyak ruang disk.
Perintah berikut akan mengosongkan file yang diakhiri dengan “.log” di bawah /var/log
direktori:
sudo truncate -s 0 /var/log/**/*.log
Opsi yang lebih baik adalah memutar, mengompres, dan menghapus file log dengan logrotate
alat.
Kesimpulan #
Untuk memotong file di Linux gunakan operator pengalihan >
diikuti dengan nama file.
Jika Anda memiliki pertanyaan atau komentar, silakan tinggalkan komentar di bawah.