Як створити порожній файл з командного рядка


190

Як я можу створити порожній файл із командного рядка?

Відповіді:


237

Використовуйте touchкоманду:

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.

Приклад:

touch newfile

14
Ви також можете використовувати touch newfile.txtабо якесь інше розширення (якщо вам потрібно вказати розширення).
gotqn

@gotqn для python touch newfile.py і для ruby ​​newfile.rb?
kouty

3
Але якщо вона newfileвже існує і не є порожньою, touch newfileви залишите вас із порожнім файлом. Можливо, не те, чого ти хотів.
Camille Goudeseune

@CamilleGoudeseune Я думаю, що якщо вона newfileвже існує, touchкоманда буде просто оновлювати часову позначку файлу (що саме для цієї команди), не редагуючи вміст файлу.
C0deDaedalus

Вам не потрібно думати про це; це правда! Але це не те, що задавали питання.
Camille Goudeseune

81
> newfile

Також створить порожній файл. Якщо файл вже існує, він буде усічений (очищений). Щоб зберегти вміст файлу, використовуйте >>для додавання як у:

>> file

Навіть якщо файл існує, вміст буде недоторканим.

Редагувати : Якщо у вас немає вмісту для введення, цей текст швидше:

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

Примітка. :тут команда. Це не є частиною підказки.


Тепер це нове. Це баш-специфічно?
тшепанг

Я не думаю, що так. Будь-яка оболонка, яка дозволяє перенаправляти вихідний потік у файл, повинна підтримувати це. Це вріже файл, якщо він уже існує. touch є безпечним для використання, якщо ви не хочете його спорожнювати.
балки

Нічого собі, я думаю, що це називається обманом системи
банарун

12
cat /dev/null > file1.ext 

точний спосіб є і іншим способом

echo "" > file2.ext 

Різниця file1.ext буде нульовим байтом, а file2.ext - одним байтом. Ви можете перевірити це за допомогою

ls -l file*.*

10
Ні, "echo" "> 'не створює порожній файл, він створює файл, що містить новий рядок. Якщо ви з якоїсь причини хочете використовувати ехо для створення порожнього файлу, вам доведеться скористатися 'echo -n "">', або просто 'echo -n>'
andol

7

За допомогою vimредактора ви також можете створити порожній файл.

vim filename

Потім збережіть

:wq

Ну, в цьому випадку не будь-який текстовий редактор, але vim.
Нефенте

2

Команда

echo -n > file

створює порожній файл, якщо ваша версія echoпідтримує перемикач -n.

Або ви могли використовувати printf

printf '' > file

0

Пітон однолінійний:

$ 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

В основному, python реалізація touch.

Ми можемо скоротити це:

$ python -c 'import sys,os;f=sys.argv[1];'$'\n''with open(f,"a"): os.utime(f,None)' mysecondfile.txt 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.