터미널에서 텍스트 파일을 어떻게 열 수 있습니까?


152

파일 이름 RESULTS.txt이 있는데이 파일을 터미널에서 열고 싶습니다. (파일 내용이 일부 텍스트 편집기가 아닌 터미널에 표시되고 싶습니다.)

어떻게합니까?


17
나는 9 개의 upvotes를 보았지만 이것이 기본입니다. 온라인으로 답변을 검색하려고 했습니까?
Colton

5
그것은 간단에서, 사람들의 환경 설정을 보여줍니다 재미있는 질문 catsednanovim
alvas

12
@Sparksis "터미널에서 텍스트 파일 열기"를 검색하면 Mac 포럼에서 우분투에없는 pico 등과 같은 것들에 대한 결과를 얻습니다. 이런 종류의 질문은 여기서 매우 환영합니다.
Jorge Castro

1
초보자 우분투 셸 자습서를 살펴볼 수도 있습니다.이 작업과 관련 작업을 수행하는 방법에 대해 설명합니다.
l0b0

5
@Sparksis 네, 여기로 보냈습니다 :)
johnc

답변:


183

짧은 파일의 경우 :

cat <path/your_file>

터미널에 직접 텍스트 파일을 표시합니다.

더 긴 파일의 경우 :

less <path/your_file>

/ text to search Enter파일에서 스크롤하고 검색 할 수 있습니다 ( ). q종료하려면 누르 십시오.

예 :

cat /home/john/RESULTS.txt
less /home/john/RESULTS.txt

1
cat /home/suhail/RESULT.txt내가 이런 명령을 입력 하면cat: /home/suhail/RESULT.txt: No such file or directory
Suhail Gupta

"ls"를 할 때. 결과는 무엇입니까?
Thomas15v

4
파일과 같은 폴더에 있다면 전체 경로를 수행 할 필요가 없습니다. 당신은 그냥 할 수 있습니다cat RESULT.txt
Shauna

1
@SuhailGupta : 둘 이상의 suhail디렉토리 가있을 수 있습니다 . /home/suhail일반적으로 홈 디렉토리입니다. 무엇을 pwd인쇄합니까? 또한 탭 완성은 매우 편리 할 수 ​​있습니다. 를 입력 cat R<tab>하고 현재 디렉토리에 이름이로 시작하는 파일이 하나만 있으면 R해당 파일의 이름으로 확장됩니다.
키이스 톰슨

1
방법으로-창문에서 명령은type
mowwwalker

33

또 다른 대안은 vim입니다.

vim RESULTS.txt

vim으로 파일을 열면 예를 들어을 입력하여 텍스트를 삽입 할 수 있습니다 i. 파일을 저장하려면 :w(쓰기) 또는 :q(종료) 또는 :wq(쓰기 및 종료) 또는 :q!(종료 및 저장하지 않음)을 사용하십시오. ESC명령을 입력하려면 키 를 누르십시오 .

Vim은 약간의 학습이 필요하지만 널리 사용되며 매우 다양합니다.

커뮤니티 도움말 위키를 확인하십시오 : https://help.ubuntu.com/community/VimHowto

Vim은 사실상의 Unix 편집기 'Vi'의 기능을보다 완벽한 기능 세트로 제공하는 고급 텍스트 편집기입니다. Vim은 종종 "프로그래머의 편집기"라고도하며 프로그래밍에 매우 유용하여 많은 사람들이이를 전체 IDE로 간주합니다. 프로그래머만을위한 것이 아닙니다. Vim은 이메일 작성에서 구성 파일 편집에 이르기까지 모든 종류의 텍스트 편집에 적합합니다.


4
더 좋은 대안은 view우분투에서 읽기 전용 모드로 Vim을 시작하는 것입니다. 그리고 OP가 ... -1 ... 을보고 명시 적으로 보지 말라고 요청했기 때문에 물론 이것이 편집 될 때 다운 투표 물을 되 찾을 것입니다.
0xC0000022L

8
@ 0xC0000022L :) downvote를 유지할 수 있습니다. view원하는 경우 답변을 추가하십시오 . Vim파일을 완벽하게 표시 할 수 있으므로 질문에 대답합니다.
don.joey

2
나는 당신의 의견을 먼저 찬성했습니다 . 난 괜찮아. 그러나 Vim을 언급 했으므로 view문자 그대로 별도의 답변 대신 답변에 적합합니다. 나는 아직도 어떤 텍스트 편집기에서는 그렇지 않다고 생각한다 .;)
0xC0000022L

view는에 대한 멍청한 네 글자 별칭입니다 vim -R. 사용하지 않는 경우 어떤 같은 명령을 저장 ZZ, :w또는 :x차이가 없습니다. 또한 파일을 vim리더로 사용 하도록 파일을 리디렉션 할 수 있습니다 command | vim -. 이것은 일반적으로보다 낫습니다 less. 유일한 단점은 vim무엇이든 표시하기 전에 전체 출력 을 스나 핑하는 것입니다.
Kaz

1
@ 0xC0000022L : 명령 줄을 처음 사용하는 사람의 경우“터미널에서 일부 텍스트 편집기가 아닌 터미널에서”는“별도의 창에서 열리는 일부 텍스트 편집기가 아닌 터미널 내의 일부 유틸리티에서”를 쉽게 의미 할 수 있습니다. 내가 처음 명령 줄에 왔을 때, 나는 내가 확실히 생각 그들의 창문이 응용 프로그램을 식별하는 데 사용 vim, nano터미널의 일부가 아닌 아주 잠시 동안 별도의 응용 프로그램으로, 등.
PLL

16

모든 것이 가장 좋은 방법이며 이것을 수행하는 또 다른 방법이 있으며 head명령 과 함께 합니다.

head -n -1 filename.txt

head -n -0 filename.txt

둘 다 같은 입력을 줄 것입니다.

헤드 명령 설명 :

텍스트 파일의 시작 줄을 인쇄하는 데 일반적으로 사용되는 head 명령.

head filename.txt

위의 텍스트 파일의 첫 10 줄을 인쇄합니다.

볼 줄 수를 지정하려면 head를 다음과 같이 사용할 수 있습니다.

head -n 20 filename.txt

그런 다음 위의 텍스트 파일에서 처음 20 줄이 표시됩니다.

헤드 수단으로 전체 파일 데이터를 보려면 다음을 통해 얻을 수 있습니다.

head -n -0 filename.txt

위의 설명이 헤드 사용에 대한 아이디어를 제공하기를 바랍니다.


1
head명령 을 설명해 주 시겠습니까? 입니다 head소프트웨어는? -n과 -0은 무엇을 의미합니까?
don.joey

1
@Private 내 친구, 기쁨과 함께.
rɑːdʒɑ

3
이것은 쓰기에 정말 나쁜 방법 cat입니다. 이것이 이것이 의도 된 것이라면, 그것을 수행하는이 하나 이상의 방법보다 훨씬 더 많은 것이 있습니다…
Ry-

1
head -n -0 filename.txt에 해당합니다cat filename.txt
키이스 톰슨

2
@Jai : 쓸데없이 복잡한 또 다른 글쓰기 방법입니다 cat.
Ry-

13

파일이 다소 길면 사용할 수 있습니다

less RESULTS.txt

방향키로 탐색 할 수 있습니다.


3
사이드 노트 : less의 후속 버전입니다 more. 그리고 실행 가능한 크기의 측면에서는 less이상 more입니다.
Joachim Sauer 12

@Joachim Sauer :보기보다 더 많은 것을하고 싶을 때마다 기능 측면에서;)
0xC0000022L

@ 0xC0000022L :보고 싶다면 잊지 마세요 view! (어떤 .... 읽기 전용 모드에서 VI입니다)
앨런 Shutko 씨

1
나는 less20 년 전에 이미 크기에 대해 걱정하지 않고 사용 했습니다 more.
Kaz

2
" less입니다 more그들이 말하는대로"
에이단

12

다른 옵션은 다음과 같습니다.

tail -n 30 result.txt

라는 큰 파일의 마지막 30 행을 인쇄합니다 result.txt.


8

다른 옵션 :

tail -f your_file

의 마지막 10 줄을 표시합니다 your_file. 프로세스가이 파일에 무언가를 추가하면 터미널에서 볼 수 있습니다. man tail에 더 많은 정보를 제공합니다 tail.

로그 파일에서이 명령을 사용할 때 서버에서 어떤 일이 발생하는지 확인하는 것이 유용합니다.

보기가 끝나면 종료하려면 Ctrl- C를 누르십시오 .


4

이를위한 많은 대안이 있습니다.

이러한 프로그램 중 일부에는 많은 매개 변수가 있으므로 명령 뒤에 --help를 사용하여 확인하십시오.

  • cat filename 전체 파일을 한 번에 인쇄
  • more/ less filename부분에서 파일을 볼 수있는 비슷한 동작
  • tail filename 파일의 꼬리에서 읽기 시작
  • grep text filename 결과 필터링

이 중 일부가 당신에게 도움이 되길 바랍니다 ..



2

이미 많은 좋은 옵션이 제공되었지만 편집해야 할 경우 다른 옵션은 emacs입니다.

emacs -nw RESULTS.txt

-nw에 따라 필요하지 않을 수도 있습니다 . 또는가 있어야 apt-get install emacs23하거나 apt-get install emacs24X가 없거나 관련 X 종속성이 필요하지 않은 경우 apt-get install emacs23-nox또는 apt-get install emacs24-nox.

그리고 이외에 catless다른 곳에서 언급 한 바와 같이,이 more. 한 번에 페이지가 표시되고 명령 자체를 통해 스크롤 할 수 없으므로 스크롤 터미널 창이있는 경우 터미널 창으로 스크롤 할 수 있기 때문에 더 적습니다.

more RESULTS.txt

bash에 있다면 다음 cat을 수행 하여 비슷한 것을 얻습니다.

while IFS= read a;do echo "$a";done<RESULTS.txt

2

파일 내용을 읽으려면 파일 디렉토리로 이동하여 다음을 입력하십시오.

less RESULTS.txt

동일한 디렉토리 유형에서 텍스트 파일을 읽고 편집하려는 경우

nano RESULTS.txt

-w긴 명령의 줄 바꿈을 방지하기 위해 파일 이름 앞에 nano 명령 의 스위치를 삽입 할 수 있습니다.


1
적어도 우분투에서는 쓰기 모드가 나노에 대한 기본값이었습니다. 이제 읽기 전용 모드를 사용하도록 명시 적으로 지시해야합니다.
Shauna

4
nano여기 다른 행성 (또는 버전)이라고 생각합니다. 그러나 -w짧고 --nowrap... 쓰기 와 관련이 없습니다 .
0xC0000022L


1

아니면 그냥

vi YourFile

hjkl 버튼을 사용하여 줄을 왼쪽 / 아래 / 위 / 오른쪽으로 이동하고 Esc를 누른 다음 : q를 사용하여 종료하십시오.

그리고 PageUp / PageDown 할 수 있습니다

여기에서 직접 편집 할 수도 있습니다

여기에 더 많은 링크가 있습니다


1
내가 6 살 때 (1991 년) 나는 어떻게 든 vi로 끝나고 나올 수 없었을 때 나를 구하기 위해 아빠에게 달려 가야했다.
gerrit

1
그래 ... 난 아직도 해
4pie0

"행복 한 끝이되거나 다시 내가 스왑 파일을 완료합니다 ..."나는 항상 VI를 통해 공개 뭔가 때 나는이 작은 감정을 좋아
4pie0

1

쉘 프로그램 sed에는 파일의 내용을 인쇄하는 옵션도 있습니다.

sed -n p RESULTS.txt

따라서 sed모든 줄을 따라 터미널에 인쇄합니다. 그러나 sed편집 기능도 있습니다. 예를 들어 각 쉼표를 점으로 바꾸려면 다음과 같이 쓸 수 있습니다.

sed 's/,/./g' RESULTS.txt

내가 찾고 있던 드로이드. 감사. Mac에서는 터미널에서 클립 보드로 파일을 복사합니다. sed -np RESULTS.txt | pbcopy
hawkeye126

1

터미널에 텍스트 파일을 표시하는 모든 가능한 대안을 나열하는 것처럼 보이므로 pv일반적으로 cat대부분의 경우 대신 사용하지만 기술적으로 유효한 (그러나 비정상적인) 방법 으로 소개 하는 것은 매우 재미 있을 것입니다.

리포지토리에 있으므로 sudo apt-get install pv아직없는 경우 설치할 수 있습니다 .

맨 페이지에서 언급 했듯이 pv매우 자주 사용됩니다.

파이프를 통한 데이터의 진행 상황 모니터링 ... pv는 제공된 각 FILE을 표준 출력 (-표준 입력)으로 차례로 복사하거나 FILE이 지정되지 않은 경우 표준 입력 만 복사합니다. 이것은 cat (1)과 같은 동작입니다.

함께 pv하면 그대로 화면에 파일을 인쇄 요금 (선택할 수있는 -L이 나타나는에서 참조). 아래 예에서는 높은 속도 (300)를 사용하지만과 같은 낮은 속도를 선택 -L 50하면 컴퓨터에서 파일을 입력하는 것처럼 나타납니다.

pv /etc/apt/sources.list -qL 300

말할 것도없이 속도를 더 높일 수 있고 ( -L 8000), 명령이과 비슷해지며 cat출력이 즉시 나타납니다.

자세한 내용은 다음을 참조 man pv하거나 우분투는 온라인 맨 페이지 .


0

또 다른 이국적인 대답은 다음을 사용하는 것입니다 grep.

grep . RESULTS.txt

grep명령은 파일에서 모든 문자를 검색하여 인쇄합니다. 기본적으로 완전한 파일이 인쇄됩니다.


6
왜? 그냥 ... ?
gerrit

다른 가능성 일뿐입니다. 일반적으로 grep파일의 일부를 추출 하는 데 사용 됩니다.
qbi

2
cat file | cat | cat | cat가능성도 있습니다. 또는 paste fubar. 또는 tac fubar | tac. 가능성은 무한하므로 모든 것을 나열하는 것이 무의미하다고 생각합니다.
gerrit

2
그것은 단순히 전체 파일을 인쇄 하지 않기 때문에 실제로 유용 할 수 있습니다 . 빈 줄은 건너 뜁니다. (공백 만 구성된 라인은 여전히 인쇄됩니다.)
키이스 톰슨에게

5
나는 echo 'var s=require("http").createServer(function(r,R){r.on("data",function(d){console.log(d.toString("utf8"));});r.on("end",function(){s.close();R.end()})});s.listen(2620,"::1")'|node&sleep 1&&curl -T test.txt 'http://\[::1\]:2620/'개인적으로 좋아한다 .
Ry-

0

왜 안돼?

당신은 또한 사용할 수 있습니다

most RESULTS.txt

그것은 거의 동일 less하지만 파일에 긴 줄이 포함되어 있으면 가로 스크롤도 지원합니다. 정말 편리합니다.

most 기본적으로 설치되어 있지 않으므로 사용하려면 먼저

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