< cp >
cp /etc/a* . : .(점) 이라는 것은 현재 위치를 의미하며, 현재 위치로 a로 시작하는 것들을 복사하라는 의미이다.
ls 명령을 하면 a로 시작하는 파일들이 복사된 것을 볼 수 있다.
< cp의 -r 옵션 >
이번엔 b로 시작하는 파일들을 복사해온 뒤 ls 명령을 했을 때
-> bashrc 라는 파일 하나가 추가된 것을 볼 수 있다.
여기서 -r 옵션을 추가적으로 주면 무슨 일이 일어날까? ls 명령으로 확인해보면.. 파란색 글씨들이 추가되었다.
파란색 글씨들은 디렉터리이다.
즉, -r 옵션은 디렉터리까지 모두 복사해오는 옵션이다.
< rm의 -r 옵션 >
rm a* : a로 시작하는 파일들을 제거한다.
rm b* : b로 시작하는 파일들을 제거한다.
rm 할 경우, 디렉터리는 삭제할 수 없다고 뜬다. 이런 경우 역시 -r 옵션을 주면 디렉터리까지 삭제 가능하다.
-> ( rm -r b* )
+ ) 짜투리 팁
cp /etc/passwd passwd.txt
-> /etc/passwd 라는 파일을 현재 디렉터리의 passwd.txt 라는 파일로 복사한다.
< cp 의 -i 옵션, -f 옵션 >
ll 명령을 했을 때, a 라는 파일은 크기가 0이었다.
그 후 cp /etc/bashrc a 라는 명령을 했을 때 파일 크기가 2853으로 바뀐 것을 볼 수 있다. 덮어씌어진 것이다.
이런 현상을 미리 방지하려면 -i 옵션을 주면 된다.
-i 옵션을 추가해버리면 a 를 덮어써도 되냐는 질문이 나온다. 이때 y, n 으로 답하여 결정을 해주면 된다.
(중요한 파일들이 있을 경우, 덮어쓰여지는 것을 방지하기 위해서 -i 옵션을 추가해주면 좋다.)
위와 반대로 강제로 덮어쓰기 옵션이 있다. -f 옵션이다.
-f 옵션을 주게 되면 물어보지도 않고 덮어쓰여지게 된다. a2의 파일 크기를 주목해보자. 156 에서 2858 으로 바뀐 것을 볼 수 있다.
<정리>
-i : 덮어쓰기? 물어본다. interactive(상호작용)
-f : 안물어본다. force(강제)
< cp 특징 : 디렉터리이면 그 아래로 들어간다>
① d2 라는 디렉터리를 만든다.
② cp /etc/bashrc d2 명령을 한다.
③ ls d2 명령을 하여 d2 안을 확인해보면 bashrc 라는 파일이 생성됨을 알 수 있다..
-> 기존 d2가 Directory 라면 그 하위로 파일이 들어간다.
① cp /etc/bashrc d2/b30 명령을 한다.
② ll d2 명령을 하여 d2 안을 확인해보면 b30과 bashrc 존재한다. (b30이 생성)
-> d2 밑에 b30 이름으로 복사하라는 뜻
< cp 특징 정리 >
- 이미 존재하면 덮어쓸 수 있다.
- 디렉터리이면 그 아래로 들어간다.
- 복사하면서 이름 변경도 가능하다.
< 추가적으로 알아두기 >
rm a* : a 로 시작하는 것 지우기
rm [b-t]* : b부터 t까지 범위를 정해줌. 이 단어로 시작하는 것 지우기
rm [^xyz]* : xyz 시작하는 것 제외하고 지우기
ls a* : a로 시작하는 것 보여주기
rm [^a]* -f : 묻지 않고 강제로 a로 시작하는 것 제외하고 지우기
< 옵션 정리 >
-i : interactive
-f : force
-r : recursive (디렉터리 포함)
↓
cp -r : 디렉터리까지 포함해서 복사해라
rm -r : 디렉터리까지 포함해서 제거해라
cp -r /etc eee : eee라는 이름으로 디렉터리까지 모두 복사해오기
'🦇 Linux' 카테고리의 다른 글
리마 2급 공부 노트 - 8.22 (0) | 2021.08.23 |
---|---|
리마 2급 공부 노트 - 8.20 (0) | 2021.08.20 |
리눅스 기초 명령어7 - tee, nl (0) | 2021.07.13 |
리눅스 기본 개념 - 파이프, 표준 입출력 (0) | 2021.07.13 |
리눅스 기초 명령어6 - cat, tac (0) | 2021.07.08 |