일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이미지 레지스트리
- linux
- 셸
- 컨테이너
- 리눅스
- umask
- etc
- image
- PS
- container
- 레드햇
- 디스크
- find
- Docker
- 명령어
- lcoate 설치
- Ctrl
- 자격증
- RM
- docker logs
- 도커
- q!
- docker logout
- 파일
- docker create
- locate 설치 방법
- LS
- mkdir
- 리눅스마스터2급
- 이미지
- Today
- Total
Bae's Digital Dialogues
리눅스[Linux] tree, cp, mv, find, rm 본문
디렉터리/파일의 구조를 확인하는 tree
일반 조회:tree
디렉터리만 조회:tree -d
숨김파일까지 조회:tree -a
깊이 지정 조회:tree -L{깊이}
$ tree -d #hoonlinux 하위 디렉터리 구조 확인(디렉터리만)
파일을 제외하고 디렉터리만 조회할 수 있다.
$tree -a #hoonlinux 하위 디렉터리 구조 확인(숨김파일도 함께 조회)
-a 옵션을 입력하면 숨긴 파일까지 함께 조회가 가능하다.
$ tree -L 1/etc
레벨을 1까지만 지정했기 때문에 하위 디렉터리까지 조회하지 않고 하나의 레벨까지만 출력해서 ls 명령을 사용한 것과 동일한 결과를 출력할 수 있다.
디렉터리/파일을 복사하는 cp
"copy"
파일 복사:cp [원본 파일] [대상 위치]
다른 이름으로 복사:cp [원본 파일] [위치와 파일명]
디렉터리 복사:cp -r [원본 위치] [대상 위치]
현재 디렉터리로 복사:cp -r [원본 위치] .
$ tree -a ~/hoonlinux #~/hoonlinux 디렉터리 구조 확인
tree -a 옵션을 사용해서 hoonlinux 디렉터리를 확인해 보면 이렇게 현재 alpha 디렉터리에 있는 파일 2개와 beta 디렉터리에 새롭게 생성한 2개의 파일을 확인할 수 있다.
이제 cp 명령을 활용해서 beta 파일 2개를 delta 디렉터리로 이동해 보겠다.
$ cp betafile2 ../delta #현재 디렉터리의 betafile2를 상위디렉터리의 delta로 복사
ls 명령으로 delta 디렉터리를 확인해 보면, 이렇게 betafile2가 정상적으로 복사된 것을 확인할 수 있다.
현재 디렉터리에도 여전히 betafile2가 남아있는 것을 확인할 수 있다.
이번에는 동일하게 delta 디렉터리에 파일명을 직접 지정해보겠다.
$ cp betafile2 ../delta/filefrombeta #현재 디렉터리의 betafile2를 상위디렉터리의 delta로 복사
ls 명령어로 delta를 확인해 보면 이렇게 새롭게 복사된 파일은 파일명이 수정된 것을 확인할 수 있다.
이제 cp 명령을 사용해서 디렉터리를 복사해 보겠다.
$ cp -r ~/hoonlinux/alpha ~/hoonlinux/alphacopy #alpha 디렉터리를 alphacopy 디렉터리로 전체 복사
tree -a 옵션을 사용해서 hoonlinux 디렉터리를 확인해 보면 이렇게 alpha 디렉터리가 alphacopy 디렉터리로 복사된 것을 확인할 수 있다.
다음으로 cp 명령을 사용해서 beta 디렉터리의 상위 디렉터리인 hoonlinux의 alpha 디렉터리에 있는 alphafile1을 현재 beta 디렉터리로 복사해 보겠다.
$ cp ../alpha/alphafile1 .
ls 명령을 사용하여 파일이 현재 디렉터리에 복사된 것을 확인할 수 있다.
$ cp ../alpha/alphafile1 ./filefromalpha #파일 명을 filefromalpha로 지정하며 복사(위 화살표를 이전 명령어 불러와서 사용)
ls 명령으로 확인해 보면 총 4개의 파일을 확인할 수 있다.
디렉터리/파일을 이동하는 mv
"move"
파일/디렉터리 이동:mv [원본 위치] [새 위치]
$ mv delta/filefrombeta gamma #filefrombeta 파일을 gamma 디렉터리로 이동
ls 명령으로 gamma 디렉터리의 내용을 확인해 보면 이렇게 filefrombeta가 정상적으로 이동된 것을 확인할 수 있다.
$ mv alpha/alphafile1 gamma/filefromalpha #alphafile1 파일을 gamma 디렉터리의 filefromalpha로 지정해서 이동
그러면 파일이 이동되면서 파일의 이름도 함께 변화하게 된다. 이제 두 개의 파일이 이동된 것을 확인할 수 있다.
$ tree -a
tree -a 명령어를 사용하여 hoonlinux 디렉터리를 확인해보았다.
이제 beta 디렉터리에 있는 모든 파일들을 gamma 디렉터리로 이동해 보겠다.
$ mv beta/* gamma #beta 디렉터리의 모든 파일을 gamma 디렉터리로 이동
ls로 gamma 디렉터리를 확인해 보면 이렇게 총 5개의 파일들을 확인할 수 있다.
이제 mv 명령을 사용해서 파일의 이름들을 수정해 보겠다.
$ mv gamma/betafile1 gamma/gammafile1 #betafile1 이름을 gammafile1로 변경
$ mv gamma/betafile2 gamma/gammafile2 #betafile2 이름을 gammafile2로 변경
ls gamma명령어로 확인해 보면 파일의 이름이 잘 변경된 것을 확인할 수 있다.
이제 마지막으로 디렉터리의 이름을 변경해 보겠다.
$ mv alphacopy alphamove #alphacopy 디렉터리의 이름을 alphamove로 변경
ls 명령어를 통해 mv 명령어로 디렉터리 명도 변경할 수 있는걸 확인해 보았다.
디렉터리/파일을 찾는 find
파일/디렉터리 찾기:
find [찾을 위치] -name [파일/디렉터리명]
find 명령을 사용하여 gammafile1을 찾아보겠다.
$ find ~/hoonlinux -name gammafile1
이렇게 hoonlinux 디렉터리 아래에 gammafile1이 검색된 것을 확인할 수 있다.
이번에는 beta디렉터리 기준으로 gammafile1을 검색해보겠다.
$ find ~/hoonlinux/beta -name gammafile1
beta 디렉터리를 기준으로 검색했을때는 gammafile1이 검색되지 않는 것을 확인할 수 있다.
디렉터리/파일을 삭제하는 rm
"remove"
파일 삭제:rm [삭제할 파일 위치]
디렉터리 삭제:rm -r[삭제할 디렉터리 위치]
파일 강제 삭제(*주의): rm -rf [삭제할 파일 위치]
rm alpha #alpha 디렉터리 삭제 시도
이 alpha는 디렉터리이기 때문에 삭제가 되지 않는다는 에러 메시지를 확인할 수 있다.
rm -r alpha #alpha 디렉터리 삭제
rm -r옵션을 주고 알파 디렉터리를 지정해서 삭제해 보았다. ls 명령을 통해 디렉터리가 4개 남은 것을 확인할 수 있다.
$ rm -rf gammafile1 gammafile2 #gammafile1, gammafile2 삭제
rm -rf 옵션을 사용해서 gammafile1과 gammafile2를 입력해서 2개의 파일을 한꺼번에 삭제해 보았고, ls 명령을 사용하여 3개의 파일이 남아 있는 것을 확인할 수 있다.
$ rm -rf filefrom* #filefrom으로 시작하는 모든 파일 삭제
ls 명령으로 filefrom으로 시작하는 filefromalpha와 filefrombeta가 모두 삭제되고, alphafile1만 남아 있는것을 확인할 수 있다.
$ rm -rf * #모든 파일과 디렉터리 삭제
ls 명령을 입력하여 이제 hoonlinux 디렉터리에는 아무 파일과 디렉터리가 없는 것을 확인할 수 있다.
'Linux' 카테고리의 다른 글
리눅스[Linux] cat, grep, 리다이렉트, less, tar (2) | 2024.06.10 |
---|---|
리눅스[Linux] vi 편집기 사용 (2) | 2024.06.03 |
리눅스[Linux] pwd, mkdir, ls, cd (0) | 2024.05.28 |
리눅스[Linux] 파일과 디렉터리 (0) | 2024.05.27 |
리눅스[Linux] 쉘을 사용하면서 만날 수 있는 문제 (0) | 2024.05.16 |