• ps -aux : 현재 열려있는 작업과 PID를 볼 수 있다.
  • ps -ef | grep [app_name] : 실행되고 있는 앱의 상태를 볼 수 있다.
  • p kill -f node : 모든 노드를 죽인다.
  • kill -9 [pid] : pid값을 지닌 작업을 죽인다.
  • pkill [service_name ]: service명을 지닌 작업을 죽인다.
  • netstat -tnlp : 열려있는 모든 포트를 본다
  • lsof -i TCP:[포트번호] : 특정 포트에서 사용하는 프로그램 확인
  • fuser -k -n tcp [포트번호] : 특정 포트를 사용하는 프로그램 죽이기
  • mkdir [폴더명] : 폴더만들기
  • rm [파일명] : 파일 삭제
    • rm -Rf : 디렉토리 하에 있는 파일 디렉토리도 모두 삭제
  • rmdir [디렉토리명] : 디렉토리삭제
  • fuser -n tcp -k [포트번호]: 특정 포트의 프로세스 킬
  • find / -name [찾는 키워드]: 키워드에 매치하는 파일 디렉토리를 찾아줌
  • histroy | grep [찾는 키워드]: 내가 입력한 cmd 중 매치하는 것을 찾아줌
  • yum list installed | grep [소프트명] : yum으로 인스톨한 소프트를 찾아준다
  • service --status-all | grep [키워드] : 실행중인 서비스를 보여준다
  • wget
  • ckconfig
  • which
  • top : 현재 컴퓨터의 메모리 cpu등의 상태를 보여준다.
  • ssh –i CRT11-KeyPair ec2-user@10.11.12.132 : 리눅스에서 리눅스로 ssh가능
  • nslookup crt11.chmjmoqphaii.ap-northeast-1.rds.amazonaws.com : 이후에 적힌 엔드포인트의 프라이뱃 아이피 주소를 반환한다.
  • fuser 8080/tcp:포트가 쓰이는지 확인
  • fuser -k 8080/tcp : 포트 사용하고 있는 태스크 중지
  • sudo lsof -i -P -n | grep LISTEN : listen 중인 모든 포트 나타냄
  • alternatives --set python /usr/bin/python3.5 : 환경변수로 등록된 기존의 python2버전을 python3으로 바꿔줌(https://stackoverflow.com/questions/45220230/make-python3-5-as-default-in-aws)
  • ls -a : 숨겨진 . 파일까지 모두 보기 가능
  • sudo netstat -ltnp : 사용되는 모든 포트 보기
  • cp [옵션] [원본] [사본](sudo cp pki/ca.crt /etc/openvpn/) : 원본의 위치를 사본으로 복사해준다.
    • a: 원본 파일의 속성, 링크 정보들을 그대로 유지하면서 복사한다.
      • b: 복사할 대상이 이미 있을 경우 기존 파일을 백업하고 복사한다.
      • d: 만약 복사할 원본이 심볼릭 링크일 때 심볼릭 자체를 복사한다.
      • f: 만약 복사할 대상이 이미 있으면 강제로 지우고 복사한다.
      • i: 만약 복사할 대상이 이미 있으면 사용자에게 물어본다.
      • l: 하드링크 형식으로 복사한다.
      • P: 원본 파일 지정을 경로와 같이했을 경우 그 경로 그대로 복사된다.
      • p: 파일의 소유자, 그룹, 권한, 시간 정보들이 그대로 보존되어 복사된다.
      • r: 원본이 파일이면 그냥 복사되고 디렉터리라면 디렉터리 전체가 복사된다.
      • s: 파일을 심볼릭 링크 형식으로 복사한다. 원본 파일이름을 절대 경로로 지정해야 한다.
      • u: 복사할 대상이 있을 때 이 파일의 변경 날짜가 같거나 더 최근의 것이면 복사하지 않는다.
      • v: 복사 상태를 보여준다.
      • x: 원본과 대상 파일의 파일시스템이 다를 경우에는 복사하지 않는다.
      • R: 디렉터리를 복사할 경우 그 안에 포함된 모든 하위경로와 파일들을 모두 복사한다.
  • vi

    • vi command

      • vi file : file을 연다
      • vi file1 file2 : file1 과 file2 를 차례로 연다
      • view file : file을 읽기 모드로 연다
      • vi -R file : file을 읽기 모드로 연다
      • vi + file : file을 열때 커서가 file 본문의 마지막 행에 위치한다.
      • vi +n file : file을 열어 n행에 위치한다.
      • vi -r file : 손상된파일 회복
    • 입력모드 전환 명령어

      • i : 커서 있는데서 입력모드 전환
      • l : 커서 왼쪽, 행의 처음에 몬자 삽입
      • a : 커서 있는 줄 끝에서 입력모드 전환
      • A : 커서 오른쪽, 행의 끝에 문자 삽입
      • o : 커서 있는 줄 아래에 빈 줄 삽입
      • O : 커서 있는 줄 위에 빈 줄을 삽입
      • R :덮어쓰기 모드로 전환
    • 커서이동

      • ^, 0 ​:줄의 처음으로 이동
        • $ : 줄의 끝으로 이동
        • H : 화면 맨 위로 이동
        • M : 화면의 중간으로 이동
        • L : 화면 맨 아래로 이동
        • w : 다음 단어 끝으로 커서 이동
        • e : 다음 단어 앞으로 커서 이동
        • b : 이전 단어로 이동
        • shift + ↑: 한 페이지 앞으로 이동
        • shift + ↓:한 페이지 뒤로 이동
        • 3l , 3G : 현재 커서 위치한 행에서 3번째 행으로 이동
        • Ctrl + i : 한 화면 위로 이동
        • Ctrl + b : 한 화면 아래로 이동
        • Ctrl + d : 반 화면 위로 이동
        • Ctrl + u : 반 화면 아래로 이동
        • Ctrl + e : 한 줄씩 위로 이동
        • Ctrl + y : 한 줄씩 아래로 이동
    • 삭제

      • x 한 문자 삭제
      • 5x 커서가 있는 위치부터 5개의 문자를 삭제
      • d + ↑ 커서있는 줄, 윗줄 2줄 삭제
      • d + ↓ 커서잇는 줄, 아래줄 2줄 삭제
      • dw 한 단어 삭제
      • dd 한 줄 삭제
      • 5dd 커서가 있는 라인부터 5개의 라인 삭제
      • db 커서의 위치에서 거꾸로 한 단어 삭제
      • D 한줄 내에서 커서있는 뒤 모두 삭제
      • u 바로 전에 수행한 명령을 취소
      • :5,10d 5~10번째 행 삭제
    • 복사와 붙여넣기

      • yy 현재 줄을 버퍼로 복사
      • p 버퍼에 있는 내용을 커서 뒤에 삽입
      • P 버퍼에 있는 내용을 커서 앞에 삽입
      • 3y 현재 줄에서부터 아래로 3줄 복사
      • :5, 10y 5~10줄을 버퍼로 복사
      • :30pu 30행에 버퍼 내용을 삽입
      • d 현재 커서가 위치해 있는 단어 복사
      • 3yy 현재 행을 기준으로 3번째 행까지 n행 복사
    • 문자열찾기

      • /name name 문자열 찾기
      • n 다음 name으로 이동
      • N n과 같으며 역방향으로 이동
    • 문자열대체

      • :s/str/rep 현재 행의 str을 rep로 대체
      • :l,.s/str/rep/ 1부터 현재 행의 str을 rep로 대체
      • :%s/str/rep/g 파일 전체 str을 rep로 전부 대체
      • :.$/aaa/bbb 커서의 위치로부터 파일의 끝까지 있는 모든 aaa를 bbb로 대체
    • 파일저장 및 불러오기

      • :w 지정된 파일에 저장
      • :wq, :x, ZZ 지정된 파일에 저장하고 vi를 종료
      • :w php.ini php.ini 파일에 저장
      • :q 저장하지 않고 종료
      • :q! 저장하지 않고 강제 종료
      • :wq php.ini php.ini에 저장하고 vi를 종료
      • :r php.ini php.ini의 내용을 현재 커서가 있는데로 불러온다.
      • :e php.ini 현재의 화면을 지우고 새로운 파일 php.ini를 불러온다.
      • :5,10 w php.ini 5~10 줄까지의 내용을 php.ini에 저장
  • 기타
    • :set nu 행 번호 보여주기
    • :set nonu 행 번호 보여주기 취소
    • :. 바로 전에 실행한 명령어 재 실행
    • Ctrl + l 불필요한 화면 정리후 다시 표시

・tail명령어
1.TAIL 기능
파일의 마지막 부분을 출력한다.

  1. 문법
    tail [option] ... [file] ...
    기본 출력은 파일의 마지막 10줄을 보여준다.

  2. 옵션
    옵션

동작

tail -f

파일의 마지막 10라인을 실시간으로 계속해서 출력

tail -F

파일 변동 시 실시간으로 보여주되 로그파일처럼 특정 시간이 지난 후 파일이 변하게 되면 새로운 파일을 오픈하여 보여줌
(다시 명령을 실행할 필요가 없음)
tail -n

n 만큼의 라인을 출력

tail -n+n

불필요한 화면 정리후 다시 표시

・df명령어

옵션

동작

df -h

h 옵션으로 1k 블록단위에서 우리가 쉽게 볼 수 있도록 K, M, G, T 단위값으로 출력된다.

총 용량과 사용량등 쉽게 파악이 가능해 진다.

df -Th

각 파일 시스템의 유형을 파악가능하다(Type 탭). 단돈으론 잘 사용하지 않으며 h옵션과의

콜라보가 매우 뛰어나, 가장 많이 사용되는 옵션이다.

사이즈 사용된 메모리 등이 출력된다.

・du명령어

옵션

동작

du

1k블록단위로 사용 용량.

그리고 하위 디렉토리를 볼 수 있다.

여담으로 디스크의 최소단위가 4k이기 때문에 디렉토리중 용량이 4k인것은 빈 디렉토리일 확율이 크다.

df -h

k단위로 보기좋게 보여준다

・tar명령어

  1. tar로 압축하기 : tar -cvf [파일명.tar] [폴더명]

ex) abc라는 폴더를 aaa.tar로 압축하고자 한다면

 > tar -cvf aaa.tar abc
  1. tar 압축 풀기: tar -xvf [파일명.tar]

ex) aaa.tar라는 tar파일 압축을 풀고자 한다면

 > tar -xvf aaa.tar
  1. tar.gz로 압축하기 : tar -zcvf [파일명.tar.gz] [폴더명]

ex) abc라는 폴더를 aaa.tar.gz로 압축하고자 한다면

 > tar -zcvf aaa.tar.gz abc
  1. tar.gz 압축 풀기 : tar -zxvf [파일명.tar.gz]

ex) aaa.tar.gz라는 tar.gz파일 압축을 풀고자 한다면

 > tar -zxvf aaa.tar.gz

・ln명령어
ln은 Link 의 약어로서 리눅스 파일시스템에서 링크파일을 만드는 명령어이다. 리눅스에서는 심볼릭링크와 하드링크의 두가지 링크 파일이 존재한다.

심볼릭링크 (Symbolic Link)
단순히 원본파일을 가리키도록 링크만 시켜둔 것으로 MS의 윈도우시스템에서 흔히 사용하는 '바로가기' 같은 것이며, 원본파일을 가리키고만 있으므로 원본파일의 크기와는 무관한다. 그리고 심볼릭링크에서는 원본파일이 삭제되어 존재하지 않을 경우에 링크파일은 깜박거리면서 링크파일의 원본파일이 없다는 것을 알려준다.

하드링크 (Hard Link)
원본파일과 다른 이름으로 존재하는 동일한 파일이며 원본파일과 동일한 내용의 다른 파일이라고 할 수 있다. 그리고 하드링크에서는 원본파일과 링크파일 두개가 서로 다른 파일이기 때문에 둘 중 하나를 삭제하더라도 나머지 하나는 그대로 남아 있다. 또한 하드링크에서는 원본파일의 내용이 변경될 경우에는 링크파일의 내용 또한 자동으로 변경된다.

사용법 : ln [옵션] 원본파일 대상파일(대상디렉토리)

하드링크 파일 생성

BASH
ln hard_source hard_link
심볼릭 링크 디렉토리 생성

BASH
ln -s /tmp /var/tmp
[옵션]

--backup[=CONTROL] : 대상파일이 이미 존재할 경우에 백업파일을 만든 후에 링크파일 생성
-b : 링크파일 생성시에 대상파일이 이미 존재하면 백업파일을 만든 후에 링크파일을 생성
-d : 디렉토리에 대한 하드링크파일생성을 가능하게 함. 단 root 권한으로 수행하더라도 시스템의 권한제한으로 인하여 실패할 가능성이 높음. (-F 와 --directory 는 -d 와 동일함)
-f : 대상파일이 존재할 경우에 대상파일을 지우고 링크파일을 생성
-i : 대상파일이 존재할 경우에 대상파일을 지울것인가를 확인요청 (--interactive 와 동일)
-s : 심볼릭 링크파일을 생성
-S : 백업파일 생성시에 원하는 접미사(suffix)를 지정할 수 있음
-t, --target-directory=DIRECTORY : 링크파일을 생성할 디렉토리를 지정

출처: http://webdir.tistory.com/148 [WEBDIR]

+ Recent posts