폴더라는 뜻인 건 알지만 /
한 가지 이해가 안 되는 게 있습니다.
문제를 설명하는 명령:
mv ~/Documents/newfolder ./anothernamefolder
왜 여기에 있습니까 /
? 그것은 무엇을 합니까? 다음을 입력할 수 없는 이유는 무엇입니까?
mv ~/Documents/newfolder . anothernamefolder
답변1
내 댓글 링크에 따라 (Linux에서 ./(점-슬래시)는 무엇을 의미합니까?), 짐작할 수 있듯이 슬래시( /
)는 디렉터리 "표현"입니다.
두 가지 예에서 슬래시는 다른 것을 나타냅니다.
mv ~/Documents/newfolder ./anothernamefolder
newfolder
Documents
사용자의 홈 디렉터리( ) 아래에 있는 디렉터리를 ~
현재 디렉터리( )로 이동 ./
하고 이름을 anotherfolder
.
두 번째에는
touch {jan,feb,mar,apr}_{2017..2019}/file{1..100}
여러 디렉토리의 파일을 터치합니다.
따라서 명령에 지정된 각 디렉토리에 대해 {jan,feb,mar,apr}_{2017..2019}
create files file{1..100}
.
여기에 "/"가 왜 있는 걸까요? 그것은 무엇을 합니까? 다음을 입력할 수 없는 이유는 무엇입니까?
위와 같이 ./
현재 디렉터리를 표현한 것입니다.
사용한 적이 있는 경우
mv ~/Documents/newfolder . anothernamefolder
명령을 실행하면 모호한 리디렉션을 지정했기 때문에 오류가 발생합니다.
$ mv ~/Documents/newfolder . anotherfolder
usage: mv [-f | -i | -n] [-v] source target
mv [-f | -i | -n] [-v] source ... directory
점을 사용하여 이동할 수 있지만 이름은 변경되지 않고 .
호출된 폴더만 이동됩니다 .newfolder
$ mv ~/Documents/newfolder .
$ ls
newfolder
답변2
/
분리된디렉토리(폴더는 GUI 용어입니다).
mv
-command /
의 별도 ~
및 Documents
첫 번째 매개변수 에서 newfolder
이는 각각이 이전 매개변수의 하위 디렉토리임을 의미합니다.
두 번째 매개변수도 마찬가지입니다. 이는 파일이 anothernamefolder
. .
( .
이 컨텍스트에서는) 현재 디렉토리가 ./
필요하지 않음을 의미하므로 .
제안한 대로 간단히 제거하면 /
명령의 의미가 변경됩니다. 즉, ( 외에도 ) 로 ~/Documents/newfolder
이동하려고 합니다 . 이는 불가능하며 오류가 발생합니다..
anothernamefolder
mv