~라는 이름의 파일을 꺼냅니다.

~라는 이름의 파일을 꺼냅니다.

그래서 저는 aMule에서 음악 앨범을 다운로드했고 그것은 디렉토리에 있습니다 .aMule/Incoming. 다음 명령을 사용하여 이동하려고했습니다.

 mv albumName.rar ~

~물결표가 홈 디렉토리용으로 예약되어 있기 때문에 이름 .aMule/Incoming을 바꿀 수 없는 파일이 생겼습니다 . 숨겨진 파일을 표시하여 노틸러스를 통해 액세스할 수 있다는 것을 알고 있습니다. 터미널에서 어떻게 꺼낼 수 있나요?

업데이트 지금의 모습은 이렇습니다

   manuzhang@manuzhang-R458-R457:~/.aMule/Incoming$ ls -l
   total 328
   -rw-r--r-- 1 manuzhang manuzhang 297266 2012-03-19 12:07 ~
   -rw-r--r-- 1 manuzhang manuzhang  34479 2011-10-11 19:51 [kat.ph]friends.season.1.with.english.subtitles.torrent

답변1

mv \~ ~/albumName.rar
mv '~' ~/albumName.rar
mv ./~ ~/albumName.rar

백슬래시를 앞에 넣어 셸에서 특별한 의미를 갖는 문자를 항상 보호할 수 있습니다.

작은따옴표 안에 넣어서 언제든지 시퀀스를 문자 그대로 해석하도록 쉘에 지시할 수 있습니다. 이러한 리터럴 문자열 안에 넣을 수 없는 유일한 문자는 작은따옴표 자체입니다. 작은따옴표는 리터럴 문자열의 끝을 나타내기 때문입니다. '\''대신 사용할 수 있습니다 . 이는 "리터럴의 끝, 문자 ', 리터럴의 시작"을 의미하지만 작은따옴표 안에 리터럴 문자열 안에 작은따옴표를 넣는 이상한 방법으로 생각할 수 있습니다.

문자는 ~경로 시작 부분에만 특수하므로 디렉토리 표시를 넣으면 ~이 디렉토리에 있는 파일의 이름이 됩니다.

파일 이름이 로 시작하는 경우 -이 세 가지 방법 중 마지막 방법만 작동합니다. 이는 -쉘에 특별하지 않기 때문입니다. 이는 명령에 대해 특별한 의미를 갖습니다. 즉, 옵션을 나타냅니다. 이 특별한 의미를 방지하는 또 다른 방법은 -특수 옵션을 --그 앞에 두는 것입니다. --명령줄에서는 옵션의 끝을 나타내며 그 뒤에는 파일 이름(또는 기타 옵션이 아닌 인수)만 올 수 있습니다.

~또한 표시되는 명령은 문자가 셸에서 해석되어야 하므로 파일을 홈 디렉터리에 복사해야 한다는 점에 유의하세요 . .라는 이름이 아닌 파일을 잘못 입력하여 생성했을 가능성이 있습니다 ~. ls -q또는 를 실행하여 ls -Q파일 이름에 인쇄할 수 없는 문자가 포함되어 있는지 확인하세요. 시각적 표시가 제공되지 않는 경우, ls | od -t o1파일 이름의 각 바이트에 대한 8진수 코드를 표시하는 를 시도해 보십시오. ksh, bash 또는 zsh에서는 $'\123'명령줄에서 를 사용하여 8진수 코드로 문자를 지정할 수 있습니다. 또는 파일과 일치하는 패턴을 찾을 수도 있습니다. 예를 들어, 파일 이름의 길이가 3이고 길이가 2인 다른 파일은 foo및 뿐이라고 판단한 경우 bar다음을 사용하여 파일을 이동할 수 있습니다.

mv ./[^bf]?? ~/albumName.rar

그리고 마우스를 사용할 의향이 있고 이름이 입력 방법을 모르는 인쇄 가능한 문자로 구성된 경우: 의 출력에서 ​​파일 이름을 복사하여 붙여넣습니다 ls.

답변2

파일 경로를 지정합니다.

cat ./~

답변3

붙여넣은 업데이트에 따르면 단순한 물결표가 아닌 고급 ASCII 또는 유니코드 문자가 표시됩니다. mc또는 다른 파일 관리자를 사용할 수 있습니까? 다 옮기는 건 어때?또 다른해당 디렉토리에서 나온 다음 탭 완성을 사용하시겠습니까?

관련 정보