OS/Linux

08. 리눅스 기본 명령어

nahhhh03 2020. 4. 7. 11:20

리눅스 기본 명령어


리눅스는 많은 명령어들이 있다. 사람이 컴퓨터도 아니고 다 알수 없으니, 필요한 건 그때 그때 찾아서 쓰면되니까

기본적인 것만 정리한다.


ls

List의 약자로  Windows의 'dir'과 같은 역할을 한다. 즉, 해당 디렉토리(=폴더)에 있는 파일의 목록을 나열한다.

[ 사용예 ]

# ls  : 현재 디렉토리의 파일 목록

# ls /etc/sysconfig : /etc/sysconfig 디렉토리의 목록

# ls -a : 현재 디렉토리의 목록(숨김 파일 포함)

# ls -l : 현재 디렉토리의 목록을 자세히 보여줌(권한)


ls -a  와 ls -l의 차이점. ls -l 했을 시 -rw---r....이런 게 보이는데, 권한이다.


# ls *.cfg : 확장자가 cfg인 목록을 보여줌

# ls -l /etc/sysconfig/a*  :  /etc/sysconfig  디렉토리에 있는 목록 중 앞 글자가 'a'인 것의 목록을 자세히 보여줌


# Note

리눅스는 숨김 파일(hidden file) 이라는 속성이 별도로 존재하지 않아서 파일 이름이나 디렉토리의 제일 앞 글자를 '.'으로 하면 자동으로

숨김 파일이 된다. 그래서 익숙하지 않은 사람에게 권장하는 명령어가 'pwd'

cd와 pwd 명령어를 자주 사용하면 현재 디렉토리의 위치를 명확히 파악할 수 있어서 리눅스 디렉토리 구조에 빨리 익숙해진다.



cd

change Directory의 약자로 디렉토리를 이동하는 명령이다.

[ 사용 예 ]

# cd  : 현재 상요자의 홈 디렉토리로 이동. 만약 현재 사용자가 root면 '/root' 디렉토리로 이동

# cd ~centos : centos 사용자의 홈 디렉토리로 이동(사용자 이름은 사람마다 다름)

# cd .. : 바로 상위의 디렉토리로 이동. '..'은 현 디렉토리의 부모 디렉토리를 의미

ex) 현재 디렉토리가 /etc/sysconfig면, 바로 상위인 /etc로 이동

# cd /etc/sysconfig : /etc/sysconfig 디렉토리로 이동(절대 경로)

# cd ../etc/sysconfig : 상대 경로로 이동. 현재 디렉토리의 상위(',,')로 이동한 후, 다시 /etc/sysconfig로 이동



pwd

Print Working Directory의 약자로 현재 디렉토리의 전체 경로를 보여준다.

[ 사용 예 ]

# pwd : 현재 작업 중인 디렉토리의 경로 출력



rm

ReMove의 약자로 파일이제 디렉토리를 삭제한다. 당연히 파일이나 디렉토리를 삭제할 권한이 있어야 한다.

(root 사용자는 모든 권한이 있으니 상관없음)

[ 사용 예 ]

# rm abc.txt  : 해당 파일 삭제(내부적으로 'rm -i'로 연결됨/ abc.txt라는 파일을 삭제해라)

# rm -i abc.txt  : 삭제 시 정말 삭제 할지 확인하는 메시지가 나옴

# rm -f abc.txt  : 삭제 시 확인하지 않고 바로 삭제(f : force)

# rm -r abc : 해당 디렉토리 삭제(r : Recursive)

# rm -rf abc : r 옵션과 f옵션을 합친 것으로, abc 디렉토리와 그 아래에 있는 하위 디렉토리까지 강제로 전부 삭제(주의)



cp

CoPy의 약자로 파일이나 디렉토리를 복사한다. 새로 복사한 파일은 복사한 사용자의 소유가 된다.

그러므로 명려어를 실행하는 사용자는 해당 파일의 읽기 권한이 필요. 

[ 사용 예 ]

# cp abc.txt cba.txt : abc.txt를 cba.txt라는 이름으로 바꿔서 복사

# cp -r abc cba : 디렉토리 복사



touch

크기가 0인 새 파일을 생성하거나, 이미 파일이 존재한다면 파일의 최종 수정 시간을 변경

[ 사용 예 ]

# touch abc.txt : 파일이 없을 경우엔 abc.txt라는 빈 파일을 생성하고, abc.txt가 있을 경우 파일의 최종 수정 시간을 현재 시간으로 변경



mv

MoVe의 약자로 파일이나 디렉토리의 이름을 변경하거나 다른 디렉토리로 옮길 때 사용

[ 사용 예 ]

# mv abc.txt /etc/sysconfig :  abc.txt를 /etc/sysconfig/ 디렉토리로 이동

# mv aaa bbb ccc ddd : aaa, bbb, ccc를 '/ddd' 디렉토리로 이동

# mv abc.txt www.txt : abc.txt의 이름을 www.txt로 변경해서 이동



mkdir

Make DIRectory의 약자로 새로운 디렉토리 생성. 생성된 디렉토리는 명령어를 실행한 사용자의 소유가 된다.

[ 사용 예 ]

# mkdir abc : 현재 디렉토리 아래에 /abc 라는 디렉토리 생성

# mkdir -p /def/fgh : /def/fgh 디렉토리를 생성하는데, 만약 /fgh의 부모 디렉토리인 /def 디렉토리가 없다면 자동으로 생성

(p : Parent)



rmdir

ReMove DIRectory 의 약자로 디렉토리를 삭제한다. 해당 디렉토리의 삭제 권한이 있어야 하며, 디렉토리는 비어 있어야 한다.

파일이 들어 있는 디렉토리를 삭제하려면 'rm -r'을 실행해야 한다.

[ 사용 예 ]

# rmdir abc : /abc 디렉토리 삭제



cat

conCATenate의 약자로 파일의 내용을 화면에 보여준다. 여러 개의 파일을 나열하면 파일을 연결해서 보여준다.

[ 사용 예 ]

# cat a.txt b.txt : a.txt와 b.txt를 연결해서 파일의 내용을 화면에 보여줌



head, tail

텍스트 형식으로 작성된 아리의 앞 10행 또는 마지막 10행만 화면에 출력한다.

[ 사용 예 ]

# head anaconda-ks.cfg : 해당 파일의 앞 10행을 화면에 출력

# head -3 anaconda-ks.cfg : 앞 3행만 화면에 출력

# tail -5 anaconda-ks.cfg : 마지막 5행만 화면에 출력



more

텍스트 형식으로 작성된 파일을 페이지 단위로 화면에 출력한다 Space를 누르면 페이지로 이동하며, B를 누르면

앞 페이지로 이동한다. Q를 누르면 종료한다.

[ 사용 예 ]

# more anaconda-ks.cfg

# more +100 anaconda-ks.cfg  : 100행부터 출력



less

'more' 명령어와 용도가 비슷하지만 기능이 더 확장되어 있다. 'more'에서 사용하는 키도 사용할 수 있고,

화살표나 Page Up, Page Down도 사용할 수 있다.

[ 사용 예 ]

# less anaconda-ks.cfg

# less +100 anaconda-ks.cfg : 100행부터 출력



file

해당 파일이 어떤 종류의 파일인지를 표시한다.

[ 사용 예 ]

# file anaconda-ks.cfg  : anaconda-ks.cfg는 텍스트 파일이므로 아스키 파일(ASCII)로 표시됨

# file /usr/bin/gzip  : gzip은 실행 파일이므로 Executable  파일로 표시됨




clear

현자 사용 중인 화면을 깨끗하게 지워줌

# clear