官术网_书友最值得收藏!

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
主站蜘蛛池模板: 兴海县| 深州市| 新晃| 闵行区| 区。| 双辽市| 沅陵县| 巴楚县| 浮山县| 苍梧县| 玉溪市| 四子王旗| 东海县| 梁山县| 自治县| 晋宁县| 平山县| 北海市| 东明县| 望城县| 句容市| 农安县| 嘉义县| 明星| 宁陕县| 平远县| 齐河县| 嘉善县| 葵青区| 马山县| 全椒县| 昌吉市| 迁安市| 巩义市| 体育| 佛山市| 富阳市| 郁南县| 宜兰市| 东源县| 昂仁县|