본문 바로가기
  • 반가워요 : )
전기기사/리눅스

[리눅스1] 기본명령어2,필터링,논리연산자

by 교육의 기울기 2018. 12. 27.
반응형
반응형

리눅스 기본명령어 2

[리눅스]-기본 명령어

 

[리눅스1]-기본 명령어

리눅스-기본 명령어 리눅스 명령어 중 많이 쓰이는 명령어, 옵션을 모아놓은 글입니다. 직접 입력을 해보시면서 익히는 게 좋습니다. 1. pwd(print working directory)   :현재 작업 중인 디렉터리

eictionary.tistory.com

목차

    1. mv : 파일이나 디렉터리 이동, 이름 변경 용도로 사용 가능.
             (옵션이 필요 없음)


    -실습 예제

    /mvfile 디렉터리 생성 후 안에 디렉터리 a, b, c 파일 1,2,3을 생성하자.
    / mvtest 디렉터리 생성 후 이쪽에 이동시켜주자.
    현재 위치 /mvtest
    1.mv /mvfile/1 /mvtest/1 (그냥 옮기기)
    2.mv /mvfile/2 /mvtest/heath (이름 바꾸기)
    3.mv /mvfile/a . (현재 위치로 옮기기)
    4.mv /mvfile/3 /mvfile/b /mvfile/c /mvtest (한꺼번에 옮기기)
    5.mv heath 2 (이름 바꾸기)
     
    -실습 문제

    1. /mvfinal이라는 디렉터리 생성 후 안으로 이동, /mvfinish 생성
    2. ab bc cd 라는 디렉터리 생성, 111 222 333 이라는 파일 생성 후 /mvfinish로 이동
    3. 111, 222 파일을 mvfinish로 이름 그대로 이동
    4. /mvfinish에 /mvfinal의 ab 디렉터리를 abc라는 디렉
    토리로 이동시켜라
    5. bc 파일을 현재 위치 있는 그대로 bc1이라는 이름으로 변경 (단, cd 명령어 쓰지 말 것)
    6. 333이라는 파일 33으로, cd라는 파일 이름 그대로 들고 오기

    2. rm(remove) : 파일 삭제

     

    -사용법


     rm [target]

     

    -옵션


    -r : 디렉터리 삭제.
    -f : 강제 삭제
    -i : 질의(y.n)


    -실습 예제


    /rmtest 디렉터리 생성 후
    /rmtest/a b c   디렉터리 생성
    /rmtest/ 1 2 3 4 5 파일 생성 후 /rmtest에 이동
    -rm 1
    -rm a (안됨)
    -rm -r a (디렉터리 삭제)
    -rm -f 2   (bash로 쉘을 다르게 하여 질의할 때 질의 무시하며 삭제    다른 쉘 :ksh)
    -rm -rf b (파일 디렉터리 구분 없이 강제 삭제)   ★★★
    -rm -i 4  (질의하는 옵션)
    -rm -if 4 (삭제됨: 모순된 옵션이 합쳐지면 마지막의 옵션이 적용이 된다.)
    -rm -fi 5 (삭제 안됨)
    -rm -rf 5 c (동시 삭제)

    -실습 문제


    1./mvfinish 안에 33파일 삭제 (/로 이동후 삭제)
    2./mvfinish 안에 111,222, 파일 옵션 없이 삭제
    3./mvfinish 안에 이동후 안에 있는 디렉터리 전부 삭제.
    4. 위의 rmtest 삭제

    3. alias : 매크로 지정, 별칭 지정, unalias :매크로 삭제


    -실습 예제


    -alias al='mkdir /aliastest'
    -alias a2='rm -rf /aliastest'
    -alias a3='mkdir /alisastest
    cd /aliastest'   (명령어 두 개를 동시에 넣은 것.)
    -alias a4='touch 1 2 3' (파일 생성 매크로)
    -alias a5='a3
    a4'      (a5에 a3 a4  매크로 넣음)
    -alias  (매크로 목록보기)
    -unalias [alias 명] :alias 해제
    -unalias a5  (a5 지우기)

    reboot         (재부팅 후에 매크로 설정해놓은 게 적용되는가를 보기)
    <<재부팅하면 사라짐>>

    →vi /root/.kshrc  에 작성해야 사라지지 않는다.


    -실습 문제


    a1 = /alias 디렉터리 생성
    a2 = /alias 디렉터리 내부에 test1파일 test2 디렉터리 생성
      (Enter키로 여러 명령어 연동)
     a3 = /alias 디렉터리 강제 삭제
     a4 = /alias 디렉터리를 생성하면서 내부에
      test1 파일 test2 디렉터리 생성
      (alias끼리 조합)

    4. 시간 관련 명령어

     -date : 현재 시각 확인.
     -rdate -p time.bora.net  (타임 서버에서 시간 확인하는 명령)
     -rdate -s time.bora.net (타임 서버와 시간을 동기화시킨다.)
     -cal : 달력 보기
     -cal [날짜] [월] [연도]


    5. 필터링


    '*' : 모든 문자 (문자 개수 상관 x)
      
       1.ls -l *  (모든 문자 출력)
       2.ls -l 1* (앞자리 숫자 1인 것 필터링)
       3.ls -l *2 (뒷자리 숫자 2인 것 필터링)

    '?' : 모든 문자 (문자 개수 일치)
      
       1.ls -l ?  (한 글자인 것들 출력)
       2.ls -l ???  (세 글자인 것들 출력)
       3.ls -l *2? (뒤에서 두 번째 무조건 2 , 마지막 글자 존재, 2 앞에 오는 것은 상관 x)
      

    -실습 문제-


    먼저 생성.
    /test
    1 11 12 111 112 122 1111 1112 1122 1222
    2 22 21 222 221 211 2222 2221 2211 2111  파일 생성.
    /test 안에 전부 삭제 후
    a a1 a2 ab ab1 ab2 abc abc1 abc2 abcd abcd1 abcd2 ac ac1 ac2 생성 후 문제 푸세요.


    1. 두 글자인 목록을 출력하라.
    2. 맨앞이 a 이며 그 뒤는 상관없는 파일명들을 출력하라.
    3. 세글자 이며 맨뒤가 2인 것을 출력하라.
    4. 4글자 이상 인 것을 출력하라. ????*
    5. 두번째 글자가 b, 세번쨰 글자가 c 인것을 출력하라.  ?bc*
    6. 맨 뒤가 1 인것을 삭제해라.
    7. 두번째 글자가 b 인것을 삭제하여라. ?b*
    8. 두 글자 인것을 삭제해라.
    9. 나머지 전부 삭제해라.

     


    cat : 문서 내부 전체 출력


        cat /etc/passwd
        cat -n /etc/passwd (행과 같이 출력) ★★


    head : 문서의 최초 10줄 출력


        head -5 /etc/passwd (지정 행만큼 출력(5줄))


    tail : 문서의 마지막 열 줄을 출력


        tail -5 /etc/passwd (밑에서 지정 행만큼 출력(5줄))
       

     

    more : 창 크기 만큼 끊어 보기.
    enter : 한줄 씩 이동
    space : 다음 페이지 이동
    q : 탈출
    more -4 /etc/passwd       (4줄씩 끊어 보기)

     


    redirection : 입출력 기호.
      
       '<' : 출력(읽기)           ---->       (잘쓰이지않는다)
          = cat
     
        '>' : 입력(쓰기)          ---->        입력  1. 파일생성  2. 덮어쓰기   3. 파일병합    
      
       '>>' : 추가(쓰기)          ---->       추가  1. 파일생성  2. 내용추가   3. 파일병합추가



    11. find : 검색명령어
     (자주 쓰이는 형식 들)

    ex) find [범위] -name [명]
          find [범위] -name [명] -o -name [명]
       # find / -name heath -o -name grub
          find [범위] -name [명] -type f  (파일)
                                              -type d  (디렉터리)
        
        # find / -name heath -type d
        # find / -name heath -type f

    -시간관련 (time = 일 , min = 분 )


     -atime +n 파일에 접근한지 +n일 이상(-n 일경우는 n일 이내)
     -ctime +n 파일에 생성한지 +n일 이상(-n 일경우는 n일 이내)
     -mtime +n 파일에 변경한지 +n일 이상(-n 일경우는 n일 이내)
     -amin +n 파일에 접근한지 +n분 이상(-n 일경우는 n분 이내)
     -cmin +n 파일에 생성한지 +n분 이상(-n 일경우는 n분 이내)
     -mmin +n 파일에 변경한지 +n분 이상(-n 일경우는 n분 이내)

    # find /mvtest -cmin +10        (만든지 10분이상 된것)
    # find /mvtest -cmin -10         (만든지 10분 이하 된것 찾기)


    -실습문제-
    1. /etc/passwd 의 위에서 5번째 줄까지 출력
    2. inittab 파일 검색 후 검색한 파일의 아래서부터 12번째 줄까지 출력(find로 찾을것)
    find / -name inittab -type f | tail -12
    3. /etc/httpd/conf/httpd.conf 문서를 20줄씩 끊어서 출력
    more -20 /etc~~
    4. /etc/httpd/conf/httpd.conf 를 왼쪽에 번호표가 붙은 상태로 10줄씩 끊어서 출력
    cat -n /etc/httpd/conf/httpd.conf | more -10
    5. /etc 디렉토리 내 목록을 2줄씩 끊어서 출력하세요
    ls -l /etc | more -2
    6. /etc 디렉토리 내 목록을 왼쪽에 번호표가 붙은 상태로 출력하세요
    ls -l /etc | cat -n
    7. /cattest 디렉토리를 생성한 뒤 pwd를 입력했을때 /cattest가 나올 수 있도록 하세요
    ****** 7번 부터는 /cattest 디렉토리 안에서 작업 ******
    8. 가로로 1 2 3 내용을 가지는 파일 a , 세로로 1 2 내용을 가지는 파일 b를 생성하세요
    9. 파일 a 와 b 의 내용을 병합한 파일 c 를 생성하세요
    10. heath 내용을 가지는 파일 d 를 생성한 뒤 파일 c 의 내용을 d 파일에 추가시키세요
    11. /etc 디렉토리 내 목록에 왼쪽에 번호표가 붙은 내용을 가지는 파일 e 를 생성하세요
    ls -l /etc | cat -n >> e
    12. grub.conf  login.defs  inittab 파일을 검색하여 /cattest 로 복사하고
        grub.conf, login.defs, inittab, b, c, d, e 파일들의 각각 위에서 2줄씩의 내용이 출력되는
        파일 f를 /home/test/c/d/cattest/linux 디렉토리에 생성하세요
    find / -name login.defs -type f -o -name inittab -type f -o -name grub.conf -type f
    head -2 a b c d e login.defs inittab grub.conf >> /home/test/c/d/cattest/linux/f


    논리연산자


    · && : a and b        a&&b   a성공시 b 수행
                                             a실패시 b 미수행
    · || : a or b          a||b       a성공시 b 미수행
                                             a실패시 b 수행
    · | : pipe              a|b          a의 수행결과를 b가 받아서 수행한다.
                                            (가급적 하나만 사용한다.)

    ex))  tail -20 /etc/passwd | cat -n       (tail 명령문부터 수행 후 cat -n 수행)
            cat -n /etc/passwd | tail -20        (cat -n 부터 수행 후 tail -20 수행)


    반응형

    댓글