touch
비어있는 파일을 생성한다.
1. 형식
[touch] [file1] [file2]
* 파일의 중복생성 가능.
2. 옵션
touch -t : 파일의 수정 시간을 변경
ex) touch -t 08081230 file1 = file1 의 시간을 8월8일12시30분으로 변경함.
cp
파일을 복사함
1. 형식
[CP] [file/dirA] [file/dirB]
2. 옵션
cp -a : 원본 파일의 속성, 링크 정보를 유지하면서 복사
cp -i : 복사 파일이 존재할 경우 복사할것을 물어봄 (덮어쓰기 확인)
cp -f : 복사 할 파일이 존재할경우 삭제하고 복사 (덮어쓰기 강제)
cp -p : 원본 파일의 소유, 그룹, 권한, 허용시간 보존한 채로 복사
cp -r : 서브 디렉토리내 모든 파일까지 통째로 복사
3. 실습
1) cp -r 을 사용하여 디렉토리를 복사해보자. ( dir1 내 file1,2 존재 / dir2는 생성안됨)
[root@server1 /test]# touch dir1/{file1,file2}
[root@server1 /test]# cp -r dir1 dir2
[root@server1 /test]# tree
├── dir1
│ ├── file1
│ └── file2
└── dir2
├── file1
└── file2
* dir2를 생성하고 해당 dir2 내에 file1,2가 생성됨.
1-1) cp -r 을 사용하여 이전상태에서 한번 더 동일조건으로 적용해보자. ( dir1 내 file1,2 존재 / dir2내 file1,2 존재)
[root@server1 /test]# cp -r dir1 dir2
[root@server1 /test]# tree
├── dir1
│ ├── file1
│ └── file2
└── dir2
├── dir1
│ ├── file1
│ └── file2
├── file1
└── file2
* 기 생성되어있는 dir2 내에 dir1 생성 및 하위 파일도 같이 생성된다.
2) cp -p 를 이용하여 원본 파일의 퍼미션 유지하며 복사 하자
[root@server1 /test]# touch file1
[root@server1 /test]# chmod 777 file1
[root@server1 /test]# ll
합계 0
drwxr-xr-x 2 root root 19 3월 30 17:09 .
dr-xr-xr-x. 19 root root 268 3월 30 12:44 ..
-rwxrwxrwx 1 root root 0 3월 30 17:09 file1
[root@server1 /test]# cp file1 file2
[root@server1 /test]# ll
합계 0
drwxr-xr-x 2 root root 32 3월 30 17:09 .
dr-xr-xr-x. 19 root root 268 3월 30 12:44 ..
-rwxrwxrwx 1 root root 0 3월 30 17:09 file1
-rwxr-xr-x 1 root root 0 3월 30 17:09 file2
[root@server1 /test]# cp -p file1 file3
[root@server1 /test]# ll
합계 0
drwxr-xr-x 2 root root 45 3월 30 17:10 .
dr-xr-xr-x. 19 root root 268 3월 30 12:44 ..
-rwxrwxrwx 1 root root 0 3월 30 17:09 file1
-rwxr-xr-x 1 root root 0 3월 30 17:09 file2
-rwxrwxrwx 1 root root 0 3월 30 17:09 file3
[root@server1 /test]#
사용자 기준으로 파일 및 디렉토리 복사 기능 실습
실무기준으로는 항상 백업시
파일 by 파일의 경우는 -r 꼭 사용
디렉토리 by 디렉토리 의 경우는 -a 꼭 사용
* 퍼미션 등의 문제가 생길 수 있기에 원본 자체 그대로를 긁어올 필요가 있음.
mv
파일 옮기기 또는 파일 명 수정
형식
mv file1 file2
mv file1 dir1
mv dir1 dir2 ( 단 dir2가 존재 하는지 안하는지에 따라 다름)
옵션
- i
- f
[참고] 와일드 카드 캐릭터
하나의 문자가 여러개의 문자의 의미를 포함하는 문자
* : 0 or more character (except .file) (EX) # cp file* dir1)
? : one charater (EX) # cp file? dir1)
{ } : 선택적인 하나의 문자열(단어)and 의 의미 (EX) # cp file{apple,bannar,orange} dir1
[ ] : 선택적인 하나의 문자 (EX) # cp file[123] dir1
# cd /test ; rm -rf /test/*
# touch file file1 file2 file22 file3 .file4
# ls -a
# ls file* -> file file1 file2 file22 file3
# ls * -> file file1 file2 file22 file3
# ls file? -> file1 file2 file3
# ls file?? -> file22
# ls file{1,2,22,3} -> file1 file2 file22 file3
# ls file[123] -> file1 file2 file3
# ls file[1-3]
# ls file[0-9,A-Z,a-z]-> file1 file2 file3
rm
파일을 지움.
1. 형식
[rm] [OPTIONS] [file/dir]
2. 옵션
rm -f : 파일을 강제로 삭제함
rm -i : 파일을 삭제할지 사용자에게 물어봄
rm -r : 일반 파일이면 그냥 지움
3. 실습
1) 파일을 생성하고 여러 경우로 삭제해보자.
* 선행준비
[root@server1 /test]# cd /test; rm -rf /test/*
[root@server1 /test]# mkdir dir1
[root@server1 /test]# touch dir1/file{1,2}
[root@server1 /test]# ls
. .. dir1
[root@server1 /test]# ls dir1
. .. file1 file2
1-1) rm -r 로 dir1을 삭제해보자.
[root@server1 /test]# rm -r dir1
rm: descend into directory 'dir1'? y
rm: remove 일반 빈 파일 'dir1/file1'? y
rm: remove 일반 빈 파일 'dir1/file2'? y
rm: remove 디렉토리 'dir1'? y
* 이렇게 여러번 물어보며 삭제처리 되기때문에 추가 옵션활용시 빠른 작업이 이루어진다
1-2) rm -rf 로 dir1을 삭제해보자.
[root@server1 /test]# rm -rf dir1
[root@server1 /test]# ls
. ..
[root@server1 /test]#
* 바로 삭제되는걸 확인할 수 있다.
* [참고] rm 명령어로 지운 파일 복구(100% 장담할 수 없음)
(TUI) extundelete CMD 사용하는 방법(ext3, ext4)
(GUI) TestDisk 툴을 사용하는 방법(Windows(FAT32/NTFS), Linux(ext3/ext4))
'모의해킹 침해대응 과정 > Linux 기초' 카테고리의 다른 글
리눅스 기초때기 2일차. 기타 관리용 명령어 / WC, SU, SUDO,LAST,WHO,W (0) | 2021.03.31 |
---|---|
리눅스 기초때기 2일차. / CAT, MORE, HEAD,TAIL (0) | 2021.03.31 |
리눅스 기초때기 1일차 디렉토리 관리 / LS, MKDIR, RMDIR (0) | 2021.03.30 |
리눅스 기초때기 1일차 / 디렉토리 이동 PWD, CD (0) | 2021.03.30 |
리눅스 기초때기 1일차 파일 시스템 계층 구조 (0) | 2021.03.30 |