본문 바로가기

IT

간단한 리눅스 명령어 알아보기

728x90

리눅스 명령어 알아보기


ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ


시스템 호출과 지원


-사용자 프로세스가 사용할 수 있는 커널의 몇 가지 특징

시스템 콜 : 사용자 프로세스 단독으로는 잘 할 수 없거나 전혀 할 수 없는 특정한 작업 수행


Fork() : 프로세스가 fork()호출 할 때 커널은 프로세스와 거의 일치하는 복사본을 만들어냄.


exec() : 프로세스가 exec(program)을 호출할 때 커널은 program을 시작하여 현재 프로세스를 

대신함.


ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 



기본 명령어


ls: 디렉터리와 파일의 정보를 출력

 -l: 상세목록

-F: 파일 타입의 정보


cp: 파일을 복사


mv: 파일의 이름을 변경

$ mv file1 file2   -> file1file2로 변경


rm: 파일 삭제 (삭제 시 시스템에서 사라짐. 복구 불가)

$rm file


echo: 표준 출력으로 인수들을 출력

      $echo hello world  -> hello world 출력


 ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ




디렉터리 탐색어


cd: 셸의 현재 작업 중인 디렉터리를 변경

      $cd dir   -> dir로 변경

      $cd    ->맨 처음 로그인 했을 때 시작했던 디렉터리로 되돌아감


mkdir: 새로운 디렉터리를 생성

      $mkdir di  -> di라는 새로운 디렉터리를 생성


rmdir: 디렉터리 삭제

     $rmdir di  ->di라는 디렉터리 삭제


ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ




중급 명령어


grep: 표현과 일치하는 파일이나, 입력 스트림 라인들을 출력

     $grep root/etc/passwd  -> /etc/passwd 파일 안의 라인들을 출력

 grep은 일치하는 라인 외에 파일 이름도 출력해주기 때문에 한꺼번에 어려 개 파일에 적용할 때 편리

 -i: /소문자 구별 x

 -v: 일치하지 않는 모든 라인들을 출력


less: 파일이 너무 크거나 명령에 대한 출력 내용이 너무 길어 화면 위로 넘어가는 경우에 편리하게 사용

less는 내부에서 텍스트 검색 가능 순방향 검색: /word

                               역방향 검색: ?word

     $grep ie/usr/share/dict/words | less


pwd: 현재 작업 중인 디렉터리의 이름을 출력

 

diff: 두 텍스트 파일들 간의 차이점을 알고 싶을 때 사용

     $diff file1 file2


file: 포맷을 잘 모르는 파일을 보았을 때 시스템 추측하는 기능

     $file file


find: 주어진 파일명과 동일한 파일을 찾고 그 경로를 출력

     $find /-name file -print : 최상위 루트 디렉터리부터 검색

     $find dir. -name file -print  : 현재의 작업 디렉터리에서 검색


locate: 시스템이 주기적으로 구축하는 index를 찾음

     find보다 빠름

     만약 찾는 파일이 index보다 더 최근 것일 경우 locate검색 불가

 

head: 파일 처음 10개의 내용을 볼 때 사용

     $head /etc/passwd  -> 패스워드 파일의 처음 10줄을 보여줌


tail: 파일 마지막 10개의 내용을 볼 때 사용

     $tail /etc/passwd  -> 마지막 10 줄을 보여줌


sort: 텍스트 파일의 라인들을 글자와 숫자의 순서에 따라 빠르게 정렬시킴

  -n: 순서대로 정리

  -r: 역순으로 정리


    ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ




환경 변수와 셸 변수


$STUFF=blah  -> STUFF라는 이름의 변수 값을 blah로 설정 이 변수에 접근하기 위해 $STUFF사용

 

$STUFF blah

$export STUFF  ->$STUFF 셸 변수를 환경 변수로 만들 때


ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ




명령줄 편집

C = ctrl

c-B: 커서 왼쪽으로 이동

c-F: 커서 오른쪽으로 이동

c-P: 이전 명령보기(커서 위로 이동)

c-N: 다음 명령보기(커서 아래로 이동)

c-A: 커서를 라인의 맨 앞으로 이동

c-E: 커서를 라인의 맨 뒤로 이동

c-W: 이전 단어 삭제

c-U: 커서로부터 라인의 시작 쪽으로 삭제

c-K: 커서로부터 라인의 끝 쪽으로 삭제

c-Y: 삭제한 텍스트 붙이기 (ex. C-U에서 삭제 시킨 텍스트)

 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ




온라인 도움말


man: 매뉴얼 페이지를 보고 싶을 때

     $man ls  -> ls 명령에 대한 매뉴얼 페이지를 볼 때

     $man -k keyword  -> 키워드로 매뉴얼 페이지를 검색 하려면 -k옵션 사용

     

     $man -k sort

     comm(1): 정렬된 두 개의 파일을 라인별로 비교

     qsort(3): 배열을 정렬

 sort(1): 텍스트 파일의 라인들을 정렬

 sortm(1): 메시지들을 정렬

 tsort(1): 위상학적 정렬을 실행


$info command: info 매뉴얼에 접근 할 때


ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ




셸 입력과 출력

$command > file  -> command의 출력을 터미널 대신 파일로 보낼 때 >(리디렉션 문자) 사용

     

     If 파일 존재하지 않을 시 새 파일을 생성

     Elif 기존 파일 존재  시 셸은 기존의 파일을 지움


$command >>file  -> 관련된 명령들을 잇달아 실행할 때 출력을 한 곳으로 모을 수 있음

 

표준 입력 리다이렉션

$head < /proc/cpuinfo  -> 파일을 프로그램의 표준 입력으로 보내려면 <연산자 사용