Komut satırından boş bir dosya nasıl oluşturulur


190

Komut satırından nasıl boş bir dosya oluşturabilirim?

Yanıtlar:


237

touchKomutu kullanın :

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.

Örnek:

touch newfile

14
Ayrıca touch newfile.txt(uzantıyı belirtmeniz gerekirse) başka bir uzantıyı da kullanabilirsiniz .
14'te

python touch newfile.py ve ruby ​​newfile.rb için @gotqn?
kouty,

3
Fakat eğer newfilezaten mevcutsa ve boş değilse, o touch newfilezaman sizi boş bir dosyayla bırakacaktır . Belki istediğini değil.
Camille Goudeseune

@CamilleGoudeseune Bence newfilezaten varsa, touchkomut , dosyanın içeriğini düzenlemeden sadece dosyanın zaman damgasını günceller (bu tam olarak ne için bir komuttur).
C0deDaedalus

Bunu düşünmene gerek yok; bu doğru! Ama sorulan soru bu değildi.
Camille Goudeseune

81
> newfile

Ayrıca boş bir dosya oluşturacaktır . Dosya zaten varsa, kesilecek (boşaltılacak). Dosya içeriğini korumak için, aşağıdakileri >>eklemek için kullanın :

>> file

Dosya mevcut olsa bile, içeriğe dokunulmaz.

Düzenleme : Yazacak içeriğiniz yoksa, bu daha hızlı olur:

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

Not. :buradaki komut. Bu istemin bir parçası değil.


Şimdi bu yeni. Bash belirli mi?
tshepang

Sanmıyorum Çıkış akışının bir dosyaya yönlendirilmesine izin veren herhangi bir kabuk bunu desteklemelidir. Bu zaten varsa, dosyayı keser. boşaltmak istemiyorsanız, dokunma güvenlidir.
balki

Vay şimdi bence bu sistemi aldatma denir
banarun

12
cat /dev/null > file1.ext 

kesin yolu da başka bir yolu var

echo "" > file2.ext 

Aradaki fark file1.ext, sıfır byte, file2.ext bir byte olacaktır. Bunu kontrol edebilirsiniz

ls -l file*.*

10
Hayır, 'echo "">' boş bir dosya oluşturmaz, yeni bir satır içeren bir dosya oluşturur. Herhangi bir sebepten dolayı boş bir dosya oluşturmak için echo kullanmak istiyorsanız 'echo -n "">' ya da basitçe 'echo -n>'
andol

7

vimEditör kullanarak boş bir dosya da oluşturabilirsiniz.

vim filename

Sonra kaydet

:wq

Eh, bu durumda herhangi bir metin editörü değil vim.
Nephente,

2

Komuta

echo -n > file

echo-n anahtarını destekliyorsanız, boş bir dosya oluşturur .

Ya da kullanabilirsiniz printf

printf '' > file

0

Python bir astar:

$ 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

Temel olarak, python uygulaması touch.

Bununla daha kısa hale getirebiliriz:

$ python -c 'import sys,os;f=sys.argv[1];'$'\n''with open(f,"a"): os.utime(f,None)' mysecondfile.txt 
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.