ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [리눅스] 명령어
    서버/리눅스 2017. 3. 16. 20:45

    리눅스 명령어


    raid와 lvm은 연관된 명령어가 많으므로 생략합니다!


    command not founds : 커멘드 입력 오류


    a

    alias <a_name>='<command>' : 커멘드를 a_name으로 별칭을 지정한다.

    at : 예약하기

    atq : 예약확인


    b

    c

    cat <path> : 파일을 화면에 출력

    cd <path> : 디렉토리 이동

    chown 유저이름. <path>  : path 권한 부여

    chmod <symbolic> <path> : 권한 변경

    copy <path> : 파일 복사

    clear : 화면 지움

    d

    dd : 장치에 데이터 쓰기

    date: 현재의 날짜와 시간을 단말기 화면에 표시

    e

    echo : 입력한 코멘드를 그대로 출력한다 ( -n 사용시 엔터를 스킵한다)

    export : 환경변수를 설정할 수 있다.

    expr : 계산해주는 명령어

    env : 환경변수 확인

    f

    fdisk -d : 장치파일을 확인한다.

    fg <작업번호> : 백그라운드 > 포그라운드

    find : 찾기 

    g

    grep : 찾기

    h

    history : 사용했던 명령어 보기

    i

    id -un : 사용자 확인

    j

    jobs : 백그라운드 작업목록 출력

    k

    l

    less : 파일을 움직일 수 있음(q로 나가지) 

    ln : 링크파일 생성

    ls : 디렉터리안에 저장된 파일, 디렉터리를 보여줌

    m

    make : 파일 설치

    man : 파일을 움직이면서 볼수있음(위아래 움직일수있음, q로 나가기)

    more : 파일을 enter칠때마다 한줄씩 더볼수있음(아래로만 감 ,q로 나가기,출력내용이끝나면 나가짐)

    mount <dev_name> <target_name> : 마운트 시킨다. ( umount : 마운트 해제 )

    mkdir : 파일 생성

    n

    o

    p

    passwd <u_name> : 패스워드 설정 

    poweroff : 바로종료(= halt, init 0)

    ps : 프로세스 확인

    pwd : 현재 위치

    q

    r

    raid : 가상화 기법

    read <변수> : 변수에 저장될 데이터를 입력받는다.

    reboot : 재시작

    rm -rf <path> 묻지도 따지지도 않고 삭제

    rmdir <path>

    -r 하위 파일까지 삭제

    -i 삭제 여부를 사용자에게 물음

    rpm : 패키지 설치

    s

    systemctl : centOS7에서 시작된 명령어 ( 시스템 컨트롤의 비중이 높아졌다 )

    stat <f_name> : 파일의 접근(a), 수정(m), 변경(c)된 날짜를 볼 수 있다.

    su  사용자이름 : 사용자변경(사용중이던 사용자로 다른 사용자를 체험(환경변수는 그대로))

    su - 사용자이름 : 사용자변경(사용중이던 사용자는 대기하고 다른 사용자로 로그인(환경변수 새로고침)) 

    sh <path> : 쉘 스크립트 실행

    shutdown -옵션 : 예약종료 시스템

    t

    tar : 아카이브 생성, 해제

    top  : 전체 프로세스 출력( 나가기 : q)

    u

    useradd <u_name> : 유저생성

    userdel <u_name> : 유저삭제

    usermod <option> <o_value> <u_name> : 유저정보 변경

    v

    vi : 파일 편집기

    w

    wget : 파일 다운

    who : 사용자 정보

    whoami : 사용자 정보 출력

    which : 명령어의 path를 반환

    x

    y

    yum : 파일 설치(관련된 파일까지)

    z


    =============================================================================

    #예약종료 shutdown -option time

    -h : 종료

    -h now : 지금 종료

    -h +10 : 10분 후 종료

    -r : 재부팅

    Job for ~ failed because the control process exited with error code. See ~ and ~ for details :

    service Error : see 다음에 나오는 file을 확인 하라는 뜻이다.

      설정문제이므로 오타일 때 가장 많이 뜨는 에러메세지

    *systemctl [start | restart | stop | status ] <service_name>

    start : 서비스 실행

    restart : 실행 중 서비스 파일 재설정

    stop : 서비스 멈춤

    status : 서비스 상태확인


    *systemctl [enable|disable] <service_name>

    enable : 시작프로그램에 등록

    disable : 시작프로그램 해제 


    #단일 예약 at

    -r

    [자기 아이피 검색 /sbin/ifconfig]

    *date: 현재의 날짜와 시간을 단말기 화면에 표시

    *date;who;cat > sample.c : 한 줄에 두 개 이상의 명령어를 동시에 입력하고자 할 경우 명령어와 명령어 사이를 ; 으로 구분한다 

    *cal 9 1995 : unix 시스템에 내장되어있는 달력을 화면에 출력 

    *cat address.list : 파일의 내용을 화면에 출력한다 

    *man date : 예약어나 명령어에 대한 온라인 매뉴얼 

    *ls: 현재 위치한 디렉토리 아래에 있는 파일 및 서브디렉토리의 정보를 나열 

    - 옵션: -l: 파일의 모든 정보 출력 (합쳐서 ll명령어도 가능)

    -c: 최근 변경한 시간 순서데로 출력 

    -d: 디렉토리 명만 출력 

    -F: 파일의 특성을 출력( /디렉토리 *실행화일) 

    -a: dot(.)으로 시작하는 파일의 이름을 포함한 모든 내용을 출력 

    *alias dir ls -alF : 자주 쓰이는 명령어 ls를 다른 형태의 명령어 dir로 바꿀 때.. 

    *pwd : 현제 작업 디렉토리 출력 명령어 

    *cd : 디렉토리 변경 명령어 


    [디렉토리 관리 및 파일 관리 명령어]

    *cat : 파일을 작성하거나 파일의 내용을 간단하게 출력 

    # cat test1.c 

    # cat > test1.c 


    *vi 파일을 열어서 삭제할 수있다.


    ln <target file> <new file> : 하드링크파일 형식으로 링크파일 생성

    ln -s <target file> <new file> : 심볼릭링크파일 형식으로 링크파일 생성


    *touch : 내용이 없는 빈 파일을 생성, 이미 생성된 파일의 수정 시간 갱신 

    # touch [option] [시간] [파일명] 


    *mkdir : 디렉토리 생성 명령어 (%mkdir [option] [directory name] 


    *rmdir : 디렉토리 삭제 명령어 

    - 옵션: rm -r test ; test의 하위디렉토리와 파일을 전부 삭제 

    - 옵션: rm -i test ; 삭제 여부를 사용자에게 물어 본다 


    *rm test1 test2 test3 --- test1,test2,test3 파일을 삭제 

    *rm -r quit --- quit 디렉토리 및 모든 내용을 삭제 


    *mv [file name1] [file name2] --file name1을 file name2로 이름 변경 

    *mv [file1] [file2] [directory1] --file1, file2를 directory1으로 이동 

    *mv [directory1] [directory2] --directory1의 모든 내용을 directory2로 이동 

    **명령어 cp, mv, rm에서 option -i는 사용자에게 여부를 묻는 옵션입니다 


    *cp :시스템내에 있는 특정 파일을 복사 

    # mkdir temp --temp라는 디렉토리 생성 

    # cp sample test temp --temp라는 디렉토리 밑에 sample 과 test 라는 파일을 복사 

    # mkdir example 

    # cp -r temp example --temp라는 디렉토리 아래에있는 모든 내용을 example디렉토리에 복사 


    *more [file name] : 한 번에 한 화면씩 파일의 내용을 표준 출력 

    -내용을 보지 않고 종료시 q 나 Q 키를 누른다 

    *page [option] [file name] : 한 번에 한 화면씩 파일의 내용을 표준출력(=== %pg) 

    *nl [file name] : 지정한 파일의 내용을 츨력할 때 맨 앞에 행 번호를 이어서 출력 

    *file test.c : test.c라는 파일의 형태를 출력 


    *ln test1 test2 --- test1과 test2라는 2개의 파일을 연결 (unlink ; 연결 해제) 


    less 와 more은 |와 같이 쓰인다


    [파일 찾기 find & grep]

    *find: 사용자가 지정한 특정 범위에 해당하는 모든 파일을 검색 

    option -print는 기본값(그냥 파일명만 출력), 

    -name "" 파일의 이름대로 사용

    -ls(자세하게 나옴 (ls -l)의 옵션과 비슷)

    -delete(찾은 파일을 삭제한다)

    -empty 비어있는 곳만

          -type ?d 디렉터리 f 일반파일 l 링크파일 b 장치파일

    -exec <command> {} \;

    -size n : c : byte k : kbyte m : mbyte g : gbyte단위를 n에 붙여서 사용

                +n : n보다 큰 파일들을 다찾음

                 -n : n보다 작은 파일들을 다찾음.

    -user <u_name> : 소유자가 유저인 파일을 찾음

    -group <g_name> : 소유그룹이 그룹인 파일을 찾음

    -perm <rwx> : rwx(777) 권한을 가지고 있는 파일들을 찾는다.

            -rwx : 권한을 포함하고 있는 파일들을 찾는다.

    -atime n : n일 이전에 접근한 파일 (access) 

    -mtime n : n일 이전에 내용이 수정된 파일 (modify) >> 

    -ctime n : n일 이전에 속성이 수정된 파일 (change) >> 뭘해도 계속바뀜

           -n : n일 안에 접속한 파일

    -inum n : i-node값이 n인 파일(i-node값 : 링크파일과 관련)


    # find / -name test1.c -print ; 최상위 루트 디렉토리부터 검색하여 검색된 파일을 한 행에 하나씩 표준 출력 

    # find . -name test1.c -print ; 현제의 작업 디렉토리에서 검색 

    # find / -size +1000 -print ; 최상위 루트에서 크기가 1000블록 이상인 파일 검색 

    # find . -size -1000 -print ; 현 디렉토리에서 크기가 1000블록 이하인 파일 검색 

    # find . -mtime +10 -print ; 10일 이전에 수정된 파일 검색 

    # find . -mtime -10 exec rm {} \: ; 10일 이내에 수정한 파일을 검색하여 모두 지운다 


    *grep은 정규표현식과 같이 많이 사용된다.

    * grep [option] 형태 [화일명] -- 정규식을 이용 패턴 지정 

    # grep -i tom sample.c -- sample.c 라는 파일에서 tom 이라는 문자열을 대소문자 구분 없이 검색 

    # grep -i "tom is" sample -- 공백은 " "로 표기 

    # grep -v tom sample --tom이라는 형태를 포함하지 않는 행을 출력 

    # grep -r "내용" "파일"  : 파일안에 내용을 찾는다. 

    >> -r은 생략 가능한 기본옵션이다.

    # grep -c "내용" "팡리" : 파일안에 내용이 있는 라인 수를 반환한다.

    # grep -n tom sample -- 행 번호와 함께 출력 (옵션 r + c)


    [정규표현식]

     문자열 정규표현식은 싱글쿼터나 더블쿼터로 묶어준다

    #> grep -E  "문자열" "파일" : 문자열을 포함한 라인을 찾는다.

      "^문자열" "파일" : ^서식문자가 이 값으로 시작되는 라인을 나타낸다

      '[^문자열]' "파일" : [문자열]에 포함된 단어가 한개라도 포함되지 않은 라인

      '[ABC]' "파일" : A, B, C중 한개가 포함된 단어를 포함된 라인 : 배열표현

      '[a-z]' "파일" : 단어의 범위만큼 한개라도 포함된 라인

      '[ab][b]' "파일" : 첫번째 문자열은 a나 b고 그다음 문자는 b가 포함된 라인

      '[a-zA-Z0-9]' "파일" : 소문자,대문자,숫자 중 아무거나 포함된 라인

      '(문자열1|문자열2)' : 문자열1과 문자열2를 포함한 라인을 찾는다. >> 파이프로 묶어줄수 있다.


    안쓰면 : 1개

    *  : 0번이상

    + : 1번이상

    ? : 0 or 1

    {n } : 중복횟수 지정(n번 반복)

    {n, N} : 중복횟수 범위 지정(n ~ N)

    . : 모든문자

      '[a-z]+[0]' "파일" : 소문자 1개이상으로 출력되다가 0으로 끝난 라인

      '[a-z]*[0]' "파일" : 소문자 0개이상으로출력되다가 0으로 끝난 라인(그냥 소문자가 없고 0으로 끝나는라인) 

      '[a-z][a-zA-Z0-9]' "파일" : 소문자로시작하다가 숫자영문자로 끝나는 라인

      '[a-zA-Z0-9]+[@][a-zA-Z0-9]+(.com|.net|.co.kr)' "파일" : 이메일이 .com .net .co.kr로 끝나는 이메일만 출력

      '[a-zA-Z0-9]{6,10}[@][a-zA-Z0-9]+(.com|.net|.co.kr)' "파일" : 이메일이 .com .net .co.kr로 끝나는 이메일만 출력

      '.{6,10}[@].+(.com)' "파일" : .을 사용해 모든문자 6~10아이디와 도메인.com을 가진 라인 출력



    [권한]

    Permission denied 허가 거부


    useradd / del / mod : 유저생성 / 삭제 / 생성

    groupadd / del / mod : 그룹생성 /삭제 / 생성


    *chmod --- 파일 및 디렉토리에 이미 정해진 접근 허가 모드를 변경 

    - 사용 형식: %chmod [ugoa] [+-=] [rwx] [file name] 

    u: 파일 소유자, g: 그룹, o: 기타 사용자, a: 모든 사용자 

    +: 사용허가부여, -: 사용허가박탈, =: 허가 취소 

    r: 읽기 허가, w:쓰기 허가, x: 실행 허가 

    특정 사용자를 지정하지 않으면 모든 사용자를 의미한다 

    chmod go+r test.c ; 소유자 그룹과 기타 사용자에게 읽기 허가 

    chmod ugo-w test.c ; 소유자,그룹,기타 사용자에게 읽기 허가 박탈 

    chmod +x test.c 

    chmod o -rwx test.c 

    r = 4, w = 2, x =1 

    chmod 744 test.c 

    -rwxr--r-- 1 edul user 235 Oct 15 13:23 test.c 

    chmod 724 test.c 

    -rwx-w-r-- 1 edul user 235 Oct 15 13:23 test.c 

    * : dot(.)을 제외한 모든 문자와 대응하며 모든 파일명을 대표하는 메타 문자 %ls *a* , %ls t* ? : " " " 임의의 한 문자만을 대신 


    [입력과 출력에 관한 명령어] 


    * < ---입력 

    * > ---출력 

    * >> ---출력, 첨가 

    * date > date.out : 이전 내용이 지워지고 새로운 내용이 저장 

    * date >> date.out : 이전 내용과 함께 새로운 내용 첨가 

    * file < test > test.out : test 파일을 입력으로 받아서 file 명령을 실행하고 test.out에 출력 

    * cat test.out 

    * test: Ascll text 

    * 2>>, 2> 오류 출력 제지정 


    * tty : 현재 사용하고 있는 단말 장치의 이름을 경로와 함께 표준 출력 


    * lpstate : 프린터의 현제 상태 (활성화: enable, 비활성화: disable) 

    * lp -c temp.c ; 내용이 변경되어도 문제가 지속되지 않도록미리 출력될 파일을 복사 

    * lp -n7 /etc/lp/temp ; 7장 프린트 

    * lp -m temp.c ; 출력이 끝난후 사용자에게 전자우편을 보냄 

    * lp -t"chon bing hee" test.out ; chon bong hee라는 표제를 달아 줌 

    * cancel [print name] ; 프린터 취소 

    * disable -c [print name] ; 지정한 프린터에서 현제 출력중인 작업 취소 

    * disable -w laser-3 ; 모두 인쇄한 다음 프린터를 disable 상태로 만든다 

    * disable -c -r "out of paper" laser-1 ; 주석을 달아 놓는다 


    # cat sample 

    computer science 

    computer graphics 


    # cut -c10-17 sample -- sample 파일에서 칼럼 단위10-17을 절단 --> science/graphics 


    # cmp test1 test2 -- 서로 다른 두 파일을 비교 

    # dircmp test test -- 서로 다른 두 디렉토리 비교 



    4. 백업 및 복사에 관한 명령어 

    (rfd:디스켓, rct:카트리지테이프, rmt: 테이프) 

    하드 ----> 디스켓 


    # tar -cvf /dev/rfd0c test1 

    (c: 저장되는 파일들이 디스크의 처음부터 기록, v:기록되는 화일명 화면 출력) 


    # tar -tvf /dev/rfd0c --- 디스켓의 파일 목록 확인 


    디스켓 ----> 하드 

    # tar -xvf /dev/rfd0c test1 --- 지정한 파일 복원 


    동일한 하드 ---> %tar -cvf test1.tar test1 


    # compress test.c (파일 압축) --->uncompress test.c.Z (압축 풀기) 

    : test.c.Z (파일 생성) --- >zcat test.c.Z (파일 보기) 


    # pack test.c (파일 압축) ---> unpack test.c.z 

    : test.c.z (파일 생성) ---> pcat test.c.z (파일 보기) 

    * Non-preemptive(비선점) ; 커널 모드 

    * kernel; 생성되는 프로세스마다 PCB 부여하고 관리 


    [멀티 태스킹에 관련된 명령어 ]

    * Multitask 

    foreground : 하나의 명령이 실행되어 결과를 출력할때까지 다른 명령을 수행 할 수 없다 

    background : 하나의 명령을 수행시킨후 그 수행의 종료 이전에 다른 명령을 수행 하는 것 

    ---> 명령어 끝에 &로 표시 (cc -o test1 test1.c &) 


    ps : 프로세스 출력

    [옵션]

    a : 현재 실행중인 모든 프로세스 출력

    u : 프로세스의 사용자 이름, 시간

    x : 다른 사용자의 완료되지 안흥ㄴ 프로세스를 같이 출력

    e : 프로세스의 실행 환경

    -f: full format


    ps aux : 

    ps -ef : 

    ps -l --프로세스에 관한 모든 상태 정보 출력 

    ps -e --현제 실행중인 모든 프로세스에 관한 정보 출력 

    ps ps -t 00 --지정된 터미널에서 실행중인 프로세스에 관한 정보 출력 



    nice [-정수값:1~39 , 20으로 설정] 명령어 -->우선 순위 변경 명령어 

    정수값이 높을수록 우선 순위가 낮다 (nice -10 cc -o test test1.c) 

    at --수행 시간 지정 명령어 -->at 11:30 pm 

    cc test.c 


    -옵션 -r: 이전에 지정된 작업 취소, -l : 지정된 작업 번호 출력 

    (sleep 20; cc -o sample sample.c)& -->백그라운드 실행, 20초 뒤 프로그램 컴파일 

    (sleep 10; ps -el) --> 10초후 모든 프로세서 상태 출력 

    time cc -o test test.c --수행 시간 출력 명령어 


    * 백그라운드 작업 상태: Running : 현제 백그라운드 수행중인 상태 

    Stopped : fg로 수행되다가 ^D로 잠시 중단된 상태 

    Terminated : Kill 명령을 사용해 강제로 종료된 상태 

    Done : 백그라운드 프로세서의 수행이 완전히 종료된 상태 

    Exit : 백그라운드 프로세서가 수행도중 오류 때문에 빠져 나온 상태 

    jobs : 백그라운드로 수행중인 모든 프로세서의 상태 출력 

    fg %1(작업 번호) : 백그라운드로 수행중인 작업을 포그라운드로 전환 

    bg %1( " ) : 포그라운드로 " " 백그라운드로 전환 

    wait [작업번호] --백그라운드 실행 종료 

    kill [번호] -- 프러세서 강제 종료 명령어 

    * 강제 종료가 안될 경우 -9옵션을 사용 %kill -9 1239 

    nohup cc -o sample1 sample1.c & 1132[PID번호] 

    ---> 백그라운드로 실행, 로그 아웃이나 중지 신호후에도 프로세서의 수행 계속


    '서버 > 리눅스' 카테고리의 다른 글

    [리눅스] 사용자 수정, 사용자 삭제  (0) 2017.03.20
    [리눅스] 사용자 관리, 사용자 생성  (0) 2017.03.17
    [리눅스]쉘, 쉘의 기능  (0) 2017.03.15
    [리눅스] putty  (0) 2017.03.15
    [리눅스] 인터넷  (0) 2017.03.14

    댓글

Designed by Tistory.