3.4.7 파일 다루기
파일을 복사할 때는 cp 명령을 사용합니다. ‘cp [옵션] [원본 파일] [사본 파일]’ 형식으로 입력합니다. ➊ 현재 작업 디렉터리에 touch 명령으로 teamdata라는 빈 파일을 만들고 ➋ cp 명령을 이용해서 giants라는 파일로 복사합니다. ➌ 원본과 사본의 권한과 소유권, 변경한 시각이 같습니다.
supreme@master:~$ touch teamdata ➊ supreme@master:~$ cp teamdata giants ➋ supreme@master:~$ ls -l ➌ -rw-rw-r-- 1 supreme supreme 0 7월 25 20:00 giants -rw-rw-r-- 1 supreme supreme 0 7월 25 20:00 teamdata ...
원본 또는 사본의 경로를 구체적으로 지정할 수도 있습니다. ➊ teamdata 파일을 하위 디렉터리 BaseballTeam/KBO에 twins라는 파일로 복사합니다. ➋ 해당 디렉터리에서 복사된 파일을 찾을 수 있습니다.
supreme@master:~$ cp teamdata BaseballTeam/KBO/twins ➊ supreme@master:~$ ls -l BaseballTeam/KBO/ ➋ -rw-rw-r-- 1 supreme supreme 0 7월 25 20:05 twins
-r(--recursive) 옵션을 붙이면 하위 디렉터리에 존재하는 디렉터리와 파일을 모두 복사합니다. -a(--archive) 옵션은 파일을 복사하는 과정에서 접근 권한과 소유자, 그룹, 파일 수정 시간 정보를 그대로 보존합니다. ➊ KBO 디렉터리를 MLB 디렉터리로 복사합니다. ➋ 복사된 하위 디렉터리의 접근 권한과 소유권, 변경 시각이 그대로 유지됩니다.
supreme@master:~$ cp -ar BaseballTeam/KBO BaseballTeam/MLB ➊ supreme@master:~$ ls -l BaseballTeam ➋ drwxrwxr-x 2 supreme supreme 4096 7월 25 20:05 KBO drwxrwxr-x 2 supreme supreme 4096 7월 25 20:05 MLB