본문 바로가기
Linux

7. Linux 기본 명령어(텍스트 파일)

by Choraengyi 2016. 11. 10.
728x90

텍스트 파일관련 명령어에 대하여 적어 보겠습니다.


1. cat


텍스트파일 내용을 출력, 또한 > 기호를 사용해 파일을 생성하고 텍스트 파일을 합치는 기능도 있습니다.


사용법

cat [option] 파일명


옵션

의 미

 -A

 -vET를 한꺼번에 쓰는것과 같습니다. 출력되지 않는 모든 문자를 출력해줌

 -b

 공백있는줄을 제외하고 행번호를 붙여서 텍스트 파일 출력

 -E

 라인의 끝에 $를 붙여 출력

 -n

 공백있는줄도 포함해서 행번호를 붙여 텍스트 파일 출력

 -s

 공백줄이 인접해있을시 하나의 줄로 출력

 -T

 탭문자를 ^I로 표시

 -v

 인쇄 불가능문자를 식별할 수 있도록 출력




cat 명령 다음에 리다이렉션(>)문자를 넣어서 키보드로 입력한 텍스트를 cho라는 파일을 생성해 저장하는 명령이 첫번째 명령입니다.


텍스트를 입력 후에 Ctrl+d 를 누르시면 텍스트 입력모드가 종료됩니다.


그다음 출력은 < 반대 방향으로 해서 명령을 입력하면 해당 텍스트 파일이 출력이 됩니다.


그리고 A옵션으로 탭문자는 ^I로 표시되었고 각 라인의 끝에 $문자가 붙게 됩니다. 순서대로 T, E 옵션이 적용된겁니다.



그리고 b옵션은 행번호를 붙여주는 옵션입니다. 다른 옵션은 그렇게 어려운내용이 아니니 따로 작성하지 않겠습니다.



2. head


텍스트파일의 첫부분을 보여줍니다, 기본 10줄을 출력해줍니다.


사용법

head [option] 파일명


 옵션

의 미 

 -c

 뒤에 n이면 바이트, k는 KB, m은 MB를 나타내며 해당 용량까지 출력

 -n

 뒤에 행수를 붙여 지정된 수만큼 출력

 -q

 여러개 파일 출력시 파일이름을 출력하지 않는다.



어려운 옵션이 딱히 없어서 하나만 예시를 들었습니다. 원래는 -n 3으로 쓰는데 줄여서 -3 으로 써도 무방합니다. 저렇게 여러 파일을 출력해 원하는 수의 행을


출력해 줍니다.


3. tail


head명령과 달리 텍스트파일의 끝부분을 보여주는 명령입니다, 기본적으로 10줄을 출력해 줍니다.


사용법

tail [option] 파일명


옵션은 head와 동일합니다. 차이는 위에서부터출력이냐 끝에서부터 출력이냐여서 건너뛰겠습니다.


 옵션

의 미

 -f

파일끝부분에 행이 추가될시 실시간으로 출력한다.



cho1파일의 끝3줄을 tail명령으로 출력했습니다. f옵션같은경우는 로그파일 실시간 모니터링할때 매우 유용합니다.


4. more


텍스트파일을 화면 단위로 출력해 주는 명령입니다.


사용법

more [option] 파일명


 옵션

의 미

 -num

한 페이지를 num 줄 수로 지정한다.


more상태 진입후에 명령키를 알아보겠습니다.


의 미

 h

 more에 대한 도움말

 space, z

 다음 페이지를 보여줌

 Enter

 다음줄을 보여줌

 d

 다음 반페이지 보여줌

 b

  이전 페이지를 보여줌

 f

 페이지 skip 후에 다음페이지 보여줌

 /word

 해당 word검색

 =

 현재 줄번호를 보여줌

 :f

 현재 파일명과 줄번호를 보여줌

 !

 다른명령을 입력할 수 있는 상태가 됨

 q

 more명령을 종료함


more 명령으로 Grammar라는 텍스트 파일을 열어 보겠습니다.



명령어를 입력하면 해당 화면이 뜹니다.



h를 눌러 도움말을 연 모습입니다.



more명령은 h를 통해서 하나 하나 입력해보면서 이런기능이 있구나 하면서 공부하면 될 거 같습니다.


5. less


more명령을 강화한 명령이라 생각하시면 됩니다. 기능은 more와 비슷하고 커서를 이욯한 이동이 가능합니다.


사용법

less [option] 파일명


명령키 내용입니다.


의 미

 h

 less에 대한 도움말

 space, f

Ctrl+f

 다음 페이지를 보여줌

 Enter,e

 다음줄을 보여줌

 d

 다음 반페이지 보여줌

 b

 이전 페이지를 보여줌

 u

 이전 반페이지 보여줌

/word

 해당 word검색(아래로 검색)

?word

 해당 word검색(위로 검색)

 y

 이전 줄로 이동

 n

 word검색시에 다음 word가 있는 문자를 찾아 보여줌

q

 less명령을 종료함


예시는 more와 같이 도움말을 켜놓겠습니다.



more든 less든 편하게 보여줄 수 있는 명령어들입니다. 저는 vi로 다 하긴하지만.. 이런게 있구나 하시면 될거같습니다.


6. grep


텍스트 파일에서 특정 문자열을 찾아주는 명령어 입니다.


사용법

grep [option] 문자열


옵션

 의 미

 -b

문자열과 일치하는 줄의 시작점 출력

 -c

 문자열과 일치하는 줄의 개수 출력

 -i

 대소문자 구분없이 검색

 -n

 줄의 번호와 문자열 같이 출력

 -v

 문자열과 일치하지 않는 줄 출력

 -w

 문자열이 한단어로 되있는 것만 출력

 -x

 문자열이 한줄로 되있을 경우 출력

 -l

 일치하는 문자열이 있는 파일 이름출력

 -r

 하위 디렉터리까지 찾아서 출력

 -E

 하나의 문자열이 아닌 |(파이프)와 연계하여 여러 문자열을 찾음

 -F

 특수문자, 기호를 그대로 인식하여 출력




처음명령어는 i옵션을 써서 대소문자 구분없이 검색하였고 c옵션으로 Python이라는 문자열이 몇개인지 카운트 했습니다. 마지막으로 E옵션을 이용해 python


과 help를 둘다 찾는 명령어를 썼습니다. 다른 옵션들도 비슷한 방식으로 쓰면되고 많이 쓰이는 옵션만 좀 골라서 써보았습니다.


grep할때 문자열을 쓰는 것에도 여러 방법이 있는데 표현하는 방식에 대해서 좀 적어보겠습니다.



* . 같은경우는 한문자가 무조건 존재한다는것을 뜻합니다. p와 n사이에 한글자가 들어가는 문자열을 검색하는 표현식입니다.


예시 하나하나드는게 애매해서 기능설명을 하겠습니다.


*[abc]는 []안에 있는 리스트중 한문자라도 있으면 검색하는 명령어 입니다. c[ho]o 이라고 하면 cho와 coo를 검색하는 것으로 보면됩니다.


숫자같은 경우에는 [0-9]이런식으로 (0에서 9중 하나) 표현하면 되고 [^abc]와 같이 ^로 시작하는 리스트는 그 리스트를 제외하고 검색하는 것입니다.


c[^ho]o 같은경우 cho와 coo를 뺀 다른 cio나 cao같은 것들을 찾아냅니다.


*다음은 '^cho' 와 같이 쓰면 cho로 줄이 시작되는 것을 찾습니다.(따옴표까지 써줘야합니다.)


*'cho$' 는 cho로 줄이 끝나는 경우, '\<cho' cho로 단어가 시작할경우, 'cho\>' cho로 단어가 끝나는 경우 입니다.


*grep 표현식에서 와일드카드(*)는 바로앞문자의 반복이나 아무것도 없는 상태를 찾습니다. 예를 들어 cho*라고 한다면 ch, cho, chooo, choooo와 같이


검색이 됩니다.




텍스트 파일에 관련된 명령어를 알아 보았고 다음에는 vi명령에 대해서 해보겠습니다.

728x90
반응형

댓글