명령 줄에서 빈 파일을 만드는 방법


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

파이썬 터치 newfile.py 및 루비 newfile.rb에 대한 @gotqn?
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

노트. :여기에 명령이 있습니다. 프롬프트의 일부가 아닙니다.


이제는 새로운 것입니다. bash 특정입니까?
tshepang

나는 그렇게 생각하지 않습니다. 출력 스트림을 파일로 경로 재 지정할 수있는 모든 쉘이이를 지원해야합니다. 파일이 이미 있으면 잘립니다. 터치하지 않으려면 터치가 안전합니다.
balki

와우 지금은 이것이 시스템 속임수라고 생각합니다
banarun

12
cat /dev/null > file1.ext 

다른 방법도 있습니다 정확한 방법

echo "" > file2.ext 

차이점은 file1.ext는 0 바이트이고 file2.ext는 1 바이트입니다. 당신은 이것을 통해 확인할 수 있습니다

ls -l file*.*

10
아니요, 'echo "">'는 빈 파일을 만들지 않고 줄 바꿈이 포함 된 파일을 만듭니다. 어떤 이유로 든 echo를 사용하여 빈 파일을 만들려면 'echo -n "">'또는 단순히 'echo -n>'을
사용해야합니다.

7

사용 vim편집기 당신은 또한 빈 파일을 만들 수 있습니다.

vim filename

그런 다음 저장

:wq

글쎄,이 경우 텍스트 편집기가 아니라 vim.
Nephente

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

기본적으로의 파이썬 구현 touch.

우리는 이것을 더 짧게 만들 수 있습니다 :

$ python -c 'import sys,os;f=sys.argv[1];'$'\n''with open(f,"a"): os.utime(f,None)' mysecondfile.txt 
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.