![이 예에서 파일 이름 확장이 작동하지 않는 이유는 무엇입니까? [복사]](https://linux55.com/image/133718/%EC%9D%B4%20%EC%98%88%EC%97%90%EC%84%9C%20%ED%8C%8C%EC%9D%BC%20%EC%9D%B4%EB%A6%84%20%ED%99%95%EC%9E%A5%EC%9D%B4%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
다음을 사용하여 일부 파일을 삭제합니다 trash-cli
.
$ pwd
/tmp/test
$ sudo trash mfile
$
그런 다음 삭제된 파일이 저장된 위치를 찾습니다.
$ sudo ls /.Trash/0/ -la
total 16
drwx------ 4 root root 4096 May 19 16:52 .
drwx------ 3 root root 4096 May 19 16:52 ..
drwx------ 2 root root 4096 May 19 16:52 files
drwx------ 2 root root 4096 May 19 16:52 info
$ sudo ls /.Trash/0/* -la
ls: cannot access '/.Trash/0/*': No such file or directory
$ sudo ls /.Trash/0/files/ -la
total 12
drwx------ 2 root root 4096 May 19 16:52 .
drwx------ 4 root root 4096 May 19 16:52 ..
-rw-rw-r-- 1 t t 6 May 19 16:48 mfile
두 번째 명령에서 파일 이름 확장이 작동하지 않는 이유는 무엇입니까?
감사해요.
답변1
첫 번째 ls
디스플레이는 /.Trash/0/
루트(첫 번째 줄, 에 사용되는 줄 .
)만 읽을 수 있습니다. 당신이 사용하고 있는 것은 sudo
아마도 루트가 아니기 때문에 쉘은 디렉토리의 내용을 나열할 수 없으며 확장 할 수도 없습니다 *
.ls /.Trash/0/
sudo
Permission denied
sudo echo foo > /some/path/filename
이는 루트만 쓸 수 있는 경우 작동하지 않는 것과 유사합니다 /some/path
. 쉘은 실행하기 전에 확장 및 리디렉션을 처리합니다 sudo
. sudo bash -c 'ls /.Trash/0/*'
명령줄을 처리하려면 이것이 필요합니다 sudo
.