피드 구독하기: 글 (Atom)

2007-01-11

리눅스 cp 명령어 사용법

1. 기능
파일을 현재의 위치나 다른 디렉토리로 복사(copy)한다.

2. 문법
# cp [ 옵션 ] 파일명1 파일명2
# cp [ 옵션 ] 파일명(들) 디렉토리

3. 옵션
-a : 가능한 한 원 파일의 구조와 속성을 그대로 복사한다.
-b : 복사할 때 덮어쓰게 되는 파일은 백업을 만든다.
-d : 심볼릭 링크는 심볼릭 링크로 복사한다. 그리고 원본 파일과의 하드 링크 관계를 유지한다.
-f : 복사 위치에 존재하는 파일을 제거하고 복사한다.
-i : 복사 시 같은 이름의 파일이 존재한다면 덮어쓸 것인가 확인한다.
-I : 하드 링크를 만든다.
-P : 원본 파일의 소유자, 그룹, 권한, 시간 기록을 그대로 복사한다.
-R , -r : 파일과 하위 디렉토리에 포함된 파일 모두를 복사한다.
-s : 디렉토리가 아닌 파일의 심볼릭 링크를 만든다. 소스 파일의 이름은 전체 경로 이름으로 한다. 목적지 파일 이름은 전체 경로를 주지 않아도 현재 디렉토리로 간주되므로 상관없다.
-u : 파일의 정보를 갱신한다.
-x : 다른 파일 시스템인 하위 디렉토리는 무시한다.

4. 사용방법 및 정보
가) 만일 파일명2가 이미 존재하는 파일의 이름이라면 기존에 있던 파일은 사라지고 새로운 복사본 파일로 바뀐다. 안전을 위해 i 옵션이 환경변수로 설정되어 있다. -i 옵션은 파일명2가 이미 존재하는 이름이라면 그대로 복사할 것인지 아닌지를 선택할 수 있게 물어온다.

<shell>
[root@sense ~]# cp file1 file2
cp: overwrite `file2'? y
</shell>


나) 여러 파일을 한 번에 복사할 수도 있다.

<shell>
[root@sense ~]# mkdir copydirectory
[root@sense ~]# cp file file1 file2 copydirectory/
[root@sense ~]# ls copydirectory/
file file1 file2
</shell>


다) ?r 옵션을 통해 하위 디렉토리의 파일까지 복사할 수 있다.

<shell>
[root@sense ~]# cp -r commands copydirectory/
[root@sense ~]# ls copydirectory/
anaconda-ks.cfg commands.html copydirectory docs file1
commands commands index.html Desktop file file2
[root@sense ~]#
</shell>

리눅스 cd 명령어 사용법

1. 기능
Change Directory. 현재 작업하는 디렉토리를 변경한다.

2. 문법
# cd 디렉토리

3. 옵션
. : 현재 디렉토리
.. : 상위 디렉토리
~ : 홈디렉토리
- : 이전 디렉토리로 이동

4. 사용방법 및 정보
디렉토리 이름과 cd 명령 사이에 반드시 공백이 있어야 한다. 디렉토리 이름을 주지 않고 수행하면 사용자의 홈 디렉토리로 이동한다. 자신이 이동하고자 하는 디렉토리는 자신에게 실행 권한(execution permission)이 있어야 한다. 실행 결과는 ‘pwd’ 명령을 통해 확인할 수 있다.

[root@sense ~]# cd /etc/sysconfig : /etc/sysconfig 디렉토리로 이동
[root@sense sysconfig]# pwd : 현재 디렉토리 확인
/etc/sysconfig
[root@sense sysconfig]# cd ../.. : 두 단계 상위의 디렉토리로 이동
[root@sense /]# cd : 홈디렉토리로 이동
[root@sense ~]# pwd : 현재 디렉토리 확인
/root
[root@sense ~]# cd - : 이전 작업 디렉토리로 이동
/

 

리눅스 cat 명령어 사용법

1. 기능
cat은 concatenate (사슬로 잇다. 연결하다)에서 이름이 유래한다. 이것은 파일의 내용을 화면에 출력하는 데 사용되기도 하며 파일을 다른 곳에 순차적인 스트림으로 보내기 위해 사용된다.

2. 문법
# cat [ 옵션 ] [ 파일명]

3. 옵션
-b : 공백 외의 글자가 있는 모든 행의 개수를 센다.
-e : 제어 문자를 ^ 형태로 출력하면서, 각 행의 끝에 $를 추가한다. -vE와 같다.
-n : 각 행을 출력하면서 행 번호를 함께 첨부한다.
-s : 중복되고 겹치는 빈 행은 하나의 빈 행으로 처리한다.
-r : 행바꿈 문자를 제외한 제어 문자를 ^ 형태로 출력한다. -vT와 같다.
-u : 유닉스 호환성을 위해 추가된 옵션으로서 무시된다.
-v : tab과 행바꿈 문자를 제외한 제어 문자를 ^ 형태로 출력한다.
-E : 각 행마다 끝에 $ 문자를 출력한다.
-T : 시로서 탭(tab) 문자를 출력한다.
-A : -vET 옵션을 사용한 것과 같은 효과를 가진다.

4. 사용방법 및 정보
가) 파일의 내용을 터미널에서 확인하고자 할 때 cat 명령을 사용한다. Cat 명령의 인자로 특정 파일을 지정하면 해당 파일의 내용을 연속적으로 보여준다.

<shell>
[root@sense ~]# cat /etc/inittab
#
# inittab This file describes how the INIT process should set up
# the system in a certain run-level.
#
# Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
# Modified for RHS Linux by Marc Ewing and Donnie Barnes
----------------------------------중략------------------------------------
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
# Run xdm in runlevel 5
x:5:respawn:/etc/X11/prefdm ?nodaemon
</shell>

/etc/inittab 파일을 화면으로 출력한다.

<shell>
[root@sense ~]# cat file1 file2
This is a cat command example file1.
This is a cat command example file1.
This is a cat command example file1.
This is a cat command example file1.
This is a cat command example file2.
This is a cat command example file2.
This is a cat command example file2.
This is a cat command example file2.
This is a cat command example file2.
</shell>


file1과 file2 이 두 파일의 내용을 연속적으로 보여주게 된다.

나) cat 명령은 대상 파일 명을 지정하지 않으면, 기본 값으로 표준 입력 장치를 선정한다.

[root@sense ~]# cat

지금과 같은 경우 입력 대기 상태가 되며, 내용 입력이 끝난 뒤 ctrl+d로 종료하면 표준 출력 장치인 화면으로 출력한다.

다) 위와 같은 cat 명령의 결과를 redirection 을 통해 저장할 수도 있다.

<shell>
[root@sense ~]# cat file1 file2 > newfile
[root@sense ~]# cat newfile
This is a cat command example file1.
This is a cat command example file1.
This is a cat command example file1.
This is a cat command example file1.
This is a cat command example file2.
This is a cat command example file2.
This is a cat command example file2.
This is a cat command example file2.
This is a cat command example file2.
</shell>

리눅스 shutdown 명령어 사용법

1. 기 능

시스템을 종료할 때 일반적으로 사용되는 명령이다.

2. 문 법

# shutdown [ 옵션 ] 시간 [ 메시지 ]
# shutdown now

3. 옵션

-t  n : t 옵션 뒤에 n초를 명시해서, 경고 메시지를 보낸 후 n초 후에 kill 시그널을 보낸다.
-h : shutdown시 halt를 실행하게 한다.
-n : 디스크 동기화 동작의 수행을 금지한다. 이런 옵션은 보통 사용할 일이 없을 것이다.
-r : 시스템 종료를 완료하고 나서 다시 부팅 과정을 수행한다.
-f : 빠른 리부팅을 한다. 리부팅 시 파일 시스템 검사를 하지 않는다.
-c : 이미 예약되어 있는 shutdown을 취소한다. 이 옵션을 준다면 시간 인수는 줄 수 없다. 하지만 메시지는 사용자들에게 줄 수 있다.
-k : 경고만 보내고 실제로는 종료하지 않는다. k는 ‘just kidding'의 의미라고 한다.

4. 사용방법 및 정보

shutdown 명령은 미리 사용자들에게 경고만을 보내고, 정해진 시간에 시스템을 종료한다. 시간은 24시간 단위의 표기법을 사용하며 종료 5분전에는 시스템에 로그인이 금지된다. 시스템 종료 시간이 가까워짐에 따라 각 사용자들에게 메시지를 주기적으로 출력하여 경고를 보낸다.
[root@sense ~]# shutdown 22:30 System will be shutdown at 10:30 PM!! ByeBye~

다음은 밤 11시 30분에 시스템을 종료하도록 예약하며 사용자들에게 그것을 알린다.

시간을 명시할 때 now를 사용하면 곧바로 시스템을 종료한다. 리눅스 사용자들은 컴퓨터를 끄기 전에 이렇게 하면 간단하다. 혼자 사용하고 있을 때 번거로운 과정은 필요 없을 테니까 말이다.

 
리뉴(mniktw)

언제나 배움에 배고파 하는 대한민국의 프로그래머입니다.

리눅스 tee 명령어 사용법

1. 기 능

표준 입력으로부터 읽어서 표준 출력이나 파일로 쓴다.

2. 문 법

tee [option] [file]
tee command는 독립적으로 사용되기 보다는 파이프를 이용하여 다른 command와 함께 사용하는 경우가 많다.

3. 옵션

-a : 덮어쓰지 않고 주어진 파일에 표준 입력을 추가한다.
-i : 인터럽트를 무시한다.

4. 사용방법 및 정보

set 명령에 대한 결과값을 set.out 파일에 저장한다.
[root@ls ]# ls  -l /etc  | tee etclist.out
/etc 디렉토리 리스트를 etclist.out 파일에 저장한다.
 

리눅스 tail 명령어 사용법

1. 기 능

파일의 마지막 부분을 출력한다.

2. 문 법

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

3. 옵션

--bytes=N : Nbyte 만큼 출력한다.
-f : 파일의 10줄을 출력해주고 파일의 내용을 실시간으로 계속해서 출력한다.
-n N : n 개수만큼의 라인을 출력한다.

4. 사용방법 및 정보
[root@ls ]# tail -n 20 anaconda-ks.cfg
anaconda-ks.cfg 파일의 마지막부터 20줄까지를 출력한다.
[root@ls ]# tail -n +20 anaconda-ks.cfg
anaconda-ks.cfg 파일의 20번째 줄 이후를 출력한다.
[root@ls ]# tail -f /var/log/messages
/var/log/messages 파일을 실시간으로 화면에 출력한다(log 모니터링에 사용됨)
 

리눅스 splitbr 명령어 사용법

1. 기 능

텍스트 파일을 여러 조각으로 나눈다.

2. 문 법

split [option] [input]
파일을 나누게 되면 파일의 이름은 xaa, xab, xac 형식으로 만들어 진다. 이름을 지정할 경우 x 대신 지정한 글자가 들어간다.

3. 옵션

-b N : N byte 만큼씩 파일을 분할한다.
-l : 라인의 개수만큼씩 파일을 분할한다.

4. 사용방법 및 정보

[root@ls ]# split -l 10 anaconda-ks.cfg
anaconda-ks.cfg 파일을 10개의 라인씩 묶어 여러 개의 파일로 나눈다.
[root@ls ]# split -b 500 anaconda-ks.cfg
anaconda-ks.cfg파일을 500byte씩 묶어서 여러 개의 파일로 나눈다.
[root@ls ]# split -b 300 _d test anaconda-ks.cfg
anaconda-ks.cfg 파일을 300byte씩 묶어서 여러 개의 파일로 나눈다. 단 파일의 이름은 test이름을 넣는다.