목차
기타/미분류
리눅스 기본명령어 이해하기
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" 패턴을 포함한 모든 라인을 출력시킨다.