내 OCD는 직접 상호 작용하지 않기 때문에 이름이 마음에 들지 않는 디렉토리를 숨기고 싶습니다.
도트 표기법을 사용하지 않고 디렉토리를 숨기려면 어떻게해야합니까?
노틸러스에 파일이 표시되지 않도록 숨길 경우에만 그놈 버그질라에 bug 가 있습니다. 그러나 현재 해당 버그는 해결되지 않았습니다.
노틸러스에 파일이 나타나지 않도록 숨기는 또 다른 방법이 있습니다. 디렉토리 내에 .hidden
라는 파일을 생성하면 파일에 나열된 파일 이름이 표시되지 않습니다.
예를 들어 아래는 내가 만든 .hidden 파일입니다. 이 파일은 .hidden 파일과 동일한 디렉토리에있는 b
또는 e
이라는 파일 또는 폴더를 숨 깁니다.
아래는 .hidden 파일이 들어있는 폴더의 스크린 샷입니다. a
, c
및 f
의 세 파일 만 표시됩니다. '.'때문에 .hidden 파일이 보이지 않습니다. 이름의 시작 부분에.
아래 스크린 샷은 이전과 동일한 폴더입니다. 그러나 이번에는 Ctrl+H 노틸러스가 숨겨진 파일과 폴더를 표시하도록합니다. 몇 개의 추가 파일이 어떻게 나타나는지 확인하십시오. 이름이 '.'로 시작하여 이전에 숨겨져 있던 여러 파일이 표시됩니다. 'b'와 'e'라는 파일도 있는데, '.'로 시작하는 이름은 없지만 .hidden 파일에 나열되어 숨겨져 있습니다.
.hidden 파일에 언급 된 파일은 노틸러스에서만 숨겨집니다. ls
와 같은 도구는 계속 표시됩니다. .hidden 파일도 재귀 적이 지 않습니다. .hidden 파일과 동일한 디렉토리에있는 파일에만 영향을줍니다.
포럼의 일부 사람들은 .hidden 파일에 파일을 쉽게 추가 할 수있는 노틸러스 용 스크립트를 작성했습니다. first script 에는 스크립트를 설치하고 사용하는 방법에 대한 멋진 설명이 포함되어 있지만 second script 는 약간 더 깨끗하고 짧습니다. 인생을 조금 더 쉽게하기 위해 두 스크립트를 자유롭게 사용하십시오.
유닉스와 리눅스는 .
가있는 폴더 숨기기 만 지원합니다.
실제로 방해받지 않고 .
s를 가지지 않으려면 숨기려는 파일 또는 폴더와 같은 디렉토리에있는 .hidden
에 모두 넣으십시오. .hidden
은 (는) 파일 관리자에 의해 노출되지 않으며 파일 이름이 변경되지 않습니다.
커맨드 라인에서 .bash_aliases
파일에서 다음과 같은 것을 시도 할 수 있습니다.
lsh() {
[ -s .hidden ] && echo "lsh: hiding $(wc -l .hidden) patterns" && ls [email protected] | grep -v -F "$(cat .hidden)";
[ ! -f .hidden ] && ls [email protected]
}
lsh
처럼 동작하지만 .hidden
디렉토리에 나열된 파일을 숨기는 새 명령 ls
이 추가됩니다. (컬러 출력 및 열 목록과 같은 일부 기능이 누락되었습니다.)
파일을 숨기려면 * NIX 규칙과 같이 앞에 .
로 이름을 바꾸면됩니다. 미안하지만 그게 다야.
그러나 파일/디렉토리의 content를 숨기려면 파일 권한으로 그렇게 할 수 있습니다.
따라서 secret_stash
라는 폴더에 많은 파일이 있다고 가정하면 소유자 (소유자) 만 r-x
(읽기, 실행) 및 다른 사람이 ---
(액세스 없음)을 갖지 않도록 파일을 변경할 수 있습니다. r-x
는 디렉토리를 보는 데 필요한 최소한의 perms이므로 (내용에 액세스하여 볼 수 있도록 실행) 해당 폴더 내부의 모든 항목은 root
을 제외한 모든 사람에게 효과적으로 숨겨집니다.
NOTE :이 데모를 root
(으)로 실행하고 myuser
(으)로 폴더에 액세스하려고합니다.
이렇게하려면 chmod 700 dirname
를 실행하십시오 (700은 rwx------
를 의미 함).
% mkdir secret_stash
% chmod 700 secret_stash
그리고 여기 있습니다 :
% whoami
root
% ls -ld secret_stash
drwx------ 2 root root 4.0K 2010-08-12 07:59 secret_stash/
% ls secret_stash
./ ../ secret.txt
% cat secret_stash/secret.txt
TOP SECRET DATA
이제 myuser
에서 액세스하려고하면 폴더 또는 해당 폴더의 내용에 액세스하려는 시도가 실패합니다.
% whoami
myuser
% ls -ld secret_stash
drwx------ 2 root root 4.0K 2010-08-12 07:59 secret_stash/
% ls secret_stash
ls: cannot open directory secret_stash: Permission denied
% cat secret_stash/secret.txt
cat: secret_stash/secret.txt: Permission denied
그리고 지금 나는 "비밀"이라는 단어를 여러 번 말했지만 모든 의미를 잃어 버렸습니다!
첫 번째 방법 : 다른 사람으로부터 파일을 숨기려면 linux 침입 탐지 시스템 을 설치하십시오. ( Snort 는 예입니다.) "root"에서 파일을 숨길 수도 있지만 "root"는 해당 설정을 되돌릴 수도 있습니다.
그러나 파일을 보유한 디렉토리의 권한을 "루트"로 설정하는 것이 더 쉬울 수 있습니다. 예:
$ Sudo su
# mkdir tmp/
# touch tmp/1
# chown root:root tmp
# chmod 000 tmp
# ls -l
total 4
d--------- 2 root root 4096 2015-08-07 06:36 tmp
# exit
exit
$ ls
tmp
$ cd tmp/
bash: cd: tmp/: Permission denied
1
파일은보기에서 효과적으로 숨겨집니다.
디렉토리가 보입니다. 파일이 보이지 않습니다. "마음"은 항상 모든 파일에 액세스 할 수 있습니다.
chattr
과 함께 파일을 변경할 수 없게 만들 수도 있습니다.
Sudo su
chattr + i {file}
chattr
이 되돌려지지 않는 한 "root"조차도 파일을 변경할 수 없습니다 (그리고 "root"는 그렇게 할 수 있습니다).
그것에 대한 키보드 단축키?
아니요,이 작업은 수동으로 수행해야합니다.
nautilus-hide라는 노틸러스 확장명도 있습니다. 파일이나 폴더를 마우스 오른쪽 버튼으로 클릭하여 숨길 수 있습니다.
이 확장을 설치하려면 : Sudo apt-get install nautilus-hide
터미널에서 또는 Ubuntu Software Center에서 "nautilus hide"를 검색하십시오.
설치 후 노틸러스를 종료하는 것을 잊지 마십시오 : Alt+F2 nautilus -q
를 입력하십시오.