본문 바로가기
카테고리 없음

[Linux] 편집(+쉘) 관련 명령어 1탄 (+ clear, echo 등) ③

by 떵해이 2020. 12. 9.
300x250

○ vi(vim) 와 gedit

vi(visual editor) : 파일의 내용을 보여주고 내용을 편집할 수 있는 프로그램 명령어

 

vim(vi improved) : vi의 업그레이드 버전, 특별한 단어들은 색깔로 표현해줘서 보기 쉬움

                        (이외도 많은 업그레이드 내용 있음)

 

gedit(GNOME editor) : 리눅스 GUI환경에서 사용하는 텍스트 에디터

                              윈도우 메모장과 같음

 

gedit과 vi(vim) 차이점

vi(vim)은 어떤 그래픽 환경에서 모두 사용 가능

getdit은 GUI 환경에서만 사용 가능

 

getdit 사용법

# gedit [파일 이름]

처음에는 어색하지만 GUI환경에서만 실행되는 프로그램도 있기 때문에 익혀두는 것이 좋습니다.

 

vi(vim) 사용법 참조하시면 됩니다.

 

아 vim이 깔려있지 않으신 분들은

# yum -y install vim-enhanced 명령어를 통해 설치해주시면 됩니다.

(굳이 설치를 안해도 되지만 조금 더 가독성이 좋기 때문에 편할 수도 있습니다.)

 

# vi /etc/profile 명령어로 들어가셔서

# (shift + g)G 를 눌러 맨 하단으로 이동

# o(다음행 수정) 또는 # i(지금 커서에서 수정) 모드로 들어갑니다.

# alias vi='vim' 입력 후 # esc 누르고

# :wq로 저장후 나갑니다.

# source /etc/profile 명령어로 수정한 것을 적용시킵니다.

 

이렇게 하면 이제 # vi [파일명] 으로 vim을 사용할 수 있습니다.

○ cat (catenate)

1. 텍스트 파일 내용 출력해주는 명령어

2. 여러 파일들을 하나로 연결할 때 사용 (리다이렉션과 함께 아래에서)

 

사용법

# cat [옵션] [파일명]

 

cat은 리다이렉션이라는 기호와 잘 쓰입니다.

아래에서 리다이렉션을 설명을 한 뒤에 같이 한번 사용해보도록 하겠습니다.

 

○ 리다이렉션

redirection 이라고 불리고 >, <, >>, << 를 함께 사용하는 기호입니다.

리다이렉션은 출력값을 방향쪽으로 넘기는 용도입니다.

> 와 >> 의 차이만 알면 됩니다.

 

>는 출력값을 덮어 씌우는 개념

>>는 출력값을 이어서 붙이는 개념 (내용을 추가하는 개념)

 

예시를 들어보고 cat과 함께 어떻게 사용하는지 알아보도록 하겠습니다.

 

# cd ~ root계정이니까 root 홈 디렉토리로 이동

# ll 명령어로 안에 파일 확인

# cd / 최상위 디렉토리로 이동

# ls > /root/testfile 명령어로 최상위 디렉토리 리스트 출력 결과를

                           /root 홈디렉토리 안 testfile에 넣어라

 

 

# cd ~ root 홈 디렉토리로 이동

# ll 명령어로 파일 확인

아까는 없었던 파일이 testfile이름으로 자동으로 만들어진 것을 확인할 수 있습니다.

 

 

# cat testfile

cat 명령어를 통해 안에 내용을 확인하니 # ls / 의 출력값이 testfile에 기록되어 있는 것을 확인할 수 있습니다.

없는 파일도 자동으로 만들어주고 내용도 옮겨서 기록도 해준다는 것을 알 수가 있습니다.

 

 

# cd /home 최상위 홈 디렉토리로 이동 (여기 홈 디렉토리는 내가 만든 계정들이 다 기록되어 있습니다.)

# ls > /root/testfile 유저 목록 출력해서 testfile에 출력값 넣기

# cat /root/testfile 내용 확인

>기호를 사용하니 기존에 있던 최상위 디렉토리 리스트 결과들이 다 없어졌습니다.

덮어씌우기 개념이라 안에 있던 내용들이 사라졌습니다.

 

 

# cd / 최상위 디렉토리로 이동

# ls >> /root/testfile 아까와 같이 최상위 디렉토리 리스트 출력값을 testfile에 넣기 (이어쓰기)

# cat /root/testfile 내용 확인

>> 기호를 쓰니까 이어 붙여서 내용이 기록되어있습니다.

>와  >> 이것의 차이를 이제 확실히 할 수 있습니다.

이제는 cat과 어떤식으로 사용하는지 알아보도록 하겠습니다.

 

 

● cat 과 리다이렉션

 

이 둘을 같이 자주 응용해서 사용하는 이유는 리다이렉션이 출력값을 기록하는 것이기 때문입니다.

cat은 파일의 내용을 읽을 때 보다는 여러 파일들을 하나로 연결할 때 주로 사용합니다.

 

※ 쉘 프로그래밍 할 때 아니면 사실 크게 중요하다고 체감할 수 없습니다.

    그냥 출력값을 왼쪽(또는 오른쪽)으로 넘겨준다고 알고 계시면 좋을 거 같습니다.

 

# cat [옵션] [대상]

자주 사용하는 옵션

옵   션 의   미
-n (number) 각 행 번호를 비어있는 행까지 모두 출력
-b (number-nonblank) -n과 똑같은데 비어있는 행을 제거하고 행번호를 붙여서 출력
-s (squeeze-blank) 연속되는 2개이상의 빈 행을 하나로 압축해서 출력

 

 

간단하게 예시

# cd ~ 홈 디렉토리 이동

# echo aaaa > a 명령어로 a파일 생성 및 내용 aaaa 기록 (echo 명령어는 바로 아래에서 설명하겠습니다.)

# echo bbbb > b

# echo cccc > c

# ls 파일 확인

 

 

# cat a b > d 명령어로 a와 b파일 내용을 d로 옮김

# cat c >> d 명령어로 c 파일 내용을 d로 추가 (이어 붙임)

# cat d 내용 확인

 

요런 느낌 정도만 하실 수 있으면 됩니다.

나중에 깊게 공부하실 때 더 공부하시면 될거같습니다.

옵션들은 한번 사용해보시면 좋을거 같습니다.

 

○ clear

말 그대로 깨끗하게 화면을 만드는 명령어 입니다.

터미널에 # clear 입력하시면 터미널에 지금까지 쌓인 모든 글들이 지워집니다.

 

○ echo

입력한 글을 메아리처럼 다시 터미널에 출력해서 보여주는 명령어

PATH 환경변수 설정 확인 할 때도 많이 사용합니다.

표준 출력할 때 많이 사용합니다.

 

사용법

# echo [옵션] [출력하고 싶은 내용]

 

위의 글 처럼 리다이렉션과도 많이 사용합니다.

# echo [내용] > (>>) [파일명] 하면 쉽게 저장할  수 있습니다. (메모할 때도 좋음)

 

환경변수 설정 호출, 표준 출력하기

# echo $PATH 

# echo $HOME

등등 환경 변수에서 자세히 배우시면 좋을 거 같습니다./

 

○ file

파일이 어떤 종류의 파일인지 알려주는 명령어

 

예를 들어 디렉토리, tesxt, 이진파일 등 이렇게 종류를 알 수 있습니다.

 

사용법

# file [옵션] [파일명]

 

○ stat

stats의 약자

파일의 시간을 포함한 정보를 보여주는 명령어

(위의 file 명령어보다 조금 더 자세히 알려주는 느낌)

 

사용법

# stat [파일명]

 

방금 만들었던 파일로 예시를 들어보겠습니다.

# stat a

파일명, 크기, i-node번호까지 다 나옵니다. 여기서 중요한 건 시간이 나옵니다.

 

Access 시간은 atime이고, 파일 접근한 시간을 말함, 파일을 열면 바로 시간이 바뀜

 

Modify 시간은 mtime이고, 파일 내용을 수정한 시간

 

Change 시간은 ctime이고, 파일이 변경된 시간

 

vi나 리다이렉션으로 a파일을 수정하면 mtime, ctime이 같이 바뀝니다.

mtime은 내용을 수정해야합니다.

ctime은 내용 수정 + 권한도 포함입니다. 권한을 바꾸면 ctime만 바뀝니다.

이 정도까지 살짝 개략적 이해만 하시고 넘어가시면 리눅스 사용하는데 문제 없을 것입니다.

 

 

○ history

사용했던 명령어들을 다시 보는 명령어

 

쉽게 말해서 우리가 사용한 명령어들을 저장합니다.

 

원리는 간단히 RAM에서 명령어를 사용한 이력을 저장할 메모리 공간을 만듬 (history list)

계속 명령어를 저장하다가 이제 쉘이 종료될때 ~./bash_history파일에 추가시켜 저장함

 

한번 명령어를 사용한 뒤에 # history 라는 명령어를 통해

내가 어떤 명령어를 썼는지 확인해보도록 합니다.

 

옵션도 있는데 궁금하시면 한번 찾아보시길 바랍니다.

 

# history -c RAM에 있는 history list 삭제

# history -a history list 있는 걸 파일에다가 추가 (원래 종료될때 추가되는 걸 미리 추가)

 

반응형

댓글