mkdir
명령어 설명
디렉터리를 생성하는 명령어
기본 사용법
1
mkdir [options] dir1 dir2 ..
옵션
옵션 | full name | 설명 |
---|---|---|
-p | 필요시 부모 디렉터리를 생성한다. 즉, 현재 존재하지 않는 디렉터리 하위에 디렉터리를 만들려고 할 때 없는 1뎁스의 디렋터리도 동시에 생성해주는 옵션이다. |
|
-m MODE | 디렉터리 생성과 동시에 디렉터리에 대한 접근 권한을 설정한다. umask 가 아닌 chmod 기반 MODE를 입력하면 된다. |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# mkdir
## -p 옵션
mkdir ./test_dir/test_dir_inner
>> mkdir: cannot create directory ‘./test_dir/test_dir_inner’: No such file or directory
mkdir -p ./test_dir/test_dir_inner
>> 실행 완료
ls -al ./test_dir
>> drwxr-xr-x. 3 user user 28 Nov 24 18:42 .
>> drwx------. 9 user user 4096 Nov 24 18:42 ..
>> drwxr-xr-x. 2 user user 6 Nov 24 18:42 test_dir_inner
## -m 옵션
mkdir -m 755 -p ./test_dir/test_dir_inner
>> 실행 완료
ls -al ./test_dir
>> drwxr-xr-x. 3 user user 28 Nov 24 18:42 .
>> drwx------. 9 user user 4096 Nov 24 18:42 ..
>> drwx------. 2 user user 6 Nov 24 18:42 test_dir_inner
rmdir
명령어 설명
-디렉터리를 삭제하는 명령어
-비어 있는 디렉터리만 사용할 수 있음
-하위에 비어 있는 디렉터리가 있는 경우 rm -r
을, 비어있지 않은 경우 rm -rf
명령어를 대신 사용해야 한다.
기본 사용법
1
rmdir [options] dir1 dir2 ..
옵션
옵션 | full name | 설명 |
---|---|---|
-p | 대상 디렉터리를 삭제했을 때, 대상 디렉터리의 부모 디렉터리가 비게 된다면, 부모 디렉터리까지 삭제하는 옵션 |
예시
1
2
3
4
5
6
7
8
9
ls -al ./test_dir/
>> total 4
>> drwxr-xr-x. 4 user user 24 Nov 24 19:10 .
>> drwx------. 9 user user 4096 Nov 24 19:10 ..
>> drwxr-xr-x. 2 user user 6 Nov 24 19:10 1
>> drwxr-xr-x. 2 user user 6 Nov 24 19:10 2
rmdir -p ./test_dir/1 ./test_dir/2
>> 삭제 완료 (에러문이 뜨긴 함)
cp
명령어 설명
파일이나 디렉터리를 복사하는 명령어
기본 사용법
1
2
3
cp [options] file1 file2 # (1) file - file
cp [options] files directory # (2) files - dir
cp -r [options] directory1 directory2 # (3) dir - dir
(1) file1 - file2
-file1을 file2 라는 이름으로 복사
-만약 file2가 이미 존재해있다면, file1의 내용을 덮어쓴다.
(2) files - dir
-여러 파일을 지정된 디렉터리 하위에 같은 이름으로 복사
(3) dir1 - dir2
-dir과 하위의 모든 내용을 dir2 하위에 복사한다.
-만약 dir2가 존재하지 않는다면, 만든 후 dir의 하위 내용을 포함하도록 한다.
-즉, dir2가 존재하면 하위에 복사, 존재하지 않으면 그대로 복사
옵션
옵션 | full name | 설명 |
---|---|---|
-a | 파일의 모든 속성(소유자, 접근권한, 시간 정보 등)을 그대로 유지하면서 복사 | |
-i | interaction | 대화식 명령 수행을 한다. 예를 들어 덮어쓰기 전 확인과정을 거치는 등. |
-r | 디렉터리 복사시 모든 내용을 재귀적(하위 내용물까지 포함)으로 복사한다. 디렉터리 복사시 필수 옵션(or -a를 써도 됨) |
|
-u | 대상 파일이 이미 존재하는 경우, 원본 파일이 더 최근 것이어야 복사가 됨. |
예시
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 현재 폴더
d target_dir
- test1.txt
- test2.txt
- test3.txt
# cp files dir
cp ./test*.txt ./target_dir
ls ./target_dir
>> test1.txt test2.txt test3.txt
# cp -r dir1 dir2
cp ./target_dir ./copied_dir
ls -l
>> drwxr-xr-x. 2 user user 57 Nov 24 19:26 copied_dir
>> drwxr-xr-x. 2 user user 57 Nov 24 19:24 target_dir
>> -rw-r--r--. 1 user user 0 Nov 24 19:23 test1.txt
>> -rw-r--r--. 1 user user 0 Nov 24 19:23 test2.txt
>> -rw-r--r--. 1 user user 0 Nov 24 19:23 test3.txt
ls copied_dir
>> test1.txt test2.txt test3.txt
# 디렉터리에 변형을 주고 카피
rm ./target_dir/test1.txt
cp -r target_dir/ ./copied_dir
ls copied_dir
>> target_dir test1.txt test2.txt test3.txt
ls copied_dir/target_dir
>> test2.txt test3.txt
mv
명령어 설명
(1) 파일이나 디렉터리를 다른 위치로 이동하는 명령
(2) 파일이나 디렉터리의 이름을 변경하는 명령
기본 사용법
1
2
mv [options] source target # (1)
mv [options] files directory # (2)
(1) 파일이나 디렉터리의 이름과 위치를 변경한다.
-source : 원본 파일 혹은 디렉터리
-target : 타겟 파일 혹은 디렉터리
-target 이 기존에 존재한다면, 덮어쓰기가 수행됨
(2) 여러 파일을 디렉터리로 이동함
-directory는 이미 존재해 있어야 이동이 성립된다.
옵션
옵션 | full name | 설명 |
---|---|---|
-i | - 대화식 명령어 진행 옵션으로, 덮어쓰는 경우 물어본다. | |
-u | - target이 이미 존재하는 경우, 원본 파일이 더 최근 것이어야 이동이 이루어진다. | |
-v | - 이동이 이루어지면서 알림 메시지를 출력한다. |
rm
명령어 설명
(1) 파일을 삭제하는 명령어
(2) -r 옵션을 사용하면 디렉터리를 삭제할 수 있음
기본 사용법
1
rm [options] files
옵션
옵션 | full name | 설명 |
---|---|---|
-r | 디렉터리와 그 디렉터리에 포함된 파일 및 서비 디렉터리를 모두 함께 삭제한다. | |
-i | interactive | 파일을 삭제하기 전에 대화식 확인을 거친다. 삭제되는 파일마다 물어본다. |
-f | force | 삭제 전에 물어보지 않고, 강제로 삭제한다. |
-v | 삭제를 수행하면서 알림 메시지를 출력한다. |
예시
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
userrm ./test1.txt
>> 출력 없음
userrm -i ./test2.txt
>> rm: remove regular empty file './test2.txt'? y
userrm -v ./test3.txt
>> removed './test3.txt'
userrm ./copied_dir/
>> rm: cannot remove './copied_dir/': Is a directory
userrm -f ./copied_dir/
>> rm: cannot remove './copied_dir/': Is a directory
userrm -r ./copied_dir/
>> 출력 없음
userrm -ri ./target_dir/
>> rm: descend into directory './target_dir/'? y
>> rm: remove regular empty file './target_dir/test2.txt'? y
>> rm: remove regular empty file './target_dir/test3.txt'? y
>> rm: remove directory './target_dir/'? y