[06] 명령어 find, shutdown, vi(1) & FTP 방화벽 설정 관련(집)

|


- 2014.11.13 수업



1. find


find [경로] [-옵션] [이름]

        [경로] -name [이름] : 이름 검색

        [경로] -newer [이름] : 이름의 파일 이후에 수정, 변경한 것 검색

                -> touch 명령어와 함께 사용하면 효과적


* 추가 옵션

   -exec rm{} \;    : 찾아서 삭제하라는 추가 옵션

   -type f                : 파일 타입 검색하라는 추가 옵션

   -type d               : 디렉터리 타입 검색하라는 추가 옵션


ex)

# ll

합계 1

-rw-r--r-- 1 root root   0 2014-11-13 12:50 inittab

-rw-r--r-- 1 root root 884 2014-11-13 12:45 test


최근파일 검색

# find /home/ -newer test

/home/samadal

/home/samadal/inittab


검색하여 삭제

# find . -name "test*" -exec rm {} \;

# ll

합계 0

-rw-r--r-- 1 root root 0 2014-11-13 12:50 inittab


파일 타입 검색

# find / -name samadal -type f

/var/spool/mail/samadal


디렉터리 타입 검색

# find / -name samadal -type d

/home/samadal




[연습문제] p14


1) /down/ directory 생성

2) /down/ 에 test1, test2 생성

3) /down/ 에 test1, test2 를 /tmp에 각각 test3, test4로 복사

4) /down/test/ directory 생성

5) /down/test/ directory를 /tmp 로 이동

6) find 명령어를 통해 파일명 앞부분에 "test"문자열이 섞인 파일을 검색하면서 삭제

    (단, /tmp/와 /down/ 만 부분검색 하고 명령어는 한줄로)



# mkdir /down

# touch /down/test1 /down/test2

# ll /down

합계 0

-rw-r--r-- 1 root root 0 2014-11-13 13:01 test1

-rw-r--r-- 1 root root 0 2014-11-13 13:01 test2


# cp /down/test1 /tmp/test3

# cp /down/test2 /tmp/test4


# mkdir /down/test

# mv /down/test/ /tmp


부분 검색, 파일만 검색, 삭제 진행.

(사실 rm 은 파일만 지우기 때문에 구지 -type f 필요 없음)

# find /tmp /down -name "test*" -type f -exec rm {} \;





2. shutdown


시스템 종료

shutdown -h now = init 0 = halt = poweroff



시스템 재시작

shutdown -r now = init 6 = reboot



ex)

10분 뒤 종료

# shutdown -h +10


Broadcast message from root@samadal.madalgyo

        (/dev/pts/0) at 13:24 ...


The system is going down for halt in 10 minutes!


Ctro+c 눌러서 취소. shutdown -c 로도 가능.

^Cshutdown: Shutdown cancelled


shutdown 명령어를 실행할 구체적인 시간 설정

# shutdown -r 13:30


Broadcast message from root@samadal.madalgyo

        (/dev/pts/0) at 13:26 ...


The system is going down for reboot in 4 minutes!





3. vi


vi [파일명]


1) 라인명령모드


명령모드에서 :, /, ? 로 접근하게 되는 모드.


:q     종료

:q!    강제종료

/      글자 검색(위->아래)

?      글자 검색(아래->위)



2) 명령모드


기본 모드. 여러 명령어 옵션 실행 가능


h : 왼

j : 아래

k : 위

l : 오른

w : 단어의 처음, 왼->오, 공간 인식, 특수기호 인식 // forward

b : 단어의 처음, 오->왼, 공간 인식, 특수기호 인식 // back

W : 단어의 처음, 왼->오, 공간인식

B : 단어의 처음, 오->왼, 공간인식

e : 단어의 끝, 왼->오, 공간인식, 특수기호 인식 // end

E : 단어의 끝, 왼->오, 공간인식 // 각각의 대문자는 특수기호 인식 하지 않고 넘어간다.


^, 0 : HOME

$ : END

gg, [[ : 문서의 제일 처음으로 이동

G, ]] : 문서의 제일 마지막으로 이동

H : 화면의 처음 (Head)

M : 화면의 중간 (Middle)

L : 화면의 마지막 (taiL)


책갈피

        m + a~z : 지정

            A~Z

        ` + a~z : 이동         (쉬프트 안누른 ~)

          + A~Z

        ``      : 마지막 위치 이동


x : delete -> backspace

X : backspace (no delete)

dd : 행 삭제

숫자 + dd : 숫자 행만큼 삭제

u : 되돌리기

Ctrl + r : 앞으로

v : visual mode, 블럭지정



3) 입력(INSERT)모드


키보드로 내용물을 직접 입력하는 모드. 명령모드에서 아래들의 특정 키를 눌러 모드 진입 가능.


i : 커서 앞에서 입력

I : 맨 앞 행에서 입력

a : 커서 뒤에서 입력

A : 맨 뒤 행에서 입력

o : 커서 아래쪽에 행 삽입하여 입력

O : 커서 위쪽에 행 삽입하여 입력

s : 커서 내용 삭제한 뒤 커서 앞에서 입력

S : 행 삭제한 뒤 입력

r : 커서 내용 변경(한글자)

R : 수정 모드로 변경(한글의 insert)



4) 응용


커서 뒤에 모두 지우기 : d + $, D, n + x

커서 앞에 모두 지우기 : n + X, d + ^ , d + 0

단어지우기 : d + e, d + w

단어 복사하기 : y + e, y + w





* 집에서 FTP 사용하는 방법(방화벽 허용)


방화벽 - 허용되는 프로그램 - 다른프로그램 허용 - 찾아보기

- windows - system32 - ftp.exe - 열기 - 추가 - 목록 중 개인, 공용 추가 하기




And


[05] alias, touch, head, tail, more, less, nl, |(파이프), cat, ftp, date, clock, cal

|


- 2014.11.12 수업내용



※ Limadal_20141106_Class1_32bit 의 VMware 이미지.

   root / .$hooni203

   samadal / samadal




1. alias


[명령어 설명]


특정 문장 및 명령어에 대한 단축키 설정. 1회성으로 터미널 닫으면 없어짐


ex) alias 1='clear'


저장되어 있는 명령어의 목록 확인 : alias


※ ls -l : ll  으로 기본 설정되어있음.



※ alias에 저장 된 명령을 지울 때 : unalias [source]


ex) unalias 1





2. touch


[명령어 설명]


크기가 0이면서 현재 시간 정보가 있는 파일을 생성한다.

똑같은 명령어 쓰면 시간만 변경된 새 파일로 변경됨

기존에 있는 파일 이름을 쓰면 시간만 현재 시간으로 바뀜


touch [target]

-t [년월일시분] [target]     // 파일의 시간 정보 변경 가능


ex)

alias 에 저장되어 있는 단축키 = ls -l

# ll

합계 1

-rw-r--r-- 1 root root 884 2014-11-12 12:59 inittab


# touch ./testfile

# ll

합계 1

-rw-r--r-- 1 root root 884 2014-11-12 12:59 inittab

-rw-r--r-- 1 root root   0 2014-11-12 13:00 testfile


다시 touch 하면 시간이 바뀜

# touch ./testfile

# ll

합계 1

-rw-r--r-- 1 root root 884 2014-11-12 12:59 inittab

-rw-r--r-- 1 root root   0 2014-11-12 13:01 testfile


파일에서 시간만 바뀜

# touch ./inittab

# ll

합계 1

-rw-r--r-- 1 root root 884 2014-11-12 13:02 inittab

-rw-r--r-- 1 root root   0 2014-11-12 13:01 testfile


touch -t 년월일시분 대상

# touch -t 199908200422 ./testfile

# ll

합계 1

-rw-r--r-- 1 root root 884 2014-11-12 13:02 inittab

-rw-r--r-- 1 root root   0 1999-08-20 04:22 testfile





3. head


[명령어 설명]


파일의 내용 중 처음부터 아래로 10줄 출력


head [option] [source]

-n(number) [source] : 처음부터 n개 출력


ex)

위에서 3개만 출력

# head -3 /etc/passwd

root:x:0:0:root:/root:/bin/ksh

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin





4. tail


[명령어 설명]


파일의 내용중 마지막부터 위로 10줄 출력


tail [option] [source]

-n(number) [source] : 아래부터 n개 출력


ex)

# tail -3 /etc/passwd

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

tcpdump:x:72:72::/:/sbin/nologin

samadal:x:500:500:madalgyo:/home/samadal:/bin/bash





5. more


[명령어 설명]


내용이 많은 파일을 화면단위로 끊어서 출력한다

엔터 : 1줄 씩 내림

스페이스 : 1페이지 씩 내림


more [source]

q : 종료



ex)

# more /etc/passwd



more을 단독으로만 쓰면 파일만 볼 수 있다.

따라서 목록을 보여주는 다른 명령어와 함께 사용해야 한다.


# ls -l /etc/ | more

합계 1740

drwxr-xr-x.  5 root root   4096 2014-10-30 01:52 ConsoleKit

-rw-r--r--.  1 root root   4439 2014-07-17 00:02 DIR_COLORS

-rw-r--r--.  1 root root   5139 2014-07-17 00:02 DIR_COLORS.256color

-rw-r--r--.  1 root root   4113 2014-07-17 00:02 DIR_COLORS.lightbgcolor

drwxr-xr-x.  5 root root   4096 2014-10-30 01:54 NetworkManager

drwxr-xr-x.  2 root root   4096 2014-10-30 01:54 PackageKit

-rw-r--r--.  1 root root     45 2014-02-12 21:04 Trolltech.conf

drwxr-xr-x.  6 root root   4096 2014-10-30 01:54 X11

drwxr-xr-x.  3 root root   4096 2014-10-30 01:54 abrt

drwxr-xr-x.  4 root root   4096 2014-10-30 01:57 acpi

--More--



more 명령어의 단점 : 앞 페이지를 볼 수 없는 단점이 있다.





6. less


[명령어 설명]


more은 앞쪽 재검색이 불가능한 반면 less는 재검색이 가능한 명령어이다.

엔터 및 k : 1줄 아래로

j : 1줄 위로

q : 종료

스페이스 : 1페이지 아래로


역시나 ls -l /etc/ | less 처럼 사용 가능하다.


※ more는 명령어, less는 프로그램 이다.





7. nl (number line)


[명령어 설명]


총 몇행인지 궁금할 때 사용하는 명령어

행 번호를 붙여 출력하라는 명령어.



ex)

# nl /etc/passwd | less


nl 역시 파일에만 쓸 수 있는 명령어지만 명령어 조합으로 디렉터리에도 사용 가능하다.


# nl /etc/

nl: /etc/: 디렉터리입니다


맨 위 합계 표시도 갯수에 들어가는 것 주의

# ls -l /etc/ | nl





8. | (파이프)


명령어 | 명령어 | 명령어  처럼 서브 명령어를 여러개 사용 가능.


파이프를 쓰면 맨 뒤에서부터 적용된다.


* 파이프를 사용 할 떄에는 명령어의 성격을 생각하며 사용해야 한다.


ex)

less가 작동하지 않음. nl로 행번호 붙여서 출력한 뒤에 less를 진행할 수 없기 때문.

# ls -l /etc/ | less | nl





9. cat


[명령어 설명]


파일 내용 "출력"

ex) cat /etc/passwd   =   cat < /etc/passwd


파일 내용 "입력"

ex) cat /etc/passwd > /testfile


파일 "생성"

ex) cat > ./test   -> 내용입력 -> ctrl+d (정상종료) 

* ctrl+c : 강제 종료, ctrl+z : 강제정지


파일 내용 "추가"

ex) cat >> ./test

아래쪽에 추가하여 기재 가능


파일 내용 "병합"

ex) cat ./a ./b > ./c)

a 밑에 b가 합쳐져서 c 만듬


행번호 붙여 cat 출력

# cat -n /etc/passwd





10. ftp 접속 (p183)


[실습 순서]


1) window에서 index.html 파일 생성 : d드라이브에서 파일 새로 만들기

2) 실행(win_key+r) -> cmd -> 드라이브 변경(d:)

3) ftp 리눅스ip 입력(ex. ftp 192.168.1.142)

4) 계정, password 입력 -> 오류시 quit 입력      // 기본적으로 root 는 ftp 사용 불가

5) login successful 메시지 확인

6) put [source] : 업로드 명령어  &  get [source] : 다운로드 명령어





11. date, rdate


[명령어 설명]


date : 현재의 자신의 서버 시간을 확인하는 명령어.

rdate : 타임서버 관련 명령어


date [월일시분년]  :  해당 시간으로 서버 시간을 변경


ex )

현재 시간 확인

# date

2014. 11. 12. (수) 14:56:39 KST


옵션 시간으로 내 서버 시간 변경

# date 082013201999

1999. 08. 20. (금) 13:20:00 KST


# date

1999. 08. 20. (금) 13:20:02 KST


time.bora.net 서버의 현재 시간 확인

# rdate -p time.bora.net

rdate: [time.bora.net]  Wed Nov 12 14:59:35 2014


# date

1999. 08. 20. (금) 13:21:43 KST


time.bora.net 서버 시간으로 내 서버 시간을 맞춤

# rdate -s time.bora.net

# date

2014. 11. 12. (수) 15:00:45 KST





12. clock


[명령어 설명]


clock : 자세한 시간 보여줌. (nano second 까지)


ex)

# clock

2014년 11월 12일 (수) 오후 10시 00분 48초  -0.924519 seconds





13. cal (calendar)


[명령어 설정]


달력을 출력하는 명령어.


ex)

현재 시각 기준의 달력 출력. date 설정에 따라 바뀜

# cal


2015년 달력 출력

# cal 2015


1999년 08월 20일 달력 출력

# cal 20 08 1999




And


[04] cp, mv, mkdir, rmdir, rm

|


- 2014.11.11 수업 내용




1. cp (copy)


파일 및 디렉토리에 관한 첫번째 명령이이기 때문에 최대한 많은 예제를 넣었다.



1) 명령어 설명

 

cp : 파일 및 디렉토리 복사, 이름 변경 가능 

        cp [-option] [source] [source] [source] .... [target]

 

* wild card : 모든 것을 의미한다. 

        -r : 디렉토리 복사, 하위디렉터리 및 파일 모두 복사 

        -p : 원본파일의 소유주, 그룹, 권한, 시간을 그대로 복사 


최상위 / 에 backup 디렉토리 생성

# mkdir /backup/


현재 있는 /home/samadal/ 의 디렉토리 내용 확인

# ls

a


폴더 생성된 것 확인

# ls -ld /backup/

drwxr-xr-x. 2 root root 4096 2014-11-11 12:43 /backup/  


/etc/inittab 파일을 /backup/ 디렉토리로 복사

# cp /etc/inittab /backup/

# ls -l /backup/  

합계 4  

-rw-r--r--. 1 root root 884 2014-11-11 12:44 inittab  


login.defs 파일 복사

# cp /etc/login.defs /backup/

# ls -l /backup/  

합계 8  

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login.defs  


grub.conf 파일 복사

# cp /boot/grub/grub.conf /backup/


전체 확인

# ls -l /backup/

합계 12  

-rw-------. 1 root root  739 2014-11-11 12:45 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login.defs



[실습1]  - /bakcup/ 디렉터리에 있는 파일을 /home/samadal 로 복사


항상 원본 소스와 대상 디렉터리가 있는지 확인하는 습관! 

# ls -l /backup/

합계 12  

-rw-------. 1 root root  739 2014-11-11 12:45 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login.defs  


절대경로로 복사

# cp /backup/grub.conf /home/samadal/grub.conf

# ls -l /backup/

합계 12  

-rw-------. 1 root root  739 2014-11-11 12:45 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login.defs  


# ls -l  

합계 4  

drwxr-xr-x. 3 root root 1024 2014-11-10 13:47 a  

-rw-------. 1 root root  739 2014-11-11 12:49 grub.conf  


상대경로로 복사 

# cp /backup/inittab ./

# ls -l

합계 6  

drwxr-xr-x. 3 root root 1024 2014-11-10 13:47 a  

-rw-------. 1 root root  739 2014-11-11 12:49 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:49 inittab


이름 변경해서 복사 가능.

# cp /backup/login.defs ./login 


확인

# ls -l  

합계 9  

drwxr-xr-x. 3 root root 1024 2014-11-10 13:47 a  

-rw-------. 1 root root  739 2014-11-11 12:49 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:49 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:50 login



*

디렉토리명 뒤에 / 붙이는 습관이 없다면 디렉토리로의 복사 중 오타가 났을 경우

해당 디렉토리로 복사가 되는 것이 아닌 변경된 파일 명으로 엉뚱한 곳에 저장이 될 수도 있다.



 

[실습2]  - saladal로 복사한 파일들을 /home/test/c/ 로 복사


원본, 상대 디렉터리 확인

# ls -l

합계 9  

drwxr-xr-x. 3 root root 1024 2014-11-10 13:47 a  

-rw-------. 1 root root  739 2014-11-11 12:49 grub.conf

-rw-r--r--. 1 root root  884 2014-11-11 12:49 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:50 login  


# ls -ld /home/test/c/

drwxr-xr-x. 3 root root 1024 2014-11-10 13:50 /home/test/c/


복사 시작

# cp ./grub.conf /home/test/c/

# ls -l /home/test/c/  

합계 4  

drwxr-xr-x. 2 root root 1024 2014-11-10 13:50 d  

-rw-------. 1 root root  739 2014-11-11 13:01 grub.conf  


# cp /home/samadal/inittab ../test/c/  

# ls -l /home/test/c/  

합계 6  

drwxr-xr-x. 2 root root 1024 2014-11-10 13:50 d  

-rw-------. 1 root root  739 2014-11-11 13:01 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 13:02 inittab  


# cp ./login ../test/c/login.defs  

# ls -l /home/test/c/  

합계 9  

drwxr-xr-x. 2 root root 1024 2014-11-10 13:50 d  

-rw-------. 1 root root  739 2014-11-11 13:01 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 13:02 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 13:03 login.defs

 



[실습3]  - /bakcup/의 파일들을 /home/test/c/d/ 로 복사! 


- 생략




[연습문제]

 

/home/test/c/d/ 안에 있는 모든 내용을

/home/samadal/a/b/ 디렉터리에 복사


# ls -l /home/test/c/d/  

합계 7  

-rw-------. 1 root root  739 2014-11-11 13:05 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 13:06 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 13:06 login  


# ls -ld /home/samadal/a/b/  

drwxr-xr-x. 2 root root 1024 2014-11-10 13:47 /home/samadal/a/b/


# cp /home/test/c/d/grub.conf /home/samadal/a/b/  

# ls -l /home/samadal/a/b/  

합계 2  

-rw-------. 1 root root 739 2014-11-11 13:14 grub.conf


# cp /home/test/c/d/inittab ./a/b/  

# ls -l /home/samadal/a/b/ 

합계 4  

-rw-------. 1 root root 739 2014-11-11 13:14 grub.conf  

-rw-r--r--. 1 root root 884 2014-11-11 13:15 inittab  


# cp ../test/c/d/login ./a/b/  

# ls -l ./a/b/  

합계 7  

-rw-------. 1 root root  739 2014-11-11 13:14 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 13:15 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 13:15 login


*

복사할 대상이 많은 경우 - Wild card(*) 를 사용하면 된다.


ex)

# cp /home/test/c/d/* ./a/b/



2) cp 명령어 옵션

 

안되는 예)

# cp /backup/ ./

cp: omitting directory `/backup/'

 


* -r


안에 있는 모든 것을 복사하는 옵션


# cp -r /backup/ ./ 

# ls -l  

합계 11  

drwxr-xr-x. 3 root root 1024 2014-11-10 13:47 a  

drwxr-xr-x. 2 root root 1024 2014-11-11 13:27 backup  

-rw-------. 1 root root  739 2014-11-11 12:49 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:49 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:50 login  


# ls -l ./backup/ 

합계 7  

-rw-------. 1 root root  739 2014-11-11 13:27 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 13:27 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 13:27 login.defs 



* -p


소유자 및 시간도 그대로 복사하는 옵션

복사를 하게 되면 복사한 계정으로 새로운 소유권이 지정되며 시간도 복사한 시간으로 변경된다.


소유권 및 시간까지 그대로 복사.

# cp -p ./.kshrc ./ksh

# ls -al ./.kshrc

-rw-r--r--. 1 samadal samadal  171 2014-10-16 01:02 .kshrc  


# ls -l

-rw-r--r--. 1 samadal samadal  171 2014-10-16 01:02 ksh

-rw-r--r--. 1 root    root    1816 2014-11-11 12:50 login




 

2. mv (move)



1) 명령어 설명


mv [source] [source] [source] [target]


파일 및 디렉토리 이동, 이름 변경 가능. 옵션 있긴 하지만 사용할일 거의 없다.




[실습1]


/backup/ 에 있는 파일을 /home/samadal/a/ 로 이동

 

# ls -l /backup/

합계 12  

-rw-------. 1 root root  739 2014-11-11 12:45 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login.defs


# ls -l ./a/  

합계 2  

drwxr-xr-x. 2 root root 1024 2014-11-11 13:15 b  


# mv /backup/grub.conf ./a/  


ls 명령으로 동시에 2개를 볼 수 있다.

# ls -l /backup/ ./a/ 

./a/:  

합계 4  

drwxr-xr-x. 2 root root 1024 2014-11-11 13:15 b  

-rw-------. 1 root root  739 2014-11-11 12:45 grub.conf

  

/backup/:  

합계 8  

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login.defs 

...  


이동 + 이름 변경

# mv /backup/login.defs ./a/login

# ls -l /backup/ ./a/

  

./a/:  

합계 9  

drwxr-xr-x. 2 root root 1024 2014-11-11 13:15 b  

-rw-------. 1 root root  739 2014-11-11 12:45 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login


/backup/:  

합계 0




[문제]

 

./a/ 디렉토리에 있는 3개의 파일(grub.conf, inittab, login)을 /backup/ 디렉토리로 이동

 

# ls -l /backup/ ./a/  

./a/:  

합계 9  

drwxr-xr-x. 2 root root 1024 2014-11-11 13:15 b  

-rw-------. 1 root root  739 2014-11-11 12:45 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login  

  

/backup/:  

합계 0


와일드카드 (*)는 조심히 써야한다.

# mv ./a/* /backup/

# ls -l /backup/ ./a/  

./a/:  

합 0


원본 디렉터리에 있던 /b/ 디렉터리도 함께 옮겨졌다.. *는 조심히 쓸 것!  

/backup/:  

합계 16  

drwxr-xr-x. 2 root root 4096 2014-11-11 13:15 b

-rw-------. 1 root root  739 2014-11-11 12:45 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login  


mv는 옵션 없이도 디렉터리를 자유롭게 이동 가능하다. 

# mv /backup/b/ ./a/

# ls -l /backup/ ./a/  

./a/:  

합계 2  

drwxr-xr-x. 2 root root 1024 2014-11-11 13:15 b

  

/backup/:  

합계 12  

-rw-------. 1 root root  739 2014-11-11 12:45 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login


# ls -l /backup/  

합계 12  

-rw-------. 1 root root  739 2014-11-11 12:45 grub.conf

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login  





3. mkdir (make directory)


1) 명령어 설명

 

디렉토리 생성


mkdir [option] [target]

        -p : 하위디렉터리 생성 시 상위디렉터리 생성


ex)

# mkdir /backup/





4. rmdir (remove directory)


1) 명령어 설명


디렉토리 삭제(빈 디렉터리만 삭제)

 

rmdir [option] [source] 

        -p : 디렉터리 삭제시 상위디렉터리도 삭제(단, 빈 디렉터리만 삭제 가능)


ex) 

상위 디렉터리까지 생성

# mkdir -p /a/b/c/d/e/f/g/

# ls -ld /a/b/c/d/e/f/g/  

drwxr-xr-x. 2 root root 4096 2014-11-11 14:22 /a/b/c/d/e/f/g/  


최상위인 / 까지 삭제 시도함

# rmdir -p /a/b/c/d/e/f/g/

rmdir: failed to remove directory `/': 장치나 자원이 동작 중 


a 부터는 빈 디렉터리였기 때문에 a 부터 모두 삭제 됨

# ls -l /a/

ls: cannot access /a/: 그런 파일이나 디렉터리가 없습니다





5. rm (remove)


1) 명령어 설명


파일 및 디렉터리 삭제(삭제 시 사용자에게 물어보며 삭제)


rm [option] [source] 

        -f : 삭제 시 사용자에게 물어보지 않고 삭제 

        -r : 디렉터리 삭제 및 하위 디렉털, 파일 삭제 

              (단, 삭제시 사용자에게 물어보며 삭제)

 

ex) 

# ls -l /home/test/c/d/  

합계 7  

-rw-------. 1 root root  739 2014-11-11 13:05 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 13:06 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 13:06 login  


# rm /home/test/c/d/grub.conf  

rm: remove 일반 파일 `/home/test/c/d/grub.conf'?  


y 혹은 yes 를 눌러야만 삭제 됨

# rm /home/test/c/d/grub.conf 

rm: remove 일반 파일 `/home/test/c/d/grub.conf'? y

# ls -l /home/test/c/d/

합계 5  

-rw-r--r--. 1 root root  884 2014-11-11 13:06 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 13:06 login



* 해커들이 맨 마지막에 하는 명령어 : rm -rf /




And