standardmäßig ~
wird der Wert gegeben von/home/username/
Wenn ich den Befehl verwende, cd ~
geht es in das Verzeichnis/home/username/
Wie ändere ich den Wert in eine andere Datei wie etwa /home/Benutzername/Dateiname?
Ich weiß, dass das gefährlich sein kann, aber ich arbeite an einem CTF, also ist es in Ordnung.
Antwort1
Die Tilde (~) wird von Ihrer Shell als Kurzform von interpretiert
$HOME
.Versuchen Sie die folgenden Befehle:
echo ~ HOME=foo echo ~
Dies sollte zuerst Ihr tatsächliches Home-Verzeichnis und anschließend „foo“ ausgeben, da Sie $HOME darauf gesetzt haben.
Der Standardwert
$HOME
stammt aus Ihrer Systemkonfiguration. Verwenden Sie diesen Wertgetent passwd
, um alle bekannten Benutzer und ihre Home-Verzeichnisse aufzulisten. Abhängig von Ihrer Systemkonfiguration können diese Einträge von/etc/passwd
einem beliebigen Remote-Verzeichnisdienst stammen.Wenn Sie Ihr Home-Verzeichnis nur vorübergehend neu definieren möchten, legen Sie einfach ein anderes fest
$HOME
.Wenn Sie es dauerhaft ändern möchten, müssen Sie den Passworteintrag ändern, zB durch manuelles Bearbeiten
/etc/passwd
.
Antwort2
Versuchen Sie, die Variable zu ändern $HOME
, da Tilde ( ~
) eine Kurzform von ist $HOME
, oder ändern Sie das Home-Verzeichnis Ihres Benutzers in, /etc/passwd
aber das wird nicht empfohlen.
Warum versuchst du nicht,aliasfür cd /home/username/filename
so was:
alias documents='cd ~/Documents'
Wenn Sie jetzt tippen, documents
ändert es sich zu/home/user/Documents
Mehr Infos unterman alias
.
Um diesen Alias dauerhaft zu machen,Überprüfen Sie diese Frage.