답변:
터미널을 열고 다음 명령을 실행하십시오.
mv -v ~/Downloads/* ~/Videos/
모든 파일과 폴더가 다운로드 폴더에서 비디오 폴더로 이동합니다.
폴더가 아닌 모든 파일을 이동하려면 :
폴더가 아닌 모든 파일을 다운로드 폴더에서 비디오 폴더로 이동하려면이 명령을 사용하십시오.
find ~/Downloads/ -type f -print0 | xargs -0 mv -t ~/Videos
하위 폴더가 아닌 다운로드 폴더에서만 파일을 이동하려면
Downloads 폴더의 모든 파일을 이동하지만 Download 폴더의 폴더에있는 파일은 이동하지 않으려면 다음 명령을 사용하십시오.
find ~/Downloads/ -maxdepth 1 -type f -print0 | xargs -0 mv -t ~/Videos
여기서 -maxdepth
옵션은 찾기가 얼마나 깊이 시도해야 하는지를 지정합니다. 1
즉, find 명령에 지정된 디렉토리 만 의미합니다. 다음을 사용하여 시도 할 수 있습니다 2
, 3
테스트도.
자세한 설명 은 Ubuntu find 맨 페이지 를 참조하십시오
-print0 | xargs -0 mv -t ~/Videos
보다 효율적으로 수행 할 수 있습니다 -exec mv -t ~/Videos \{\} \+
:-)
mv -v ~/Downloads/* ~/Videos/
은 숨겨진 파일에 대해 작동하지 않습니다
mv ~/Downloads/* ~/Videos
원하는 디렉토리에 하위 폴더를 포함한 모든 파일이 이동합니다 mv
. cp
(복사) 또는 rm
(제거) 하려는 경우 -r
하위 폴더를 포함 하려면 (재귀) 옵션 이 필요합니다 .
mv
는 하위 폴더를 포함하기 위해 재귀 옵션이 필요하지 않습니다. 이름 바꾸기에도 사용할 수 있습니다.
간단한 경우 :
mv ~/Downloads/* ~/Videos
점 (숨겨진) 파일도 이동하려면 dotglob shell 옵션 을 설정하십시오 .
shopt -s dotglob
mv ~/Downloads/* ~/Videos
쉘 옵션 세트가 남습니다.
한 번의 dotglob 사용을 위해 서브 쉘에서 명령을 실행하십시오.
(shopt -s dotglob; mv ~/Downloads/* ~/Videos)
(shopt -s dotglob; mv ~/Downloads/* ~/Videos)
만 이동 (잘라 내기)합니다. 이 경우 원본 및 대상 폴더가 모두 존재해야합니다. 마지막에 원점 디렉토리가 비게됩니다.
rsync
예를 들어을 사용하여 가능합니다 .
rsync -vau --remove-source-files src/ dst/
어디:
-v
,--verbose
: 상세도를 높입니다.
-a
,--archive
: 보관 모드; 동일-rlptgoD
(NO-H
,-A
,-X
).
-u
,--update
: 수신기에서 최신 파일을 건너 뜁니다.
--remove-source-files
이것은rsync
전송 측에서 전송 의 일부이며 수신 측에서 성공적으로 복제 된 파일 (디렉토리를 의미하지 않음)을 송신 측에서 제거하도록 지시 합니다 .
루트 권한이 있다면 접두사로 sudo
잠재적 권한 문제를 무시하십시오.
mv
명령을 사용하여 파일 이름을 바꾸는 것처럼 컨텐츠가 있거나없는 디렉토리를 새 이름으로 이동하려면 다음을 수행하십시오.
mv -T dir1 dir2
어디:
-T
대상을 일반 파일로 취급dir1
디렉토리의 원래 이름입니다dir2
디렉토리의 새로운 이름입니다주의 : dir2
존재하지 않아도됩니다.
나는 이것이 멍청한 사람으로 많은 시간을 절약하기를 희망합니다.이 전에, 나는 새로운 이름으로 디렉토리를 만든 다음 디렉토리의 내용을 이전에 작성된 디렉토리로 옮길 것입니다.
하위 디렉토리에 사용
이 명령은 많은 파일이 대상 디렉토리의 하위 폴더에 저장된 경우에 유용합니다 Downloads/mp4
. 이 예제에서 실행 mv -T Downloads/mp4 Videos
하면 mp4
하위 폴더가 제거 되고 내부에 포함 된 모든 파일이 비디오 폴더로 이동됩니다.
dir1
제거 될 수 있음을 보여줍니다 . 이 예방 조치 외에도이 답변은 매일 사용하기에 좋은 것을 지적했습니다.
mv fileA fileB
하지만 -T
이 경우 플래그는 대상 / 디렉토리를 파일로 취급하고 이름을 바꿉니다.
cd folderNamehere
pwd
. 이동하려는 디렉토리도 인쇄됩니다.cd folderNamehere
mv *.* typeAnswerFromStep2here
그러면 모든 파일이 해당 디렉토리에서 다른 디렉토리로 이동합니다.
foo.txt
, bar.
그리고 bar
모두 bar.
와 bar
이동되지 않습니다. *
대신에 사용하여 *.*
처리합니다. 그러나 두 경우 모두 :와 같은 숨겨진 파일은 .foobar
이동되지 않습니다.
시도 해봐
find ~/Desktop -type f -iname "*.mp4" -exec mv {} ~/Videos \;
-type 인수와 함께 -type 디렉토리를 의미하는 -d를 사용하는 경우 평균 파일 인이 명령문에서 file.type을 지정할 수 있습니다.
-iname : 파일을 찾는 가장 일반적이고 명백한 방법은 -name 인수를 사용하는 것입니다. 대소 문자 구분이 확실하지 않은 경우 -iname 인수를 사용할 수 있습니다
mv {} 그리고 마지막으로 대상 디렉토리를 지정한 다음 mv {} 인수를 사용하여 파일을 이동시킵니다.
files
있지만, 사람들이 얼마나뿐만 아니라 이동하는 방법을 보여files
하지만,folders
뿐만 아니라. 그 확인은?