ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 리눅스 명령어
    코딩 지식 2021. 11. 30. 16:32

     

    리눅스 명령어

     

    시스템 종료 명령 실행

     

    poweroff, shutdown -P now, halt -p, init 0

     

    'shutdown' 명령어의 옵션 중에서 'now' 부분에 시간을 지정하면 지정한 시간에 시스템을 종료한다.

    예를 들면 다음과 같다.

     

      # shutdown -P +10  -> 10분 후에 종료( P : poweroff )

      # shutdown -r 22:00 -> 오후 10시에 재부팅( r : reboot)

      # shutdown -c         -> 에약된 shutdown을 취소( c : cancel )

      # shutdown -k + 15  -> 현재 접속한 사용자에게 15분 후에 종료된다는 메시지를 보내지만 실제로 종료는 안 됨.

     


    런 레벨

    런레벨 영문 모드 설명 비고
    0 Power Off 종료 모드  
    1 Rescue 시스템 복구 모드 단일 사용자 모드
    2 Multi-User   사용하지 않음
    3 Multi-User 텍스트 모드의 다중 사용자 모드  
    4 Multi-User   사용하지 않음
    5 Graphical 그래픽 모드의 다중 사용자 모드  
    6 Reboot    

    vi 에디터 관련 

     

    명령 모드에서 삭제, 복사, 붙여넣기와 관련된 키는 다음 표와 같다.

    설명 설명
    x 현재 커서가 위치한 글자 삭제(del)과 같은 의미 X 현재 커서가 위치한 앞글자 삭제(backSpace)와 같은 의미, Shift + X)
    dd 현재 커서의 행 삭제(D 연속 두번 입력) 숫자
    dd
    현재 커서부터 숫자만큼의 행 삭제(숫자 다음 D 연속 두 번 입력)
    yy 현재 커서가 있는 행을 복사(Y 연속 두번 입력) 숫자
    yy
    현재 커서부터 숫자만큼의 행을 복사(숫자 다음 Y 연속 두 번 입력)
    p 복사한 내용을 현재 행 이후에 붙여 넣기(P) P 복사한 내용을 현재 행 이전에 붙여넣기(Shift + P)

     

    명령 모드에서 문자열을 찾는 키는 다음 표와 같다.

    설명 설명
    /문자열  해당 문자열을 찾음(현재 커서 이후로) n 찾은 문자 중에서 다음 문자로 이동(N)

    리눅스 기본 명령어

     

     

    Is

     

    List의 약자로 Windows의 'dir'과 같은 역할을 한다.

    즉, 해당 디렉터리(=폴더)에 있는 파일의 목록을 나열한다.

     

    # Is                                 -> 현재 디렉터리의 파일 목록

    # Is /etc/sysconfig              -> /etc/sysconfig 디렉터리의 목록

    # Is -a                             -> 현재 디렉터리의 목록(숨김 파일 포함)

    # Is -l                              -> 현재 디렉터리의 목록을 자세히 보여줌

    # Is *.cfg                          -> 확장자가 cfg인 목록을 보여줌

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

     

     

    cd

     

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

     

    # cd                                -> 현재 사용자의 홈 디렉터리로 이동. 만약 현재 사용자가 root면 '/root' 디렉터리로 

    # cd ~centos                     -> centos 사용자의 홈 디렉터리로 이동.

    # cd ..                              -> 바로 상위의 디렉터리로 이동. '..' 은 현 디렉터리의 부모 디렉터리를 의미(예를 들어                                              디렉터리가 /etc/sysconfig면, 바로 상위인 '/etc' 디렉터리로 이동)

    # cd /etc/sysconfig             -> /etc/sysconfig 디렉터리로 이동(절대 경로)

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

     

    ※ '.'(현재 디렉터리)와 '..'(현재 디렉터리의 상위 디렉터리)는 자주 사용되는데, 리눅스 초보자 입장에서는 혼란스러울 수도 있으니 잘 기억해 둬야 한다.

    예를 들어 'cp ../lib/abc .'는 "현재 디렉터리의 상위 디렉터리('..') 아래에 있는 '/lib' 디렉터리의 abc 파일을 현재 디렉터리('.')에 복사하라"는 의미다.

     

     

    pwd

     

    Print Working Directory의 약자로 현재 디렉터리의 전체 경로를 화면에 보여준다

     

    # pwd                             -> 현재 작업 중인 디렉터리의 경로 출력

     

     

    rm

     

    ReMove의 약자로 파일이나 디렉터리를 삭제한다.

    당연히 파일이나 디렉터리를 삭제할 권한이 있어야 한다.

    단, root 사용자는 모든 권한이 있으므로 이 명령에 제약이 없다.

     

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

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

    # rm -f abc.txt                  -> 삭제 시 확인하지 않고 바로 삭제(f는 Force의 약자)

    # rm -r abc                      -> r 옵션과 f 옵션을 합친 것으로, abc 디렉터리와 그 아래에 있는 하위 디렉터리를                                                  강제로  전부 삭제(편리하지만 상당히 주의해서 사용해야 함)

     

    ※ root 사용자는 모든 명령을 실행할 수 있는 권한이 있다.

    그러므로 'rm'과 같은 명령어를 사용할 때는 주의해야 한다.

    특히 리눅스에서는 Windows의 휴지통 개념을 잘 사용하지 않으므로 삭제한 파일이나 폴더를 복구하기가 상당히 어렵다는 점을 기억하자.

     

     

    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'의 부모 디렉터리인 '/dfg' 디렉터리가

                                             없다면 자동으로 생성(p는 Parents의 약자)

     

     

     

    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

     


    사용자 관련

     

    useradd

     

    새로운 사용자를 추가한다. 이 명령어를 실행하면 /etc/passwd, /etc/shadow, /etc/group 파일에 새로운 행이 추가된다.

     

    # useradd newuser                    -> newuser라는 이름의 사용자 생성

    # useradd -u 1111 newuser         -> newuser 사용자를 생성하면서 사용자 ID를 1111로 지정

    # useradd -g mygroup newuser    -> newuser 사용자를 생성하면서 mygroup 그룹에 newuser 사용자를 포함시킴

                                                     (mygroup 그룹을 먼저 만들어 놓아야 함)

    # useradd -d /newhome newuser  -> newuser 사용자를 생성하면서 홈 디렉터리를 /newhome으로 지정

    # useradd -s /bin/csh newuser      -> newuser 사용자를 생성하면서 기본 셀을 /bin/csh로 지정

     

     

    passwd

     

    사용자의 비밀번호를 지정하거나 변경한다.

     

    # passwd newuser                        -> newuser 사용자의 비밀번호를 지정(또는 변경)

     

     

    usermod

     

    사용자의 속성을 변경한다. 옵션은 useradd와 동일하다.

     

    # usermod -g root newuser               -> newuser 사용자의 그룹을 root 그룹으로 변경

     

     

    userdel

     

    사용자를 삭제한다

     

    # userdel newuser                            -> newuser 사용자를 삭제

    # userdel -r newuser                         -> newuser 사용자를 삭제하면서 홈 디렉터리까지 삭제

     

     

    chage

     

    사용자의 암호를 주기적으로 변경하도록 설정한다.

     

    # chage -1 newuser                              -> newuser 사용자에 설정된 사항을 확인

    # chage -m 2 newuser                           -> newuser 사용자에 설정한 암호를 사용해야 하는 최소 일자                                                                              (변경 후 최소 2일은 사용해야함.)

    # chage -M 30 newuser                         -> newuser 사용자에 설정한 암호를 사용할 수 있는 최대일자                                                                              (즉, 변경 후 최대 30일 까지 사용할 수 있음)

    # chage -E 2019/12/12 newuser               -> newuser 사용자에 설정한 암호가 만료되는 날짜

                                                                 (즉, 2019-12-12까지만 사용할 수 있음)

    # chage -W 10 newuser                          -> newuser 사용자에 설정한 암호가 만료되기 전에 경고하는 기간,

                                                                 지정하지 않았을 경우 기본 값은 7일(즉 만료 10일전부터 경고 메세지) 

     

     

    groups

     

    사용자가 소속된 그룹을 보여준다.

     

    # groups                                                 -> 현재 사용자가 소속된 그룹을 보여줌

    # groups newuser                                      -> newuser가 소속된 그룹을 보여줌                                             

     

     

    groupadd

     

    새로운 그룹을 생성한다.

     

    # groupadd newgroup                               -> newgroup이라는 그룹을 생성

    # groupadd -g 2222 newgroup                    -> newgroup 그룹을 생성하면서 그룹 ID를 2222로 지정

     

     

    groupmod

     

    그룹의 속성을 변경한다.

     

    # groupmod -n newgroup mygroup              -> mewgroup 그룹의 이름을 mygroup으로 변경

     

     

    groupdel

     

    그룹을 삭제한다.

     

    #  groupdel newgroup                                 -> newgroup 그룹을 삭제(단, 해당 그룹을 주요 그룹으로 지정한 사용                                                                    자가 없어야 한다.)

     

     

    gpasswd

     

    그룹의 암호를 설정하거나 그룹 관리를 수행한다.

     

    # gpasswd newgroup                                  -> newgroup 그룹의 암호를 지정

    # gpasswd -A newuser newgroup                   -> newuser 사용자를 newgroup 그룹의 관리자로 지정


     

     

Designed by Tistory.