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

Reference

UNIX시스템 - 김희천,김진욱 저