[Linux] Linux 명령어

손종일·2020년 8월 27일
1

터미널 명령어 Tip

  • contrl + a : 커서가 맨 앞으로 이동
  • contrl + e : 커서가 맨 뒤로 이동
  • command + k : 터미널 화면 reset

Linux 명령어

  • pwd : 현재 이동되어 있는 경로를 출력합니다. 만약 현재 /home/eun 디렉토리로 이동되어 있다면 pwd --> /home/eun이 출력됩니다.
  • cd / : cd 명령어는 "change directory"의 약자로 특정 디렉토리로 이동할 때 사용
    ex) bin 디렉토리로 가려고 하면 cd /home/eun/bin 으로 이동할 수 있다.
  • d ~``` : cd ~(tilda)를 사용해서 Home 디렉토리로 쉽게 이동할 수 있다.
    	ex) home 디렉토리의 하위 디렉토리인 bin으로 이동하고자 한다면 cd ~/bin
        으로 이동할 수 있다.
  • cd . or cd .. : 경로를 이야기 할 때, .은 현재 디렉토리를 의미하고 ..은 바로 전 디렉토리를 의미합니다.
  • open : 특정 파일을 열고 싶다면 open /home/eun/bin/testst.py 라고 실행하면 됩니다.
  • .bashrc or .zshrc : BASH는 .bashrc라는 설정파일을 사용하고 zsh는 .zshrc라는 설정 파일을 사용합니다. ls 명령어를 사용하면 .파일명 으로 되어 있는 파일이 보이지 않는데 hidden file이기 때문입니다. (dot file이라 부름) .파일을 보고 싶다면 ls -a (a 옵션) 명령어를 실행하면 dot file을 확인할 수 있습니다.
    현재 .zshrc라는 파일이 있는것을 확인할 수 있는데 이를 통해서 환경 변수를 설정할 수 있습니다.
  • echo $디렉토리 : 디렉토리의 환경변수 값을 출력합니다.
    여기서 환경변수란?
    shell의 어떠한 설정 값을 가지고 있는 변수를 뜻합니다. 이러한 환경 변수들은 shell이 돌아가는 동안 계속 존재하며 사용됩니다.

HOME : 유저의 home 디렉토리 경로를 지정한 환경 변수
USER : 유저의 아이디를 저장한 환경 변수
PATH : PATH 값을 저장한 환경 변수이며 명령어들을 찾을 수 있는 경로들을 저장 해놓은 환경 변수 입니다. (가장 중요)

  • whereis : 현재 디렉토리의 관계 없이whereis ls 를 입력하게되면 /bin/ls 가 출력됩니다. 그 이유는 바로 PATH 환경 변수 때문입니다. 명령어를 사용할때 만일 경로가 지정되지 않는다면 shell이 PATH 환경 변수에 저장되어 있는 경로들을 하나 하나 보면서 실행 하고자 하는 프로그램이 위치해 있는지 찾고 실행시킵니다.
    이렇게 PATH가 중요한 이유는, 새로운 package를 설치하거나 시스템을 설정하거나 할 때 PATH가 설정이 제대로 안되면 실행이 제대로 안되기 때문입니다.

PATH 설정 방법

  • export : export는 js의 var 키워드 처럼 변수를 선얼할 때 사용하는 키워드라고 생각하면 됩니다. PATH 변수의 값이 중요한데, 다음 처럼 값이 선언되어 있습니다.
    <PATH에 추가하고자 하는 경로>:$PATH
    즉, /home/enu/bin/anaconda3/bin 이라는 경로를 PATH에 추가하고 싶다면 다음 처럼 경로를 선언하고 : 그리고 PATH를선언하는것입니다.exportPATH="/home/eun/bin/anaconda3/bin:PATH를 선언하는 것 입니다. ```export PATH="/home/eun/bin/anaconda3/bin:PATH"```
  • whereis : 현재 디렉토리의 관계 없이whereis ls 를 입력하게되면 /bin/ls 가 출력됩니다. 그 이유는 바로 PATH 환경 변수 때문입니다. 명령어를 사용할때 만일 경로가 지정되지 않는다면 shell이 PATH 환경 변수에 저장되어 있는 경로들을 하나 하나 보면서 실행 하고자 하는 프로그램이 위치해 있는지 찾고 실행시킵니다.
    이렇게 PATH가 중요한 이유는, 새로운 package를 설치하거나 시스템을 설정하거나 할 때 PATH가 설정이 제대로 안되면 실행이 제대로 안되기 때문입니다.
  • mv : mv file1 file2 를 실행하게 되면 파일1의 이름을 파일2로 변경한다.
    또한, mv file1 dir1/ 을 실행하면 file1 을 dir1 디렉토리로 이동합니다.
    ex) mv file1 file2 dir1/ 로 하면 file1, 2를 dir1 디렉토리로 이동합니다.
  • cp : cp test test.bak test 파일을 test.bak으로 복사한다.
    cp -r /home /home2 home 디렉토리의 하위 디렉토리까지 home2 디렉토리로 복사
    cp -rp /home /home2 복사할때 파일의 소유자, 권한, 시간정보 등 그대로 복사
  • cat : cat file1 file1의 내용을 출력한다.
    cat file1 file2 : 여러 개의 파일을 전달하여 파일 내용을 연속해서 출력한다.
    cat -n file1 file2 : cat 명령의 n 옵션을 사용하면 행 번호를 표시한다.
  • less : less file1 file1의 내용을 스크롤 할 수 있도록 텍스트를 출력한다. (옵션 : page up, 방향키, ig, G 등)
  • tail : tail file1 file1의 마지막 10줄의 내용을 출력합니다.
  • nohup : nohup [실행 스크립트] & nohup은 리눅스 환경에서 쉘스크립트파일(*.sh)을 데몬형태로 실행시키는 프로그램이다. 터미널 세션이 끊겨도 실행을 멈추지 않고 동작한다.
    but, 종료하려면 "ps -ef|grep [실행 스크립트]" 를 사용하여 데몬형식으로 실행하거나, "kill -9 [PID번호]" 명령으로 해당 프로세스를 종료한다.
    주의할 점은! 현재 퍼미션이 755 이상 상태여야 한다.
  • rm : rm file1 file1 을 삭제한다.
    rm -f test : test 파일을 삭제할때 삭제 확인과정을 거치지 않는다.
    rm -r home/ : home 디렉토리를 삭제한다.
  • mkdir : mkdir dir1 dir1 디렉토리를 생성한다.
  • clear : 실행하면 터미날 창의 입력했었던 내용들이 전부 사라진다.
  • chown : chown [소유권자]:[그룹식별자][소유권변경하고자하는 파일명]
    chown aaa:bbb test.sh test파일의 소유권자를 aaa로 하고, 그룹식별자를 bbb로 변경한다.
  • chmod : chmod [옵션][권한을 부여하고자 하는 파일명]
    chown aaa:bbb test.sh 파일이나 디렉토리에 부여된 권한을 수정하는 명령어이다.
    (옵션 : r 읽기, x 실행, w 쓰기, u 사용자, a 전부 등)
  • grep : grep [옵션][패턴 파일명]
    grep 명령은 파일 내에서 지정한 패턴이나 문자열을 찾은 후, 그 패턴을 포함하고 있는 모든 행을 표준 출력 합니다.
  • history : history 명령어를 사용하면 전에 사용한 명령어를 순서대로 확인할 수 있습니다.
    history [숫자] 전에 명령했던 숫자 만큼의 명령을 확인합니다.
    (옵션 : r 읽기, x 실행, w 쓰기, u 사용자, a 전부 등)
  • ps : ps [옵션]
    ps 명령어는 현재 실행중인 프로세스의 목록을 출력합니다.
profile
Allday

0개의 댓글