Cara membuat file kosong dari baris perintah

190

Bagaimana saya bisa membuat file kosong dari baris perintah?

NES
sumber

Jawaban:

237

Gunakan touchperintah:

The touch utility sets the modification and access times of files to the
current time of day. If the file doesn't exist, it is created with
default permissions.

Contoh:

touch newfile
Yesaya
sumber
14
Anda dapat menggunakan touch newfile.txtatau ekstensi lainnya juga (jika Anda perlu menentukan ekstensi).
Gotqn
@ gotqn untuk python touch newfile.py dan untuk ruby ​​newfile.rb?
kouty
3
Tetapi jika newfilesudah ada dan tidak kosong, maka touch newfileakan meninggalkan Anda dengan file kosong . Mungkin bukan yang Anda inginkan.
Camille Goudeseune
@CamilleGoudeseune Saya pikir Jika newfilesudah ada, touchperintah hanya akan memperbarui timestamp file (yang adalah perintah untuk apa) tanpa mengedit isi file.
C0deDaedalus
Anda tidak harus memikirkan itu; itu benar! Tapi bukan itu pertanyaannya.
Camille Goudeseune
81
> newfile

Juga akan membuat file kosong. Jika file tersebut sudah ada, itu akan dipotong (dikosongkan). Untuk menyimpan konten file, gunakan >>untuk menambahkan seperti pada:

>> file

Bahkan jika file itu ada, isinya tidak akan tersentuh.

Sunting : Jika Anda tidak memiliki konten untuk diketik, ini lebih cepat:

user@host$ :> newfile
user@host$ :>> new_or_existing_file

Catatan. :adalah perintah di sini. Itu bukan bagian dari prompt.

balki
sumber
Nah, itu baru. Apakah ini spesifik untuk bash?
tshepang
Saya kira tidak. Setiap shell yang memungkinkan pengalihan aliran output ke file harus mendukung ini. Ini akan memotong file jika sudah ada. Sentuhan aman digunakan jika Anda tidak ingin mengosongkannya.
balki
Wow sekarang saya pikir ini disebut curang sistem
banarun
12
cat /dev/null > file1.ext 

cara pasti ada juga cara lain

echo "" > file2.ext 

Perbedaannya adalah file1.ext akan menjadi nol byte dan file2.ext akan menjadi satu byte. Anda dapat memeriksanya dengan

ls -l file*.*
indianwebdevil
sumber
10
Tidak, 'echo "">' tidak membuat file kosong, itu membuat file yang berisi baris baru. Jika Anda karena suatu alasan ingin menggunakan gema untuk membuat file kosong, Anda harus menggunakan 'gema -n "">', atau cukup 'gema -n>'
andol
7

Menggunakan vimeditor Anda juga dapat membuat file kosong.

vim filename

Lalu simpan

:wq
nrider
sumber
Nah, dalam hal ini bukan editor teks tetapi vim.
Nephente
2

Perintah

echo -n > file

membuat file kosong, jika versi Anda echomendukung saklar -n.

Atau Anda bisa menggunakannya printf

printf '' > file
AB
sumber
0

Python one-liner:

$ python -c 'import sys,os;f=sys.argv[1];os.utime(f,None) if os.path.exists(f) else open(f,"a").close' myfile.txt

Pada dasarnya, implementasi python dari touch.

Kita bisa membuatnya lebih pendek dengan ini:

$ python -c 'import sys,os;f=sys.argv[1];'$'\n''with open(f,"a"): os.utime(f,None)' mysecondfile.txt 
Sergiy Kolodyazhnyy
sumber