- Linux網(wǎng)絡(luò)程序設(shè)計(jì):基于龍芯平臺
- 趙洪 李兆斌 魏占禎編著
- 6343字
- 2024-04-24 17:35:20
2.3 Loongnix操作系統(tǒng)使用入門
2.3.1 常用命令
在介紹常用命令之前,我們先來了解GUI與CLI。GUI是一種人機(jī)交互方式,通過圖形化的方式向用戶展示信息和操作界面,使得用戶可以更加方便、直觀地使用計(jì)算機(jī)系統(tǒng)。GUI通常包括窗口、菜單、按鈕、圖標(biāo)、滾動條等各種可視化元素,用戶可以通過鼠標(biāo)、鍵盤等輸入設(shè)備與這些元素進(jìn)行交互,完成各種操作。如今,GUI已經(jīng)成為現(xiàn)代操作系統(tǒng)和應(yīng)用程序的標(biāo)準(zhǔn)用戶界面,是計(jì)算機(jī)系統(tǒng)不可或缺的一部分。CLI是一種計(jì)算機(jī)用戶界面,通過命令行來向計(jì)算機(jī)系統(tǒng)發(fā)送指令,控制系統(tǒng)進(jìn)行各種操作。CLI通常是一個(gè)簡單的文本界面,用戶需要手動輸入命令,按Enter鍵后計(jì)算機(jī)才會執(zhí)行對應(yīng)的操作。與GUI相比,CLI更加高效、靈活,能夠在大多數(shù)操作系統(tǒng)中使用,尤其在服務(wù)器和網(wǎng)絡(luò)設(shè)備管理等領(lǐng)域得到廣泛應(yīng)用。
雖然GUI在計(jì)算機(jī)系統(tǒng)中已經(jīng)成為標(biāo)準(zhǔn)用戶界面,但CLI仍然具有其獨(dú)特的優(yōu)勢,具體如下。
① 自動化操作。CLI可以通過腳本和批處理文件等方式,實(shí)現(xiàn)自動化操作;相比之下,GUI通常需要手動操作,無法進(jìn)行自動化操作。
② 遠(yuǎn)程管理。CLI可以通過安全外殼(Secure Shell,SSH)等協(xié)議,遠(yuǎn)程管理服務(wù)器和網(wǎng)絡(luò)設(shè)備,不需要圖形化界面的支持,從而提高了管理效率。
③ 系統(tǒng)維護(hù)。CLI可以提供更加豐富的系統(tǒng)維護(hù)和故障排除工具,如各種命令行工具和腳本等,便于開發(fā)者和系統(tǒng)管理員進(jìn)行系統(tǒng)維護(hù)。
④ 資源占用。相比GUI,CLI的資源占用更少,在性能受限的系統(tǒng)上運(yùn)行更加流暢。
⑤ 精確控制。通過CLI,系統(tǒng)可以直接執(zhí)行命令,精確控制系統(tǒng)的各種操作,相比于通過GUI,控制更加靈活和精確。
綜上所述,雖然GUI提供了更加直觀的用戶交互方式,但在某些場景下,CLI仍然是必不可少的應(yīng)用工具。CLI可以幫助用戶更加高效地完成各種操作,更好地理解計(jì)算機(jī)系統(tǒng)的工作原理和內(nèi)部機(jī)制。
Linux文件系統(tǒng)采用一種類似于樹形結(jié)構(gòu)的層級結(jié)構(gòu),“樹根”為“/”,所有文件和目錄都位于根目錄下。在Linux文件系統(tǒng)中,目錄和文件都可以使用字母、數(shù)字和特殊字符命名,其中有一些字符是有特殊含義的。例如,“.”表示當(dāng)前目錄,“..”表示上級目錄,“/”表示路徑分隔符。這種文件結(jié)構(gòu)可以讓用戶更加方便地組織和管理文件,同時(shí)也可以為系統(tǒng)管理和維護(hù)提供便利。需要注意的是,Linux文件系統(tǒng)的文件名是區(qū)分大小寫的。
Loongnix操作系統(tǒng)GUI形式的根目錄如圖2-12所示。

圖2-12 Loongnix操作系統(tǒng)GUI形式的根目錄
Loongnix操作系統(tǒng)CLI形式的根目錄如圖2-13所示。

圖2-13 Loongnix操作系統(tǒng)CLI形式的根目錄
Loongnix的主要目錄及其說明如表2-1所示。
表2-1 Loongnix的主要目錄及其說明

在GUI下使用終端的方式有兩種:可以通過快捷鍵Ctrl + Alt + T或者在應(yīng)用程序菜單中找到終端程序來打開終端;也可以在文件瀏覽器的特定目錄下,右擊鼠標(biāo),在彈出的快捷菜單中選擇在“終端中打開”。
下面介紹Loongnix操作系統(tǒng)中常用的命令。
1.ls命令
ls命令的作用是列出指定目錄中的文件和子目錄。例如,在終端中執(zhí)行l(wèi)s命令,會輸出當(dāng)前目錄下的文件和子目錄的列表。如果想查看指定目錄下的文件和子目錄,可以將目錄路徑作為ls命令的參數(shù)。ls命令也支持各種選項(xiàng)和參數(shù),可用于控制輸出格式、排列順序、過濾特定類型的文件等。例如,可以使用“l(fā)s -l”命令以長格式顯示目錄中的文件和子目錄,或使用“l(fā)s -a”命令顯示所有文件和子目錄,包括隱藏文件。相比于“l(fā)s-1”命令的執(zhí)行結(jié)果,“l(fā)s -a”命令的執(zhí)行結(jié)果中有很多以“.”開頭的文件和子目錄,在Loongnix操作系統(tǒng)中以“.”開頭的文件和子目錄是隱藏的。
演示如下。
:~$ ls
公共 視頻 文檔 音樂 chapter2 chapter4 Code openssl-1.1.1d
模板 圖片 下載 桌面 chapter3 chapter9 GmSSL sensors
:~$ ls -a
. .bash_logout .dmrc sensors
.. .bashrc .gitconfig .ssh
公共 .cache GmSSL .sunlogin
模板 chapter2 .gnupg .sunpinyin
視頻 chapter3 .ICEauthority .tmux.conf
圖片 chapter4 .local .viminfo
文檔 chapter9 openssl-1.1.1d .vimrc.swp
下載 Code .pki .vscode
音樂 .config .presage .Xauthority
桌面 .dbus .profile .xsession-errors
.bash_history .designer .rpmdb .xsession-errors.old
:~$ ls -l
總用量12
drwxr-xr-x 2 zzx zzx 6 10月 11 2022公共
drwxr-xr-x 2 zzx zzx 89 6月 15 2022模板
drwxr-xr-x 2 zzx zzx 6 10月 11 2022視頻
drwxr-xr-x 2 zzx zzx 6 10月 11 2022圖片
drwxr-xr-x 4 zzx zzx 38 11月 14 2022文檔
drwxr-xr-x 3 zzx zzx 4096 7月 11 16:47下載
drwxr-xr-x 2 zzx zzx 6 10月 11 2022音樂
drwxr-xr-x 11 zzx zzx 4096 7月 13 11:04桌面
drwxr-xr-x 3 zzx zzx 50 4月 9 18:30 chapter2
drwxr-xr-x 17 zzx zzx 274 10月 30 2022 chapter3
drwxr-xr-x 14 zzx zzx 200 7月 12 16:56 chapter4
drwxr-xr-x 7 zzx zzx 97 4月 13 08:12 chapter9
drwxr-xr-x 7 zzx zzx 116 4月 11 15:53 Code
drwxr-xr-x 25 root root 4096 11月 13 2022 GmSSL
drwxr-xr-x 3 zzx zzx 28 11月 14 2022 openssl-1.1.1d
drwxr-xr-x 2 zzx zzx 22 6月 9 10:04 sensors
還可以將“l(fā)s-a”和“l(fā)s-l”兩個(gè)命令結(jié)合起來(ls-a1)使用,以長格式顯示目錄中的所有文件和子目錄。
演示如下。
:~$ ls -al
總用量20824
drwxr-xr-x 31 zzx zzx 4096 7月 12 22:25 .
drwxr-xr-x 3 root root 17 1月 27 18:08 ..
drwxr-xr-x 2 zzx zzx 6 10月11 2022公共
drwxr-xr-x 2 zzx zzx 89 6月15 2022模板
drwxr-xr-x 2 zzx zzx 6 10月11 2022視頻
drwxr-xr-x 2 zzx zzx 6 10月11 2022圖片
drwxr-xr-x 4 zzx zzx 38 11月14 2022文檔
drwxr-xr-x 3 zzx zzx 4096 7月11 16:47下載
drwxr-xr-x 2 zzx zzx 6 10月11 2022音樂
drwxr-xr-x 11 zzx zzx 4096 7月13 11:05桌面
-rw------- 1 zzx zzx 26811 7月12 22:25 .bash_history
-rw-r--r-- 1 zzx zzx 220 1月28 2022 .bash_logout
-rw-r--r-- 1 zzx zzx 3869 11月12 2022 .bashrc
drwxr-xr-x 14 zzx zzx 4096 7月 12 08:01 .cache
drwxr-xr-x 3 zzx zzx 50 4月 9 18:30 chapter2
......
可以使用“l(fā)s -l filename”命令查看filename文件詳情。
演示如下。
:~$ ls -l .config/monitors.xml
-rw-r--r-- 1 zzx zzx 557 10月27 22:09 .config/monitors.xml
使用“l(fā)s -l .config/monitors.xml”命令輸出文件.config/monitors.xml的詳細(xì)信息時(shí),可以看到文件的信息分為了7列。
● 第一列為“-rw-r--r--”,該列表示文件的訪問權(quán)限。文件的權(quán)限包括3個(gè)部分,分別對應(yīng)文件所有者、文件所有者所在的組和其他用戶。第一個(gè)字符表示文件類型,例如“-”表示普通文件、“d”表示目錄等。接下來的3組字符(每組3個(gè)字符)分別表示文件所有者、文件所有者所在的組和其他用戶對文件的讀、寫和執(zhí)行權(quán)限,其中“r”表示可讀,“w”表示可寫,“x”表示可執(zhí)行,“-”表示沒有該權(quán)限。所以“-rw-r--r--”的意思就是文件是普通文件,文件所有者有讀、寫權(quán)限,文件所有者所在的組和其他用戶只有讀的權(quán)限。
● 第二列為“1”,該列表示硬鏈接計(jì)數(shù),即指向文件的硬鏈接數(shù)量,如果文件沒有硬鏈接,該列為“1”。
● 第三列為“zzx”,該列表示文件所有者的名稱。
● 第四列為“zzx”,該列表示文件所有者所在組的名稱。
● 第五列為“557”,該列表示文件大小,并且以字節(jié)(B)為單位。
● 第六列為“10月27 22:09”,該列表示文件的最后修改時(shí)間。
● 第七列為“.config/monitors.xml”,該列表示文件名。
在GUI中找到該文件并右擊,再從彈出的快捷菜單中選擇“屬性”,即可查看文件的詳細(xì)信息,如圖2-14和圖2-15所示。

圖2-14 在GUI中查看文件信息(1)

圖2-15 在GUI中查看文件信息(2)
通配符是Loongnix命令行中常用的一種特殊字符,它可以用來匹配文件名、路徑名等。在Loongnix操作系統(tǒng)中,通配符可以用于許多命令中,如ls、cp、rm等,以便進(jìn)行文件或目錄的匹配和操作。下面介紹3種簡單的通配符。
● 星號(*):通配符中十分常用的一種,它可以匹配任意長度、任意字符的字符串。例如,*.txt可以匹配當(dāng)前目錄下所有擴(kuò)展名為txt的文件,file*可以匹配所有以file開頭的文件或目錄。
● 問號(?):可以匹配一個(gè)任意字符。例如,file?.txt可以匹配file1.txt、file2.txt等文件,但無法匹配file.txt或file11.txt等文件。
● 中括號([]):可以用來匹配一組字符中的任意一個(gè)字符。例如,[abc]可以匹配字符a、b或c,[0-9]可以匹配所有數(shù)字字符。在中括號中可以使用“-”來表示字符范圍。例如,[a-z]可以匹配所有小寫字母。
這些通配符可以與許多Linux命令一起使用,例如,使用“l(fā)s *.conf”命令可以查看目錄中所有以conf為擴(kuò)展名的文件,使用“l(fā)s *[a-c].conf”命令可以查看目錄中所有名稱以a.conf、b.conf和c.conf結(jié)尾的文件,使用“l(fā)s pnm2p?a.conf”命令可以查看目錄中所有名稱為pnm2p?a.conf且“?”代表任意一個(gè)字符的所有文件。通配符是Loongnix命令行中非常強(qiáng)大且靈活的工具,可以幫助用戶提高工作效率。
演示如下。
:/etc$ ls *.conf
adduser.conf libaudit.conf resolv.conf
apg.conf locale.conf rsyslog.conf
ca-certificates.conf logrotate.conf rygel.conf
debconf.conf mke2fs.conf sensors3.conf
deluser.conf netscsid.conf sestatus.conf
dracut.conf nftables.conf sysctl.conf
fuse.conf nsswitch.conf ucf.conf
gai.conf ntp.conf usb_modeswitch.conf
host.conf orayconfig.conf vconsole.conf
ld.so.conf pam.conf wodim.conf
lftp.conf pnm2ppa.conf xattr.conf
libao.conf request-key.conf zhcon.conf
:/etc$ ls *[a-c].conf
pnm2ppa.conf
:/etc$ ls pnm2p?a.conf
pnm2ppa.conf
2.cd命令
cd命令用于切換當(dāng)前工作目錄。當(dāng)cd命令不帶任何參數(shù)時(shí),該命令用于將當(dāng)前工作目錄切換為當(dāng)前用戶的主目錄(即/home/用戶名);當(dāng)cd命令后跟著目錄時(shí),該命令用于將當(dāng)前工作目錄切換為該目錄。cd命令還支持一些特殊參數(shù),例如“cd ..”,該命令用于將當(dāng)前工作目錄切換到上一級目錄。需要注意的是,使用cd命令只能切換到已存在的目錄。如果要切換到的目錄不存在,則需要先創(chuàng)建該目錄。
使用“cd .local”命令進(jìn)入.local文件夾,然后使用“cd wine”命令進(jìn)入wine文件夾,再使用“cd ..”命令返回到上一級目錄,也就是.local文件夾,最后使用“cd ..”命令返回到最開始的地方。
演示如下。
:~$ ls -a
. .bash_logout .dmrc sensors
.. .bashrc .gitconfig .ssh
公共 .cache GmSSL .sunlogin
模板 chapter2 .gnupg .sunpinyin
視頻 chapter3 .ICEauthority .tmux.conf
圖片 chapter4 .local .viminfo
…
:~$ cd .local
:~/.local$ ls
share wine
:~/.local$ cd wine
:~/.local/wine$ ls
uos-wechat
:~/.local/wine$ cd ..
:~/.local$ ls
share wine
:~/.local$ cd ..
$ ls
公共 視頻 文檔 音樂 chapter2 chapter4 Code openssl-1.1.1d
模板 圖片 下載 桌面 chapter3 chapter9 GmSSL sensors
先使用“cd .local/share/evolution/addressbook/system/”命令進(jìn)入.local/share/evolution/addressbook/ system/,再使用“cd”命令,會直接返回到主目錄/home/zzx。對于root用戶來說,“cd~”相當(dāng)于“cd /root”;對于普通用戶來說,“cd~”相當(dāng)于“cd /home/當(dāng)前用戶名”。而使用“cd -”命令則會返回進(jìn)入此目錄之前所在的目錄。
演示如下。
:~$ cd .local/share/evolution/addressbook/system/
:~/.local/share/evolution/addressbook/system$ ls
contacts.db photos
:~/.local/share/evolution/addressbook/system$ cd
:~$ ls
公共 視頻 文檔 音樂 chapter2 chapter4 Code openssl-1.1.1d
模板 圖片 下載 桌面 chapter3 chapter9 GmSSL sensors
:~$ cd .local/share/evolution/
:~/.local/share/evolution$ cd~/.local/share/evolution/addressbook/system/
:~/.local/share/evolution/addressbook/system$ cd -
:~/.local/share/evolution$
3.命令行常用快捷鍵
在命令行中輸入命令時(shí),使用快捷鍵能讓輸入效率更高,以下是一些常用的快捷鍵。
① Tab鍵。只需輸入文件名或目錄名的前幾個(gè)字符,然后按Tab鍵,如果當(dāng)前目錄下的其他文件名和目錄名不包含這幾個(gè)字符,則完整的文件名會立即自動在命令行中出現(xiàn);反之,再按Tab鍵,系統(tǒng)會列出當(dāng)前目錄下所有名稱以這幾個(gè)字符開頭的文件或目錄。在命令行下輸入“cd .”命令,再連續(xù)按兩次Tab鍵,系統(tǒng)將列出所有以“.”開頭的命令。在命令行下輸入“cd .c”命令,再連續(xù)按兩次Tab鍵,系統(tǒng)將列出所有以“.c”開頭的命令。在命令行下輸入“cd .co”命令時(shí),目錄下無相同的,此時(shí)按一次Tab鍵,完整的文件名會立即自動在命令行出現(xiàn)。
演示如下。
:~$ ls -a
. .bashrc GmSSL .sunlogin
.. .cache .gnupg .sunpinyin
公共 chapter2 .ICEauthority .tmux.conf
模板 chapter3 .local .viminfo
視頻 chapter4 new .vimrc.swp
圖片 chapter9 openssl-1.1.1d .vscode
文檔 Code .pki .Xauthority
下載 .config .presage .xsession-errors
音樂 .dbus .profile .xsession-errors.old
桌面 .designer .rpmdb
.bash_history .dmrc sensors
.bash_logout .gitconfig .ssh
:~$ cd .
./ .config/ .gnupg/ .presage/ .sunlogin/
../ .dbus/ .local/ .rpmdb/ .sunpinyin/
.cache/ .designer/ .pki/ .ssh/ .vscode/
:~$ cd .c
.cache/ .config/
② 上、下方向鍵。其作用是翻看歷史命令。
③ Ctrl+L快捷鍵。其作用是清屏,等同于在命令行執(zhí)行“clear”命令。
④ Ctrl+D快捷鍵。其作用是退出終端,等同于在命令行執(zhí)行“exit”命令。
⑤ Ctrl+C快捷鍵:其作用是強(qiáng)制中斷程序執(zhí)行。
4.mkdir命令和touch命令
mkdir命令用于創(chuàng)建新的目錄,其常用的語法格式為“mkdir目錄名”,其中目錄名表示要創(chuàng)建的目錄名稱。使用mkdir命令可以同時(shí)創(chuàng)建多個(gè)目錄,目錄名之間用空格隔開。
touch命令用于創(chuàng)建新的空文件,其常用的語法格式為“touch文件名”,其中文件名表示要創(chuàng)建的文件名稱。使用touch命令可以同時(shí)創(chuàng)建多個(gè)文件,文件名之間用空格隔開。例如,可使用“mkdir Hello”命令創(chuàng)建名為Hello的目錄,使用“touch hello.c”命令創(chuàng)建名為hello.c的文件。
演示如下。
:~/chapter2$ mkdir Hello
Hello
:~/chapter2$ cd Hello/
:~/chapter2/Hello$ touch hello.c
:~/chapter2/Hello$ ls
hello.c
5.mv命令
mv命令的作用是移動或重命名文件和目錄。例如,使用“mv hello.c helloWorld.c”命令,將Hello目錄下的hello.c文件重命名為helloWorld.c;再使用“mv helloWorld.c ../”命令,將helloWorld.c文件移動到上一級目錄chapter2中;最后使用“mv helloWorld.c Hello/”命令,將helloWorld.c文件移動到Hello目錄下。
演示如下。
:~/chapter2/Hello$ ls
hello.c
:~/chapter2/Hello$ mv hello.c helloWorld.c
:~/chapter2/Hello$ ls
helloWorld.c
:~/chapter2/Hello$ mv helloWorld.c ../
:~/chapter2/Hello$ ls
:~/chapter2/Hello$ cd ..
:~/chapter2$ ls
Hello helloWorld.c
:~/chapter2$ mv helloWorld.c Hello/
:~/chapter2$ ls
Hello
:~/chapter2$ cd Hello/
:~/chapter2/Hello$ ls
helloWorld.c
6.cp命令
cp命令的作用是復(fù)制文件或目錄。例如,使用“cp helloWorld.c test.c”命令可復(fù)制helloWorld.c文件并將得到的文件重命名為test.c。可以看到,之前Hello目錄下只有helloWorld.c一個(gè)文件,現(xiàn)在有helloWorld.c和test.c兩個(gè)文件。回到上一級目錄,使用“cp Hello HelloWorld”命令會出現(xiàn)錯(cuò)誤,會提示“cp:未指定 -r;略過目錄 'Hello' ”。這是因?yàn)槭褂胏p命令復(fù)制目錄時(shí),需要加上-r參數(shù),加上-r參數(shù)后將遞歸復(fù)制目錄下所有的子目錄和文件。使用“cp -r Hello HelloWorld”命令可以看到復(fù)制成功,進(jìn)入HelloWorld目錄下可以看到和Hello目錄下一樣的文件。
演示如下。
:~/chapter2/Hello$ ls
helloWorld.c
:~/chapter2/Hello$ cp helloWorld.c test.c
:~/chapter2/Hello$ ls
helloWorld.c test.c
:~/chapter2/Hello$ cd ..
:~/chapter2$ ls
Hello
:~/chapter2$ cp Hello HelloWorld
cp: 未指定 -r;略過目錄'Hello'
:~/chapter2$ cp -r Hello HelloWorld
:~/chapter2$ ls
Hello HelloWorld
:~/chapter2$ cd HelloWorld/
:~/chapter2/HelloWorld$ ls
helloWorld.c test.c
7.rm命令
rm命令的作用是刪除文件或目錄。需要注意的是,使用rm命令刪除文件或目錄后,這些文件或目錄將無法恢復(fù),因此在使用rm命令時(shí)應(yīng)特別小心,避免誤刪重要文件。例如,使用“rm test.c”命令可刪除test.c文件。在使用“rm HelloWorld”命令刪除HelloWorld目錄時(shí),系統(tǒng)會提示“rm:無法刪除 'HelloWorld' :是一個(gè)目錄”。同樣需要加上-r參數(shù),該參數(shù)的作用是刪除指定目錄及其包含的所有內(nèi)容,即刪除該目錄下所有的子目錄和文件。使用“rm -r HelloWorld”命令可成功刪除HelloWorld目錄。
演示如下。
:~/chapter2/HelloWorld$ ls
helloWorld.c test.c
:~/chapter2/HelloWorld$ rm test.c
:~/chapter2/HelloWorld$ ls
helloWorld.c
:~/chapter2/HelloWorld$ cd ..
:~/chapter2$ ls
Hello HelloWorld
:~/chapter2$ rm HelloWorld
rm: 無法刪除'HelloWorld': 是一個(gè)目錄
:~/chapter2$ rm -r HelloWorld/
:~/chapter2$ ls
Hello
8.chmod命令
chmod命令是Loongnix操作系統(tǒng)中用于修改文件或目錄權(quán)限的命令。通過該命令,用戶可以修改文件或目錄的讀、寫、執(zhí)行權(quán)限,以及文件或目錄的所屬用戶和所屬組等。但只有文件所有者和超級用戶才能修改文件和目錄的權(quán)限。例如,使用“chmod u+x demo.txt”命令增加文件所有者的可執(zhí)行權(quán)限,再使用“l(fā)s -l demo.txt”命令查看文件詳情,可以看到相比于之前,demo.txt文件所有者的訪問權(quán)限多了可執(zhí)行權(quán)限,并且第七列文件名變?yōu)榱司G色。執(zhí)行該可執(zhí)行文件,就會顯示出當(dāng)前的環(huán)境變量PATH。使用“chmod u-x demo.txt”命令去除demo.txt文件所有者的可執(zhí)行權(quán)限后,再去執(zhí)行該文件時(shí),系統(tǒng)會提示權(quán)限不夠。可以使用“chmod g-w demo.txt”命令去除組用戶的寫權(quán)限,以及可以使用“chmod +x demo.txt”命令直接增加所有用戶對demo.txt文件的可執(zhí)行權(quán)限。
演示如下。
:~/chapter2$ ls -l demo.txt
-rw-rw-r-- 1 zzx zzx 11 3月 29 19:40 demo.txt
:~/chapter2$ cat demo.txt
echo $PATH
:~/chapter2$ chmod u+x demo.txt
:~/chapter2$ ls -l demo.txt
-rwxrw-r-- 1 zzx zzx 11 3月 29 19:40 demo.txt
:~/chapter2$ ./demo.txt
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/git/bin
:~/chapter2$ chmod u-x demo.txt
:~/chapter2$ ls -l demo.txt
-rw-rw-r-- 1 zzx zzx 11 3月 29 19:40 demo.txt
:~/chapter2$ ./demo.txt
bash: ./demo.txt: 權(quán)限不夠
:~/chapter2$ chmod g-w demo.txt
:~/chapter2$ ls -l demo.txt
-rw-r--r-- 1 zzx zzx 11 3月 29 19:40 demo.txt
:~/chapter2$ chmod +x demo.txt
:~/chapter2$ ls -l demo.txt
-rwxr-xr-x 1 zzx zzx 11 3月 29 19:40 demo.txt
“chmod 777 filename”是一條Loongnix命令,用于將文件filename的權(quán)限設(shè)置為最高權(quán)限,即用戶、用戶組和其他用戶均有讀、寫、執(zhí)行權(quán)限。其中,數(shù)字7表示權(quán)限標(biāo)志的組合。其中每個(gè)數(shù)字分別代表一種用戶類型(文件所有者、文件所有者所在的組、其他用戶),每個(gè)數(shù)字對應(yīng)的3個(gè)權(quán)限分別為讀取權(quán)限(4)、寫入權(quán)限(2)和執(zhí)行權(quán)限(1)。將它們加起來可以得到一個(gè)數(shù)字,表示用戶類型的權(quán)限。
因此,“chmod 777 filename”用于將文件filename的權(quán)限設(shè)置為文件所有者擁有讀、寫、執(zhí)行權(quán)限(4+2+1=7),文件所有者所在的組擁有讀、寫、執(zhí)行權(quán)限(4+2+1=7),其他用戶擁有讀、寫、執(zhí)行權(quán)限(4+2+1=7)。這意味著所有用戶都可以讀、寫和執(zhí)行該文件。
9.命令輸出重定向
在Loongnix操作系統(tǒng)中,命令輸出重定向是一種將命令執(zhí)行結(jié)果從屏幕上輸出到文件中的方法。通過重定向符號“>”或“>>”,我們可以將命令執(zhí)行結(jié)果寫入指定的文件,而不是輸出到屏幕上。具體來說,“>”用于將命令的執(zhí)行結(jié)果寫入文件,并覆蓋文件中原有的內(nèi)容,例如,“l(fā)s -l > file.txt”命令用于將“l(fā)s -l”命令的執(zhí)行結(jié)果寫入file.txt文件,并覆蓋該文件中原有的內(nèi)容(如果存在的話);“>>”用于將命令輸出追加到文件末尾,例如,“echo "Hello, World!" >> file.txt”命令用于將字符串“Hello, World!”追加到file.txt文件的末尾。
使用“l(fā)s -l > demo.txt”命令將“l(fā)s -l”命令的執(zhí)行結(jié)果寫入demo.txt文件,再使用“cat demo.txt”命令查看demo.txt文件內(nèi)容,可以看到demo.txt中原有的內(nèi)容已經(jīng)被“l(fā)s -l”命令的輸出覆蓋了。使用“echo "111111" > demo.txt”命令將“111111”內(nèi)容寫入demo.txt,并覆蓋原有的內(nèi)容。使用“echo "222222" >> demo.txt”命令將“222222”內(nèi)容寫入demo.txt,和剛才不同的是,該命令會將“222222”內(nèi)容寫入文件末尾,而不是覆蓋原有的內(nèi)容。
演示如下。
:~/chapter2$ ls
Hello
:~/chapter2$ ls -l > demo.txt
:~/chapter2$ ls
demo.txt Hello
:~/chapter2$ cat demo.txt
總用量0
-rw-r--r-- 2 zzx zzx 0 3月 20 10:25 demo.txt
drwxr-xr-x 2 zzx zzx 89 6月 15 10:14 Hello
:~/chapter2$ echo "111111" > demo.txt
:~/chapter2$ cat demo.txt
111111
:~/chapter2$ echo "222222" >> demo.txt
:~/chapter2$ cat demo.txt
111111
222222
10.sudo命令
在Loongnix操作系統(tǒng)中,sudo命令可以讓普通用戶以超級用戶(root用戶)的權(quán)限執(zhí)行命令或訪問系統(tǒng)資源。使用sudo命令時(shí),用戶不需要將系統(tǒng)管理員的賬戶密碼共享給其他用戶,因此系統(tǒng)安全性得到了提升。sudo命令的語法格式為sudo command,其中command是以root用戶的權(quán)限執(zhí)行的命令。當(dāng)用戶執(zhí)行該命令時(shí),系統(tǒng)會要求用戶輸入自己的密碼,如果密碼正確,則執(zhí)行command命令,否則拒絕執(zhí)行。
使用sudo命令時(shí)需要注意,只有具有sudo權(quán)限的用戶才能使用sudo命令。在使用sudo命令時(shí),用戶要仔細(xì)確認(rèn)要執(zhí)行的命令是否正確,以免出現(xiàn)不必要的錯(cuò)誤或安全問題。
使用“cp chapter2/demo.txt /opt/”命令將demo.txt文件復(fù)制到/opt/目錄下時(shí),系統(tǒng)會提示權(quán)限不夠,這時(shí)我們可以使用sudo命令,即使用“sudo cp chapter2/demo.txt /opt/”命令在/opt/目錄下添加demo.txt文件。使用“mkdir temp”命令在/opt/目錄下創(chuàng)建temp目錄時(shí),系統(tǒng)同樣會提示權(quán)限不夠,這時(shí)也可使用sudo命令。最后在/opt/目錄下刪除新建的temp目錄時(shí)也需要使用sudo命令。
演示如下。
:~$ ls
公共 圖片 音樂 chapter3 Code openssl-1.1.1d
模板 文檔 桌面 chapter4 GmSSL sensors
視頻 下載 chapter2 chapter9
:~$ cp chapter2/demo.txt /opt/
cp: 無法創(chuàng)建普通文件'/opt/demo.txt': 權(quán)限不夠
:~$ sudo cp chapter2/demo.txt /opt/
:~$ ls /opt
apps deepinwine demo.txt sogoupinyin
cmake-3.26.0 deepin-wine6-stable kingsoft westone
:~$ cd /opt
/opt$ mkdir temp
mkdir: 無法創(chuàng)建目錄 "temp": 權(quán)限不夠
:/opt$ sudo mkdir temp
:/opt$ ls
apps deepinwine demo.txt sogoupinyin westone
cmake-3.26.0 deepin-wine6-stable kingsoft temp
:/opt$ rm temp/
rm: 無法刪除'temp/': 是一個(gè)目錄
:/opt$ sudo rm -r temp/
:/opt$ ls
apps deepinwine demo.txt sogoupinyin
cmake-3.26.0 deepin-wine6-stable kingsoft westone
- Instant Node Package Manager
- 計(jì)算機(jī)圖形學(xué)編程(使用OpenGL和C++)(第2版)
- Developing Mobile Web ArcGIS Applications
- 跟老齊學(xué)Python:輕松入門
- Mastering Articulate Storyline
- Learning Neo4j 3.x(Second Edition)
- 計(jì)算機(jī)應(yīng)用基礎(chǔ)實(shí)踐教程
- BeagleBone Robotic Projects(Second Edition)
- Natural Language Processing with Python Quick Start Guide
- Go語言從入門到精通
- 零基礎(chǔ)輕松學(xué)C++:青少年趣味編程(全彩版)
- AutoCAD基礎(chǔ)教程
- 交互設(shè)計(jì)師成長手冊:從零開始學(xué)交互
- 從“1”開始3D編程
- HTML5 Game Development by Example:Beginner's Guide(Second Edition)