-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathlab4_Manipulating_Files_and_Directories
More file actions
72 lines (60 loc) · 2.45 KB
/
lab4_Manipulating_Files_and_Directories
File metadata and controls
72 lines (60 loc) · 2.45 KB
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Manipulating_Files_and_Directories
1) 실습을 위해 아래의 디렉토리를 생성하자. 디렉토리 생성시 {}를 이용한 확장이 어떻게 생성되는지 확인해보자.
$ mkdir -p projects/red/{Dev,Test,Prod}
$ find projects/
2) project Dev/ 디렉토리에 empty 파일들을 생성하자.
$ touch projects/red/Dev/{code,data}{1..3}
$ ls -l projects/red/Dev/
3) 전체 파일 세트를 projects/red/Test 디렉토리에 복사한다.
$ cd projects/red/Dev
$ cp * ../Test
4) 전체 file set을 모두 Prod디렉토리로 옮겨보자.
$ cd ../Prod/
$ mv ../Test/* .
5) 앞서 작업한 projects/red 디렉토리 아래에 파일들을 검토해보자
$ ls ~/projects/red/*
/home/guru/projects/red/Dev:
code1 code2 code3 data1 data2 data3
/home/guru/projects/red/Prod:
code1 code2 code3 data1 data2 data3
/home/guru/projects/red/Test:
$ tree ~/projects/red
6) test 팀은 개발코드와 프로덕션 데이터를 이용해 테스트 하려한다. 쉽게 작업하기 위해 test 디렉토리에 링크를 만들어보자.
$ cd /projects/red/Test/
$ ln ../Dev/code* .
$ ln ../Prod/data* .
$ ls -l
-rw-rw-r--. 2 guru guru 0 Nov 12 14:27 code1
-rw-rw-r--. 2 guru guru 0 Nov 12 14:27 code2
-rw-rw-r--. 2 guru guru 0 Nov 12 14:27 code3
-rw-rw-r--. 2 guru guru 0 Nov 12 14:30 data1
-rw-rw-r--. 2 guru guru 0 Nov 12 14:30 data2
-rw-rw-r--. 2 guru guru 0 Nov 12 14:30 data3
링크 수를 확인해보자.
$ ls -l ../Dev/
-rw-rw-r--. 2 guru guru 0 Nov 12 14:27 code1
-rw-rw-r--. 2 guru guru 0 Nov 12 14:27 code2
-rw-rw-r--. 2 guru guru 0 Nov 12 14:27 code3
-rw-rw-r--. 1 guru guru 0 Nov 12 14:27 data1
-rw-rw-r--. 1 guru guru 0 Nov 12 14:27 data2
-rw-rw-r--. 1 guru guru 0 Nov 12 14:27 data3
7) 편의를 위해 현재 프로젝트의 prod 디렉토리로 쉽게 이동할 수있는 링크를 생성한다.
$ cd /projects/
$ ln -s red/Prod/ current
$ ls -lt
lrwxrwxrwx. 1 guru guru 9 Nov 12 16:03 current -> red/Prod/
drwxrwxr-x. 5 guru guru 38 Nov 12 14:24 red
$ cd current/
$ ls
code1 code2 code3 data1 data2 data3
8) 현재 작업디렉토리에 대해 상대경로와 절대경로를 확인해보자.
$ pwd
/home/guru/projects/current
$ readlink /home/guru/projects/current
red/Prod/
$ realpath /home/guru/projects/current
/home/guru/projects/red/Prod
9) 새 프로젝트 (code name: blue)가 소프트웨어의 2.0 버전으로 시작되었다. 이전의 모든 파일을 blue로 복사하여 새 프로젝트를 시작하자.
$ cd /projects
$ cp -r red blue
$ ls -lR blue/