分享c語言核心技術pdf「linux系統編程手冊pdf」

一、文件和目錄的基本概念

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 等單位顯示文件大小(

默認為字節),提高可讀性

-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

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/273650.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-17 14:07
下一篇 2024-12-17 14:07

相關推薦

發表回復

登錄後才能評論