it-swarm-eu.dev

Wie kann ich Verzeichnisse oder Dateien ausblenden, ohne deren Namen zu ändern?

Die OCD in mir möchte, dass Verzeichnisse, deren Namen ich nicht mag, ausgeblendet werden, da ich nicht direkt mit ihnen interagiere.

Wie kann ich Verzeichnisse ausblenden, ohne die Punktnotation zu verwenden?

50
myusuf3

Angenommen, Sie möchten nur die Dateien vor dem Auftauchen in Nautilus verbergen, dann gibt es auf GNOME Bugzilla ein Bug . Derzeit ist dieser Fehler jedoch noch nicht behoben.

Es gibt eine andere Möglichkeit, Dateien vor dem Erscheinen in Nautilus zu verbergen. Wenn Sie eine Datei mit dem Namen .hidden in einem Verzeichnis erstellen, werden die in der Datei aufgeführten Dateinamen nicht angezeigt.

Im Folgenden finden Sie beispielsweise eine ausgeblendete Datei, die ich erstellt habe. Diese Datei versteckt alle Dateien oder Ordner mit dem Namen b oder e, die sich im selben Verzeichnis wie die versteckte Datei befinden.

Example .hidden File

Unten ist ein Screenshot des Ordners, der die versteckte Datei enthält. Beachten Sie, dass nur drei Dateien angezeigt werden: a, c und f. Sie sehen die versteckte Datei aufgrund des '.' Nicht am Anfang seines Namens. Example Folder

Der Screenshot unten befindet sich im selben Ordner wie zuvor. Diesmal schlug ich jedoch zu Ctrl+H um Nautilus zu veranlassen, versteckte Dateien und Ordner anzuzeigen. Beachten Sie, dass mehrere zusätzliche Dateien angezeigt werden. Sie sehen nun mehrere Dateien, die zuvor aufgrund von Namen, die mit einem '.' Begannen, ausgeblendet wurden. Es gibt jetzt auch Dateien mit den Namen 'b' und 'e', ​​die zwar keine Namen haben, die mit '.' Beginnen, jedoch aufgrund der Auflistung in der versteckten Datei versteckt wurden.

Example Folders With Hidden Files Visible

Dateien, die in der versteckten Datei erwähnt werden, werden nur in Nautilus versteckt. Tools wie ls zeigen sie weiterhin an. Die versteckte Datei ist auch nicht rekursiv. Es betrifft nur Dateien in demselben Verzeichnis, in dem sich die versteckte Datei befindet.

Einige Leute im Forum haben Skripte für Nautilus erstellt, die das Hinzufügen von Dateien zur versteckten Datei erleichtern. Das erste Skript enthält eine nette Erklärung zur Installation und Verwendung der Skripte, aber das zweite Skript ist etwas übersichtlicher und kürzer. Fühlen Sie sich frei, eines der beiden Skripte zu verwenden, um Ihr Leben ein bisschen einfacher zu machen.

79
nhandler

Unix und Linux unterstützen nur das Ausblenden von Ordnern mit einem ..

Wenn Sie sie wirklich aus dem Weg räumen möchten, aber nicht möchten, dass sie .s haben, speichern Sie sie alle in einem .hidden im selben Verzeichnis wie die Datei oder den Ordner, den Sie ausblenden möchten. .hidden wird vom Dateimanager nicht verfügbar gemacht, und Ihre Dateien werden nicht umbenannt.

13
lfaraone

Von der Befehlszeile aus können Sie in Ihrer .bash_aliases -Datei Folgendes versuchen:

lsh() {
    [ -s .hidden ] && echo "lsh: hiding $(wc -l .hidden) patterns" && ls [email protected] | grep -v -F "$(cat .hidden)";
    [ ! -f .hidden ] && ls [email protected]
}

Dies fügt einen neuen Befehl lsh hinzu, der sich wie ls verhält, jedoch die in einem .hidden -Verzeichnis aufgelisteten Dateien verbirgt. (Es fehlen auch einige seiner Funktionen wie kolorierte Ausgabe und Spaltenauflistungen.)

3
qneill

Wenn Sie Dateien ausblenden möchten, müssen Sie sie nur mit einem vorangestellten . umbenennen, wie dies bei der * NIX-Konvention der Fall ist. Entschuldigung, aber das war's.

Wenn Sie jedoch das content der Dateien/Verzeichnisse ausblenden möchten, können Sie dies mit Dateiberechtigungen tun.

Angenommen, Sie haben eine Reihe von Dateien in einem Ordner mit dem Namen secret_stash. Sie können diesen Ordner so ändern, dass nur Sie (der Eigentümer) r-x haben (lesen, ausführen) und alle anderen haben nichts --- (kein Zugang). Da r-x die Mindestdauer ist, die zum Anzeigen eines Verzeichnisses erforderlich ist (um auf dessen Inhalt zuzugreifen und ihn auszuführen, um ihn sehen zu können), ist alles in diesem Ordner praktisch vor allen Benutzern außer root verborgen.

NOTE: Ich führe diese Demo als root aus und versuche, als myuser auf den Ordner zuzugreifen.

Dazu führen Sie chmod 700 dirname aus (700 bedeutet rwx------):

% mkdir secret_stash
% chmod 700 secret_stash

Und hier ist es:

% 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

Wenn ich jetzt versuche, über myuser darauf zuzugreifen, schlagen Versuche fehl, auf den Ordner oder dessen Inhalt zuzugreifen:

% 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

Und jetzt habe ich das Wort "Geheimnis" so oft gesagt, es hat jede Bedeutung verloren !!

2
jathanism

1. off: wenn du eine datei vor irgendjemandem verstecken willst: installiere ein linux intrusion detection system . ( Snort ist ein Beispiel) Sie können eine Datei sogar vor "root" verstecken, aber "root" kann diese Einstellung auch zurücksetzen.


Es ist jedoch möglicherweise einfacher, die Berechtigungen des Verzeichnisses, in dem sich die Datei befindet, auf "root" zu setzen. Beispiel:

 $ 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

Und die Datei 1 ist praktisch nicht sichtbar.

Verzeichnis wird sichtbar sein; Datei wird nicht sichtbar sein. Beachten Sie jedoch: "root" hat IMMER Zugriff auf alle Dateien.


Zusammen mit dem chattr können Sie die Datei sogar unveränderlich machen.

Sudo su    
chattr + i {file}

und selbst "root" kann die Datei nicht ändern - es sei denn, chattr wird zurückgesetzt (und ja, "root" kann das tun).

Irgendeine Tastenkombination dafür?

Nein, das müssen Sie manuell tun.

2
Rinzwind

Es gibt auch eine Erweiterung für Nautilus namens nautilus-hide, mit der Sie Dateien oder Ordner durch einfaches Klicken mit der rechten Maustaste ausblenden können.

So installieren Sie diese Erweiterung: Sudo apt-get install nautilus-hide in einem Terminal oder suchen Sie im Ubuntu Software Center nach "nautilus hide".

Vergessen Sie nicht, Nautilus nach der Installation zu beenden: Alt+F2 und tippe nautilus -q.

0
SNugues