Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >Einführung in die Linux-Datei- und Verzeichnisverwaltung (mit Code)
Der Inhalt dieses Artikels ist eine Einführung in die Linux-Datei- und Verzeichnisverwaltung (mit Code). Ich hoffe, dass er für Sie hilfreich ist . hat geholfen.
Grundlegende Befehle
Grundlegende Befehle
pwd-Befehl
Funktion: Den Namen des aktuellen Arbeitsverzeichnisses anzeigen
Option: -p Link anzeigen Der tatsächliche Pfad des
cd-Befehls
Funktion: Aktuelles Arbeitsverzeichnis wechseln
Häufig verwendet:
cd Zum Stammverzeichnis wechseln cd – Zum vorherigen Arbeitsverzeichnis zurückkehren cd.. Arbeitsverzeichnis wechseln Gehen Sie zum übergeordneten Verzeichnis des aktuellen Verzeichnisses cd /usr/local und wechseln Sie das Arbeitsverzeichnis zu /usr/local
ls-Befehl
Funktion: Verzeichnis- und Dateiinformationen anzeigen
Allgemeine Optionen:
-a Zeigt alle Dateien an, einschließlich versteckter Dateien, die mit beginnen. -h Humanisierte Anzeigekapazitätsinformationen. -l Zeigt detaillierte Informationen des Dokuments im Langformat an. -u Zeigt die letzte Datei oder das Verzeichnis an auf den zugegriffen wurde -t Nach Änderungszeit sortieren, ls Standard Nach Dateinamen sortieren -R Unterverzeichnisse rekursiv anzeigen
Touch-Befehl
Funktion: Dateien erstellen oder Dateizeit ändern
Zum Beispiel: $ touch hello.txt
Wenn die Datei hello.txt nicht vorhanden ist, erstellen Sie die Datei und ändern Sie, falls vorhanden, alle Zeiten in hello.txt auf die aktuelle Systemzeit.
mkdir-Befehl
Funktion: Ein Verzeichnis erstellen
Option: -p Ein mehrstufiges Verzeichnis erstellen
Zum Beispiel: $ mkdir -p /tmp/data/mysql
Wenn die /tmp/data-Verzeichnis Wenn es nicht vorhanden ist, wird das /data-Verzeichnis automatisch erstellt und anschließend das MySQL-Verzeichnis.
cp-Befehl
Funktion: Dateien oder Verzeichnisse kopieren
Optionen:
-r rekursiv, Unterdateien und Unterverzeichnisse kopieren (muss beim Kopieren von Verzeichnissen hinzugefügt werden) -a Behalten Sie beim Kopieren die Quelle bei. Alle Attribute des Dokuments
rm-Befehl
Funktion: Dateien oder Verzeichnisse löschen
Optionen:
-f Keine Eingabeaufforderung, erzwungenes Löschen -i Vor dem Löschen, Eingabeaufforderung, ob gelöscht werden soll -r Rekursiv Löschen, ein Verzeichnis und alle Inhalte unter dem Verzeichnis löschen
Seien Sie vorsichtig: rm -rf *
mv-Befehl
Funktion: Dateien oder Verzeichnisse verschieben oder umbenennen
Zum Beispiel:
Benennen Sie die Datei um $ mv hello.txt hello.doc Verschieben Sie die Datei in das angegebene Verzeichnis $ mv hello.txt /usr/local/src Verschieben Sie die Datei in das angegebene Verzeichnis und benennen Sie sie um it $ mv hello.txt /usr/local/src/ hello.doc
du-Befehl
Funktion: Berechnen Sie die Größe (Kapazität) einer Datei oder eines Verzeichnisses
Optionen:
-h Humanisierte Anzeige von Kapazitätsinformationen-a Alle Verzeichnisse und Dateien anzeigen Kapazitätsinformationen -s zeigt nur die Gesamtkapazität an
Befehl zum Anzeigen des Dateiinhalts
cat-Befehl
Funktion: Dateiinhalt anzeigen
Option:
-b Zeilennummer anzeigen, Leerzeilen zeigen keine Zeilennummern an -n zeigt Zeilennummern an, einschließlich Leerzeilen
Beispiel:
[root@moli_linux1 ~]$ cat -b hello.txt 1 one:hello world 2 two:hello world [root@moli_linux1 ~]$ cat -n hello.txt 1 one:hello world 2 3 two:hello world
tac-Befehl
Funktion: Dateiinhalte in umgekehrter Reihenfolge anzeigen (im Gegensatz zu cat)
[root@moli_linux1 ~]$ tac hello.txt two:hello world one:hello world
head-Befehl
Funktion: Dateikopfinhalt anzeigen, standardmäßig werden die ersten 10 Zeilen angezeigt.
Optionen:
-c nK Zeigt den Inhalt der ersten n KB der Datei an. -n Zeigt den Inhalt der ersten n Zeilen der Datei an.
Beispiel: head -5 /etc /passwd Zeigt den Inhalt vor der Datei /etc/passwd mit 5 Zeilen Inhalt an.
Tail-Befehl
Funktion: Anzeigen des Inhalts am Ende der Datei. Standardmäßig werden die letzten 10 Zeilen angezeigt.
Optionen:
-c nK Zeigt den Inhalt des ersten nKB der Datei an. -n Zeigt den Inhalt der ersten n Zeilen der Datei an.
Beispiel: tail -5 /etc /passwd Zeigt die Datei /etc/passwd nach 5 Zeilen Inhalt an.
weniger Befehl
Funktion: Dateiinhalt seitenweise anzeigen
Anweisungen: Drücken Sie die Leertaste, um die nächste Seite anzuzeigen, die Q-Taste, um die Anzeige zu beenden, Strg B, um nach oben zu blättern, Strg F, um nach unten zu blättern , g springt zur ersten Zeile, G springt zur letzten Zeile.
Beispiel: less /var/log/jenkins/jenkins.log
more-Befehl
Funktion: Dateiinhalt seitenweise anzeigen
Anweisungen: Drücken Sie die Leertaste, um die nächste Seite anzuzeigen, und die q-Taste, um die Anzeige zu verlassen, Strg-B, um nach oben zu blättern, Strg-F, um nach unten zu blättern
Beispiel: `more /var/log/jenkins/jenkins.log
`
wc-Befehl
Funktion: Dateizeilen, Wort- und Bytestatistik anzeigen
Optionen:
-c Dateibytestatistik anzeigen -l Dateizeilenstatistik anzeigen -w Dateiwortstatistik anzeigen
Beispiel:
[root@moli_linux1 ~]$ wc hello.txt 3 4 33 hello.txt [root@moli_linux1 ~]$ wc -c hello.txt 33 hello.txt [root@moli_linux1 ~]$ wc -l hello.txt 3 hello.txt [root@moli_linux1 ~]$ wc -w hello.txt 4 hello.txt
Berechtigungsverwaltung
Dateiberechtigungen unter Linux umfassen im Allgemeinen drei Arten der Steuerung: Lesen, Schreiben und Ausführbare Datei, die durch Buchstaben oder Zahlen dargestellt werden können.
Die Buchstaben werden als r, w, x dargestellt und die Zahlen werden als 4, 2, 1 dargestellt
Das heißt, r=4, w=2, x=1.
Wir können den Befehl ls -l verwenden, um die Berechtigungen einer Datei oder eines Verzeichnisses anzuzeigen.
[root@moli_linux1 ~]$ ls -l 总用量 8 drwxr-xr-x. 3 root root 23 6月 6 2018 192.168.229 -rw-------. 1 root root 1538 5月 19 2018 anaconda-ks.cfg drwxr-xr-x. 3 root root 18 7月 27 2018 git_data -rw-r--r-- 1 root root 33 3月 5 13:37 hello.txt drwxr-xr-x. 4 root root 33 7月 4 2018 server drwxr-xr-x 4 root root 68 10月 2 15:48 shell-100 drwxr-xr-x 4 root root 67 11月 16 21:29 test-find
Das erste Zeichen in der ersten Spalte stellt den Dateityp dar und die nächsten 9 Zeichen sind die Berechtigungen. Einige der letzten Zeichen in der ersten Spalte sind ein Punkt, andere nicht Datei. Begrenzt durch Selinux.
Nehmen Sie das obige drwxr-xr-x als Beispiel:
Das erste Zeichen ist der Buchstabe d, der angibt, dass es sich bei dem Dateityp um ein Verzeichnis handelt: Der Buchstabe l steht für eine Linkdatei , und der Buchstabe b oder c steht für Gerät, der Buchstabe s steht für Socket-Datei usw. Das zweite bis neunte Zeichen stehen für Berechtigungen. Die drei Gruppen sind die Berechtigungen des Besitzers (a), die Berechtigungen der Gruppe (g) und die Berechtigungen anderer Benutzer (o). Die Berechtigungen dieser Datei lauten „Lesen“, „Schreiben“ und „Ausführbar“ für den Eigentümer, „Lesen“, „Ausführbar“ und „Schreibbar“ für die Gruppe, zu der sie gehört, und „Ausführbar“, „Lesen“ und „Schreiben“ für andere Benutzer. Das letzte Zeichen ist ein Punkt, was darauf hinweist, dass es durch Selinux eingeschränkt ist.
关于权限的表示可看下表:
数字 | 字母 | 文件 | 目录 |
---|---|---|---|
4 | r | 查看文件内容 | 查看目录下的文件与目录名称 |
2 | w | 修改文件内容 | 在目录下增、删、改文件与目录名称 |
1 | x | 可执行,一般为程序或者脚本 | 可用cd命令进入目录 |
Linux默认权限
文件默认权限
文件默认最大权限为644 (rw-r--r--)一般会给文件644权限
目录默认权限
目录默认最大权限为755(rwxr-xr-x)一般会给目录755权限
chmod命令
作用:修改文件或者目录的权限
格式:chmod [选项] 权限 文件或目录
选项:-R 递归将权限应用于所有的子目录与子文件
其中权限的表示可用数字或者字母,也可以用a(所有人)、u(代表所有者)、g(所属组)、o(其他用户)。
示例:
环境准备,test目录下有3个文件和1个目录test-1,子目录test-1里有文件hello.txt。各个文件目录权限如下:
[root@moli_linux1 test]$ ll -R .: 总用量 0 -rw-r--r-- 1 root root 0 3月 7 14:43 1.txt -rw-r--r-- 1 root root 0 3月 7 14:43 2.txt -rw-r--r-- 1 root root 0 3月 7 14:43 3.txt drwxr-xr-x 2 root root 23 3月 7 14:44 test-1 ./test-1: 总用量 0 -rw-r--r-- 1 root root 0 3月 7 14:44 hello.txt [root@moli_linux1 test]$ tree . ├── 1.txt ├── 2.txt ├── 3.txt └── test-1 └── hello.txt 1 directory, 4 files
修改1.txt文件的权限为600
$ chmod 600 1.txt 或者 $ chmod u=rwx,g-r,o-r 1.txt
对1.txt文件的所有人权限添加可执行权限
$ chmod a+x 1.txt 或者 $ chmod u+x,g+x,o+x 1.txt
对test目录下的所有文件设置所有人可读可写
$ chmod -R a=rw test
建议:修改权限能用数字就用数字...
chown命令
作用:修改文件或目录的所有者与所属组
格式:chown [选项] [所有者]:[所属组] 文件名/目录名
选项:-R 递归将权限应用于所有子目录与子文件
使用ls -l命令查看文件或目录的时候,第三列和第四列就是文件或目录的所有者与所属组。
[root@moli_linux1 test]$ ls -l 1.txt -rwx------ 1 root root 0 3月 7 14:43 1.txt
比如上面1.txt文件的所有者是root用户,所属组是root组。
修改1.txt文件的所有者为mori,所属组为mail
[root@moli_linux1 test]$ chown mori:mail 1.txt [root@moli_linux1 test]$ ll 1.txt -rwx------ 1 mori mail 0 3月 7 14:43 1.txt # 所有者与所属组已改变
Linux默认权限控制,也就是说umask的作用是设置用户创建文件或者目录时,这个文件或目录的默认权限。
在Linux终端输入umask时,出现数字0022这个就是默认的umask值。
[root@moli_linux1 test]$ umask 0022
修改umask
我们可以通过输入命令$ umask 0032修改系统默认的umask值
[root@moli_linux1 test]$ umask 0032 [root@moli_linux1 test]$ umask 0032
umask反掩码计算
当umask掩码是偶数的时候,默认权限=最大权限-umask值
文件最大权限是666,因此创建文件的默认权限是666-022=644目录最大权限是777,因此创建目录的默认权限是777-022=755
当umask掩码是奇数的时候,计算文件的默认权限的时候,要在奇数位加1
如:umask=032
对于文件:666-032=634,然后奇数位+1,634+010=644对于目录:777-032=745,然后奇数位+1,745+010=755
文件系统权限
设置文件系统权限命令chattr
chattr +a(append) 只能追加chattr +i 无敌,不能进行任何操作
查看文件系统权限命令lsattr
示例:
[root@moli_linux1 test]$ ll 2.txt -rw-r--r-- 1 root root 0 3月 7 14:43 2.txt [root@moli_linux1 test]$ chattr +a 2.txt # 添加隐藏权限 [root@moli_linux1 test]$ echo "hello world" > 2.txt # 不允许重定向 -bash: 2.txt: 不允许的操作 [root@moli_linux1 test]$ echo "hello world" >> 2.txt # 允许追加重定向 [root@moli_linux1 test]$ mv 2.txt helloworld.txt # 不允许移动 mv: 无法将"2.txt" 移动至"helloworld.txt": 不允许的操作 [root@moli_linux1 test]$ rm -f 2.txt # 不允许删除 rm: 无法删除"2.txt": 不允许的操作 [root@moli_linux1 test]$ lsattr 2.txt #查看隐藏权限 -----a---------- 2.txt [root@moli_linux1 test]# chattr -a 2.txt # 去除隐藏权限 [root@moli_linux1 test]$ lsattr 2.txt # 没有隐藏权限 ---------------- 2.txt [root@moli_linux1 test]$ rm -f 2.txt # 再次删除,成功
链接文件
Linux中链接文件分为软连接和硬链接。软连接可以跨分区,但源文件不可删除。硬链接不可以跨分区,但可以将源文件删除。
创建软硬链接使用命令ln
创建软连接:ln -s 文件名 链接名
创建硬链接:ln 文件名 链接名
软连接
软链接就是一个普通文件,只是数据块内容有点特殊。软链接有着自己的 inode 号以及用户数据块。
因此软链接的创建与使用没有类似硬链接的诸多限制:
软链接有自己的文件属性及权限等;可对不存在的文件或目录创建软链接;软链接可交叉文件系统;即,可跨分区。软链接可对文件或目录创建;创建软链接时,链接计数 i_nlink 不会增加;删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling
link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。
示例:
[root@moli_linux1 ~]$ ln -s /test/hello.txt /tmp/hi.txt #创建文件软连接 [root@moli_linux1 ~]$ ln -s /test/ /var/test #创建目录软连接 [root@moli_linux1 ~]$ rm /test/hello.txt;cat /tmp/hi.txt #删除源文件后,链接无法使用
硬链接
由于硬链接是有着相同 inode 号仅文件名不同的文件,因此硬链接存在以下几点特性:
文件有相同的 inode 及 data block;只能对已存在的文件进行创建;不能交叉文件系统进行硬链接的创建;不能对目录进行创建,只可对文件创建;删除一个硬链接文件并不影响其他有相同 inode 号的文件。
示例:
[root@moli_linux1 ~]$ ln /test/hello.txt /tmp/hi.txt #创建文件硬链接 [root@moli_linux1 ~]$ rm /test/hello.txt #删除源文件后依旧可用
Das obige ist der detaillierte Inhalt vonEinführung in die Linux-Datei- und Verzeichnisverwaltung (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!