기타/미분류

리눅스 기본명령어 이해하기

cd

  • 기 능 작업 디렉토리를 변경한다.
  • 문 법 cd <directory>

<Directory>는 바꾸려고 하는 디렉토리이다. 디렉토리를 따로 입력하지 않으면, login한 디렉토리($HOME 또는 ‘~’로 표시됨)로 이동한다. "."은 현재 디렉토리이며, ".."은 상위 디렉토리이다.

      cd ../foo

현재 디렉토리를 상위 디렉토리에 있는 ‘foo’라는 디렉토리로 바꾼다.

ls [abcdefgiklmnpqrstuxABCFGLNQRSUX178]

  • 기 능 DOS의 'dir'과 유사한 명령으로 파일명, 디렉토리명 등을 출력시키며 옵션에 따라 다양한 정보와 함께 출력된다.
  • 문 법 ls <file1> <file2> …<fileN>

<file1>부터 <fileN>까지의 파일명이나 디렉토리명을 출력시킨다.

옵 션

-a  디렉토리 내의 모든 파일 출력한다.
-i  파일의 inode와 함께 출력한다.
-l  파일 허용 여부, 소유자, 그룹, 크기, 날짜 등을 출력한다.
-m  파일을 쉼표로 구분하여 가로로 출력한다.
-r  정렬 옵션이 선택되었을 때, 그 역순으로 출력한다.
-s  KB 단위의 파일 크기를 출력한다.
-t  최근에 생성된 파일순으로 출력한다.
-x  파일 순서를 세로로 출력한다.
-F  파일의 형태와 함께 출력한다.
출력되는 파일의 형태는 ‘*’, ‘@’, ‘|’, ‘=’ 등이며, 이것은 각각 실행 파일, 심볼릭 링크, FIFO 소켓을 나타낸다.
-R  서브 디렉토리의 내용을 포함하여 출력한다.
-S  파일 크기가 큰 순서로 출력한다.
-U  정렬하여 출력한다.
-1  라인당 한 파일씩 출력한다.
--help  도움말을 출력한다.
--version ‘ls’의 파일 버전과 함께 출력한다.

사용예

  ls -lF /home/jspark

/home/jspark 디렉토리 내용을 파일 허용 여부, 소유자, 그룹등의 정보와 파일의 형태를 포함하여 출력시킨다. 이 명령은 DOS에서의 ‘dir’ 명령에 의한 출력과 유사하다.

cp [abdfilprsuvxPRSV]

  • 기 능 파일(들)을 다른 파일 이름으로 복사하거나 다른 디렉토리로 복사한다.
  • 문 법 cp <file1> <file2> …<fileN> <destination>

<file1>부터 <fileN>까지를 <destination>으로 복사한다. <destination>은 파일이나 디렉토리이다.

옵 션

-a  -dpR의 조합과 같다.
-b  덮어쓰거나 지울 때 백업 파일을 만든다.
-d  심볼릭 링크 파일 그대로 복사한다.
    (디폴트는 연결된 원래 파일을 복사함).
-f  같은 파일명을 갖는 파일이 있을 경우, 지운 후 복사한다.
-i  같은 파일명을 갖는 파일이 있을 경우, 사용자 확인후 복사한다.
-l  하드 링크를 만든다.
-p  원시 파일의 소유자, 그룹, 허용 여부, 시간 등을 그대로 복사한다.
-r  서브 디렉토리를 포함한 모든 파일 복사한다.
-s  심볼릭 링크를 만든다.
-u  복사할 파일이 구 버전일 경우만 복사한다.
-v  복사하기 전에 각각의 파일명을 출력한다.
-x  파일 시스템이 같을 경우만 복사한다.
-P  원시 파일이 존재하는 디렉토리까지 포함하여 복사한다.
-R  디렉토리를 포함하여 복사한다.
-S  환경 변수 SIMPLE_BACKUP_SUFFIX에 의해 지정된 백업 꼬리말로 백업 파일 생성한다.
    cp ../foo myfile

../foo 파일을 파일이나 디렉토리가 될 수 있는 myfile로 카피한다.

mv [bfiuv]

  • 기 능 파일(들)을 다른 파일이나 디렉토리로 이동시킨다. 이 명령은 복사와 같으나 원본이 지워진다. 따라서 파일의 이름을 바꿀때도 사용될 수 있다.
  • 문 법 mv <file1> <file2> …<fileN> <destination>

<file1>부터 <fileN>까지의 파일들을 이동시키며 <destination>은 그 목표 파일이나 디렉토리이다.

옵 션

-b  지워지기 전에 백업본을 만든다.
-f  옮겨질 디렉토리에 존재하는 파일이 있으면 덮어쓴다.
-i  옮겨질 디렉토리에 존재하는 파일이 있으면 확인한다.
-u  옮겨질 디렉토리에 구 버전의 파일이 있을 경우만 옮긴다.
-v  옮기기 전에 파일명을 출력한다.
   mv ../foo bar

../foo 파일을 파일이나 디렉토리인 bar로 이동시킨다.

rm [dfirvR]

  • 기 능 파일들을 지우는 명령이다. 주의할 것은 유닉스 하에서 파일들이 지워지면, 복구가 불가능하다.
  • 문 법 rm <file1> <file2> …<fileN>

<file1>부터 <fineN>까지의 파일들을 지운다.

옵 션

-d  ‘unlink' 디렉토리를 지운다. 
    수퍼 유저만 가능하며, 사용 후 fsck가 필요하다.
-f  존재하지 않은 파일일 경우에도 에러 메시지 출력을 하지 않는다.
-i  지우기 전에 확인한다.
-r  서브 디렉토리를 포함하여 지운다.
-v  지워지는 파일명을 출력한다.
-R  -r과 같다.
   rm -i /home/jspark/joe /home/jspark/frog

/jspark/larry의 joe와 frog를 지운다.

mkdir

  • 기 능 새로운 디렉토리를 만든다.
  • 문 법 mkdir <dir1> <dir2> …<dirN>

<dir1>부터 <dirN>까지의 디렉토리를 생성한다.

옵 션

-p 지정된 모든 서브 디렉토리까지 함께 생성한다.
-m mode  mode에 해당하는 사용 허가로 디렉토리를 생성한다.
   mkdir /home/jspark/temp

/home/jspark 아래의 temp 디렉토리를 생성한다.

rmdir [p]

  • 기 능 비어 있는 디렉토리를 지운다. rmdir을 사용할 때는 현재 디렉토리가 지워질 디렉토리 안에 포함되어 있으면 안된다.
  • 문 법 rmdir <dir1> <dir2> …<dirN>

<dir1>부터 <dirN>까지의 디렉토리를 지운다.

옵 션

  -p 지우고자 하는 디렉토리의 상위 디렉토리까지 포함하여 지운다.
    rmdir /home/jspark/temp

/home/jspark/temp가 비여 있으면, 지운다.

man [adfhkt]

  • 기 능 주어진 명령이나 자원들의 매뉴얼을 출력한다.
  • 문 법 man <command>

<command>의 명령이나 자원의 도움말을 보여 준다.

옵 션

-a  발견되는 모든 manual page를 출력
-d  디버깅 정보 출력
-f  whatis와 같음
-h  도움말 출력
-k  apropos와 같음
-t  groff(troff)를 사용하여 프린트를 위한 형식으로 출력
    man ls 

ls 명령어의 도움말을 보여 준다.

more

  • 기 능 주어진 파일의 내용을 한 화면씩 출력시킨다.
  • 문 법 more <file1> <file2> … <fileN>

<file1>부터 <fileN>까지의 파일을 출력시킨다.

유닉스상의 more는 DOS와는 달리 실행중에 몇가지 명령어가 제공되어 그 명령어를 이용하므로써 파일의 내용을 편리하게 볼 수 있다. 명령어는 아래와 같다.

h       도움말
SPACE, z    다음 페이지
RETURN  1 라인 스크롤
d, ^D       반 페이지 스크롤
q, Q        종료
f       다음 페이지
b, ^B       이전 페이지
/pattern    검색
%%=%%       현재 라인 출력
!<command>
:!<command> <command> 명령어 실행
^L      화면 다시 출력
:f      현재 파일명과 라인 출력
    more temp/readme

temp/readme 파일을 페이지 단위로 출력시킨다.

cat

  • 기 능 파일의 모든 내용을 한번에 출력시킨다.
  • 문 법 cat <file1> <file2> …<fileN>

<file1>부터 <fileN>의 파일을 출력시킨다.

  cat temp/readme

temp/readme 파일을 출력시킨다.

echo

  • 기 능 주어진 인자를 단순히 출력시킨다.
  • 문 법 echo <arg1> <arg2> …<argN>

<arg1>부터 <argN>까지의 인자를 출력시킨다.

      echo "Welcome to Linux world" 

"Welcome to Linux world"를 출력시킨다.

grep [CVbchilnsvwx]

  • 기 능 주어진 패턴을 포함하는 파일의 라인을 출력시킨다.
  • 문 법 grep <pattern> <file1> <file2> …<fileN>

<pattern>은 규칙이 주어진 표현이며 <file1>부터 <fileN>은 조사하기 위한 파일들이다.

옵 션

-C  일치하는 문장의 상하 두 라인까지 포함하여 출력한다.
-V  버전과 함께 출력한다.
-b  Byte 오프셋과 함께 출력한다.
-c  일치하는 라인의 갯수를 출력한다.
-h  파일명은 출력하지 않는다.
-i  대소문자 구분하지 않는다.
-l  일치하는 내용을 가지는 파일명만 출력한다.
-n  일치하는 내용을 가지는 라인 번호를 출력한다.
-s  에러 메시지만을 출력한다.
-v  일치하지 않는 내용을 출력한다.
-w  한 단어로 일치해야 출력한다.
-x  전체 라인이 일치해야 출력한다.
   grep linux /home/jspark/temp/readme

/home/jspark/temp/readme의 파일 중에 "linux" 패턴을 포함한 모든 라인을 출력시킨다.