Linux-Datei kann nicht gelöscht werden
Normales Löschen
wenn Datei Wenn sie dem aktuellen Benutzer gehört, löschen Sie sie mit dem Befehl rm
rm -rf file.sh
Wenn sie nicht gelöscht werden kann, versuchen Sie, sie mit dem Root-Benutzer zu löschen. Wenn sie nicht gelöscht werden kann, lesen Sie bitte die Anweisungen unten .
Befehle, die Sie kennen müssen
Wenn die normale Löschmethode nicht funktioniert, müssen wir den folgenden Befehl kennen, um ihn zu löschen
lsattr
Der Befehl lsattr wird verwendet. Um die Attribute einer Datei anzuzeigen, verwenden Sie die folgende Methode:
# 列出 file.sh 文件的属性 lsattr file.sh # 列出当前目录下所有文件以及文件夹的属性 lsattr
Attributbeschreibung
i Nach dem Festlegen des Attributs kann die Datei nicht gelöscht werden. Umbenennen, und die Verbindung kann nicht geschrieben oder hinzugefügt werden. Nur der Root-Benutzer kann
a festlegen. Nach dem Festlegen des Attributs kann die Datei nur Daten hinzufügen und die Daten können nicht gelöscht oder geändert werden Der Root-Benutzer kann
A festlegen. Wenn Sie auf diese Datei oder dieses Verzeichnis zugreifen, wird die Zugriffszeit atime nicht geändert, wodurch verhindert werden kann, dass Maschinen mit langsamer E/A übermäßig auf die Festplatte zugreifen. Dies hilft auf langsameren Computern.
s Nachdem das Attribut festgelegt wurde und die Datei gelöscht wird, wird sie vollständig von der Festplatte gelöscht.
S Nachdem das Attribut festgelegt wurde, wird die Datei auf die Festplatte geschrieben synchron (normalerweise asynchron) u Nachdem das Attribut festgelegt wurde, wird die Datei gelöscht. Nachdem sich der Dateninhalt noch auf der Festplatte befindet, können Sie die Datei abrufen
e bedeutet, dass die Datei eine ausführbare Datei ist
chattr
chattr wird zum Ändern des Dateiattributs verwendet. Bitte wechseln Sie zum Root-Benutzer, um diesen Befehl zu verwenden. Wenn Sie ein Ubuntu-Benutzer sind, können Sie sudo vor dem Befehl hinzufügen Ändern Sie es
# 为 file.sh 文件增加 i 标识 chattr +i file.sh # 为 file.sh 文件去除 i 标识 chattr -i file.sh # 为 file.sh 增加 i, a 两个标识 chattr +ia file.sh # 为 file.sh 文件移除 i, a 两个标识 chattr -ia file.sh
Der eigentliche Vorgang
ist aus dem oben Gesagten bekannt. Wenn die Datei entweder auf das Attribut i oder a gesetzt ist, können wir die Datei nicht löschen, also müssen wir zuerst Entfernen Sie die i- und a-Attribute und führen Sie dann den Löschvorgang durch:
# 移除 i, a 属性 chattr -ia file.sh # 查看是否移除成功 lsattr file.sh # 移除文件 rm -rf file.sh
Wenn die Datei nicht erfolgreich gelöscht wurde, müssen wir prüfen, ob der Ordner, zu dem die Datei gehört, über das i- oder ein a-Attribut verfügt (dieses ist wirklich schwer zu finden)
# 退回上一级 cd .. # 直接使用 lsattr 命令,这样可以列出当前文件夹下所有文件和文件夹的属性 # 不要使用 lsattr 文件夹 这样的语法,这样是列出该文件夹下的文件的属性lsattr
Wenn der Ordner festgelegt ist, entfernen Sie das Attribut des Ordners und löschen Sie dann die Datei
Empfohlen: Linux-Serverwartung
Das obige ist der detaillierte Inhalt vonLinux-Dateien können nicht gelöscht werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!