• 리눅스 자주 사용하는 명령어 모음
    Linux 2023. 2. 27. 02:17
    반응형

    * 명령어 뒤에 --help를 입력하면 해당 명령어의 사용 방법과 옵션을 알 수 있음.

     

    원격 접속 (ssh)

    0. 설치가 안 되어 있다면 아래 명령어로 설치

    sudo apt install openssh-server

     

    1. 접속을 위해 방화벽 허용

    sudo ufw enable && sudo ufw allow 22/tcp

     

    2. 연결하고자 하는 pc의 id와 ip주소 확인 (ifconfig)

    3. 아래 명령어 참고하여 연결 시도 (-Y : yes)

    ssh -Y {아이디}@{ip 주소}
    e.g. ssh -Y candyz@19.94.7.28

     

    4. 비번 입력

    5. exit(or ctrl+c) 입력하여 연결 해제

     

    원격 파일 전송 (scp)

    cp와 비슷하게 사용 가능

    sudo scp {파일 이름} {아이디}@{ip 주소}:{옮길 디렉토리}
    e.g. sudo scp windy_day.txt candyz@19.94.7.28:/home/candyz/downloads

     

    파일을 저장하고자 하는 디렉토리(위에서는 /home/candyz/downloads)는 모든 사용자가 읽고 쓸 수 있는 권한을 가지고 있어야 함.

    권한 없을 경우 Permission denied 에러 발생하면서 실패함.

     

    이전 명령어 검색 (history)

    history | grep '{검색할 명령어}'

    e.g. history | grep 'cp'

      319  roslaunch practice_cpp test.launch
      394  gedit ../eye-tracking.cpp
      507  cp --help

    이전에 입력했던 명령어 중 cp가 포함된 명령어를 출력함

     

    grep 옵션

    -n : 줄번호 출력
    -r : 하위 항목 포함 검색
    -E {regexp} : 정규표현식 사용하여 검색
    -B {num} : 앞으로 num줄 더 출력 (Before)
    -A {num} : 뒤로 num줄 더 출력 (After)

     

    파일 압축 (zip/unzip)

    zip {압축할 파일 이름} {압축할 파일1} {압축할 파일2} …

    e.g. zip candyz.zip candy*

    현재 디렉터리에서 candy로 시작하는 모든 항목을 candyz.zip으로 압축함 (파일과 디렉터리 껍데기 포함)

     

    e.g. zip pics.zip *.png

    현재 디렉터리에서 png 확장자를 가진 모든 항목을 pics.zip으로 압축함

     

    단, 하위 항목까지 같이 복사하려면 recursive 옵션을 줘야 함 (빼고 할 경우 디렉터리 껍데기만 압축됨)

    e.g. zip -r candyz.zip candy*

    현재 디렉터리에서 candy로 시작하는 모든 항목을 candyz.zip으로 압축함 (파일과 디렉터리, 디렉터리 내 하위 항목까지 모두 포함)

     

    unzip {압축 해제할 파일 이름}

    e.g. unzip candyz.zip

    candyz.zip 파일을 현재 디렉터리에 압축 해제함.

     

    다른 위치에 풀고 싶을 경우 -d 옵션을 줘야 함.

    e.g. unzip candyz.zip -d ../garden

    candyz.zip 파일을 현재 디렉터리의 이전 디렉터리에 포함된 garden 디렉터리에 압축 해제함.

     

    파일 검색 (find)

    find {경로} {표현식}

    상당히 많은 표현식이 존재하지만.. 요즘 자주 쓰는 건 name, empty, delete, size 정도.

     

    e.g. find . -name 'candy*'

    현재 디렉터리에서 candy로 시작하는 이름을 가진 모든 항목을 찾음

     

    e.g. find . -name '.txt'

    현재 디렉터리에서 txt 확장자를 가진 모든 항목을 찾음

     

    e.g. find . -empty

    현재 디렉터리에서 사이즈가 0인 모든 항목을 찾음 (파일, 디렉터리 포함)

     

    e.g. find . -empty -delete

    현재 디렉터리에서 사이즈가 0인 모든 항목을 찾아서 삭제함

     

    e.g. find . -size +5k 

    현재 디렉터리에서 사이즈가 5kb보다 큰 항목을 모두 찾음.

     

    e.g. find . -size +5k -size -10k 

    현재 디렉터리에서 사이즈가 5kb보다 크고, 10kb보다 작은 항목을 모두 찾음.

     

    파일 복사 (cp)

    e.g. cp temp.txt candyz

    temp.txt 파일을 candyz 디렉터리 안으로 복사

     

    e.g. cp temp.txt candyz/temp2.txt

    temp.txt 파일을 candyz 디렉터리 안에 temp2.txt라는 이름으로 바꾸어 복사

     

    단, 하위 항목까지 같이 복사하려면 recursive 옵션을 줘야 함.

    e.g. cp -r candyz ./candyz2

    candyz 디렉터리에 포함된 하위 항목들을 현재 디렉터리 안에 candyz2라는 이름으로 바꾸어 통째로 복사

     

    파일 이동 (mv)

    cp와 마찬가지. mv는 recursive 옵션 안 줘도 하위 항목까지 같이 옮겨짐.

     

    파일 삭제 (rm)

    cp와 마찬가지. recursive 옵션 줘야 디렉터리 삭제 가능.

    e.g. rm -r candyz

     

    권한 관리 (chmod)

    chmod {대상} {연산자} {권한 종류}

    대상 : u(user), g(group), o(others), a(all)

    연산자 : +(추가), -(제거), =(지정)

    권한 종류 : r(read), w(write), e(execute)

     

    e.g. chmod +x nonstop.txt

    모든 사용자에 대해 nonstop.txt 실행 권한 부여

     

    e.g. chmod o-x nonstop.txt

    그 외 사용자에 대해 nonstop.txt 실행 권한 제거

     

    그 외

    pwd 현재 디렉터리 출력 (print working directory)

    clear 터미널 클리어

    cd {dir} 디렉터리 이동 (뒤에 아무것도 입력하지 않을 시 홈 디렉터리로 이동)

    mkdir {dir} 디렉터리 생성

    kill {pid} 프로세스 중지

    shutdown 종료

    reboot 재시작 (원격 접속일 경우 sudo reboot)

    ls 현재 디렉터리 내 파일 리스트 출력

     

    ls 옵션

    -l : 권한 포함 상세 정보

    -a : 숨김 파일 표시

    -h : K, M, G 단위로 사이즈 표시 (human-readable)

    -t : 시간순 출력

    -F : 파일 종류 구분 (/:디렉터리, @:심벌릭링크, *:실행파일, 그외:일반파일)

    반응형

    댓글

ABOUT ME

공부한 것을 기록하기 위해 블로그를 개설했습니다.

VISIT

/