ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 리눅스 터미널 커맨드 간단히 둘러보기
    Linux🐧 2022. 11. 23. 00:24

    출처 : https://www.freecodecamp.org/news/the-linux-commands-handbook/#the-linux-gzip-command

     

    whoami

    현재 터미널 세션에 로그인되어 있는 사용자의 이름을 출력

    whoami

     

    man

    커멘드의 매뉴얼을 출력

    man 커멘드

    ※ 메뉴얼에서 나올때는 'q'

     

    clear

    터미널에 떠있는 이전 컨멘드들을 모두 삭제

    clear

     

    pwd

    현재 있는 폴더 경로 위치를 출력

    pwd

     

    ls

    현재 위치한 경로상에 있는 모든 컨텐츠 목록을 출력

    ls
    • 폴더에 있는 컨텐츠 목록 출력
    ls foldername
    • ' / ' 뒤에 원하는 폴더 이름을 연달아 입력하면 해당 경로에 있는 컨텐츠 목록을 출력
    ls foldername/folder1/folder2
    • -l 폴더에 존재하는 컨텐츠들의 상세 정보 출력
    ls -l
    • -a : 숨겨진 컨텐츠도 표시
    ls -a

     

    cd

    지정한 폴더로 이동 (전체 경로 입력시 해당 폴더로 이동)

    cd foldername
    • 시작 지점으로 복귀
    cd
    • 부모 폴더로 이동
    cd ..

     

    /

    • 루트 폴더로 이동
    /

     ~

    • 사용자 폴더로 이동
    ~

     

    mkdir

    현재 경로상 새로운 폴더를 생성

    mkdir 생성할폴더이름
    • 여러 폴더도 가능 
    mkdir 만들폴더1 만들폴더2
    • 지정한 폴더안에 새로운 폴더를 생성
    mkdir 지정폴더/만들폴더
    • 폴더를 만들 위치를 지정하는 경로중 필요한 폴더가 없을 경우 같이 만듬
    mkdir -p 폴더1/폴더2/없는폴더/새로만들폴더

     

    touch

    파일의 접근,수정 시간을 현재 시간으로 변경

    파일이 없을 시 현재 경로상에 새로운 파일을 생성 (확장자 지정 가능)

    touch 파일이름

     

    rmdir

    지정한 폴더를 삭제 (삭제할 폴더는 비어있어야됨)

    rmdir 지정폴더
    • 여러개의 폴더도 삭제 가능
    rmdir 삭제할폴더1 삭제할폴더2

     

    rm

    지정한 파일을 삭제

    rm 삭제할파일
    • 커멘드 -v : 커멘드에 대한 피드백 출력
    rm -v 삭제파일 
    
    removed '삭제파일'
    • rm -r 지정폴더 : 해당 폴더 하위에 있는 모든 컨텐츠를 삭제 (recursive)
    rm -r 폴더이름
    • rm -ri 지정폴더 : 폴더의 컨텐츠를 재귀적으로 삭제할 때 각 컨텐츠마다 삭제 여부를 한번씩 물어봄 (recurisive + interactive)
    rm -ri 지정폴더

     

    open

    지정한 폴더 또는 파일을 GUI에 연다.

    open 열컨텐츠
    • 현재경로를 화면에 띄우기 
    open .

     

    mv

    컨텐츠 이름이나 위치를 변경할수 있다.

    • 파일이름 변경
    mv 원래이름 바꿀이름
    • 위치 변경
    mv 옮길컨텐츠 옮길위치
    • 부모 폴더로 위치 변경 
    mv 옮길컨텐츠 ..

     

    cp

    현재 경로에 지정한 파일을 복사한다.

    cp 복사할파일 복사본이름
    • 지정한 폴더의 하위 컨텐츠까지 모두 복사한다. (recursive)
    head 지정파일 -n 100
    cp -r 복사할폴더 복사본이름

     

    head

    지정한 파일의 앞부분을 읽는다. 

    head 지정파일
    • 지정한 숫자만큼 라인을 읽는다. 
    head 지정파일 -n 100

     

    tail 

    지정한 파일의 뒷부분을 읽는다. 

    tail 지정파일

     

    date

    현재 시간을 출력

    date

     

    터미널 커멘드 출력 결과를 파일에 덮어씀

    ls -l > fileList.txt
    date > Today.txt

    >>

    터미널 커멘드 출력 결과를 파일에 덧붙임

    data >> Today.txt

     

    cat

    • 파일의 전체 내용 출력
    cat 파일이름
    • 여러 파일 내용 출력
    cat 파일1 파일2
    • 여러 파일을 하나의 새로운 파일로 병합
    cat 파일1 파일2 병합파일이름
    • 내용의 각 줄에 넘버링
    cat -n 파일이름

     

    less

    터미널을 읽기 모드로 바꾸어 파일을 편하게 볼 수 있음

    less 파일이름
    • less 모드에서 /찾을키워드 사용시 원하는 키워드를 찾을 수 있음
    /찾을내용
    • g: 시작위치로 이동 /G: 마지막 위치로 이동 /스페이스바: 한장씩 내림

     

    echo

    입력한 내용을 출력

    echo 출력할내용
    • 지정한 파일에 입력한 내용을 쓰기 (간단한 내용을 빠르게 쓸때 사용)
    echo "입력할내용" > 파일
    • * : 특정확장자 파일만 출력하기 
    echo *.확장자
    • P* : P 들어간 파일 모두 출력하기
    echo P*
    • ? : ? 개수와 일치하는 파일명 출력 (확장자가 2글자인 파일만 출력)
    echo *.??
    • { } : { }의 요소들과 나머지 부분의 결합을 출력
    echo {a,b,c}.txt
    
    a.txt b.txt c.txt
    echo app.{txt,js,py}
    
    app.txt app.js app.py
    • 1부터 99까지 출력
    echo {1..99}
    • 1년치에 해당하는 텍스트 파일 만들기
    touch {1..365}.txt

     

    wc

    파일의 라인수, 단어수, 바이트를 출력

    wc 파일이름
    
    라인수, 단어수, 바이트수 파일이름

     

     

    Piping |

    하나의 커맨드의 출력을 다른 커맨드의 입력으로 함

    • 파일의 리스트 세부내용 출력을 wc가 입력으로 받아 파일의 라인수, 단어수, 바이트수를 출력해준다. 
    ls -l | wc
    • 두 파일의 연속된 출력을 wc가 입력으로 받아 파일들의 라인수, 단어수, 바이트수를 출력
    cat 파일1 파일2 | wc
    • 두 파일의 출력을 wc가 입력으로 받아 각 개수를 세고 결과를 다른 파일에 쓰기
    cat 파일1 파일2 | wc > 파일3

     

    sort

    파일의 내용을 정렬해서 출력해줌 (파일 내부적으로 정렬하지는 않음)

    sort 파일이름
    • -r : 역정렬
    sort -r 파일이름
    • -u : 파일내용중 중복되지 않는 내용들만 정렬(SET)
    sort -u 파일이름
    • 정렬한 내용을 새로운 파일을 만들어 쓰기
    sort 파일이름 > 파일이름
    • 여러파일 내용 정렬하기
    cat 파일1 파일2 | sort

     

    uniq

    연속된 중복요소를 제거해서 출력해줌

    uniq 파일이름
    • 보통 sort와 결합해서 사용 
    sort 파일이름 | uniq
    • -d : 중복이 있는 요소만 출력
    sort 파일이름 | uniq -d
    • -u : 중복이 없는 요소만 출력
    sort 파일이름 | uniq -u
    • -c : 각 요소와 요소의 개수을 출력
    sort 파일이름 | uniq -c
    • 파일을 중복되는 요소로 청킹 -> 요소 요소개수출력 -> 요소 개수를 기준으로 정렬
    sort 파일이름 | uniq -c | sort -n

     

    diff

    두파일을 비교하여 다른 요소가 있을 시 출력

    diff 파일1 파일2

     

    find

    • 현재 폴더부터 모든 하위 컨텐츠를 찾는다. 
    find .
    • 현재 폴더부터 이름에 '이글자'랑 매칭되는 컨텐츠를 찾는다.
    find . -name '이글자'
    • 현재 폴더부터 이름에 '원하는글자'가 들어가는 컨텐츠를 찾는다.
    find . -name '*원하는글자*'
    • 현재 폴더부터 지정한 컨텐츠 유형을 모두 찾는다.
      • 디렉토리 찾기
      • 파일 찾기
    find . -type d
    find . -type f
    • 지정한 타입과 이름으로 컨텐츠 찾기
    find . -type d -name '*.py'
    • 특정 용량이상인 파일 찾기
    find . -type f -size +100k
    • 1일 안에 수정된 파일 찾기
    find . -type f -mtime -1

     

    grep

    • 특정단어가 들어간 라인 찾기
    grep 찾을단어 파일이름
    • 라인넘버까지 출력
    grep -n 찾을단어 파일이름
    • 현재 경로부터 파일내용에 찾을단어가 있는 부분 모두 출력
    grep -r "찾을단어" .

     

    du

    각 폴더 및 파일 용량 보기

    du 컨텐츠이름
    • MegaBytes 단위로 보기
    du -m 컨텐츠이름
    • GigaBytes 단위로 보기
    du -g 컨텐츠이름
    • 단위 표시
    du -h 컨텐츠이름
    • 파일목록을 용량 크기대로 나열한뒤 제일 큰 10개 컨텐츠 출력하기
    du -h | sort -h | tail

     

    df

    파일시스템 확인하기 (배정된 용량, 사용량, 사용가능량 등)

    df

     

    history

    커멘드 사용기록을 출력

    history
    • 사용기록 라인을 찾아서 커맨드 사용하기
    history | less
    !사용할 커맨드 넘버
    • 사용기록에서 원하는 키워드가 들어간 커맨드 기록 찾기 
    history | grep '키워드'

     

    ps

    현재 세션에서 작동중인 프로세스 목록을 출력

    ps
    • 모든 프로세스 출력
    ps ax
    • 모든 프로세스 출력(축약)
    ps axww
    • 특정 프로세스 찾기
    ps axww | grep "키워드"

     

    top

    현재 작동중인 프로세스 cpu 사용량 및 정보 보기

    top
    • 메모리 사용량 순으로 보기
    top -o mem

     

    kill

    프로세스에 여러 종류의 신호를 보냄

    • kill 신호종류 확인하기
    kill -l
    • 프로세스 종료하기(기본 종료)
    kill 프로세스id
    • 프로세스 강제종료하기 
    kill -9 프로세스id

     

    killall

    파일명에 키워드가 있는 프로세스 모두 종료

    killall 키워드

     

    ※ ctrl + c : 커맨드 종료, ctrl + z : 커맨드 중지

     

    백그라운드에서 커맨드 실행

    커맨드 &

     

    jobs

    현재 실행중인 커맨드 목록을 출력

    jobs

    fg

    잡 목록 중 커맨드를 선택해서 Foreground에서 실행 

    fg 커맨드

    bg

    잡 목록중 커맨드를 선택해서 Background에서 실행

    bg 커맨드

     

    gzip

    파일 압축

    gzip 파일이름
    • 원래파일은 유지하면서 압축본 만들기
    gzip -c 파일이름 > 압축된파일이름.gz
    • 압축 풀기
    gzip -xc 압축된파일이름.gz

     

    tar

    파일 묶기

    tar -cf 묶음이름.tar 파일1 파일2
    • 현재 폴더에 묶음 풀기
    tar -xf 묶음이름.tar

     

    alias

    커맨드 축약어보기

    alias
    • 커맨드 축약어 등록하기 (현재 세션에만 유지)
    alias 축약어 = '커맨드'
    • git 커맨드 축약어 등록하기
    git config --global alias.st status

    xargs

    한 커맨드의 출력을 다른 커맨드의 인자로 넘기기

    • 파일내용에 들어있는 파일 목록 삭제하기
    cat 파일이름 | xargs rm
    • 일정 크기이상 파일을 long formant으로 리스트하기
    find . -size +1M | xargs ls -lh

     

    ln 

    파일이 다른 파일을 참조하도록 하기

    • 하드링크 (메모리 참조) : 참조하는 파일이 삭제되도(메모리 링크가 끓겨도) 메모리를 참조하여 새로운 파일은 내용이 유지
    ln 참조할파일 새로운파일
    • 소프트링크(파일 참조) :  참조하는 파일이 삭제되면 새로운 파일 또한 참조가 끓김 
    ln -s 참조할파일 새로운파일

    ★ 내용 출처 동영상


     

    댓글

Designed by Tistory.