Unix 명령어 모음

2016. 6. 1. 15:22Ubuntu

-------------------------------------------------------------------------------- 
1.DOS와 비슷한 명령어 
-------------------------------------------------------------------------------- 
(1). cat

기능    : 파일의 내용을 화면에 출력. DOS의 'type' 명령과 유사. 
사용법  : cat [options] 

옵션    : -n      
        : 행번호를 붙여서 출력. 
예제    # cat /etc/fstab 
        : /etc/fstab의 내용을 화면에 출력 
사용팁  : 리눅스에서 두개이상의 옵션을 붙힐때는 앞의 '-'는 한번만 사용하고 
          영문자만 붙혀서 사용. 
-------------------------------------------------------------------------------- 
(2). cd

기능    : 디렉토리 변경. 
          그냥 'cd'만 입력하고 엔터키를 누르면 자기 자신의 홈디렉토리로 이동. 
사용법  : cd <디렉토리>

예제    # cd ~dalma 
        : dalma 라는 유저의 홈디렉토리로 이동

        # cd 
        : 자기자신의 홈디렉토리로 이동

        # cd .. 
        : 현재 디렉토리에서 부모디렉토리로 이동

        # cd /usr/bin 
        : /usr/bin 디렉토리로 이동

주의점  : cd 명령 후 반드시 한칸 띄우도록 하자. 
-------------------------------------------------------------------------------- 
(3). cp

기능    : 파일 복사 
사용법  : cp [options] 

옵션 
        -b  : 덮어쓰거나 지울 때 백업본의 파일을 만든다. 
        -d  : symbolic link 파일을 그대로 복사한다. 
        -f  : 같은 파일의 이름을 가지는 파일이 있는 경우 이 파일을 지운 후 복사한다. 
        -i  : 같은 파일 이름을 가지는 파일이 있는 경우 사용자에게 확인 후 복사한다. 
        -R  : 서브디렉토리를 포함하여 복사한다.

예제 
        # cp .bash_profile temp.bash_profile 
        : .bash_profile 파일을 temp.bash_profile로 복사

        # cp -R ../home/tmp/* . 
        : 현재 디렉토리의 부모 디렉토리에 있는 '/home/tmp' 디렉토리 밑의 서브디렉토리를 
          포함한 모든 디렉토리를 현재의 디렉토리로 복사.

주의점  : DOS와는 달리 현재 디렉토리로 복사할 때 을 생략해서는 안된다. 
          현재 디렉토리를 뜻하는 '.'을 두번째 예제와 같이 꼭 붙혀주도록 하자. 
-------------------------------------------------------------------------------- 
(4). date

기능    : 시스템의 날짜와 시간을 표시하고 이를 수정 
사용법  : date 
-------------------------------------------------------------------------------- 
(5). ls

기능    : 파일과 디렉토리를 출력 
사용법  : ls [option] 

옵션 
        -a  : 디렉토리내의 숨김 파일까지 모두 표시 
        -l  : 파일의 사용허가, 소유자, 그룹, 파일의 크기, 날짜 등을 출력 
        -F  : 파일의 형태와 함께 출력되는데 출력되는 
              파일의 형태는 '*', '@', '|', '=' 등이며, 
              이것은 각각 실행 파일, 심볼릭 링크, FIFO 소켓을 나타낸다. 
        -m  : 쉼표를 구분하여 파일을 가로로 출력한다. 
        -R  : 서브디렉토리의 내용을 포함하여 파일을 출력한다.

예제     
        # ls -alF /home/dalma 
        : /home/dalma 디렉토리에 있는 모든 파일을 파일의 
          사용허가, 소유자, 그룹, 파일의 크기, 날짜등을 포함하여, 
          파일의 형태와 함께 출력

사용팁  : 리눅스를 비롯한 유닉스에서는 파일의 처음이 '.'로 시작하면 
          숨겨진 파일로 인식. 
          즉, '.bash_profile' 같은 파일은 '-a' 옵션을 붙히지 않으면 'ls'명령으로 
          확인을 할 수가 없다. 
-------------------------------------------------------------------------------- 
(6). man

기능    : 도움말을 출력 
사용법  : man [option]

예제    : 'man ls' (ls 명령어의 도움말을 출력한다.) 
-------------------------------------------------------------------------------- 
(7). mkdir

기능    : 새로운 디렉토리를 만드는 데 사용한다. DOS의 'md' 명령과 유사하다. 
사용법  : mkdir [option] … 
옵션 
        -p  : 지정된 모든 서브디렉토리까지 함께 생성한다. 
        -m mode : mode에 해당하는 사용 허가로 디렉토리를 생성한다. 
                  Mode에 대한 설명은 뒤에서 설명할 'chmod' 명령에서 함께 설명한다.

예제    : 'mkdir /home/dalma/tmp' (/home/dalma 디렉토리 밑에 tmp 디렉토리를 만든다.) 
-------------------------------------------------------------------------------- 
(8). more

기능    : 주어진 파일의 내용을 한 화면씩 출력한다. DOS의 'more' 명령과 유사하다. 
사용법  : more 

옵션    : 리눅스에서의 more 명령은 DOS에서와는 다르게 실행중 화면이 정지해 있을 때 
          명령어가 제공되는데 이 명령어를 이용하여 파일의 내용을 편리하게 볼 수 있다. 
        
        h           : 도움말 
        [space], z  : 다음 페이지를 출력 
        [Return]    : 한 라인씩 스크롤시킴 
        d, : 반 페이지씩 스크롤시킴 
        q, Q        : 종료 
        f           : 다음 페이지를 출력 
        b,          : 앞 페이지를 다시 출력 
        /<검색어>   : <검색어>에 해당되는 단어를 검색 
        =           : 현재라인을 출력 
        :! : 에 의해 주어진 명령어를 실행 
            : 화면을 다시 리프레쉬 시킴 
        :f          : 현재 파일 이름과 라인을 출력

사용팁  : 유닉스와 파이프 명령 '|'을 이용해서 다른 명령과 함께 조합하여 사용할 수 있다. 
          예를 들어 'cat /home/dalma/readme | more' 를 입력하면 /home/dalma/readme 파일을 
          화면에 출력하는데 한화면씩 끊어서 출력을 하고, 'ls /home/dalma |more' 명령을 
          입력하면 /home/dalma 디렉토리 안의 내용을 한화면씩 출력한다. 
-------------------------------------------------------------------------------- 
(9). mv

기능    : 파일을 다른 파일이나 디렉토리로 이동시키거나 파일의 이름을 바꾼다. 
          DOS에서는 'ren' 명령이나 'move' 명령과 유사하다. 
사용법  : mv [option] … 
옵션 
        -b  : 파일을 지우기 전에 백업본을 만든다. 
        -f  : 옮겨질 디렉토리에 같은 파일이 있으면 덮어쓴다. 
        -i  : 옮겨질 디렉토리에 같은 파일이 있는지 확인한다. 
        -u  : 옮겨질 디렉토리에 구버전의 파일이 있는 경우에만 옮긴다. 
예제 
        'mv /home/dalma /home/bar' 
        (/home/dalma 디렉토리를 /home/bar 디록토리로 이름을 바꾼다) 
        
        'mv /home/dalma/readme /home/foo/README' 
        (/home/dalma/readme 파일을 /home/foo/README 파일로 이동한다.)

사용팁  : 리눅스에서는 파일명에 대소문자를 철저히 구분한다. 
          즉 'readme'파일과 'README' 파일은 엄현히 다른 파일이다. 
-------------------------------------------------------------------------------- 
(10). pwd

기능    : 현재 작업하고 있는 디렉토리의 절대경로명을 보여준다. DOS의 'cd' 명령어와 
          유사하다. 
사용법  : pwd 
주의점  : 도스에서 'cd' 명령을 입력하면 현재 디렉토리의 절대경로를 보여주지만 
          리눅스에서 'cd' 명령을 입력하면 자신의 홈디렉토리로 이동해 버린다. 
          절대경로를 알기 위해서는 'pwd' 명령을 써야 한다. 
-------------------------------------------------------------------------------- 
(11). rm

기능    : 파일을 지우는 명령으로 DOS의 'del', 'deltree' 명령과 유사하다. 
사용법  : rm [option] … 
옵션 
        -f  : 삭제중 오류가 발생하더라도 에러 메시지를 출력하지 않는다. 
        -i  : 삭제하기 전에 확인을 한다. 
        -r  : 서브디렉토리를 포함하여 지운다. 
        -v  : 지워지는 파일 이름을 출력한다. 
예제 
        'rm -rf /home/dalma/tmp' 
        (/home/dalma/tmp 디렉토리를 서브디렉토리를 포함해서 모두 지운다.) 
        'rm .history' 
        (.history 파일을 지운다.)

주의점  : 슈퍼유저 계정인 'root'로 이 명령을 쓸때는 아주 신중을 가해야 한다. 
          특히 '-r' 옵션을 쓰면 실수로 리눅스 전체를 날릴 수 있기 때문에 
          가급적 '-i' 옵션과 함께 사용하도록 한다. 'alias rm rm -i' 명령을 내리면 
          rm 명령을 쓸 때 마다 -i 옵션이 자동으로 추가된다. 
-------------------------------------------------------------------------------- 
(12). rmdir

기능    : 빈 디렉토리를 지우는 명령으로 DOS의 'rm' 명령과 유사하다. 그러나 'rm -r' 
          명령으로 대처할 수 있기 때문에 그렇게 많이 쓰이지는 않는 명령이다. 
사용법  : rmdir [option] … 
옵션 
        -p : 지우고자 하는 디렉토리의 부모디렉토리까지 지운다.

예제    : 'rmdir -p /home/dalma' 
          (/home 디렉토리에 파일이 존재하지 않을 경우라면 /home 디렉토리까지 지운다.) 
--------------------------------------------------------------------------------

-------------------------------------------------------------------------------- 
2.User에 관한 명령어 
-------------------------------------------------------------------------------- 
(1). chgrp

기능    : 파일의 그룹소유권을 바꾼다. 
사용법  : chgrp [option] 
옵션 
        -R : 한 디렉토리내의 모든 파일이나 하위 디렉토리의 그룹소유권을 바꾼다. 
예제 
        'chgrp admin /home/dalma/readme' 
        (/home/dalma/readme 파일의 그룹소유권을 admin으로 바꾼다.) 
        'chgrp -R admin /home/dalma 
        (/home/dalma 디렉토리아래의 모든 파일의 그룹 소유권을 admin으로 바꾼다.) 
-------------------------------------------------------------------------------- 
(2). chmod

기능    : 파일에 대한 개인, 그룹, 타인에 대한 접근 권한을 변경. 
사용법  : chmod [options]

옵션 
        r : 읽기 권한 설정 
        w : 쓰기 권한 설정 
        x : 실행 권한 설정 (디렉토리의 경우는 접근 권한) 
        
        u : 파일의 소유자(user) 
        g : 그룹(group) 
        o : 기타(other) 
        
        a : 전체사용자(all) 
        + : 권한 추가 
        - : 권한 삭제 
        = : 권한 지정

예제 
        # chmod a+r * 
          (현재 디렉토리의 모든 파일을 모든 사용자가 읽을 수 있도록 설정) 
        # chmod +r * 
          (위예제와 상동) 
        # chmod o-r, o-w * 
          (현재 디렉토리의 모든 파일을 기타사용자에게 읽기, 쓰기 권한을 없앰) 
        # chmod og-x stuff 
          (stuff 파일에서 그룹과 기타사용자에게 실행권한을 없앰) 
        #chmod u+rwx stuff 
          (stuff 파일에서 파일 소유자가 읽기, 쓰기, 실행권한을 추가) 
        #chmod a=r *.txt 
          (.txt로 끝나는 모든 파일을 전체 사용자가 읽을 수만 있도록 지정)

사용팁  : 숫자를 이용하여 특정권한을 지정

        '4'는 읽기 권한 
        '2'는 쓰기 권한 
        '1'은 실행 권한

        즉, 읽기, 쓰기권한 지정 => 4+2 = 6 로 표시 
        예를 들면 
        stuff라는 파일에 소유자에게는 모든권한을 그룹과 
        다른 사용자에게는 읽기,실행권한을 주려면 
        # chmod 755 stuff 
-------------------------------------------------------------------------------- 
(3). chown

기능    : 파일의 소유권을 바꾼다. 
사용법  : chown [option] 
옵션    -R : 한 디렉토리내의 모든 파일이나 하위 디렉토리의 그룹소유권을 바꾼다.

예제    : 
        'chown igi /home/dalma/readme' 
        (/home/dalma/readme 파일의 소유권을 igi으로 바꾼다.) 
        'chown -R igi /home/dalma 
        (/home/dalma 디렉토리아래의 모든 파일의 소유권을 igi으로 바꾼다.)

사용팁  : 리눅스에서는 chown 명령을 통해서 파일의 소유권과 그룹의 소유권을 
          한번에 바꿀 수 있다. 이를 위해서는 chown의 란에 
          'igi.admin'이라고 입력하면 파일의 소유권은 'igi' 파일의 
          그룹소유권은 'admin'으로 바뀌어진다. 
-------------------------------------------------------------------------------- 
(4). su

기능    : 시스템에 접속한 상태에서 재로그인없이 다른 사람 ID로 접속한다. 
사용법  : su [option] [user ID] 
옵션 
        - : 이 옵션이 없으면 자신의 환경변수의 값을 가지고 다른 사람 ID의 권한만 갖지만 
            이 옵션을 붙히면 그 사용자의 환경변수의 내용까지 완벽하게 복사를 한다. 
예제 
        'su' 
        (사용자 ID없이 명령을 내리면 자동으로 root로 접속을 시도한다.) 
        'su - dalma' 
        (dalma ID로 접속을 하는데 dalma의 환경변수의 내용까지 맞춘다.) 
사용팁  : 리눅스에서는 외부에서 접속을 할 때 root로의 접속을 금지하고 있다. 
          이유는 보안상의 문제인데 가급적(가능한) root에서의 작업은 피하고 
          root의 권한이 필요하면 일반 사용자 ID로 작업을 하다가 su 명령을 
          이용하여 root로 접속하는 습관을 들이는게 좋다. 
-------------------------------------------------------------------------------- 
(5). who

기능    : 시스템에 어떤 사람이 로그인하고 있는가를 보여준다. 
사용법  : who 
          write 
기능    : 특정사용자와 대화를 시작한다. 
사용법  : write [ttyname] 
예제 
        'write dalma' 
        (dalma에게 표준입력을 이용하여 대화하기 시작한다.) 
        'write dalma /dev/tty21' 
        (/dev/tty21에 있는 dalma와 대화를 시작한다.)

사용팁  : 마지막의 [ttyname]은 한사용자가 동시에 두번이상 접속을 하였을경우 
          대화할 터미널을 결정하는 부분이다. 
          그리고 어떤 사용자와 대화를 마쳤을 경우 [CTRL+D]를 눌러주면 대화를 종료한다. 
-------------------------------------------------------------------------------- 
(6). find

기능    : 디스크에서 특정 파일을 찾아낸다. 
사용법  : find <경로명> [expression] 
옵션 
        -name filename    : 찾을 filename을 입력한다. 
        -perm octperm     : 특정 권한을 가진 파일을 검색한다. 
                            이때 권한은 숫자형태로 입력한다. 
        -type t           : 특정 종류의 파일을 (디렉토리, 일반파일 등등) 검색한다. 
        -size n           : 크기가 n인 파일을 검색한다. 
        -mtime n          : n일동안 변경된 파일을 검색한다. 
        -print            : 파일 이름을 출력한다. 
        -maxdepth levels  : 검색 시 서브디렉토리를 levels만큼만 진입을 해서 검색한다.. 
        -mindepth levels  : maxdepth와 반대의 명령어로 검색 시 서브디렉토리의 
                            깊이가 level 이상부터 검사를 한다. 
예제 
        'find ~ -name '*.doc' -print 
        ( 접속한 사용자의 홈디렉토리에 있는 파일 중에서 .doc로 끝나는 모든 파일을 
          화면에 보여준다.) 
        'find ~ -type d -print' 
        (접속한 사용자의 홈디렉토리에 있는 파일 중 디렉토리만 출력한다.) 
-------------------------------------------------------------------------------- 
(7). ln

기능    : 특정파일의 링크파일을 만든다. 
사용법  : ln [option] , ln [option] … 
          file1의 링크를 file2에 만든다. file2가 명시되어 있지 않으면 
          현재 디렉토리에 링크를 만든다. 
옵션 
        -s  : 심볼릭 링크를 만든다. 이 옵션을 넣고 링크를 만들면 
              파일의 형태가 'l'로 표기가 된다. 
예제 
        'ln /usr/base /usr/lock' 
        (/usr/base에 /usr/lock라는 링크를 만든다.) 
        'ln com1 com2 com3 /bin' 
        (/bin에 com1, com2, com3의 링크를 만든다.) 
-------------------------------------------------------------------------------- 
(8). grep

기능    : 주어진 패턴을 포함하는 파일의 라인을 출력시킨다. 
사용법  : grep [option] … 
옵션 
        -C : 패턴이 일치하는 문장의 아래 위 두 라인까지 포함하여 출력한다. 
        -c : 패턴이 일치하는 라인의 개수를 출력한다. 
        -i : 대소문자를 구분하지 않고 패턴과 일치하는 것을 찾는다. 
        -v : 패턴과 일치하지 않는 내용을 출력한다. 
        -w : 패턴과 한단어로 일치해야 출력한다. 
        -x : 패턴과 전체 라인이 일치해야 출력한다. 
예제 
        'grep linux /home/dalma/readme' 
        (readme 파일 중에서 linux라는 패턴을 포함하는 모든 라인을 출력한다.) 
        'grep -c /bin/bash /etc/passwd 
        (/etc/passwd 파일에서 /bin/bash의 개수 -로그인셀이 본셀인 사용자의 수를 출력한다.) 
        'grep -v '^[0-9]' readme' 
        (readme 파일에서 숫자로 시작하지 않는 모든 라인을 보여준다.

사용팁  : 마지막 예제에서 '^[0-9]'의 표현은 좀 생소한 표현일것이다. 
          이것은 정규식이라고 해서 어떤 문자패턴을 표현하는 하나의 표현식이다. 
          간단히 설명을 하면 '[0-9]'는 0에서 9까지를 의미하고 '^'는 반대의 의미를 나타낸다. 
          즉 '^[0-9]'는 0-9로 시작하지 않는 표현이라는 뜻을 가지게 된다. 
-------------------------------------------------------------------------------- 
(9). wc

기능    : 그렇게 많이 쓰이는 명령은 아니지만, 리눅스 프로그래머가 자신이 짠 소스의 
          총라인이 얼마인지 아님 특정 단어의 개수를 조사할 때 쓰이는 명령으로 
          특정 단어나 문자 또는 행의 수를 세는 명령이다. 
사용법  : wc [option] … 
옵션 
        -c : 문자의 수만 센다. 
        -l : 행의 수만을 센다. 
        -w : 단어의 수만을 센다. 
사용예 
        'wc /home/dalma/readme'
        (readme 파일의 행, 단어, 문자의 수를 출력한다.) 
        'who | wc -l'
        (현재 접속한 사람의 수를 표시한다.) 
사용팁  : 리눅스는 혼자서 쓰는 운영체제가 아니라 여러 사람이 동시에 사용을 하는 운영체제이다. 
          who는 리눅스에 접속한 모든 사용자의 목록을 보여주는 명령이고 '|'는 파이프 기호라고 
          해서 여러 개의 명령어를 조합할 때 쓰이는 기호이다. 
          즉, 파이프 앞의 출력의 내용을 파이프 뒤의 명령의 입력으로 넣어주는 기능을 한다. 
          위의 예제에서 'who | wc -l' 명령은 'who' 명령의 결과를 'wc -l'의 입력으로 넣어준다. 
          그래서 현재 접속한 사용자의 개수를 알수 있는것이다. 
--------------------------------------------------------------------------------

-------------------------------------------------------------------------------- 
3.시스템 명령어 
-------------------------------------------------------------------------------- 
(1). df (disk free)

기능    : 디스크의 남은 공간을 보여준다. 
사용법  : df [option] [FileSystem | File]

옵션 
        -k : kilobyte 단위로 보여준다. 
        -m : megabyte 단위로 보여준다.

예제 
        # df -k 
        (kilobyte단위로 남은 공간을 보여준다. -기본값) 
        # df . 
        (현재 디렉토리가 포함되어 있는 파티션의 남은공간을 보여준다.) 
-------------------------------------------------------------------------------- 
(2). du

기능    : 특정 디렉토리에서 하부디렉토리까지 포함한 디스크의 사용량을 보여주는 명령이다. 
사용법  : du [option] [files] 
옵션 
        -a : 디렉토리에 있는 파일 하나하나의 크기를 출력한다. 
        -s : 총 사용량만 표시해 준다. 
        -k : 사용량을 kilobyte 단위로 출력해준다. 
        -h : 용량을 보기 좋게 표시해준다. 
예제 
        'du -a' 
        (현재 디렉토리의 디스크 사용량을 파일단위로 모두 출력한다.) 
        'du -s *' 
        (현재 디렉토리의 첫번째 단계까지만 디스크의 사용량을 출력한다.) 
-------------------------------------------------------------------------------- 
(3). env

기능    : 현재 시스템 사용자들의 환경 변수를 보여준다. 
사용법  : env 
-------------------------------------------------------------------------------- 
(4). free

기능    : 가상메모리를 포함한 메모리의 사용현황을 보여준다. 
사용법  : free 
-------------------------------------------------------------------------------- 
(5). id

기능    : 자신의 ID번호와 자신이 속한 그룹의 ID를 보여준다. 
사용법  : id 
-------------------------------------------------------------------------------- 
(6). kill

기능    : 특정 프로세서에게 특정 시그널을 보낸다. 
사용법  : kill [-signal_number] [process id] 
예제    u 'kill -HUP 549' 
        (549번 프로세서에 HUP신호를 보낸다.) 
-------------------------------------------------------------------------------- 
(7). ps

기능    : 사용자나 시스템 프로세서의 상태에 관한 정보 출력 
사용법  : ps [option]

옵션 
        -a : 전체 사용자의 모든 프로세서를 출력 
        -l : 결과를 상세하게 출력 
        -u : 사용자 이름과 프로세서 시작 시간을 출력 
        -x : 제어터미널을 갖고 있지 않은 프로세서를 출력

예제 
        # ps -aux 
        : 전체 사용자의 제어터미널을 갖고 있는 프로세서를 포함하여 
          사용자 이름과 프로세서 시작시간을 포함하여 출력. 일반적으로 많이 쓰이는 형태
          
- END -        


출처

http://blog.daum.net/mindus/15650888  

'Ubuntu' 카테고리의 다른 글

ubuntu graphic driver install error  (0) 2020.06.15
우분투 그래픽카드 드라이버 설치  (0) 2018.03.27