HTML 태그
스타일시트 사용법
메타태그 사용법
특수문자 코드표
HTML 색상표
리눅스팁 모음

Linux 명령어
DOS와 비슷한 명령어

  • cat
    1. 기능 : 텍스트 파일의 내용을 화면에 출력한다. DOS의 'type' 명령과 유사하다.
    2. 사용법 : cat [options] <file1> <file2> … <fileN>
    3. 옵션
      • -n : 행번호를 붙여서 출력시킨다.
    4. 예제 : 'cat /etc/fstab' (/etc/fstab의 내용을 화면에 출력한다.)
    5. 사용팁 : 리눅스에서 두개이상의 옵션을 붙힐때는 앞의 '-'는 한번만 사용하고 영문자만 붙혀서 사용한다.
  • cd
    1. 기능 : 현재 디렉토리를 변경하는데 사용한다. 그냥 'cd'만 입력하고 엔터키를 누르면 자기 자신의 홈디렉토리로 이동한다. DOS의 'cd'명령과 유사하다.
    2. 사용법 : cd <디렉토리>
    3. 예제
      • 'cd ~dalma' (dalma라는 유저의 홈디렉토리로 이동한다. 그냥 'cd ~'만 입력하거나 'cd'만 입력하면 자기자신의 홈디렉토리로 이동한다.)
      • 'cd ..' (현재 디렉토리에서 부모디렉토리로 이동한다.
      • 'cd /usr/bin' (/usr/bin 디렉토리로 이동한다.)
    4. 주의점 : cd 명령 후 반드시 한칸 띄우도록 하자. (DOS에서는 안띄워도 동작하지만 리눅스에서는 에러가 난다.)
  • cp
    1. 기능 : 파일을 다른 이름의 파일로 복사하거나 다른 디렉토리와 복사한다. DOS의 'copy' 명령과 유사하다.
    2. 사용법 : cp [options] <file1> <file2> … <fileN> <destination>
    3. 옵션
      • -b : 덮어쓰거나 지울 때 백업본의 파일을 만든다.
      • -d : symbolic link 파일을 그대로 복사한다.
      • -f : 같은 파일의 이름을 가지는 파일이 있는 경우 이 파일을 지운 후 복사한다.
      • -i : 같은 파일 이름을 가지는 파일이 있는 경우 사용자에게 확인 후 복사한다.
      • -R : 서브디렉토리를 포함하여 복사한다.
    4. 예제
      • 'cp .bash_profile temp.bash_profile' (.bash_profile 파일을 temp.bash_profile로 복사한다.)
      • cp -R ../home/tmp/* . (현재 디렉토리의 부모 디렉토리에 있는 '/home/tmp' 디렉토리 밑의 서브디렉토리를 포함한 모든 디렉토리를 현재의 디렉토리로 복사한다.)
    5. 주의점 : DOS와는 달리 현재 디렉토리로 복사할 때 <DESTINATION>을 생략해서는 안된다. 현재 디렉토리를 뜻하는 '.'을 두번째 예제와 같이 꼭 붙혀주도록 하자.
  • date
    1. 기능 : 시스템의 날짜와 시간을 표시하고 이를 수정한다. DOS의 'date', 'time' 명령과 유사하다.
    2. 사용법 : date
  • ls
    1. 기능 : DOS의 'dir'과 비슷한 명령으로 파일과 디렉토리를 출력시키며, 옵션에 따라 다양한 정보와 함께 출력된다.
    2. 2. 사용법 : ls [option] <file1> <file2> … <fileN>
    3. 옵션
      • -a : 디렉토리내의 숨김 파일까지 모두 표시한다.
      • -l : 파일의 사용허가, 소유자, 그룹, 파일의 크기, 날짜 등을 출력한다.
      • -F : 파일의 형태와 함께 출력되는데 출력되는 파일의 형태는 '*', '@', '|', '=' 등이며, 이것은 각각 실행 파일, 심볼릭 링크, FIFO 소켓을 나타낸다.
      • -m : 쉼표를 구분하여 파일을 가로로 출력한다.
      • -R : 서브디렉토리의 내용을 포함하여 파일을 출력한다.
    4. 예제 : 'ls -alF /home/dalma' (/home/dalma 디렉토리에 있는 모든 파일을 파일의 사용허가, 소유자, 그룹, 파일의 크기, 날짜등을 포함하여 파일의 형태와 함께 출력한다.)
    5. 사용팁 : 리눅스를 비롯한 유닉스에서는 파일의 처음이 '.'로 시작하면 숨겨진 파일로 인식한다. 즉, '.bash_profile' 같은 파일은 '-a' 옵션을 붙히지 않으면 'ls'명령으로 확인을 할 수가 없다.
  • man
    1. 기능 : 주어진 명령이나 기타 자원들의 도움말을 출력하는 명령으로 DOS의 'help'와 유사하지만 비교할 수 없을정도로 막강하다.
    2. 사용법 : man [option] <COMMAND>
    3. 옵션 : man 명령에서는 화면에 내용이 출력시 아래에서 설명될 'more' 명령에서 사용되는 갖가지 명령들을 사용할 수 있다. u -a : 찾아지는 모든 매뉴얼 페이지를 출력한다. u -h : 도움말을 출력한다.
    4. 예제 : 'man ls' (ls 명령어의 도움말을 출력한다.)
  • mkdir
    1. 기능 : 새로운 디렉토리를 만드는 데 사용한다. DOS의 'md' 명령과 유사하다.
    2. 사용법 : mkdir [option] <directory1> <directory2> … <directoryN>
    3. 옵션
      • -p : 지정된 모든 서브디렉토리까지 함께 생성한다.
      • -m mode : mode에 해당하는 사용 허가로 디렉토리를 생성한다. Mode에 대한 설명은 뒤에서 설명할 'chmod' 명령에서 함께 설명한다.
    4. 예제 : 'mkdir /home/dalma/tmp' (/home/dalma 디렉토리 밑에 tmp 디렉토리를 만든다.)
  • more
    1. 기능 : 주어진 파일의 내용을 한 화면씩 출력한다. DOS의 'more' 명령과 유사하다.
    2. 사용법 : more <file1> <file2> … <fileN>
    3. 옵션 : 리눅스에서의 more 명령은 DOS에서와는 다르게 실행중 화면이 정지해 있을 때 명령어가 제공되는데 이 명령어를 이용하여 파일의 내용을 편리하게 볼 수 있다.
      • h : 도움말
      • [space], z : 다음 페이지를 출력
      • [Return] : 한 라인씩 스크롤시킴
      • d, <Ctrl+D> : 반 페이지씩 스크롤시킴
      • q, Q : 종료
      • f : 다음 페이지를 출력
      • b, : 앞 페이지를 다시 출력
      • /<검색어> : <검색어>에 해당되는 단어를 검색
      • = : 현재라인을 출력
      • :!<COMMAND> : <COMMAND>에 의해 주어진 명령어를 실행
      • <Ctrl+L> : 화면을 다시 리프레쉬 시킴
      • :f : 현재 파일 이름과 라인을 출력
    4. 사용팁 : 유닉스와 파이프 명령 '|'을 이용해서 다른 명령과 함께 조합하여 사용할 수 있다. 예를 들어 'cat /home/dalma/readme | more' 를 입력하면 /home/dalma/readme 파일을 화면에 출력하는데 한화면씩 끊어서 출력을 하고, 'ls /home/dalma |more' 명령을 입력하면 /home/dalma 디렉토리 안의 내용을 한화면씩 출력한다.
  • mv
    1. 기능 : 파일을 다른 파일이나 디렉토리로 이동시키거나 파일의 이름을 바꾼다. DOS에서는 'ren' 명령이나 'move' 명령과 유사하다.
    2. 사용법 : mv [option] <file1> <file2> … <fileN> <destination>
    3. 옵션
      • -b : 파일을 지우기 전에 백업본을 만든다.
      • -f : 옮겨질 디렉토리에 같은 파일이 있으면 덮어쓴다.
      • -i : 옮겨질 디렉토리에 같은 파일이 있는지 확인한다.
      • -u : 옮겨질 디렉토리에 구버전의 파일이 있는 경우에만 옮긴다.
    4. 예제
      • 'mv /home/dalma /home/bar' (/home/dalma 디렉토리를 /home/bar 디록토리로 이름을 바꾼다)
      • 'mv /home/dalma/readme /home/foo/README' (/home/dalma/readme 파일을 /home/foo/README 파일로 이동한다.)
    5. 사용팁 : 리눅스에서는 파일명에 대소문자를 철저히 구분한다. 즉 'readme'파일과 'README' 파일은 엄현히 다른 파일이다.
  • pwd
    1. 기능 : 현재 작업하고 있는 디렉토리의 절대경로명을 보여준다. DOS의 'cd' 명령어와 유사하다.
    2. 사용법 : pwd
    3. 주의점 : 도스에서 'cd' 명령을 입력하면 현재 디렉토리의 절대경로를 보여주지만 리눅스에서 'cd' 명령을 입력하면 자신의 홈디렉토리로 이동해 버린다. 절대경로를 알기 위해서는 'pwd' 명령을 써야 한다.
  • rm
    1. 기능 : 파일을 지우는 명령으로 DOS의 'del', 'deltree' 명령과 유사하다.
    2. 사용법 : rm [option] <file1> <file2> … <fileN>
    3. 옵션
      • -f : 삭제중 오류가 발생하더라도 에러 메시지를 출력하지 않는다.
      • -i : 삭제하기 전에 확인을 한다.
      • -r : 서브디렉토리를 포함하여 지운다.
      • -v : 지워지는 파일 이름을 출력한다.
    4. 예제
      • 'rm -rf /home/dalma/tmp' (/home/dalma/tmp 디렉토리를 서브디렉토리를 포함해서 모두 지운다.)
      • 'rm .history' (.history 파일을 지운다.)
    5. 주의점 : 슈퍼유저 계정인 'root'로 이 명령을 쓸때는 아주 신중을 가해야 한다. 특히 '-r' 옵션을 쓰면 실수로 리눅스 전체를 날릴 수 있기 때문에 가급적 '-i' 옵션과 함께 사용하도록 한다. 'alias rm rm -i' 명령을 내리면 rm 명령을 쓸 때 마다 -i 옵션이 자동으로 추가된다.
  • rmdir
    1. 기능 : 빈 디렉토리를 지우는 명령으로 DOS의 'rm' 명령과 유사하다. 그러나 'rm -r' 명령으로 대처할 수 있기 때문에 그렇게 많이 쓰이지는 않는 명령이다.
    2. 사용법 : rmdir [option] <directory1> <directory2> … <directoryN>
    3. 옵션
      • -p : 지우고자 하는 디렉토리의 부모디렉토리까지 지운다.
    4. 예제 : 'rmdir -p /home/dalma' (/home 디렉토리에 파일이 존재하지 않을 경우라면 /home 디렉토리까지 지운다.)
User에 관한 명령어

  • chgrp
    1. 기능 : 파일의 그룹소유권을 바꾼다.
    2. 사용법 : chgrp [option] <newgroup> <files>
    3. 옵션
      • -R : 한 디렉토리내의 모든 파일이나 하위 디렉토리의 그룹소유권을 바꾼다.
    4. 예제
      • 'chgrp admin /home/dalma/readme' (/home/dalma/readme 파일의 그룹소유권을 admin으로 바꾼다.)
      • 'chgrp -R admin /home/dalma (/home/dalma 디렉토리아래의 모든 파일의 그룹 소유권을 admin으로 바꾼다.)
  • chmod
    1. 기능 : 파일에 대한 개인, 그룹, 타인에 대한 접근 권한을 바꾼다.
    2. 사용법 : chmod [options] <mode> <files>
    3. 옵션
      • r : 읽기 권한 설정
      • w : 쓰기 권한 설정
      • x : 실행 권한 설정 (디렉토리의 경우는 접근 권한)
      • u : 파일의 소유자(user)
      • g : 그룹(group)
      • o : 기타(other)
      • a : 전체사용자(all)
      • + : 권한 추가
      • - : 권한 삭제
      • = : 권한 지정
    4. 예제
      • 'chmod a+r *' (현재 디렉토리의 모든 파일을 모든 사용자가 읽을 수 있도록 설정)
      • 'chmod +r *' (A번 예제와 상동)
      • 'chmod o-r, o-w * (현재 디렉토리의 모든 파일을 기타사용자에게 읽기, 쓰기 권한을 없앰)
      • 'chmod og-x stuff' (stuff 파일에서 그룹과 기타사용자에게 실행권한을 없앰)
      • 'chmod u+rwx stuff' (stuff 파일에서 파일 소유자가 읽기, 쓰기, 실행권한을 추가)
      • 'chmod a=r *.txt' (.txt로 끝나는 모든 파일을 전체 사용자가 읽을 수만 있도록 지정)
    5. 사용팁 : 특정 파일에 권한을 설정할 때 숫자를 이용하여 특정권한을 지정할 수 있다. 숫자 '4'는 읽기 권한을 나타내고 '2'는 쓰기 권한, '1'은 실행 권한을 나타낸다. 특정 권한을 조합하기 위해서는 해당권한을 더해주면 된다. 즉, 읽기, 쓰기권한을 함께 지정하려면 4+2를 해서 6이 된다. 한가지 예를 들면 stuff라는 파일에 소유자에게는 모든권한을 그룹과 다른 사용자에게는 읽기, 실행권한을 주려면 'chmod 755 stuff' 라고 입력하면 된다.
  • chown
    1. 기능 : 파일의 소유권을 바꾼다.
    2. 사용법 : chown [option] <newuser> <file>
    3. 옵션 :
      • -R : 한 디렉토리내의 모든 파일이나 하위 디렉토리의 그룹소유권을 바꾼다.
    4. 예제 :
      • 'chown igi /home/dalma/readme' (/home/dalma/readme 파일의 소유권을 igi으로 바꾼다.)
      • 'chown -R igi /home/dalma (/home/dalma 디렉토리아래의 모든 파일의 소유권을 igi으로 바꾼다.)
    5. 사용팁 : 리눅스에서는 chown 명령을 통해서 파일의 소유권과 그룹의 소유권을 한번에 바꿀 수 있다. 이를 위해서는 chown의 <NEWUSER>란에 'igi.admin'이라고 입력하면 파일의 소유권은 'igi' 파일의 그룹소유권은 'admin'으로 바뀌어진다.
  • su
    1. 기능 : 시스템에 접속한 상태에서 재로그인없이 다른 사람 ID로 접속한다.
    2. 사용법 : su [option] [user ID]
    3. 옵션
      • - : 이 옵션이 없으면 자신의 환경변수의 값을 가지고 다른 사람 ID의 권한만 갖지만 이 옵션을 붙히면 그 사용자의 환경변수의 내용까지 완벽하게 복사를 한다.
    4. 예제
      • 'su' (사용자 ID없이 명령을 내리면 자동으로 root로 접속을 시도한다.)
      • 'su - dalma' (dalma ID로 접속을 하는데 dalma의 환경변수의 내용까지 맞춘다.)
    5. 사용팁 : 리눅스에서는 외부에서 접속을 할 때 root로의 접속을 금지하고 있다. 이유는 보안상의 문제인데 가급적(가능한) root에서의 작업은 피하고 root의 권한이 필요하면 일반 사용자 ID로 작업을 하다가 su 명령을 이용하여 root로 접속하는 습관을 들이는게 좋다.
  • who
    1. 기능 : 시스템에 어떤 사람이 로그인하고 있는가를 보여준다.
    2. 사용법 : who
  • write
    1. 기능 : 특정사용자와 대화를 시작한다.
    2. 사용법 : write [ttyname]
    3. 예제
      • 'write dalma' (dalma에게 표준입력을 이용하여 대화하기 시작한다.)
      • 'write dalma /dev/tty21' (/dev/tty21에 있는 dalma와 대화를 시작한다.)
    4. 사용팁 : 마지막의 [ttyname]은 한사용자가 동시에 두번이상 접속을 하였을경우 대화할 터미널을 결정하는 부분이다. 그리고 어떤 사용자와 대화를 마쳤을 경우 [CTRL+D]를 눌러주면 대화를 종료한다.
  • find
    1. 기능 : 디스크에서 특정 파일을 찾아낸다.
    2. 사용법 : find <경로명> [expression]
    3. 옵션
      • -name filename : 찾을 filename을 입력한다.
      • -perm octperm : 특정 권한을 가진 파일을 검색한다. 이때 권한은 숫자형태로 입력한다.
      • -type t : 특정 종류의 파일을 (디렉토리, 일반파일 등등) 검색한다.
      • -size n : 크기가 n인 파일을 검색한다.
      • -mtime n : n일동안 변경된 파일을 검색한다.
      • -print : 파일 이름을 출력한다.
      • -maxdepth levels : 검색 시 서브디렉토리를 levels만큼만 진입을 해서 검색한다..
      • -mindepth levels : maxdepth와 반대의 명령어로 검색 시 서브디렉토리의 깊이가 level 이상부터 검사를 한다.
    4. 예제
      • 'find ~ -name '*.doc' -print (접속한 사용자의 홈디렉토리에 있는 파일 중에서 .doc로 끝나는 모든 파일을 화면에 보여준다.)
      • 'find ~ -type d -print' (접속한 사용자의 홈디렉토리에 있는 파일 중 디렉토리만 출력한다.)
  • ln
    1. 기능 : 특정파일의 링크파일을 만든다.
    2. 사용법 : ln [option] <file1> <file2>, ln [option] <file1> <file2> … <fileN> <directory>
      • file1의 링크를 file2에 만든다. file2가 명시되어 있지 않으면 현재 디렉토리에 링크를 만든다.
    3. 옵션
      • -s : 심볼릭 링크를 만든다. 이 옵션을 넣고 링크를 만들면 파일의 형태가 'l'로 표기가 된다.
    4. 예제
      • 'ln /usr/base /usr/lock' (/usr/base에 /usr/lock라는 링크를 만든다.)
      • 'ln com1 com2 com3 /bin' (/bin에 com1, com2, com3의 링크를 만든다.)
  • grep
    1. 기능 : 주어진 패턴을 포함하는 파일의 라인을 출력시킨다.
    2. 사용법 : grep [option] <pattern> <file1> <file2> … <fileN>
    3. 옵션
      • -C : 패턴이 일치하는 문장의 아래 위 두 라인까지 포함하여 출력한다.
      • -c : 패턴이 일치하는 라인의 개수를 출력한다.
      • -i : 대소문자를 구분하지 않고 패턴과 일치하는 것을 찾는다.
      • -v : 패턴과 일치하지 않는 내용을 출력한다.
      • -w : 패턴과 한단어로 일치해야 출력한다.
      • -x : 패턴과 전체 라인이 일치해야 출력한다.
    4. 예제
      • 'grep linux /home/dalma/readme' (readme 파일 중에서 linux라는 패턴을 포함하는 모든 라인을 출력한다.)
      • 'grep -c /bin/bash /etc/passwd (/etc/passwd 파일에서 /bin/bash의 개수 -로그인셀이 본셀인 사용자의 수를 출력한다.)
      • 'grep -v '^[0-9]' readme' (readme 파일에서 숫자로 시작하지 않는 모든 라인을 보여준다.
    5. 사용팁 : 마지막 예제에서 '^[0-9]'의 표현은 좀 생소한 표현일것이다. 이것은 정규식이라고 해서 어떤 문자패턴을 표현하는 하나의 표현식이다. 간단히 설명을 하면 '[0-9]'는 0에서 9까지를 의미하고 '^'는 반대의 의미를 나타낸다. 즉 '^[0-9]'는 0-9로 시작하지 않는 표현이라는 뜻을 가지게 된다.
  • wc
    1. 기능 : 그렇게 많이 쓰이는 명령은 아니지만, 리눅스 프로그래머가 자신이 짠 소스의 총라인이 얼마인지 아님 특정 단어의 개수를 조사할 때 쓰이는 명령으로 특정 단어나 문자 또는 행의 수를 세는 명령이다.
    2. 사용법 : wc [option] <file1> <file2> … <fileN>
    3. 옵션
      • -c : 문자의 수만 센다.
      • -l : 행의 수만을 센다.
      • -w : 단어의 수만을 센다.
    4. 사용예
      • 'wc /home/dalma/readme' (readme 파일의 행, 단어, 문자의 수를 출력한다.)
      • 'who | wc -l' (현재 접속한 사람의 수를 표시한다.)
    5. 사용팁 : 리눅스는 혼자서 쓰는 운영체제가 아니라 여러 사람이 동시에 사용을 하는 운영체제이다. who는 리눅스에 접속한 모든 사용자의 목록을 보여주는 명령이고 '|'는 파이프 기호라고 해서 여러 개의 명령어를 조합할 때 쓰이는 기호이다. 즉, 파이프 앞의 출력의 내용을 파이프 뒤의 명령의 입력으로 넣어주는 기능을 한다. 위의 예제에서 'who | wc -l' 명령은 'who' 명령의 결과를 'wc -l'의 입력으로 넣어준다. 그래서 현재 접속한 사용자의 개수를 알수 있는것이다.
시스템 명령어

  • df
    1. 기능 : 리눅스에 연결되어 있는 디스크의 남은 공간을 보여준다. 당연한 소리지만 'disk free'의 약자이다.
    2. 사용법 : df [option] [FileSystem | File]
    3. 옵션
      • -k : kilobyte 단위로 보여준다.
      • -m : megabyte 단위로 보여준다.
    4. 예제
      • 'df -k' (kilobyte단위로 남은 공간을 보여준다. -기본값)
      • 'df .' (현재 디렉토리가 포함된어 있는 파티션의 남은공간을 보여준다.)
  • du
    1. 기능 : 특정 디렉토리에서 하부디렉토리까지 포함한 디스크의 사용량을 보여주는 명령이다.
    2. 사용법 : du [option] [files]
    3. 옵션
      • -a : 디렉토리에 있는 파일 하나하나의 크기를 출력한다.
      • -s : 총 사용량만 표시해 준다.
      • -k : 사용량을 kilobyte 단위로 출력해준다.
      • -h : 용량을 보기 좋게 표시해준다.
    4. 예제
      • 'du -a' (현재 디렉토리의 디스크 사용량을 파일단위로 모두 출력한다.)
      • 'du -s *' (현재 디렉토리의 첫번째 단계까지만 디스크의 사용량을 출력한다.)
  • env
    1. 기능 : 현재 시스템 사용자들의 환경 변수를 보여준다.
    2. 사용법 : env
  • free
    1. 기능 : 가상메모리를 포함한 메모리의 사용현황을 보여준다.
    2. 사용법 : free
  • id
    1. 기능 : 자신의 ID번호와 자신이 속한 그룹의 ID를 보여준다.
    2. 사용법 : id
  • kill
    1. 기능 : 특정 프로세서에게 특정 시그널을 보낸다.
    2. 사용법 : kill [-signal_number] [process id]
    3. 예제 u 'kill -HUP 549' (549번 프로세서에 HUP신호를 보낸다.)
  • ps
    1. 기능 : 사용자나 시스템 프로세서의 상태에 관한 정보를 알려준다.
    2. 사용법 : ps [option]
    3. 옵션
      • -a : 전체 사용자의 모든 프로세서를 출력
      • -l : 결과를 상세하게 출력
      • -u : 사용자 이름과 프로세서 시작 시간을 출력
      • -x : 제어터미널을 갖고 있지 않은 프로세서를 출력
    4. 예제
      • 'ps -aux' (전체 사용자의 제어터미널을 갖고 있는 프로세서를 포함하여 사용자 이름과 프로세서 시작시간을 포함하여 출력. 일반적으로 많이 쓰이는 형태)
☜ 이전 페이지로