一、文件和目錄的基本概念
1、Linux 的目錄結構
Linux 系統的優勢:多用戶多任務的系統 安全性更高 開源免費
在 Linux 系統中,將所有的目錄和文件數據組織為一個樹型的目錄結構,整個系統中只存在一個根目錄,所有的分區、目錄、文件都在同一個根目錄下面。
2、命令提示符
[root@localhost~]#
root:當前登錄的用戶名
localhost:本機的主機名
~:用戶當前所在目錄,~代表家目錄
root 用戶的家目錄是:/root
普通用戶的家目錄是:/home
#:當前登錄的用戶為管理員用戶
$:當前登錄的用戶為普通用戶
3、切換用戶用:su 用戶名
由 root 用戶切換到普通用戶不需要輸入密碼
由普通用戶切換到其他用戶就必須輸入密碼
4、顯示當前目錄所在的完整路徑:pwd
5、目錄切換命令:cd
cd /etc 切換到/etc/目錄
cd .. 返回上一級目錄
cd 返回家目錄
根目錄:/
家目錄:普通用戶的家目錄在/home 下面,root 的家目錄是:/root
6、絕對路徑和相對路徑
相對路徑:是當前目錄下的某個文件或路徑
絕對路徑:是指目錄或文件的完整路徑
7、命令行編輯的幾個輔助操作
Tab 鍵:自動補齊
分號“;”:在同一行中輸入多個命令,中間用;隔開
反斜杠“\”:在一行命令后加上\,表示另起一行繼續輸入上下方向鍵:找出曾經執行過的歷史命令查看歷史命令:history
快捷鍵 Ctrl+U:清空至行首
快捷鍵 Ctrl+K:清空至行尾
快捷鍵 Ctrl+L:清屏
快捷鍵 Ctrl+C:終止命令的執行
8、關機命令:shutdown (安全地將系統關機)
shutdown 參數說明:
[-t] 在改變到其它 runlevel 之前﹐告訴 init 多久以后關機。
[-r] 重啟計算器。
[-k] 并不真正關機﹐只是送警告信號給每位登錄者〔login〕。
[-h] 關機后關閉電源〔halt〕。
[-n] 不用 init﹐而是自己來關機。不鼓勵使用這個選項﹐而且該選項所產生的后果往往不總是你所預期得到的。
[-c] cancel current process 取消目前正在執行的關機程序。所以這個選項當然沒有時間參數﹐但是可以輸入一個用來解釋的訊息﹐而這信息將會送到每位使用者。
[-f] 在重啟計算器〔reboot〕時忽略 fsck。
[-F] 在重啟計算器〔reboot〕時強迫 fsck。
[-time] 設定關機〔shutdown〕前的時間。
例如:
/sbin/shutdown -h now-----立即關機;
/sbin/shutdown -h 20:49----20:49 分關機
/sbin/shutdown -h +10-----10 分鐘后關機
/sbin/shutdown -r now -----立即重啟
/sbin/shutdown -r +10 ‘The system will reboot’----10 分鐘后系統
重啟并給每個登錄用戶發通知
/sbin/shutdown -k now ‘The system will reboot’----僅給每個登錄用
戶發通知并不真關機
reboot init 6
二、常用 shell 命令介紹
shell 命令格式:命令名 [選項] [參數]
1、文件管理命令
ls–列表顯示目錄內容
ls 顯示結果以不同的顏色來區分文件類別。
藍色代表目錄(文件夾)
灰色代表普通文件
綠色代表可執行文件
紅色代表壓縮文件
淺綠色代表鏈接文件(快捷方式)
選項說明:
-a 顯示所有文件,包括隱藏文件(以.號開頭的文件)。
-l 以長格式(內容更詳細)顯示文件或目錄的詳細信息。
-h 以 K、M、G 等單位顯示文件大?。?/p>
默認為字節),提高可讀性
-lh
2、通配符的使用:
“?”可以匹配文件名中的一個任意字符,
“*”可以匹配文件名中的任意多個字符。
舉例:顯示/etc 目錄下文件名以 ns 開頭,擴展名是 conf 的文件的詳細信息 ls –l /etc/ns*.conf
顯示/etc 目錄下文件名以 v 開頭,文件名一共是 4 個字符的文件的詳細信息 ls –l /etc/v???
3、創建目錄(就是新建文件夾):要考慮權限問題 mkdir –p -m
例 1:在當前目錄創建名為 test 的子目錄
[root@localhost /]:#mkdir /mnt/test
例 2:在根目錄中創建名為 public 的子目錄
[root@localhost /]:#mkdir /public
例 3:在當前目錄中同時創建 3 個子目錄
[root@localhost /]:#mkdir mp3 mp4 mp5
當前目錄為/,此時在/mnt 目錄下同時創建 2 個子目錄 y1 y2 [root@localhost /]:#mkdir /mnt/y1/ y2/y3
例 4:創建連續目錄
[root@localhost /]:#mkdir – p /media/cdrom 例 5:創建目錄,同時設置權限
[root@localhost /]:#mkdir – m 775 test
4、刪除目錄或文件
刪除空目錄:rmdir
例 1:刪除當前目錄下的空目錄 mytest [root@localhost /]:#rmdir mytest
例 2:刪除連續目錄
[root@localhost /]:#rmdir – p /media/cdrom/aa
刪除文件:rm 默認只刪除文件,不刪除目錄
例 1:刪除當前目錄下文件 1.txt
[root@localhost /]:#rm 1.txt 有提示,確認刪除請輸入 y [root@localhost /]:#rm -f 1.txt 無提示,直接刪除
例 2:刪除當前目錄下的 student 目錄
[root@localhost /]:#rm -rf /student
5、復制文件或目錄
復制文件
[root@localhost ~]# cp /bin/touch /root/test/toch1
[root@localhost ~]# cp /etc/inittab /etc/inittab.bat 將文件進行備份
復制目錄
[root@localhost ~]# cp –R /tmp /root/mnt
6、移動(剪切–粘貼)文件或目錄
[root@localhost ~]# mv /root/test/test1.txt /root/test/test2.txt 重命名 [root@localhost ~]# mv /root/test/test2.txt /tmp/
7、新建文件
touch /1.txt 在/目錄下新建一個 1.txt 文件
三、查看文件內容命令
1、cat–顯示文件的內容
cat –n 顯示行號
cat 在顯示文本文件的內容時不進行停頓,因此不適合查看長文件。
2、more 或 less 分頁顯示文件內容
采用全屏的方式分頁顯示文件內容,當內容滿屏時便會暫停,按空格鍵繼續顯示下一畫面,或按 q 鍵跳離,適于閱讀長文件。
區別:
當文件內容顯示到文件尾時,more 命令會自動退出閱讀環境,而 less 命令不自動退出,需在提示符“:”后按 q 鍵退出。
3、head 和 tail–查看文件開頭或末尾的部分內容
默認情況下,head 顯示前 10 行內容,tail 顯示后 10 行內容。
舉例:查看/etc/inittab 文件的前 3 行內容
查看/etc/inittab 文件的后 5 行內容
4、wc 命令——文件內容統計
作用:用于統計指定文件中的行數、單詞數、字節數。
語法:wc(選項)(參數)
常用選項:
-l 統計行數
-w 統計單詞數
-c 統計字節數
舉例:依次統計/mnt/test/1.txt 文件中的行數、單詞數、字節數分別統計/mnt/test/1.txt 文件中的行數、單詞數、字節數
四、查找命令
1、find 命令:搜索文件與目錄
作用:是在某個指定的路徑下找我們需要的文件或目錄,目標是文件或目錄。
類似于在 Windows 系統中執行的“搜索”操作。
語法:find [查找范圍] [查找條件表達式]
常用選項:
-name 按名稱查找,允許使用通配符。
-type 按文件類型查找文件類型包括:普通文件(f)、目錄(d)、塊設備
文件(b)、字符設備文件(c)
-user 按文件所有者查找,根據文件是否屬于某個目標用戶進行查找。
-size 按文件大小查找,使用“+”、“-”號設置超過或小于指定的大小作為查找條件。常用的容量單位包括 k(注意是小寫)、M、G
# find /etc -size +1024k -name “init*” #find /etc -name 1.txt
2、grep 命令:查找文件內容
作用:是在某個文件中找我們所需要的某部分內容,目標是字符串。則類似于在
WORD 中執行的“查找”操作。
語法:grep [選項] 查找條件 目標文件
常用選項:
-c :計算找到 ‘搜尋字符串’ 的次數
-i :忽略大小寫的不同,所以大小寫視為相同
-n :順便輸出行號
-v :反向選擇,亦即顯示出沒有 ‘搜尋字符串’ 內容的那一行!
–color=auto :可以將找到的關鍵詞部分加上顏色的顯示!
注意:grep 不支持通配符,而是使用正則表達式:
^ 表示以什么字符開頭
$ 表示以什么字符結尾
如:“^word”表示以“word”開頭
“word$”表示以“word”結尾
“^$”表示空行
五、其他輔助命令
1、查看歷史命令:history
作用:linux 的 history 命令的作用是,記錄執行過的命令。
用法:history [n] n 為數字,列出最近的 n 條命令
使用! 執行歷史命令。
! number 執行第幾條命令
! command 從最近的命令查到以 command 開頭的命令執行 !! 執行上一條
2.help 命令:只能查看內部命令的幫助信息
舉例:查看 pwd 命令的幫助信息
pwd –help
如果使用 help 命令查看外部命令的幫助信息時則會報錯
使用–help 選項查以查看外部命令的幫助信息
3.man 命令:查看命令的幫助手冊
使用“↑ ”、“↓ ”方向鍵滾動文本
使用 Page Up 和 Page Down 鍵翻頁
按 Q 或 q 鍵退出閱讀環境、按“/”鍵后查找內容舉例:查看 ls 的幫助手冊
4.輸入輸出重定向
Linux 系統中標準的輸入設備為鍵盤,標準輸出設備為屏幕,但在某些情況下,我們希望能從鍵盤以外的其他輸入設備讀取數據,或者將數據送到屏幕外的其他輸出設備,這種情況稱為重定向。
輸入重定向:<
輸出重定向:>或>>
輸出重定向是將命令的輸出結果重定向到一個文件中,而不是顯示在屏幕上。
“>”后面指定的文件如果不存在,將先建立該文件,再保存命令結果到文件中。
“>”后面指定的文件如果存在,將先清空文件的內容,再保存命令結果到文件中。
“>>”可以將命令結果重定向并追加到指定文件的末尾保存,而不覆蓋文件中原有的內容。
舉例:將 1.txt 的內容輸出重定向到 a.txt
Cat 1.txt > a.txt
將 1.txt 的內容追加到 a.txt
將錯誤信息輸出到文件
ls /etc/hhh 2> erro
cat > newfile
ls > newfile
cat > newfile < 1.txt
5.管道符“|”
通過管道符“|”,可以把多個簡單的命令連接起來實現更加復雜的功能。
管道符用于將“|”左邊命令的執行結果作為“|”右邊命令的輸入。
[root@localhost ~]# ls -lh /etc | more
分頁顯示/etc 目錄下所有文件和子目錄的詳細信息。
[root@localhost ~]# ls -lh /etc | grep net
顯示/etc 目錄下包含有“net”關鍵字的所有文件和子目錄的詳細信息。
[root@localhost ~]# ls -l /etc/*.conf | wc –l
統計/etc 目錄下所有以“.conf”結尾的文件的個數。
[root@localhost ~]# grep -v “^#”
/etc/httpd/conf/httpd.conf | gerp –v “^$” 查看/etc/httpd/conf/httpd.conf 文件中除了以“#”開頭的行和空行以外的內容。
6. clear 命令–清屏
Ctrl+l
六、文件權限
1、文件屬性說明
第 1 組:文件類型,其中第一個字符代表文件的類別。
– 普通文件 d 目錄 l 符號鏈接
c 字符設備 b 塊設備
文件的權限
r:可讀 w:可寫 x:可執行 -:沒有權限
第 2 組:文件件的連接數第 3 組:文件所有者
第 4 組:文件屬組
第 5 組:文件大小,默認單位為字節第 6 組:文件創建時間
第 6 組:文件名稱
2、修改文件的權限:chmod
字母方式修改權限
文件所有者權限(u)
所屬組權限(g)
其他用戶權限(o)
所有用戶(a)
舉例:/mnt 的權限是 drwxr-x—
chmod u-w /mnt 權限變為:dr-xr-x—
chmod o+rx /mnt 權限變為:dr-xr-xr-x
chmod g+w /mnt 權限變為:dr-xrwxr-x
chmod a+w /mnt 權限變為:drwxrwxrwx
3、數字方式修改權限
r=4 w=2 x=1 -=0
4、修改文件的所有者與所屬組:chown
舉例:chown teacher:teacher /test1 同時修改所有者與所屬組
chown root /test1 修改所有者
chown :student /test1 修改所屬組
5、特殊權限:
1)ACL:訪問控制【針對其他用戶當中的部份或個別用戶設置特殊權限】
setfacl -m u:stu1:rwx A
創建一個 ACL 規則,使 stu1 用戶對 A 目錄具有 rwx 權限
getfacl A 查看 ACL 規則
setfacl -x u:stu3 A
刪除 stu3 對 A 目錄的 ACL 權限,只刪除了一條規則 setfacl -b A
刪除 A 目錄的所有 ACL 規則
(2)SBIT:粘滯位權限(強制位權限)【針對其他用戶,只能刪除自己的文件,不能刪除其他的用戶的文件】
chmod o+t A
(3)SGID:針對其他用戶設置,以所屬組的身份去執行。
hmod g+s A
(4)SUID:以文件所有者的身份執行文件,只針對可執行文件。
chmod u+s A
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。