Linux的目錄結構:
一:在Linux系統中,路徑之間的層級關系,使用:/來表示
注意:1、開頭的/表示根目錄
??????? 2、后面的/表示層級關系
二:在windows系統中,路徑之間的層級關系,使用:\來表示
注意:1、D:表示D盤
??????? 2、\表示層級關系
練習題:請根據語言描述,寫出對應的Linux路徑
- 1、在根目錄下有一個文件夾test,文件夾內有一個文件hello.txt,請描述文件的路徑
/test/hello.txt
- 2、在根目錄下有一個文件itheima.txt,請描述文件的路徑。
/itheima.txt
- 3、在根目錄下有一個文件夾itcast,在itcast文件夾內有文件夾itheima,在itheima文件夾內有文件hello.txt,請描述文件的路徑
/itcast/itheima/hello.txt
Linux命令入門:
一:ls命令:
- 1、ls命令的作用是?
在命令行中,以平鋪的形式,展示當前工作目錄(默認HOME目錄)下的內容(文件或文件夾)
- 2、HOME目錄是?
每一個用戶在Linux系統的專屬目錄,默認在:/home/用戶名
- 3、當前工作目錄?
Linux命令行在執行命令的時候,需要一個工作目錄,打開命令行程序(終端)默認設置工作目錄在用戶的HOME目錄
二:ls 命令的-a選項
1、a選項,表示: all的意思,即列出全部文件 (包含隱藏的文件/文件夾)
可以看到,ls-a 對比ls 列出的內容更多了
- 圖中以.開頭的,表示是Linux系統的隱藏文件/文件夾 (只要以.開頭,就能自動隱藏)只有通過-a選項,才能看到這些隱藏的文件/文件夾
三:ls命令的-l選項 [Linux路徑]
1、-l選項,表示:以列表 (豎向排列)的形式展示內容,并展示更多信息
四:ls命令選項的組合使用
語法中的選項是可以組合使用的,比如學習的-a和-l可以組合應用寫法:
- 1、ls -l -a
- 2、ls -la
- 3、ls -al
上述三種寫法,都是一樣的,表示同時應用-l和-a的功能
五:ls 命令的 -h選項
- 1、-h 表示以易于閱讀的形式,列出文件大小,如K、M、G(文件的單位大小)
- 2、-h選項必須要搭配-l一起使用
小結:
1、ls命令的參數的作用
可以指定要查看的文件夾(目錄)的內容,如果不給定參數,就查看當前工作目錄的內容
2、ls命令的選項
a選項,可以展示出隱藏的內容
????????????? 以.開頭的文件或文件夾默認被隱藏,需要-a才能顯示出來
?????? -l選項,以列表的形式展示內容,并展示更多細節
?????? -h選項,需要和-l選項搭配使用,以更加人性化的方式顯示文件的大小單位
3、命令的選項組合使用
命令的選項是可以組合使用的,比如: ls -lah,等同于 ls-a -l-h
linux:常用的命令
1、ls:列出文件list
list列出當前路徑下的文件與文件夾
ls常用參數:
- -l:列出文件的詳細信息(豎向排列)
- -a:all,列出所有文件,包括隱形文件
- -h:1.列出文件大小,如K、M、G(文件的單位大小)
?? ????2.-h選項必須要搭配-l一起使用,如ls -lh
2、cp:復制copy
cp參數:
cp a b
- 1、復制文件cp a b(解釋:將a復制到b文件中)
- 2、-r復制文件夾cp -r a b(解釋:將a文件夾復制在b文件中)
3、mv:移動move
mv參數:
mv a b
- 1、a是被移動的文件或文件夾
- 2、b是要移動去的地方,如果目標不存在,則進行改名,確保目標存在
4、cd:切換目錄change directory
cd參數:
cd a
1、a代表切換到指定參數(切換到某一個文件夾中)
2、無a,則切換到當前用戶HOME
5、pwd:輸出工作目錄print work directory
pwd參數
- 1、直接使用
- 2、作用:輸出當前所在的工作目錄
6、rm:移除,刪除remove
rm參數
rm a b
- 1、rm a(這里a指文件而不是文件夾)
- 2、rm -r a(有一個-r,則這里a指文件夾)
- 3、rm -r a b c(abc指rm -r 后面可以加多個文件夾一起刪除)
- 4、rm -f a(這里-f指的是force,強制刪除,普通用戶用不到-f選項
?????????? 只有在root管理員用戶刪除內容會有提示)
7、mkdir:創建文件夾remove directory
mkdir參數
mkdir -p a
- 1、-p必填,表示要創建的文件夾的路徑、相對、絕對、特殊路徑符都可以使用
- 2、-p作用,自動創建不存在的父目錄,適用于創建連續多層級的目錄
- 3、a是文件夾的名字
8、touch:創建文件
touch參數
touch a
- 1、a指的是文件名(如touch test.txt)
- 2、a必須填寫,表示要創建的文件路徑、相對、絕對、特殊路徑符均可以使用
9、cat:查看文件內容
cat參數
cat a
- 1、cat a指的是查看a文件里面的內容(如cat test.txt,表示查看test.txt文件里面內容)
- 2、a必須填寫
10、more:查看文件內容(與上面cat差不多,但又不同)
more參數
more a
- 1、cat是直接將內容全部顯示出來
- 2、more支持翻頁,如果文件內容過多,可以一頁頁的顯示
- 3、a指的是文件,必填內容
11、which:查找命令存放文件
which參數
which 要查找的命令
- 1、如which cd、which pwd等
- 2、只能查找命令程序
12、find:查找指定的文件
find參數
一:按文件名查找:find 起始路徑 -name “被查找的文件名”
???????????????? 1、起始路徑指/(根目錄)或者文件夾等
???????????????? 2、支持通配符(*)
二:按文件大小查找:find 起始路徑 -size +|-n[kGM]
例題:
?1、請使用find命令找出:名稱中帶有centos的文件
??? find /-name “*centos*”
?2、請使用find命令找出: /usr 目錄內大于100M的文件
??? find /usr -size +100M
13、grep:從文件中通過關鍵字過濾文件行
grep參數
grep [-n] 關鍵字 文件路徑
- 1、-n,可不要,表示在結果中顯示匹配的行的行號。
- 2、關鍵字,必填,表示過濾的關鍵字,帶有空格或其它特殊符號,建議使用” ”將關鍵字包圍起來
- 3、文件路徑,必填,表示要過濾內容的文件路徑,可作為內容輸入端口
- 14、wc:數量統計
wc參數
wc [-c -m -1 -w] 文件路徑
- 1、選項,-C,統計bytes數量(字節)
- 2、選項,-m,統計字符數量
- 3、選項,-l,統計行數
- 4、選項,-W,統計單詞數量
- 5、參數,文件路徑,被統計的文件,可作為內容輸入端口
15、管道符|
管道符|
將管道符左邊命令的結果,作為右邊命令的輸入
例:對創建的test.txt進行統計,請使用cat、grep、管道符、wC命令組合,進行統計:
??? 統計文件中帶有itcast關鍵字的有幾行
???? cat test.txt| grep itcast| wc -l
16、rmdir:移除,刪除文件夾
rmdir參數
- 1、rmdir test 指的是在當前路徑刪除test文件夾及子文件(夾)
17、tar:打包、壓縮、解壓
tar參數
- 1、-jcv:壓縮
- 2、-jxv:解壓
18、reboot:重啟
reboot參數
- 1、reboot輸完立馬重啟(記得保存文件)
19、tee:顯示并保存
tee參數
- 1、顯示內容并將內容保存在文件中
20、passwd:修改密碼
passwd參數
- 1、修改當前用戶密碼
21、ps:查看進程
ps參數
-A:顯示所有進程
-a: 不與terminal有關的所有進程
-u: 有效用戶的相關進程
-x:一般與-a 起用,列出完整的進程信息
-l: long,詳細列出PID的信息
22、chmod: 更改文件的權限模式
文件權限模式針對三類對象: 當前用戶user (這里也是文件的所有者),組group,其他用戶other。
文供權限有讀Read,寫Write,執行Execute。
chmod參數:
u: user,權限對象為當前用戶 (這里是所有者)
g: group,權限對象為所有者和組
o: other,權限對象為其他用戶
r: read = 4,讀權限
w: write = 2,寫權限
e: execute = 1,執行權限
+: u/g/o與r/w/e組合使用,加入
-:刪除
=:設置W
4: 僅讀
5: 僅讀+執行
6: 僅讀+寫
7: 讀+寫+執行
23、 kill: 殺死進程
kill參數:
- -SIGHUP: 啟動被終止的進程
- -SIGINT: 相當于ctrl+c,中斷進程
- -SIGKILL: 強制中斷進程
- -SIGTERM: 以正常的結束進程方式來終止進程
- -SIGSTOP: 相當于ctrl+z,暫停進程
linux:vi\vim編譯器
linux:vi\vim編譯器
一:vi\vim編譯器介紹
1、vi\vim是visualinterface的簡稱
是Linux中最經典的文本編輯器同圖形化界面中的 文本編輯器一樣,vi是命令行下對文本文件進行編輯的絕佳選擇
vim 是 vi 的加強版本,兼容 vi 的所有指令,不僅能編輯文本,而且還具有 shell 程序編輯的功能,可以不同顏色的字體來辨別語法的正確性,極大方便了程序的設計和編輯性。
二:vi\vim編譯器的三種工作模型
1、命令模式:命令模式下,所敲的按鍵編輯器都理解為命令,以命令驅動執行不同的功能.此模型下,不能自由進行文本編輯。
2、輸入模式:也就是所謂的編輯模式、插入模式此模式下,可以對文件內容進行自由編輯。
3、底線命令模式:以:開始,通常用于文件的保存、退出。
如圖所示:運用原理。
三:vi\vim的基本命令
1、vi 文件路徑(不常用)
2、vim 文件路徑(常用)
vim兼容全部的vi功能,后續全部使用vim命令
- .如果文件路徑表示的文件不存在,那么此命令會用于編輯新文件
- .如果文件路徑表示的文件存在,那么此命令用于編輯已有文件
如下圖所示,進行編譯:
第一步:ls查看文件,vim hello.txt? 編輯不存在的文件。
第二步:回車,進入命名模式
第三步:點i、a、o隨便點一個就進入了輸入模式
第四步:點Esc鍵,又進入命令模式
第五步:點:進入底線命令模式
第六步:輸入wq,w指的是保存,q指的是退出
第七步:回車,就回到主頁,輸入ls查看,后發現我們新建立了一個文件。
第八步:查看文件里面的內容輸入 cat hello.txt 查看文件內容。
我們就編輯好了
四:快捷鍵
1、命令模式快捷鍵
命令模式????????i????????在當前光標位置進入輸入模式
命令模式????????a????????在當前光標位置之后進入輸入模式
命令模式????????I????????在當前行的開頭,進入輸入模式
命令模式????????A????????在當前行的結尾,進入輸入模式
命令模式????????o????????在當前光標下一行進入輸入模式
命令模式????????O????????在當前光標上一行進入輸入模式
輸入模式????????Esc????????任何情況下輸入esc 都能回到命令模式
命令模式????????鍵盤上、鍵盤k????????向上移動光標
命令模式????????鍵盤下、鍵盤j????????向下移動光標
命令模式????????鍵盤左、鍵盤h????????向左移動光標
命令模式????????鍵盤右、鍵盤1????????向后移動光標
命令模式????????0????????移動光標到當前行的開頭
命令模式????????$????????移動光標到當前行的結尾
命令模式????????pageup(PgUp)????????向上翻頁
命令模式????????pangdown(PgDn)????????向下翻頁
命令模式????????/????????進入搜索模式
命令模式????????n????????向下繼續搜索
命令模式????????N????????向上繼續搜索
命令模式????????dd????????刪除光標所在行的內容
命令模式????????ndd????????n是數字,表示刪除當前光標向下n行
命令模式????????yy????????復制當前行
命令模式????????nyy????????n是數字,復制當前行和下面的n行
命令模式????????p????????粘貼復制的內容
命令模式????????u????????撤銷修改
命令模式????????ctrl+r????????反向撤銷修改
命令模式????????gg????????跳到首行
命令模式????????G????????跳到行尾
命令模式????????sG????????從當前行開始,向下全部刪除
命令模式????????dgg????????從當前行開始,向上全部刪除
命令模式????????d$????????從當前光標開始,刪除到本行的結尾
五:底線命令模式
底線命令模式????????:wq????????保存并退出
底線命令模式????????:q????????僅退出
底線命令模式????????:q!????????強制退出
底線命令模式????????:w????????僅保存
底線命令模式????????:set nu????????顯示行號
底線命令模式????????:set paste????????設置粘貼模式
Linux:超級管理員(root用戶)創建用戶、用戶組
root用戶:
擁有最大的系統操作權限,而普通用戶在許多地方的權限是受限的。
演示:
1、使用普通用戶在根目錄下創建文件夾(失敗)
2、切換到root用戶后,繼續嘗試(成功)
3、普通用戶的權限,一般在其HOME目錄內是不受限的
4、一旦出了HOME目錄,大多數地方,普通用戶僅有只讀和執行權限,無修改權限
su和exit命令
su命令就是用于賬戶切換的系統命令,其來源英文單詞tSwitch User
語法: su [-] [用戶名]
- 1、- 符號是可選的,表示是否在切換用戶后加載環境變量,建議帶上
- 2、參數:用戶名表示要切換的用戶,用戶名也可以省略,省略表示切換到root
- 3、切換用戶后,可以通過exit命令退回上一個用戶,也可以使用快捷鍵: ctrl + d
- 4、使用普通用戶,切換到其它用戶需要輸入密碼,如切換到root用戶
- 5、使用root用戶切換到其它用戶,無需密碼,可以直接切換
sudo命令
在我們得知root密碼的時候,可以通過su命令切換到root得到最大權限。
但是我們不建議長期使用root用戶,避免帶來系統損壞。
我們可以使用sudo命令,為普通的命令授權,臨時以root身份執行。
語法:sudo 其它命令
1、在其它命令之前,帶上sudo,即可為這一條命令臨時賦予root授權
2、但是并不是所有的用戶,都有權利使用sudo,我們需要為普通用戶配置sudo認證
普通用戶配置sudo認證:
切換到root用戶執行visudo命令,會自動通過vi編輯器打開:/etc/sudoers
在文件的最后添加:
1、其中最后的NOPASSWD:ALL表示使用sudo命令,無需輸入密碼。
2、輸入:,最后通過wq保存。
切換到普通用戶,輸入sudo 在根目錄下創建文件,這樣就有臨時root權限
配置用戶和用戶組
Linux系統中可以:
- 1、配置多個用戶
- 2、配置多個用戶組
- 3、用戶可以加入多個用戶組中
用戶組管理
以下命令需root用戶執行
1、創建用戶組
groupadd 用戶組名
2、刪除用戶組
groupdel 用戶組名
3、創建用戶
useradd[-g -d] 用戶名
a、選項:-g指定用戶的組,不指定-g,會創建同名組并自動加入,指定-g需要組已經存在,如已存
在同名組,必須使用-g
b、-d指定用戶HOME路徑,不指定,HOME目錄默認在:/home/用戶名
4、刪除用戶
userdel[-r] 用戶名
a、選項:-r,刪除用戶的HOME目錄,不使用-r,刪除用戶時,HOME目錄保留
5、查看用戶所屬組
id [用戶名]
a、參數:用戶名,被查看的用戶,如果不提供則查看自身
6、修改用戶所屬組
usermod -aG
a、用戶組 用戶名將指定用戶加入指定用戶組
查看用戶組、用戶名的命令
getent
使用getent命令,可以查看當前系統中有哪些用戶
語法:getent passwd
使用getent命令,同樣可以查看當前系統中有哪些用戶組
語法:getent group
包含3份信息,組名稱:組認證(顯示為x):組ID
linux:認識權限信息、修改權限
權限細節
總共分為10個槽位
如下圖所示:
序號1,表示文件、文件夾的權限控制信息
序號2,表示文件、文件夾所屬用戶
序號3,表示文件、文件夾所屬用戶組
舉例:drwxr-xr-x表示:
- 1、這是一個文件夾,首字母d表示(-是文件)
- 2、所屬用戶的權限是:有r有w有x,rwx
- 3、所屬用戶組的權限是:有r無w有x,r-x
- 4、其它用戶的權限是:有r無w有x,r-x
rwx
那么,rwx到底代表什么呢?
- 1、r表示讀權限
- 2、w表示寫權限
- 3、x表示執行權限
針對文件、文件夾的不同,rwx的含義有細微差別
- 1、r,針對文件可以查看文件內容
????? 針對文件夾,可以查看文件夾內容,如ls命令
- 2、 w,針對文件表示可以修改此文件
????? 針對文件夾,可以在文件夾內: 創建、刪除、改名等操作
- 3、x,針對文件表示可以將文件作為程序執行
????? 針對文件夾,表示可以更改工作目錄到此文件夾,即cd進入
chmod命令修改權限
使用chmod命令,修改文件、文件夾的權限信息。
注意,只有文件、文件夾的所屬用戶或root用戶可以修改。
語法: chmod [-R] 權限 文件或文件夾
選項:-R,對文件夾內的全部內容應用同樣的操作
示例
chmod u=rwx,g=rx,o=x hello.txt,將文件權限修改為rwxr-x--x
其中:u表示user所屬用戶權限,g表示group組權限,o表示other其它用戶權限
演示:
chmod -R u=rwx,g=rx,o=x test,將文件夾test以及文件夾內全部內容權限設置為:rwxr---x
快捷寫法:
chmod 751 hello.txt,什么是751
權限的數字序號
權限可以用3位數字來代表,第一位數字表示用戶權限,第二位表示用戶組權限,第三位表示其它用戶
權限。數字的細節如下:r記為4,w記為2,x記為1,可以有:
- 1、0:無任何權限,即---
- 2、1:僅有x權限,即--x
- 3、2:僅有w權限,即-w-
- 4、3:有w和x權限,即-wx
- 5、4:僅有r權限,即r--
- 6、5:有r和x權限,即r-x
- 7、6:有r和w權限,即rw-
- 8、7:有全部權限,即rwx
如751,rwx(7)r-x(5)--x(1)
例:將hello.txt的權限修改為: r-x--xr-x,數字序號為:
????? chmod 515 hello.txt
chown命令,修改文件,文件夾的所屬用戶和用戶組
普通用戶無法修改所屬為其它用戶或組,所以此命令只適用于root用戶執行
語法: chown [-R] [用戶][:][用戶組] 文件或文件夾
1、選項,-R,同chmod,對文件夾內全部內容應用相同規則
2、選項,用戶,修改所屬用戶
3、選項,用戶組,修改所屬用戶組
4、:用于分隔用戶和用戶組
演示:
將1.txt文件修改到root用戶下
將1.txt文件修改到root用戶組下
將1.txt文件c'd還原的jianbing用戶下: