반응형

안녕하세요 가야태자 @talkit 입니다.

오늘은 리눅스 명령어 중에 cat에 대해서 알아 보도록 하겠습니다. 

NAME
       cat - concatenate files and print on the standard output

SYNOPSIS
       cat [OPTION]... [FILE]...

DESCRIPTION
       Concatenate FILE(s) to standard output.

       With no FILE, or when FILE is -, read standard input.

       -A, --show-all
              equivalent to -vET

       -b, --number-nonblank
              number nonempty output lines, overrides -n

       -e     equivalent to -vE

       -E, --show-ends
              display $ at end of each line

       -n, --number
              number all output lines

       -s, --squeeze-blank
              suppress repeated empty output lines

       -t     equivalent to -vT

       -T, --show-tabs
              display TAB characters as ^I

       -u     (ignored)

       -v, --show-nonprinting
              use ^ and M- notation, except for LFD and TAB

       --help display this help and exit

       --version
              output version information and exit

EXAMPLES
       cat f - g
              Output f's contents, then standard input, then g's contents.

       cat    Copy standard input to standard output.

리눅스 man 페이지 즉 리눅스가 기본 적으로 제공하는 매뉴얼에 위와 같이 나와 있습니다. 

저게 영어로 직역하면 파일을 합처 주거나 표준출력으로 파일을 출력해준다라고 되어 있습니다. 

제가 알려 드리려고 하는 것은 파일을 출력해준다인데 T.T 파일을 합친다는 한번 다시 알아 봐야겠습니다. 방법과 개념은 알 것 같습니다. 

리눅스에서는 파일을 보려면, X-Windows에서는 gedit, Shell 상에서는 vim, pico, emacs 등 다양한 편집기가 있습니다. 하지만, 정말 간단하게 그냥 text 파일의 내용을 보고 싶을 때는 cat을 사용하시면 됩니다. 

일반적으로 vim(이하 vi)를 사용하는데 vi를 이용해서 제가 작성해둔 man 페이지를 열어 보겟씁니다. 

vi test.txt

위와 같이 하시면 됩니다. 

제일 처음에 보여 드린 vi는 빈 내용이엇찌만, 지금은 cat의 man 페이지를 복사해 두었습니다. 

저기서 빠져 나오시려면 :q 를 하시면 됩니다. ^^

저는 보여 드리려고 한거여서 따라하신 분은 vi test.txt 후에 :q vi에서 밖으로 나오게 되어 있습니다. 

그럼 다시 cat으로 돌아 오겠습니다. 

저 텍스트파일을 cat으로 열어 보겠습니다. 

cat test.txt

위와 같이 여시면 됩니다. 

vi로 보신 내용이 그대로 나옵니다. 

이제는 리눅스에서 보시고자하는 파일을 간단하게 보실때 cat을 이용하시면 되겠습니다. 

그런데 여기 조금 다른 문제가 생깁니다. 

문서가 길면?

1. PuTTY나, 다른 SSH 클라이언트의 Scroll 기능을 이용하시면됩니다. ^^

2. 리눅스의 more 나 less 라는 명령어를 이용하시면 됩니다. 

1 번은 그냥 하시면 되니 넘어가서 more하고 less를 살펴 보겠습니다.

앞으로 또 설명할 내용이지만, test2.txt를 한번 만들어 보겠습니다.  조금 긴 문서로요 ^^

man cat > test2.txt

위와 같이 하시면 > 가 가르키는 test2.txt에 man 페이지의 내용을 출력해 줍니다. 

그럼 다시 저걸 보도록 하겠습니다. cat으로요.

cat test2.txt

화면을 일부러 제가 줄이기는 했지만, 위 그림과 같이 한페이지에 안나오고 지나갑니다. 

이번에는 more라늠 열령어를 이용해서 같이 사용해보겠습니다. 

리눅스에서는 | 문자를 가지고 조합을 합니다. 

cat test2.txt | more

위 명령어를 내려 보겠습니다. 

첫페이지네만 보여주고 More라는 프롬프트를 띄워 줍니다. 

저기서 스페이스 또는 엔터를 누르면 다음 페이지로 넘어 갑니다. 

	cat test2.txt | less

less 를 조합해서 명령어를 내리면, : 프롬프트가 나옵니다. 이때 화살표를 아래위로 움직여 보십시오. more가 페이지단위로 움직이고 한 방향으로 출력해주는 반면에 , less는 한줄씩 움직이고, 앞/뒤 양 방향으로 움직입니다. ^^

오늘은 cat의 간단한 파일 보여주기에 대해서 말씀 드렸습니다. 다음 글에서는 cat 파일 합치기 기능을 한번 저도 알아보겠습니다. ^^

감사합니다. 

반응형
반응형

저는 초등학교 3학년 때부터 컴퓨터를 접하고 컴퓨터를 이용해 왔습니다.

거의 30이상을 컴퓨터를 사용했었네요 ^^

그중에서 OS가 중요하다는 사실을 알게 된건 대학교에 입학하면서 부터 입니다.

어릴때는 그냥 게임용 컴퓨터 GW 베이직 뭐 이런 언어들을 가지고 노는 재밍에 컴퓨터를 했던 것 같습니다.

그런데, 우리가 사용했던 OS 가 DOS였습니다.

DOS를 사용하시분들은 아실 껍니다. dir

지금도 도스는 윈도우즈 상에 남아 있습니다.

cmd 라는 명령어로요. 거기서 dir 명령어가 있죠 그것은 현재 디렉토리에 있는 파일 목록을 보여 줘라 입니다.

VMWARE나, VirtualBox에 리눅스를 깔았다.

그런데 뭘해야 하나?

질문하시는 분들이 많습니다.

우선 디렉토리에 무슨 파일이 있는지 부터 봐야겠지요.

리눅스에서 도스의 dir 대신에 사용하는 명령이 ls 이니다.

ls가 참 강력한 도구이기도 한데

오늘은 그냥 파일 목록을 읽는 방법만 알려 드리겠습니다.

다음에 리눅스를 어떻게 깔고 어떻게 접속하는지도 한번 적어 보겠습니다.

그선 그냥

ls

그냥 쳐 보십시오.

[userid@server01 ~]$ ls
perl5

새로운 계정을 하나 만들었더니 원래는 아무것도 없어야하는데 perl5 라는 폴더가 하나 있습니다.

아무 옵션 없이 ls 치면 숨김 파일을 제외하고 권한 있는 파일들을 보여 줍니다.

ls -a

ls -a 명령어는 숨어 있는 파일까지 모두 보여 줍니다.

[userid@server01 ~]$ ls -a
.  ..  .bash_history  .bash_logout  .bash_profile  .bashrc  .cache  .config  .emacs  .local  .mozilla  perl5

위와 같이 보입니다.

리눅스에서 .으로 시작하느 파일들은 숨김 파일 입니다.

그리고, 파일의 생성 시간과 속성등 삭제 정보를 보려면

ls -l

입니다.

위 명령어는 숨김 파일을 제외하고 세로로 상세정보를 보여 줍니다.

[userid@server01 ~]$ ls -l
합계 0
drwxrwxr-x 2 userid userid 6 10월 17 00:08 perl5

실제로 해보면 위와 같이 나옵니다. 10월 17일 00:08분에 생성된 폴더 이구요. userid 이라는 아이디와 그룹에 할당되어 있고,
drwxrwxr-x 는

첫번째 d 는 디렉토리라는 뜻입니다.
두번째 부터 세자리는 이파일 주인의 권한 입니다.
읽고쓰고실행하고가 가능 합니다.

네번째자리부터일번째자리까지는 이 파일의 권한을 가진 그룹의 권한입니다.
역시 읽고쓰고실행하고가 가능합니다.

여덟번째부터 열한번째자리까지는 손님의 권한입니다. 이파일과 하등 상관이 없는 분도 읽고 실행은 됩니다.

즉, 쓰고 삭제는 안됩니다.

파일 권한 설명은 이정도 하구요. 다음에 chmod라는 명령어를 설명할때 한번 더 언급하겠습니다.

그럼 아까 처럼 숨어 있는 파일은 어떻게 상세 정보를 보나요?

이런 의문이 드는 분은 저밖에 없으려나요 ㅎㅎㅎ

ls -al

ls -al 입니다. a와 l 을 함께 사용하시면 됩니다.

[userid@server01 ~]$ ls -al
합계 20
drwx------   7 userid userid 169 10월 17 00:09 .
drwxr-xr-x. 12 root    root    134 10월 17 00:08 ..
-rw-------   1 userid userid  12 10월 17 00:09 .bash_history
-rw-r--r--   1 userid userid  18  8월  8  2019 .bash_logout
-rw-r--r--   1 userid userid 193  8월  8  2019 .bash_profile
-rw-r--r--   1 userid userid 231  8월  8  2019 .bashrc
drwxrwxr-x   3 userid userid  18 10월 17 00:08 .cache
drwxrwxr-x   3 userid userid  18 10월 17 00:08 .config
-rw-r--r--   1 userid userid 334 10월 30  2018 .emacs
drwxrwxr-x   3 userid userid  19 10월 17 00:08 .local
drwxr-xr-x   4 userid userid  39 10월  7  2019 .mozilla
drwxrwxr-x   2 userid userid   6 10월 17 00:08 perl5

위와 같이 나옵니다.

위의 per5하고 다른 점은 첫번째 자리가 -인 아이는 파일입니다.

이제 정렬을 해보겠습니다.

지금 현재 아무 옵션도 안주면, 알파벳 순으로 정렬 됩니다. 저걸꺼구로 정렬 하고 싶으면

r 옵션을 주시면 됩니다.

ls -alr

실제로 실행 해보면


[userid@server01 ~]$ ls -alr
합계 20
drwxrwxr-x   2 userid userid   6 10월 17 00:08 perl5
drwxr-xr-x   4 userid userid  39 10월  7  2019 .mozilla
drwxrwxr-x   3 userid userid  19 10월 17 00:08 .local
-rw-r--r--   1 userid userid 334 10월 30  2018 .emacs
drwxrwxr-x   3 userid userid  18 10월 17 00:08 .config
drwxrwxr-x   3 userid userid  18 10월 17 00:08 .cache
-rw-r--r--   1 userid userid 231  8월  8  2019 .bashrc
-rw-r--r--   1 userid userid 193  8월  8  2019 .bash_profile
-rw-r--r--   1 userid userid  18  8월  8  2019 .bash_logout
-rw-------   1 userid userid  12 10월 17 00:09 .bash_history
drwxr-xr-x. 12 root    root    134 10월 17 00:08 ..
drwx------   7 userid userid 169 10월 17 00:09 .

위와 같이 나옵니다. 꺼꾸로 정렬 되었습니다. ^^

이번에는 시간순으로 정렬 하기 입니다.

ls -alt

t 옵션을 주면 됩니다.

최근 시간이 먼저 출력 됩니다.

[userid@server01 ~]$ ls -alt
합계 20
drwx------   7 userid userid 169 10월 17 00:09 .
-rw-------   1 userid userid  12 10월 17 00:09 .bash_history
drwxrwxr-x   2 userid userid   6 10월 17 00:08 perl5
drwxrwxr-x   3 userid userid  19 10월 17 00:08 .local
drwxrwxr-x   3 userid userid  18 10월 17 00:08 .config
drwxrwxr-x   3 userid userid  18 10월 17 00:08 .cache
drwxr-xr-x. 12 root    root    134 10월 17 00:08 ..
drwxr-xr-x   4 userid userid  39 10월  7  2019 .mozilla
-rw-r--r--   1 userid userid  18  8월  8  2019 .bash_logout
-rw-r--r--   1 userid userid 193  8월  8  2019 .bash_profile
-rw-r--r--   1 userid userid 231  8월  8  2019 .bashrc
-rw-r--r--   1 userid userid 334 10월 30  2018 .emacs

위와 같이 나옵니다.

자 아까 꺼구로 정렬은 뭐라고 말씀 드렸죠?

r 입니다.

ls -alrt

그래서 최근 시간이 젤 마지막으로 가게 하려면, 위와 같이 치시면 됩니다.

[userid@server01 ~]$ ls -alrt
합계 20
-rw-r--r--   1 userid userid 334 10월 30  2018 .emacs
-rw-r--r--   1 userid userid 231  8월  8  2019 .bashrc
-rw-r--r--   1 userid userid 193  8월  8  2019 .bash_profile
-rw-r--r--   1 userid userid  18  8월  8  2019 .bash_logout
drwxr-xr-x   4 userid userid  39 10월  7  2019 .mozilla
drwxr-xr-x. 12 root    root    134 10월 17 00:08 ..
drwxrwxr-x   3 userid userid  18 10월 17 00:08 .cache
drwxrwxr-x   3 userid userid  18 10월 17 00:08 .config
drwxrwxr-x   3 userid userid  19 10월 17 00:08 .local
drwxrwxr-x   2 userid userid   6 10월 17 00:08 perl5
-rw-------   1 userid userid  12 10월 17 00:09 .bash_history
drwx------   7 userid userid 169 10월 17 00:09 .

도움이 되셨기를 바랍니다.

정말 기초부터 한번 훌터 볼 계획입니다.

반응형

+ Recent posts