mv : *로 통계 할 수 없습니다


답변:


7

이것이 발생할 수있는 두 가지 가능한 이유를 생각할 수 있습니다.

  1. 소스 디렉토리가 존재하지 않을 수 있습니다 (또는)
  2. 소스 디렉토리가 비어있을 수 있습니다

둘 중 하나라도 무시하십시오!


5

$USER사용자 이름으로 확장하려면 사용자 를 사용해야 합니다. /home/user라는 사용자가있는 경우에만 유효합니다 user. 홈 디렉토리에 temp1있고 temp2존재하는 경우 작동합니다.

mv /home/$USER/temp1/* /home/$USER/temp2

3

혼란을 조금 해결하고 해결하도록 노력하겠습니다.

  • 폴더 그 내용을 다른 폴더로 옮기려면 다음을 입력하십시오.

    mv ~/Scripts ~/Podcasts

  • 폴더 자체가 아닌 폴더의 내용 을 다른 폴더로 이동하려면 예를 들어을 입력해야합니다 mv ~/Scripts/* ~/Podcasts. echo ~/Scripts/*폴더 내용을 확인하기 위해 입력 할 수 있습니다

  • (또한 globstar모든 디렉토리 레벨을 통해 재귀를 허용하는 에 대해 알아야 하는 경우이 기사문서를 참조하십시오 . shopt -s globstar로 사용할 수 있지만 영구적으로 작동하려면 .bashrc에 넣어야합니다. .)

( tilde~에서 ~ / 스크립트는 /home/mike/쉘에 의해 자동으로 확장 되거나 사용자 이름으로 확장됩니다 )


0

bash를 사용하고 소스 디렉토리가 비어있는 경우 다음을 사용하여 쉘의 기본 glob 확장 동작을 수정할 수 있습니다.

shopt -s nullglob

mv소스 디렉토리가 비어있을 때 nullglob를 활성화하고 후속 명령이 올바르게 작동하도록합니다. ls예기치 않은 동작 과 같은 다른 명령이 발생할 수 있습니다 .

다음을 사용하여 nullglob를 다시 비활성화 할 수 있습니다.

shopt -u nullglob

자세한 내용은 여기여기를 참조하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.