소스 파일이 대상 파일을 덮어쓸 때 파일 정보(크기, 날짜 등)를 표시할 수 있는 "super" mv 명령이 있습니까? 파일이 이동되고 두 파일의 이름이 같은 경우입니다.
이런 일이 발생하면 먼저 "mv" 명령을 취소하고 대상 폴더를 "ls"하고 파일 크기, 타임스탬프 등을 확인한 다음 소스 파일과 비교하여 어떤 파일을 유지하고 싶은지 확인해야 합니다. 덮어쓰면 mv 작업이 복원되고, 그렇지 않으면 "rm" 소스 작업만 필요합니다.
진행 중인 명령을 취소하지 않고도 결정을 내릴 수 있도록 X 세션이나 Windows에서 발생하는 것과 유사한 동작을 얻는 것이 좋을 것입니다.
답변1
smv
("super move"의 경우) 와 같은 매우 간단한 스크립트 래퍼를 사용하십시오 .
스크립트는 cmd 와 마찬가지로 정확히 2개의 매개변수를 허용합니다 mv
. 예를 들어 을 사용하여 실행 가능한지 확인 chmod 751 smv
하고 해당 위치에 해당하는 경로가 yr PATH
변수에 있는지 확인하십시오.
#!/usr/bin/bash
if ! [ $# -eq 2 ]; then
printf "%s\n" "Usage: Include exactly 2 fully qualified file names as arguments, as in:" \
" $ smv /path/to/source /path/to/destination" "Abort."
elif [ -e "$2" ]; then
(printf "\n%s\n\n" "Destination file exists." && /usr/bin/stat "$2" ) 2>&1
printf "\n"
read -p "Clobber it ? (Y/n): " answer
case "$answer" in
N|n) echo "$1 not moved; $2 preserved. Abort."; exit(11) ;;
Y|y) \mv -f "$1" "$2" ;;
esac
else
printf "\n%s\n" "Destination file does not exist."
\mv -i "$1" "$2"
printf "%s\n" "$1 was moved to $2."
fi
화타이
답변2
-i
또는 덮어쓰기 전에 메시지를 표시 --interactive
하는 옵션 mv
. 그런 다음 파일 이름을 다른 터미널에 쉽게 복사하고 그곳에서 해당 메타데이터를 볼 수 있습니다.