文章目錄
- 1.首先了解一下linux的目錄結構
- 2.linux的基本命令之使用命令開關機
- 3.linux的基本命令之目錄管理
- 1.ls—列出目錄命令
- 2.cd—切換目錄命令
- 3.pwd—查看當前所在目錄命令
- 4.mkdir—創建文件夾命令
- 5.rmdir—刪除文件夾命令
- 6.cp—復制文件命令
- 7.rm—傳說中的刪庫跑路命令
- 8.mv—-移動文件目錄或重命名文件目錄的命令
- 4.linux的基本命令之修改文件屬性
- 1.chgrp—更改文件屬性命令
- 2.chown—更改文件的屬主命令
- 3.chmod—更改文件的9個屬性
- 5.linux的基本命令之文件內容查看命令
- 1.cat—由第一行開始顯示文件內容
- 2.tac—從最后一行開始顯示,可以看出 tac 是 cat 的倒著寫!
- 3.nl—顯示的時候,輸出行號!
- 4.more—一頁一頁的顯示文件內容
- 5.less—與 more 類似,但是比 more 更好的是,他可以往前翻頁!
- 6.head—只看頭幾行
- 7.tail—只看尾巴幾行
- 6.linux鏈接的感念
- 1. 硬連接
- 2.軟連接
- 3.ln—命令產生硬鏈接和軟鏈接。
- 7.Vim的使用
- 1. Vim是從 vi 發展出來的一個文本編輯器。用來編寫文件修改文件的。
- 2. 它有三種使用模式:
- 3.常用的一些命令
- 8.用戶賬號管理的操作
- 1. 創建一個用戶:
- 2. 刪除一個用戶:
- 3.修改用戶
- 4.切換用戶
- 5.給用戶增加密碼
- 6.root用戶為其他用戶指定口令:
- 9.用戶組管理
- 1. 創建一個用戶組
- 2. 刪除一個用戶組
- 3. 修改用戶組的權限信息和名字
- 4. 切換用戶組
- 10.磁盤管理
- 1. df :列出文件系統的整體磁盤使用量
- 2. du:檢查磁盤空間使用量
- 11.進程管理
- 1. ps:查看當前系統中正在執行的各種進程信息
- 2. ps -ef:查看父進程的信息
- 3. 結束進程
- 12.linux基本命令
1.首先了解一下linux的目錄結構
- /:這個是根目錄,一般根目錄下只存放目錄,在Linux下有且只有一個根目錄。所有的東西都是從這里開始。當你在終端里輸入“/home”,你其實是在告訴電腦,先從/(根目錄)開始,再進入到home目錄
- /bin:bin 是 Binaries (二進制文件) 的縮寫, 這個目錄存放著最經常使用的命令。
- /boot:這里存放的是啟動 Linux 時使用的一些核心文件,包括一些連接文件以及鏡像文件。
- /dev :dev 是 Device(設備) 的縮寫, 該目錄下存放的是 Linux 的外部設備,在 Linux 中訪問設備的方式和訪問文件的方式是相同的
- /etc:etc 是 Etcetera(等等) 的縮寫,這個目錄用來存放所有的系統管理所需要的配置文件和子目錄。
- /home:用戶的主目錄,在 Linux 中,每個用戶都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的,如上圖中的 alice、bob 和 eve**(一般在這個目錄下會建一個你自己的文件夾,用來存放你自己的文件)**
- /lib:lib 是 Library(庫) 的縮寫這個目錄里存放著系統最基本的動態連接共享庫,其作用類似于 Windows 里的 DLL 文件。幾乎所有的應用程序都需要用到這些共享庫。
- /lost+found:這個目錄一般情況下是空的,當系統非法關機后,這里就存放了一些文件。(存放一些突然關機的文件)
- /media:linux 系統會自動識別一些設備,例如U盤、光驅等等,當識別后,Linux 會把識別的設備掛載到這個目錄下
- /mnt:系統提供該目錄是為了讓用戶臨時掛載別的文件系統的,我們可以將光驅掛載在 /mnt/ 上,然后進入該目錄就可以查看光驅里的內容了
- /opt:opt 是 optional(可選) 的縮寫,這是給主機額外安裝軟件所擺放的目錄。比如你安裝一個ORACLE數據庫則就可以放到這個目錄下。默認是空的 (軟件安裝就放在該目錄下,比如:MySQL,Redis等等)
- /proc:proc 是 Processes(進程) 的縮寫,/proc 是一種偽文件系統(也即虛擬文件系統),存儲的是當前內核運行狀態的一系列特殊文件,這個目錄是一個虛擬的目錄,它是系統內存的映射,我們可以通過直接訪問這個目錄來獲取系統信息。這個目錄的內容不在硬盤上而是在內存里,我們也可以直接修改里面的某些文件,比如可以通過下面的命令來屏蔽主機的ping命令,使別人無法ping你的機器
- /root:該目錄為系統管理員,也稱作超級權限者的用戶主目錄。
- /sbin:s 就是 Super User 的意思,是 Superuser Binaries (超級用戶的二進制文件) 的縮寫,這里存放的是系統管理員使用的系統管理程序
- /selinux:這個目錄是 Redhat/CentOS 所特有的目錄,Selinux 是一個安全機制,類似于 windows 的防火墻,但是這套機制比較復雜,這個目錄就是存放selinux相關的文件的
- /srv:該目錄存放一些服務啟動之后需要提取的數據。
- /sys:這是 Linux2.6 內核的一個很大的變化。該目錄下安裝了 2.6 內核中新出現的一個文件系統 sysfs 。sysfs 文件系統集成了下面3種文件系統的信息:針對進程信息的 proc 文件系統、針對設備的 devfs 文件系統以及針對偽終端的 devpts 文件系統。該文件系統是內核設備樹的一個直觀反映。當一個內核對象被創建的時候,對應的文件和目錄也在內核對象子系統中被創建。
- /tmp:tmp 是 temporary(臨時) 的縮寫這個目錄是用來存放一些臨時文件的。(用完就丟的文件可以放在這個文件下)
- /usr:usr 是 unix shared resources(共享資源) 的縮寫,這是一個非常重要的目錄,用戶的很多應用程序和文件都放在這個目錄下,類似于 windows 下的 program files 目錄
- /usr/bin:系統用戶使用的應用程序。
- /usr/sbin:超級用戶使用的比較高級的管理程序和系統守護程序。
- /usr/src:內核源代碼默認的放置目錄。
- /var:var 是 variable(變量) 的縮寫,這個目錄中存放著在不斷擴充著的東西,我們習慣將那些經常被修改的目錄放在這個目錄下。包括各種日志文件。
- /run:是一個臨時文件系統,存儲系統啟動以來的信息。當系統重啟時,這個目錄下的文件應該被刪掉或清除。如果你的系統上有 /var/run 目錄,應該讓它指向 run
- /www:用來存放服務器網站相關的資源,比如說環境,網站的項目等等。
PS:在 Linux 系統中,有幾個目錄是比較重要的,平時需要注意不要誤刪除或者隨意更改內部文件。/etc:
上邊也提到了,這個是系統中的配置文件,如果你更改了該目錄下的某個文件可能會導致系統不能啟動。/bin, /sbin, /usr/bin,
/usr/sbin: 這是系統預設的執行文件的放置目錄,比如 ls 就是在 /bin/ls 目錄下的。值得提出的是,/bin,
/usr/bin 是給系統用戶使用的指令(除root外的通用戶),而/sbin, /usr/sbin 則是給 root
使用的指令。/var: 這是一個非常重要的目錄,系統上跑了很多程序,那么每個程序都會有相應的日志產生,而這些日志就被記錄到這個目錄下,具體在
/var/log 目錄下,另外 mail 的預設放置也是在這里。
2.linux的基本命令之使用命令開關機
- sync:將數據由內存同步到硬盤中。一般在使用命令關機前最好先使用這個命令
- shutdown:關機指令,你也可以使用man shutdown來查看一些幫助文檔
- shutdown -h 10:表示系統將在10秒后進行關機
- shutdown -h now:立馬關機
- shutdown -h 10:30:系統會在上午10點30分進行關機
- shutdown -h +10:表示10分鐘后關機
- shutdown -r now:系統立馬重啟
- shutdown -r +10:系統10分鐘后重啟
- reboot:重啟命令
- halt:關閉系統
PS:不管是關機還是重啟,都應該先使用sync命令,將數據同步到硬盤中。
3.linux的基本命令之目錄管理
1.ls—列出目錄命令
- ls: 列出目錄
- ls -a: 表示ls -all,即查看全部的文件(包括隱藏文件)
- ls -l:列出所有的文件,包含文件的屬性和權限,但是不會查看到隱藏文件
- ls -al:即a和l的組合,可以組合使用
2.cd—切換目錄命令
- cd:切換目錄命令,比如 cd home表示在當前的目錄下,進入到home目錄
- cd …:返回上一級目錄
- cd …/c:比如:我在的當前文件夾是b,我的上一級是a,a目錄下有b和c,這個命令的意思就是返回上一級,進入c目錄。(這個就是相對路勁進入文件夾)
- cd /home/a/c:也是進入c目錄,但是這個是不管你在哪里,都可以直接這樣進入想進入的目錄**(這個是絕地路勁進入目錄)**
- cd ~:回到當前的用戶目錄
3.pwd—查看當前所在目錄命令
- pwd:查看當前所在的目錄
4.mkdir—創建文件夾命令
- mkdir a:表示創建一個名為a的文件夾
- mkdir -p b/c/d: 遞歸創建目錄
5.rmdir—刪除文件夾命令
- rmdir a:表示刪除這個a的文件夾**(它不能刪除不為空的文件夾)**
- rmdir -p b/c/d:遞歸刪除目錄
6.cp—復制文件命令
- cp a.txt b:表示將a.txt文件復制一份到b文件夾。如果存在它會詢問你是否繼續,回復y表示繼續,n表示放棄
7.rm—傳說中的刪庫跑路命令
- -f :就是 force 的意思,忽略不存在的文件,不會出現警告信息;
- -i :互動模式,在刪除前會詢問使用者是否刪除
- -r :遞歸刪除目錄
- rm -rf a.txt: 表示移除掉這個文件**(即-r和-f的組合命令)**
8.mv—-移動文件目錄或重命名文件目錄的命令
- -f :強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋;
- -i :若目標文件已經存在時,就會詢問是否覆蓋!
- -u :只替換以及更新過的文件
- mv a.txt b:將a.txt移動到b目錄
- mv b b1: 重命名文件夾
4.linux的基本命令之修改文件屬性
1.chgrp—更改文件屬性命令
- chgrp -R root a:將文件或者目錄的原本屬組改為root
2.chown—更改文件的屬主命令
- chown -R root a:將文件或者目錄的原本屬主改為root
3.chmod—更改文件的9個屬性
- 首先了解一下9屬性的概念—看圖
- 文件的權限字符為:『-rwxrwxrwx』, 這九個權限是三個三個一組的!其中,我們可以使用數字來代表各個權限,各權限的分數對照表如下: r:4 w:2 x:1
- Linux文件的基本權限就有九個,分別是owner/group/others三種身份各有自己的read/write/execute權限
- 每種身份都有對應的一個權限:
- owner: 全部權限為:7即r + w + x = 7;
- group:同上
- others:同上
- chmod 777 a: 表示a這個目錄或者文件可讀可寫可執行
- chmod 761 a: 表示a這個目錄屬主(owner)可以全部實現,屬組(group)可以讀和寫,其它(others)用戶只能執行
5.linux的基本命令之文件內容查看命令
1.cat—由第一行開始顯示文件內容
- cat a.txt: 讀取a.txt文件的內容。這個是從第一行開始讀取的
2.tac—從最后一行開始顯示,可以看出 tac 是 cat 的倒著寫!
- tac a.txt:讀取a.txt文件,從組后一行開始讀的
3.nl—顯示的時候,輸出行號!
- nl a.txt: 讀取a.txt文件,并會顯示行號
4.more—一頁一頁的顯示文件內容
- more a.txt: 簡單理解就是不會直接顯示全部信息,而是顯示一部分,然后按空格去進行翻頁
5.less—與 more 類似,但是比 more 更好的是,他可以往前翻頁!
- less a.txt: 它跟more一樣,但是它可以網上翻頁(按q退出)
- 在進入這個命令之后,可以使用:/字符串:向下搜尋字符串的功能;?字符串:向上搜尋字符串的功能;使用n 搜索下一個,N是向上尋找。
6.head—只看頭幾行
- head -n 20 a.txt: 只顯示20行的數據
7.tail—只看尾巴幾行
- tail -n 20 a.txt: 讀最后面的20行
6.linux鏈接的感念
1. 硬連接
- 硬連接指通過索引節點來進行連接。在 Linux 的文件系統中,保存在磁盤分區中的文件不管是什么類型都給它分配一個編號,稱為索引節點號(Inode Index)。在 Linux 中,多個文件名指向同一索引節點是存在的。比如:A 是 B 的硬鏈接(A 和 B 都是文件名),則 A 的目錄項中的 inode 節點號與 B 的目錄項中的 inode 節點號相同,即一個 inode 節點對應兩個不同的文件名,兩個文件名指向同一個文件,A 和 B 對文件系統來說是完全平等的。刪除其中任何一個都不會影響另外一個的訪問
- 硬連接的作用是允許一個文件擁有多個有效路徑名,這樣用戶就可以建立硬連接到重要文件,以防止“誤刪”的功能。其原因如上所述,因為對應該目錄的索引節點有一個以上的連接。只刪除一個連接并不影響索引節點本身和其它的連接,只有當最后一個連接被刪除后,文件的數據塊及目錄的連接才會被釋放。也就是說,文件真正刪除的條件是與之相關的所有硬連接文件均被刪除
2.軟連接
- 另外一種連接稱之為符號連接(Symbolic Link),也叫軟連接。軟鏈接文件有類似于 Windows 的快捷方式。它實際上是一個特殊的文件。在符號連接中,文件實際上是一個文本文件,其中包含的有另一文件的位置信息。比如:A 是 B 的軟鏈接(A 和 B 都是文件名),A 的目錄項中的 inode 節點號與 B 的目錄項中的 inode 節點號不相同,A 和 B 指向的是兩個不同的 inode,繼而指向兩塊不同的數據塊。但是 A 的數據塊中存放的只是 B 的路徑名(可以根據這個找到 B 的目錄項)。A 和 B 之間是“主從”關系,如果 B 被刪除了,A 仍然存在因為兩個是不同的文件),但指向的是一個無效的鏈接
3.ln—命令產生硬鏈接和軟鏈接。
- ln a.txt a1.txt: 創建一個a.txt的硬鏈接文件a1.txt文件
- ln -s a.txt a2.txt: 創建一個a.txt文件的軟鏈接文件a2.txt文件
7.Vim的使用
1. Vim是從 vi 發展出來的一個文本編輯器。用來編寫文件修改文件的。
- vim test.txt: 如果沒有test.txt文件則創建該文件,如果有則進入修改該文件
2. 它有三種使用模式:
- 命令模式:用戶剛剛啟動 vi/vim,便進入了命令模式,這時你敲鍵盤輸入信息是沒有效果的,這時我們需用按下i鍵進入到輸入模式。當你想要保存退出的時候,需要先按Esc鍵。然后輸入進入底線命令模式,切記,這個是英文的
- 輸入模式:我們在輸入模式中,其實鍵盤操作跟windows是一樣的。比如刪除,回車等等。。。
- 底線命令模式:w:表示保存, q:表示退出,組合使用即保存并退出
3.常用的一些命令
- 數字(空格鍵): 比如 5 空格鍵。它會前往第五個字符
- /字符串:用來向下搜索字符串的。按n可以接著向下搜索該字符串
- ?字符串:用來向上搜索字符串的。按N可以接著向上搜索該字符串
- u:復原上一次的動作
- ctrl + r:重復上一次動作
- i:在命令模式下進入輸入模式
- Esc:退出編輯頁
- :wq:保存退出
- :set nu:設置行號
8.用戶賬號管理的操作
1. 創建一個用戶:
- useradd -m shisan: 創建一個名為shisan的用戶,且在home文件夾下創建一個shisan的目錄
- -m: 自動創建這個用戶的主目錄即/home/shisan
- -g 用戶組 指定用戶所屬的用戶組。
- -G 用戶組,用戶組 指定用戶所屬的附加組。
- -s Shell文件 指定用戶的登錄Shell。
- -u 用戶號 指定用戶的用戶號,如果同時有-o選項,則可以重復使用其他用戶的標識號
- -d 目錄 指定用戶主目錄,如果此目錄不存在,則同時使用-m選項,可以創建主目錄
- -c comment 指定一段注釋性描述。
2. 刪除一個用戶:
- userdel -r shisan: 刪除這個用戶,并且將目錄一起刪除
3.修改用戶
- usermod -d /home/shisi shisan: 將shisan的主目錄改為/home/shisi
4.切換用戶
- 切換用戶的命令為:su shisan
- 從普通用戶切換到root用戶,還可以使用命令:sudo su
- 在終端輸入exit或logout或使用快捷方式ctrl+d,可以退回到原來用戶,其實ctrl+d也是執行的exit命令
- 在切換用戶時,如果想在切換用戶之后使用新用戶的工作環境,可以在su和username之間加-,例如:【su - root】
- $表示普通用戶;#表示超級用戶,也就是root用戶
5.給用戶增加密碼
- passwd shisan:回車之后就可以輸入密碼了
6.root用戶為其他用戶指定口令:
- passwd -l shisan:鎖定用戶,即表示該用戶不能再使用了
- passwd -u shisan:口令解鎖。
- passwd -d shisan:使賬號無口令。
- passwd -f shisan:強迫用戶下次登錄時修改口令。
9.用戶組管理
1. 創建一個用戶組
- groupadd shisan: 添加一個明為shisan的用戶組
- groupadd -g 555 shisan2:指定id號。默認是自增的
2. 刪除一個用戶組
- groupdel shisan2: 刪除一個shisan2的用戶組
3. 修改用戶組的權限信息和名字
- groupmod -g 666 -n shisan666 shisan:將shisan用戶組改名為shisan666,并將id改為666
4. 切換用戶組
- newgrp shisan888:將當前用戶組切換到shisan888用戶組
10.磁盤管理
1. df :列出文件系統的整體磁盤使用量
- -a :列出所有的文件系統,包括系統特有的 /proc 等文件系統;
- -k :以 KBytes 的容量顯示各文件系統;
- -m :以 MBytes 的容量顯示各文件系統;
- -h :以人們較易閱讀的 GBytes, MBytes, KBytes 等格式自行顯示;
- -H :以 M=1000K 取代 M=1024K 的進位方式;
- -T :顯示文件系統類型, 連同該 partition 的 filesystem 名稱 (例如 ext3) 也列出;
- -i :不用硬盤容量,而以 inode 的數量來顯示
2. du:檢查磁盤空間使用量
- -a :列出所有的文件與目錄容量,因為默認僅統計目錄底下的文件量而已。
- -h :以人們較易讀的容量格式 (G/M) 顯示;
- -s :列出總量而已,而不列出每個各別的目錄占用容量;
- -S :不包括子目錄下的總計,與 -s 有點差別。
- -k :以 KBytes 列出容量顯示;
- -m :以 MBytes 列出容量顯示;
11.進程管理
1. ps:查看當前系統中正在執行的各種進程信息
- a: 顯示當前終端運行的所有進程信息
- u:以用戶的信息顯示進程
- x:顯示后臺運行進程的參數
- ps aux|grep mysql:組合使用,即表示查看mysql的進程
PS:在linux中 | 這個符號叫做管道符 A|B。grep 查找文件中符合條件的字符串
2. ps -ef:查看父進程的信息
- ps -ef|grep java:查看java的進程
- p: 顯示父id
- u:顯示用戶組
- pstree -pu:組合使用,進程樹展示
3. 結束進程
- kill -15 pid進程號:正常殺死進程(推薦)
- kill -9 pid進程號:強制殺死進程
12.linux基本命令
- tar -zxvf 壓縮文件名:解壓縮命令
- firewall-cmd —list-all:查看防火墻全部信息
- firewall-cmd —list-ports:只看端口信息
- systemctl status firewalld:查看firewall服務狀態
- service firewalld start:開啟firewalld.service服務
- service firewalld restart: 重啟firewalld.service服務
- service firewalld stop:關閉firewalld.service服務
- firewall-cmd —zone=public —add-port=8888/tcp —permanent:開啟端口命令
防火墻全部信息 - firewall-cmd —list-ports:只看端口信息
- systemctl status firewalld:查看firewall服務狀態
- service firewalld start:開啟firewalld.service服務
- service firewalld restart: 重啟firewalld.service服務
- service firewalld stop:關閉firewalld.service服務
- firewall-cmd —zone=public —add-port=8888/tcp —permanent:開啟端口命令
- systemctl restart firewalld.service:重啟防火墻