기본 명령어

리눅스(레드헷 계열)에서 자주 쓰는 명령어를 설명한다. 기본만 적어 본 것이고, 필요에 따라 검색해보며 익히면 된다.
참고로 특정 명령어의 도움말을 보고싶으면, ‘man 명령어’를 수행하여 볼 수 있다. ls 명령어의 도움말을 보고싶으면, man ls 와 같이 확인할 수 있다.

cd
change directory의 약자. 다른 디렉토리로 이동한다.
만약 /home 디렉토리 밑의 sunje/workspace 폴더로 이동하고 싶다면 cd /home/sunje/workspace 와 같이 입력하면 된다.
디렉토리 부여 없이 그냥 cd만 수행하면 현재 로그인 한 유저의 홈 디렉토리로 이동한다.

ls
디렉토리의 내용물을 보여준다. ls 명령어는 list의 약자로 뒤에 폴더가 와도 되고, 파일명을 입력해도 된다.  
만약 /home/sunje/workspace 폴더 안의 내용을 보고싶다면 ls /home/sunje/workspace 와 같이 입력한다.
ls 뒤에 파일명이 올 경우, 파일이 존재하면 파일명을 리스트로 보여준다. (보통 파일 존재 유무 확인을 위해 씀)
sunje:~/sunje
$ ls xxx.sh
ls: cannot access xxx.sh: 그런 파일이나 디렉터리가 없습니다

sunje:~/sunje
$ ls clean.sh
clean.sh

ls명령어의 자주 쓰는 옵션으로는 ls -a와 ls -l이 있다.
ls -a는 all로, 숨겨진 파일까지 모두 보여준다. 리눅스에서 파일 이름이 .(점)으로 시작하는 파일은 숨겨진 hidden file로, 그냥 ls만 수행하면 나타나지 않는다.
ls -l은 long으로, 윈도우즈의 ‘자세히’ 옵션이라고 생각하면 된다. 파일/폴더의 권한과 용량 등을 함께 출력한다. 리눅스 레드햇 계열은 ls -l이 ll이라는 alias로 자동 설정되어있다.
a와 l의 옵션을 합쳐 ls -al을 수행하면, 해당 파일/폴더의 숨겨진 파일까지 긴 형태로 출력한다. 
디렉토리명 부여 없이 그냥 ls만 수행하면 현재 위치의 내용물을 리스트로 출력한다.

‘~’ 과 ‘.'
리눅스 쉘 상에서의 ~(물결표시)는 로그인 한 유저의 홈 디렉토리를 의미한다.
cd ~ 을 수행하면 cd(chandge directory) ~(나의 홈 디렉토리)가 되어, 홈으로 이동된다.
위에서 설명한 (디렉토리 부여 없이 그냥)cd는 cd ~와 같다.

.(점)은 현재 위치를 의미한다.
ls . 을 수행하면 현재 위치의 내용물을 출력한다.
위에서 설명한 (디렉토리 부여 없이 그냥)ls는 ls .와 같다.
..(점 두개)는 한 단계 위 디렉토리를 가리킨다. 상위폴더의 내용물을 리스팅 하려면 ls .. 이라고 수행하면 된다.

pwd
print working directory, 현재 머물고 있는 디렉토리의 절대경로를 출력해준다.
$ pwd
/home/sunje/sunje/gloader/sys_20190103_164706/data

mkdir
make directory, 디렉토리를 생성한다. 폴더명만 입력하면 현재 위치에 생성되며, 절대경로를 부여해도 된다.
$ pwd
/home/sunje/test

$ mkdir 11

$ mkdir /home/sunje/test/22

$ ls -al
합계 16
drwxrwxr-x.  4 sunje sunje 4096  2월 11 10:26 .
drwx------. 15 sunje sunje 4096  2월 11 10:25 ..
drwxrwxr-x.  2 sunje sunje 4096  2월 11 10:25 11
drwxrwxr-x.  2 sunje sunje 4096  2월 11 10:26 22

rm
remove, 파일이나 폴더를 삭제한다.  
먼저, 리눅스에서는 삭제된 파일이나 디렉토리를 절대 복구 할 수 없다. 엔터치기 전에 확인 또 확인해야 한다.
폴더삭제의 경우 -r 옵션을 부여해야 한다. rm aaa.sh을 수행하면 aaa.sh 파일이 삭제되며, rm -r AAA를 수행하면 AAA 폴더가 삭제된다.
rm -r의 경우 해당 디렉토리의 하위 디렉토리까지 모두 삭제된다.
i 옵션을 부여하면 진짜 삭제할 것인지 확인하는 절차가 포함되는데, rm을 rm -i로 alias설정하여 임의의 사용자가 rm 명령어를 수행하면 i옵션이 자동 반영되어 확인하게 하는 등으로 사용한다.
삭제 확인 질문이 뜨지 않고 무조건 삭제하고 싶으면 rm -rf라고 하면 된다.

cp
copy, 파일이나 디렉토리를 복사한다.
clean.sh 파일을 test/sh 밑으로 복사하고 싶으면 cp clean.sh test/sh 을 수행하면 된다.
디렉토리를 통채로 복사하고 싶으면 -r 옵션을 부여한다.
cp -r test/sh . 을 수행하면, test/sh 디렉토리를 현재 위치로 통채로 카피한다.

mv
move, 파일이나 디렉토리를 이동시킨다.
mv 명령어는 이동시킬때도 자주 사용하고, 파일 이름이나 디렉토리 이름을 바꾸는 데도 사용한다.
mv old.txt new.txt 를 수행하면, old.txt라는 파일이름을 new.txt라는 파일이름으로 변경한다. 리눅스에서는 rename과 같은 명령어가 따로 없고, mv가 그 역할을 한다.

ln -s
심볼릭링크(symbolic link)를 만든다. 심볼릭 링크는 windows의 바로가기와 비슷하다.
ln -s data/clean.sh .
을 수행하면, data폴더 밑의 clean.sh의 바로가기를 현재위치(.)에 생성한다.

su
원하는 유저로 로그인한다. sunje라는 유저로 접속하고 싶다면, su sunje 또는 su - sunje를 수행하면 된다. -를 포함할 경우, 로그인하는 유저의 홈 디렉토리로 자동 이동하여 로그인한다.
유저를 생략할 경우(su 또는 su - ) root로 로그인을 시도한다.

[su 수행 시 - 미포함]
$ id
uid=1002(heni) gid=1002(heni) groups=1002(heni) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

$ pwd
/heni/data/

$ su sunje
암호:

$ id
uid=1001(sunje) gid=1001(sunje) groups=1001(sunje) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

$ pwd
/heni/data/

[su 수행 시 - 포함]
$ id
uid=1002(heni) gid=1002(heni) groups=1002(heni) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

$ su - sunje
암호:

$ id
uid=1001(sunje) gid=1001(sunje) groups=1001(sunje) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

$ pwd
/home/sunje

tar
압축 관련 커맨드이다. tar xvzf는 압축해제, tar cvzf는 압축이다.
tar xvzf [압축해제대상]
tar cvzf [결과물] [압축대상]
의 형태로 사용한다.

cat
기본적으로 파일의 내용을 쉘 상에서 출력하는 명렁어. 여러개의 파일을 동시에 출력할 수도 있고, cat명령어를 이용해 새로운 파일을 생성할 수도 있다.

그냥 읽기
$ cat a
aaaaa

$ cat b
bbbbb

여러개 파일 동시출력
$ cat a b
aaaaa
bbbbb

파일 생성
$ cat > x
xxxxx
^C (ctrl+c로 빠져나왔음을 의미)

$ cat x
xxxxx

이어서 내용  삽입
$ cat >> x
xxxxx22222
^C (ctrl+c로 빠져나왔음을 의미)

$ cat x
xxxxx
xxxxx22222



'IT Engineer > Linux' 카테고리의 다른 글

linux user와 group  (0) 2019.02.13
linux 환경변수  (0) 2019.02.13
linux util, service - vi  (0) 2019.02.13
linux - telnet, nmap  (0) 2019.02.13
linux - crontab  (0) 2019.02.13

+ Recent posts