Linux

[Linux] 주요 명령어

qoth_0 2023. 11. 22. 09:56
728x90
반응형

auser → usergroup1

buser → usergroup1

cuser → usergroup2

a.txt auser가 생성, usergroup1

rwxrw-r— : auser는 rwx권한, buser는 rw권한, 그외는 r 권한만

cd 디렉토리 이동(cd만치면 루트디렉토리이동)

pwd 현재 경로

nano 파일명 //파일이 없으면 생성 후 접근, 존재하면 수정 : 텍스트 편집기

⇒ 내용 입력 후 ctrl+x:종료 ctrl+o:저장

chmod 777 파일명 // 권한부여

touch 파일생성

cat 파일 읽기

cp 복사

ls -al : 숨김파일을 포함하여 파일 목록 자세히 출력(권한 확인 가능)

ctrl+s누르면 입력이 잠김 → ctrl+q로 해제가능

tab : 자동완성

상하방향키 : 이전에 입력한 명령어

  • 주요 쉘 명령어
    • 디렉터리 관련
      • pwd
        • 현재 위치 경로를 출력
      • mkdir
        • 새로운 디렉토리를 생성
      • ls명령어
        • ls –l
          • 자세하게 출력
        • ls –al
          • 숨김파일도 출력
      • cd
        • 디렉토리 이동 명령어
        • 절대경로 이동 cd /root/abc/cbd
        • 상대경로 이동 cd ..
        • cd만 치면 홈 경로로 이동
        • cd / 를 치면 root경로로 이동
      • .은 현재경로를 의미, ..은 상위경로를 의미
      • 자동완성과 히스토리
        • tap키를 눌러 자동완성
        • history명령어로 이전 명령어 조회
        • 도스키 사용(상하 화살표키)
      • clear
        • 입력중인 명령창 깨끗하게 정리
    • 파일 관련
      • rm
        • 파일이나 디렉토리 삭제
        • rm, rm –f, rm -rf
      • cp
        • 파일이나 디렉토리를 복사
        • cp –r 하면 디렉토리까지 모두 복사
      • mv
        • 파일이나 디렉토리를 이동
        • 잘라내기와 같은 기능
      • touch
        • 용량 0인 파일을 생성
        • 이미 존재할 경우에는 수정 시간을 변경
      • cat
        • 텍스트로 작성된 파일을 화면에 출력
        • more 명령어는 페이지 단위로 출력
          • space를 통해 아래 페이지로 넘어감
      • head, tail
        • 텍스트로 작성된 파일의 앞 10행, 마지막 10행 출력
        • n 숫자 옵션을 주어 원하는 행숫자별로 출력 가능
      • 리다이렉션( >, >>, |, < 등)의 활용
        • echo는 터미널 화면에 출력하는 명령어
        • echo와 > : 표준 출력의 결과를 덮어쓰기로 파일로 저장하는 기능
        • echo와 >> : 표준 출력의 결과를 파일에 추가모드로 저장하는 기능
        • sort와 < : 파일의 내용을 전달하여 정렬 후 출력
        • | 은 왼쪽 실행문의 결과값을 오른쪽 실행문의 입력값으로 전달
      • grep
        • 파일 내에서 특정 패턴이나 문자열을 검색
        • 기본 사용법
        • grep [옵션] [패턴] [파일명]
          • -r옵션 : 디렉토리 내 모든 파일에서 검색
          • -i옵션 : 대소문자 구분 없이 검색
          • -n옵션 : 라인수 출력
          • 예시)grep -rin "hello" mydir
            • hello 문자열을 라인수와 함께 mydir폴더에서 대소문자 구분 없이 검색
      • find
        • 파일이나 디렉토리를 검색하여 위치 출력
        • 기본사용법
          • find [경로] [옵션] [행동]
          • -name옵션 : 파일명으로 검색
          • -type: 타입으로 검색 (f는 파일, d 디렉토리 등 파일타입으로 검색)
          • -exec, \, {}
            • exec : find로 찾은 결과에 대해 실행명령.
            • \ : exec의 종료지점을 의미
            • {} : find로 찾은 대상이 담기는 공간을 의미
        • 사용예시
          • find . -type f -name ".txt" : 현재폴더에서 파일타입 중에 .txt로 끝나는 파일명 검색
        • 활용예시
          • find . -name ".txt" | xargs grep -n “hello”
            • |(파이프라인)을 통해 그 다음 명령어로 전달
            • xargs는 입력받은 파일을 한줄씩 읽는것을 의미
          • find . -name ".txt" -exec echo {} \;
            • find로 찾은 파일에 대해 echo명령어 실행
            • find . -name "*.txt" -exec cp {} ./testFolder/ \;
    • grep

    파일 내에서 특정 패턴이나 문자열 검색

    grep [옵션] [패턴] [파일명/디렉토리]

    -r:옵션 : 디렉토리 내 모든 파일에서 검색 (하위 디렉토리가 있을 경우 계속 접근) - 거의 필

    -i:옵션 : 대소문자 구분 없이 검색

    -n옵션 : 라인 수 출력

    ⇒ grep -rni “hello” mydir : hello 문자열을 라인수와 함께 mydir폴더에서 대소문자 구분없이 검색

    mydir내

    first.txt: hello 작성

    second,txt: hello 없이

    test_folder → abc.txt → hello 넣기(대문자포함) hello/HELLO 넣은 상태

    find

    파일을 찾는 명령

    find [경로] [옵션] [행동]

    -name옵션 : 파일명으로 검색

    -type옵션 : 타입으로 검색 (f는 파일, d 디렉토리 등 파일 타입으로 검색)

    ⇒ find . -type f -name “*.txt” : 현재포ㅗㄹ더에서 파일 타입중에 txt로 끝나는 파일명 검색

    -exec, \, {}옵션

    • exec: find로 찾은 결과에 대해 실행명령
    • \ : exec의 종료지점
    • {} : find로 찾은 대상이 담기는 공간

    find . -name “*.txt” : 현재폴더에서 txt파일 이름 조회

    find . -name “*.txt” | xargs grep -rni “hello” : 찾은 txt파일에서 hello문구를 찾는것 (같이 쓰면 더 빠름)

    xargs는 입력받은 파일을 한줄씩 읽는 것을 의미

    |(파이프라인)을 통해 그 다음 명령어로 전달

    → 앞에 find먼저 수행 후 grep 수행

    ⇒ grep을 exec {} \ 를 이용해서 바꾸기

    find . -name “*.txt” -exec grep -rni “hello” {} \;

    find . -name “*.txt” -exec echo {} \; // 역슬래쉬(\)가 있는 경우 세미콜론(;)으로 마무리

    find로 찾은 파일에 대해 echo명령어 실행

    find . -name “*.txt” -exec cp -r {} testFolder \; :find로 찾은 파일을 testFolder에 복사

    • 실습3
      • find와 grep을 사용하여 현재 폴더에서 txt로 끝나는 파일에서 hello 문자열 검색하여 어떤 파일의 몇번째 line에 해당 문자열이 있는지 결과 저장
      • 결과가 저장된 파일을 cat을 이용하여 출력

Uploaded by N2T

728x90
반응형