--------------------------------------------------------------------------------
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


'IT' 카테고리의 다른 글

[UNIX] 파일의 날짜와 시간정보를 변경하는 touch 명령어  (0) 2016.03.15

+ Recent posts