터미널 창에서 Linux에서 파일을 만드는 방법은 무엇입니까? [닫은]


449

Linux 터미널에서 파일을 만드는 가장 쉬운 방법은 무엇입니까?


1
$>newfile파일을 만들 수도 있습니다.
EsmaeelE

답변:


577

파일에 포함하려는 내용에 따라 :

  • touch /path/to/file 빈 파일
  • somecommand > /path/to/file 일부 명령의 출력을 포함하는 파일의 경우

      eg: grep --help > randomtext.txt
          echo "This is some text" > randomtext.txt
  • nano /path/to/file또는 vi /path/to/file(또는 any other editor emacs,gedit etc)
    기존 파일을 편집 용으로 열거 나 비어있는 파일을 작성하여 엽니 다 (없는 경우)


51
또한 printf "some long message\nwith newlines\n" > file. 모두에게 행운을 빕니다.
shellter

1
UNIX는 명령 줄 환경이 아니라 (매우 다른) OS 제품군입니다. 그는 말했다 : 예,이 대부분의 유닉스에서 작동해야
오이겐 RIECK

4
touch표준 도구이기 때문에 UNIX에서 작동합니다. somecommand는 표준 구문을 사용하기 때문에 예를 작동합니다. nano라는 편집기가 있기 때문에 샘플이 작동하지 않을 수 있습니다 nano설치되지 않을 수 있습니다 (나노 표준화되지 않음). 표준 편집기는 ed및 대신 사용되거나 사용자 또는 시스템 구성 기본 텍스트 편집기 (있는 경우)를 사용 nano하는 $EDITOR데 사용할 수 있습니다 .
sorpigal

14
또한 >/path/to/file파일이 없더라도 빈 파일을 만들 라고 간단히 말할 수 있습니다 touch.
sorpigal

2
@EugenRieck 허가가 거부되었다고하는 경우
123


92

다음을 사용하여 파일을 작성하십시오. cat

$ cat > myfile.txt

이제 파일에 원하는 것을 입력하십시오.

Hello World!

CTRL-D로 저장하고 종료


파일을 즉시 편집하는 쉽고 편리한 방법을 제공하기 때문에 cat을 사용하는 것이 좋습니다.
Delali

아무것도 입력하지 않아도됩니다.
빙 자오

내가 시도했을 때 cat /etc/systemd/system/sample.service새 sample.service 파일을 만드는 것이 아니라 "그러한 파일이나 디렉토리가 없습니다"라고 말했습니다.
TylerH

@TylerH cat /etc/systemd/system/sample.service는 콘솔에 파일을 인쇄하여 cat > /etc/systemd/system/sample.service표준 입력을 파일로 리디렉션합니다. 따라서 control-d를 눌러 표준 입력을 닫아야합니다.
Jerry Jeremiah

40

몇 가지 가능한 해결책이 있습니다.

빈 파일 만들기

touch file

>file

echo -n > file

printf '' > file

echo버전은 작동 할 경우에만 버전 echo지원하는 -n억제 줄 바꿈 전환합니다. 이것은 비표준 추가입니다. 다른 예제는 모두 POSIX 셸에서 작동합니다.

줄 바꿈이 포함 된 파일 만들기

echo '' > file

printf '\n' > file

이것은 줄 바꿈으로 끝나기 때문에 유효한 "텍스트 파일"입니다.

파일에 텍스트 쓰기

"$EDITOR" file

echo 'text' > file

cat > file <<END \
text
END

printf 'text\n' > file

이들은 동등합니다. $EDITOR명령은 EDITOR 환경 변수에 정의 된 대화 형 텍스트 편집기를 가지고 당신이 대화 형으로 해당 텍스트를 입력한다고 가정합니다. cat버전은 후 문자 줄 바꿈을 가정 \하고 서로 줄 끝. 그 외에는 POSIX 쉘에서 모두 작동합니다.

물론 파일을 작성하고 작성하는 다른 많은 방법도 있습니다.



17

Linux에서 텍스트 파일을 작성하는 방법 :

  • touch텍스트 파일을 만드는 데 사용 :$ touch NewFile.txt
  • cat새 파일 작성에 사용 : $ cat NewFile.txt
    파일이 작성되었지만 비어 있으며 여전히 사용자의 입력을 기다리고 있습니다. 터미널에 텍스트를 입력 할 수 있으며 일단 완료되면 CTRL-D가 닫거나 CTRL-C가 빠져 나옵니다.
  • >텍스트 파일을 만드는 데 간단히 사용 하십시오.$ > NewFile.txt
  • 마지막으로 텍스트 편집기 이름을 사용하고 다음과 같은 파일을 만들 수 있습니다.
    nano MyNewFile vi MyNewFile NameOfTheEditor NewFileName

16

ㅋ! 그것은 간단합니다! 이 시도:

$ touch filename

1
이것은 sudo와 함께 작동했기 때문에 시스템 폴더에 새 파일을 만들 수있었습니다.
Patricia

15

touch다른 사람들이 말했듯이 명령 을 사용할 수 있습니다 .

touch filename

명령 행에서 파일을 작성하려면 사용할 수 있습니다 echo또는 printf:

echo "Foo" > filename
printf "Foo" > filename

권한에 문제가있을 수 있습니다. 다음과 같은 오류가 발생 bash: filename: Permission denied하면 sudo bash -c 'echo "Foo" > filename'여기에 설명 된대로 를 사용해야 합니다. /ubuntu/103643/cannot-echo-hello-x-txt-even-with-sudo


14

첫 번째 방법

echo -n > filename.txt

두 번째 방법

> filename.txt

세번째 방법

touch filename.txt

파일 내용을 보려면

vi filename.txt

2 방법은 type-> "> filename.txt"
shashwat gupta

질문은 도움말 센터에 정의 된 스택 오버플로에 대한 주제가 아닙니다 . 그러한 질문에 대답하지 마십시오. 대신주의를 기울여 플래그를 지정해야하며 닫히거나 적절하게 마이그레이션됩니다.
Toby Speight






4

여러분이 새 파일을 만들려고하지만 다음과 같이 말합니다 : 'File does not exist'아직 존재하지 않는 디렉토리에 액세스하기 때문입니다. mkdir /path/to/dir명령을 사용하여 존재하지 않는 모든 디렉토리를 먼저 작성해야합니다 .


0

install을 사용하여 소유권과 권한이있는 빈 파일을 만듭니다.

sudo install -v -oUSER -gGROUP -m640 /dev/null newFile.txt

이 방법 sudo은 많은 시나리오에서 유용하지만 OP 질문에 대한 답변의 일부는 아닙니다.
tripleee

그룹이 소유하거나 소유하지 않은 파일이 필요한 사용자 이름이 아닌 경우에 필요합니다.
LinuxGuru

예, 그러나 OP가 요구 한 것을 엄격히 말하지 않는 시나리오가 있습니다.
tripleee

0

가장 쉬운 방법과 빠른 방법 중 하나

$ vim filename
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.