文章目錄
- 1.什么是操作系統?
- 2.Xshell的使用
- 3.常用指令
- 3.1 ls指令
- 3.2 pwd指令
- 3.3 cd指令
- 3.4 touch指令
- 3.5 mkdir指令
- 3.6 rmdir指令 && rm指令
- 3.7 man指令
- 3.8 cp指令
- 3.9 mv指令
- 3.10 cat指令
- 3.11 echo指令(重定向)
- 3.12 more指令
- 3.13 less指令
- 3.14 head指令
- 3.15 tail指令
- 3.16 date指令
- 3.17 cal指令
- 3.18 find指令
- 3.19 grep指令
- 3.20 zip/unzip指令
- 3.21 tar指令
- 3.22 bc指令
- 3.23 uname指令
- 3.24 shutdown指令
- 4.常用快捷鍵
- 希望讀者們多多三連支持
- 小編會繼續更新
- 你們的鼓勵就是我前進的動力!
本篇將開啟 Linux
操作系統的全面學習,默認使用的是 CentOS
操作系統,使用 Xshell
進行遠程登錄服務器進行操作測試
1.什么是操作系統?
這是一個計算機系統層次結構的示意圖,運行的過程是從上往下實現的,操作系統其實本質也是一種軟件,是一種基礎軟件,對下提供軟硬件資源的管理,對上提供穩定、快速、安全的操作環境,給予應用軟件功能的支撐,因此所有的軟件最終都會轉化為硬件行為,都要經過操作系統的管理
2.Xshell的使用
目前更新的最新的是Xshell8,可以直接下載家庭學校的免費版本,能夠滿足基本的 Linux
學習,再就是需要自己購買一臺輕量級云服務器進行登錄使用
[C:\~]$ ssh root@公網IP地址
首先初始狀態下只有一個主用戶,即 root
,輸入 ssh root@公網IP地址
,然后會彈出窗口讓你輸入密碼,公網 IP
和密碼都能在你購買服務器的地方找到
[C:\~]$ Connecting to 公網IP:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.WARNING! The remote SSH server rejected X11 forwarding request.
Last failed login: Tue Jun 17 21:39:20 CST 2025 from 公網IP on ssh:notty
There was 1 failed login attempt since the last successful login.
Last login: Tue Jun 17 21:21:28 2025 from 公網IPWelcome to Huawei Cloud Service
顯示這一段說明就連接成功了,這個警告不用管,我使用的是華為云,可能會出現些許不兼容的情況,但是這不影響后續的學習,但是我們一般不使用主用戶,root
操作記錄混雜,出問題時難以定位責任;普通賬戶操作留痕,便于排查。所以一般創建普通用戶來使用
[root@hcss-ecs-6aa4 ~]# adduser 用戶名
adduser 用戶名
用于增加普通用戶
[root@hcss-ecs-6aa4 ~]# passwd 用戶名
Changing password for user 用戶名.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
passwd 用戶名
設置剛創立的普通用戶的密碼,一般輸入的時候密碼不回顯
然后可以輸入 exit
退出 root
賬戶(其實也能用命令直接切換,后面會講),切換用戶名即可登錄普通用戶賬號
🔥值得注意的是:
[root@hcss-ecs-6aa4 ~]# userdel -r 用戶名
由于 root
用戶權限比普通用戶高,所以只有在 root
用戶下才能通過 userdel -r 用戶名
來刪除普通用戶
3.常用指令
Linux
通常都在后端運行,純命令行能降低消耗,提高效率,因此一般不需要圖形化界面,指令一般都會搭配選項使用
3.1 ls指令
ls
的作用是列出該目錄下的所有子目錄與文件。對于文件,將列出文件名以及其他信息
在 Linux
中,目錄指的就是我們平常創建的文件夾,藍色的是目錄,白色的是文件
-a
列出目錄下的所有文件,包括以.
開頭的隱含文件-d
將目錄象文件一樣顯示,而不是顯示其下的文件。 如:ls –d 指定目錄
-i
輸出文件的i
節點的索引信息。 如ls –ai
指定文件-k
以k
字節的形式表示文件的大小。ls –alk
指定文件-l
列出文件的詳細信息-n
用數字的UID
、GID
代替名稱(介紹UID
、GID
)-F
在每個文件名后附上一個字符以說明該文件的類型,*
表示可執行的普通文件;/
表示目錄;@
表示符號鏈接;|
表示FIFOs
;=
表示套接字(sockets
)(目錄類型識別)-r
對目錄反向排序-t
以時間排序-s
在l
文件名后輸出該文件的大小(大小排序,如何找到目錄下最大的文件)-R
列出所有子目錄下的文件(遞歸)-1
一行只輸出一個文件
🔥值得注意的是:
常用的是 -a
、-l
、-F
、-d
,其他一般不怎么用
[zzh_test@hcss-ecs-6aa4 ~]$ ll
total 4
drwxrwxr-x 3 zzh_test zzh_test 4096 Jun 18 19:14 dir1
-rw-rw-r-- 1 zzh_test zzh_test 0 Jun 17 23:23 text1
ls -l
可以縮寫成 ll
第三行: 以 d
開頭的表示目錄
第四行: 以 -
開頭的表示普通文件
3.2 pwd指令
[zzh_test@hcss-ecs-6aa4 ~]$ pwd
/home/zzh_test
pwd
的作用是顯示當前所在的路徑,沒有搭配的選項
3.3 cd指令
Linux
任何一個目錄下都有兩個隱藏文件
.
:表示當前路徑..
:表示上一級路徑
這兩個文件都是為了幫助定位文件位置,即相對路徑,平常見到的路徑一般是絕對路徑
所有的文件都是從根目錄 /
開始的
[zzh_test@hcss-ecs-6aa4 ~]$ ls
dir1 text1
[zzh_test@hcss-ecs-6aa4 ~]$ cd dir1
[zzh_test@hcss-ecs-6aa4 dir1]$ pwd
/home/zzh_test/dir1
改變工作目錄,將當前工作目錄改變到指定的目錄下
cd ..
:返回上級目錄cd /home/litao/linux/
:絕對路徑cd ../day02/
:相對路徑cd ~
:進入用戶家目錄cd -
:返回最近訪問目錄
3.4 touch指令
[zzh_test@hcss-ecs-6aa4 ~]$ touch text2
[zzh_test@hcss-ecs-6aa4 ~]$ ls
dir1 text1 text2
touch
指令可更改文檔或目錄的相關屬性,或者新建一個不存在的文件
-a
或--time=atime
或--time=access
或--time=use
只更改存取時間-c
或--no-create
不建立任何文檔-d
使用指定的日期時間,而非現在的時間-f
此參數將忽略不予處理,僅負責解決BSD
版本touch
指令的兼容性問題-m
或--time=mtime
或--time=modify
只更改變動時間-r
把指定文檔或目錄的日期時間,統統設成和參考文檔或目錄的日期時間相同-t
使用指定的日期時間,而非現在的時間
3.5 mkdir指令
[zzh_test@hcss-ecs-6aa4 ~]$ mkdir -p dir1/dir2/dir3
[zzh_test@hcss-ecs-6aa4 ~]$ tree
.
├── dir1
│ └── dir2
│ └── dir3
├── text1
└── text23 directories, 2 files
mkdir
用于創建目錄(文件夾)
🔥值得注意的是:
-p
一般用于遞歸式創建目錄,普通創建就需要進入該級目錄才能創建下一級目錄,所以-p
就方便了很多tree
指令用于展示樹形結構的目錄文件的層級關系,使用yum install -y tree
指令下載即可使用
3.6 rmdir指令 && rm指令
rmdir
只能用來刪除空目錄
-p
當子目錄被刪除后如果父目錄也變成空目錄的話,就連帶父目錄一起刪除
[zzh_test@hcss-ecs-6aa4 ~]$ tree
.
├── dir1
│ └── dir2
│ └── dir3
├── text1
└── text23 directories, 2 files
[zzh_test@hcss-ecs-6aa4 ~]$ rm -rfi dir1
rm: descend into directory ‘dir1’? y
rm: descend into directory ‘dir1/dir2’? y
rm: remove directory ‘dir1/dir2/dir3’? y
rm: remove directory ‘dir1/dir2’? y
rm: remove directory ‘dir1’? y
[zzh_test@hcss-ecs-6aa4 ~]$ tree
.
├── text1
└── text20 directories, 2 files
rmdir
還是太雞肋了,所以更多使用 rm
,能夠刪除文件或目錄
-f
即使文件屬性為只讀(即寫保護),亦直接強制刪除-i
刪除前逐一詢問確認-r
刪除目錄及其下所有文件(遞歸刪除)
3.7 man指令
[zzh_test@hcss-ecs-6aa4 ~]$ man man
man
指令用于查看指令手冊,畢竟不可能記住所有的指令,man man
是查詢 man
這條指令的意思
-k
:根據關鍵字搜索聯機幫助num
:man num printf
只在第num
章節找,比如printf
在第一章是一個命令,但是在第三章是一個函數,有可能你的系統沒有安裝相應手冊文件,可執行yum install man-pages
,就能查找函數了-a
:將所有章節的都顯示出來,比如man printf
它缺省從第一章開始搜索,知道就停止,用a
選項,當按下q
退出,他會繼續往后面搜索,直到所有章節都搜索完畢
3.8 cp指令
[zzh_test@hcss-ecs-6aa4 ~]$ ls
text1 text2
[zzh_test@hcss-ecs-6aa4 ~]$ cp text1 new_test
[zzh_test@hcss-ecs-6aa4 ~]$ ls
new_test text1 text2
cp
指令的作用是將已存在的文件或目錄,復制到新文件(若文件不存在會自行創建)或目錄中
cp 源文件1 源文件2 源文件3... 目標目錄/
同時指定兩個以上的文件或目錄,且最后的目的地是一個已經存在的目錄,則它會把前面指定的所有文件或目錄復制到此目錄中。若同時指定多個文件或目錄,而最后的目的地并非一個已存在的目錄,則會出現錯誤信息
-f
或--force
強行復制文件或目錄, 不論目的文件或目錄是否已經存在-i
或--interactive
覆蓋文件之前先詢問用戶-r
遞歸處理,將指定目錄下的文件與子目錄一并處理。若源文件或目錄的形態,不屬于目錄或符號鏈接,則一律視為普通文件處理-R
或--recursive
遞歸處理,將指定目錄下的文件及子目錄一并處理
🔥值得注意的是: 同一目錄下,不能出現同名文件
3.9 mv指令
[zzh_test@hcss-ecs-6aa4 dir1]$ mv a1 ../
[zzh_test@hcss-ecs-6aa4 dir1]$ mv a1 text1
[zzh_test@hcss-ecs-6aa4 dir1]$ mv a1 dir1
[zzh_test@hcss-ecs-6aa4 dir1]$ mv a1 ../text1
[zzh_test@hcss-ecs-6aa4 dir1]$ mv a1 ../dir1
mv
命令是 move
的縮寫,可以用來 移動文件
或者 將文件改名
第一行: 表示將文件 a1
剪切到上級目錄下
第二行: 表示將文件 a1
剪切到當前路徑的文件 text1
,即重命名
第三行: 表示將文件 a1
剪切到當前路徑的目錄 dir1
第四行: 表示將文件 a1
剪切到上級路徑的文件 text1
,即重命名
第五行: 表示將文件 a1
剪切到上級路徑的目錄 dir1
-f
:force
強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋-i
:若目標文件已經存在時,就會詢問是否覆蓋
3.10 cat指令
[zzh_test@hcss-ecs-6aa4 ~]$ tree
.
├── dir1
│ ├── dir2
│ │ └── dir3
│ └── new_test
├── my_dir
│ ├── a1
│ └── dir2
│ └── dir3
├── text1
└── text26 directories, 4 files
[zzh_test@hcss-ecs-6aa4 ~]$ cat dir1/new_test
hello world!
cat
的作用是查看文件內容
-b
對非空行輸出行編號-n
對輸出的所有行編號-s
不輸出多行空行,即將多行空行壓縮成一行空行輸出
3.11 echo指令(重定向)
[zzh_test@hcss-ecs-6aa4 ~]$ ll
total 12
drwxrwxr-x 3 zzh_test zzh_test 4096 Jun 26 00:12 dir1
drwxrwxr-x 3 zzh_test zzh_test 4096 Jun 22 15:21 my_dir
-rw-rw-r-- 1 zzh_test zzh_test 44 Jun 29 20:41 text1
-rw-rw-r-- 1 zzh_test zzh_test 0 Jun 18 22:06 text2
[zzh_test@hcss-ecs-6aa4 ~]$ echo "Hello Linux" > text2
[zzh_test@hcss-ecs-6aa4 ~]$ cat text2
Hello Linux
在 Linux
中,一切的指令本質皆是可執行文件,指令也是在系統特定路徑下存在的,本來正常情況下 echo
是向顯示器打印出來給我們看的,但是加了 >
表示 輸出重定向
,即將本來打印到顯示器的文本重定向到具體文件中(若文件不存在會自動創建)
默認情況下,echo
會在輸出末尾自動加換行符;若要取消,在 Linux
中可用 echo -n "文本"
,例如 echo -n "Hi"
輸出后不會換行
但是 >
在寫入的時候是覆蓋式寫入,即先清空文件再寫入,如果想要追加可以使用 >>
,同樣的,像 cat > text1
這樣的,叫做 輸入重定向
,其實作用和 cat text1
沒啥區別,他的區別在深入學習后會講
通常能夠打印信息到顯示器的指令都能使用輸出重定向,輸入重定向同理
3.12 more指令
[zzh_test@hcss-ecs-6aa4 ~]$ more Text
hello Linux 1
hello Linux 2
hello Linux 3
hello Linux 4
hello Linux 5
hello Linux 6
hello Linux 7
hello Linux 8
hello Linux 9
......
當遇上大文本時,cat
的查看就不適合了,因為需要自行翻找內容特別麻煩,因此 cat
只適合查看小文本,這個時候就要使用 more
指令,查看的時候可以按 ENTER
鍵向下滾動翻找
/字符串
:查找特定內容q
:退出more
3.13 less指令
less
與 more
類似,但使用 less
可以使用????隨意瀏覽文件,而 more
僅能向前移動,卻不能向后移動,而且 less
在查看之前不會加載整個文件,只會加載你需要看的部分,加快了文件打開速度
-i
:忽略搜索時的大小寫-N
:查看的時候,輸入再按ENTER
會顯示每行的行號-n
:隱藏輸出的所有行編號/字符串
:向下搜索“字符串”的功能?字符串
:向上搜索“字符串”的功能q
:退出less
n
:重復前一個搜索(與/
或?
有關)N
:反向重復前一個搜索(與/
或?
有關)
用 /hello
搜關鍵詞 hello
,找到第 3
行的 hello
按 n
→ 繼續往下(正向)找下一個 hello
按 N
→ 往回(反向)找之前的 hello
3.14 head指令
[zzh_test@hcss-ecs-6aa4 ~]$ head -5 Text
hello Linux 1
hello Linux 2
hello Linux 3
hello Linux 4
hello Linux 5
head
用于捕捉大文本的前面的內容,若沒有指定行數,head
默認查看前十行
-n
:顯示的行數
3.15 tail指令
[zzh_test@hcss-ecs-6aa4 ~]$ tail -5 Text
hello Linux 996
hello Linux 997
hello Linux 998
hello Linux 999
hello Linux 1000
tail
用于捕捉大文本的結尾的內容,若沒有指定行數,tail
默認查看后十行
-f
:循環讀取,執行后不會退出,而是持續監聽文件變化,一旦文件有新內容添加(比如日志文件被寫入新記錄),會立即顯示在屏幕上,直到手動按Ctrl + C
終止-n
:顯示行數
🔥值得注意的是:
有一個文件共有 1000
行內容,請取出第 500-510
行內容
- 方法一
head -510 Text
生成1
到510
的序列裝入臨時文件tmp
tail -11 tmp
取出結尾500-510
行的內容
- 方法二
[zzh_test@hcss-ecs-6aa4 ~]$ head -510 Text | tail -11
hello Linux 500
hello Linux 501
hello Linux 502
hello Linux 503
hello Linux 504
hello Linux 505
hello Linux 506
hello Linux 507
hello Linux 508
hello Linux 509
hello Linux 510
利用管道文件的方法,像流水線一樣快速處理多個指令,|
作用是將前一個命令 head
的輸出作為后一個命令 tail
的輸入
3.16 date指令
[zzh_test@hcss-ecs-6aa4 ~]$ date +%Y-%m-%d_%H:%M:%S
2025-07-04_16:40:39
data
用于顯示時間
- 在顯示方面,使用者可以設定欲顯示的格式,格式設定為一個加號后接數個標記,其中常用的標記列表如下
%H
:小時(00..23
)%M
:分鐘(00..59
)%S
:秒(00..61
)%X
:相當于%H:%M:%S
%d
:日 (01..31
)%m
:月份 (01..12
)%Y
:完整年份 (0000..9999
)%F
:相當于%Y-%m-%d
- 在設定時間方面
date -s
//設置當前時間,只有root
權限才能設置,其他只能查看。date -s 20080523
//設置成20080523
,這樣會把具體時間設置成空00:00:00
date -s 01:01:01
//設置具體時間,不會對日期做更改date -s “01:01:01 2008-05-23″
//這樣可以設置全部時間date -s “01:01:01 20080523″
//這樣可以設置全部時間date -s “2008-05-23 01:01:01″
//這樣可以設置全部時間date -s “20080523 01:01:01″
//這樣可以設置全部時間
- 時間戳
時間戳: 從
1970
年1
月1
日開始算的秒數,比如2025
年7
月4
日對應的秒數是1751500800
- 時間->時間戳:
date +%s
- 時間戳->時間:
date -d@1508749502
Unix
時間戳(英文為Unix epoch
,Unix time
,POSIX time
或Unix timestamp
)是從1970
年1
月1
日(UTC
/GMT
的午夜)開始所經過的秒數,不考慮閏秒
3.17 cal指令
[zzh_test@hcss-ecs-6aa4 ~]$ calJuly 2025
Su Mo Tu We Th Fr Sa1 2 3 4 56 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
cal
命令可以用來顯示公歷(陽歷)日歷
-3
:顯示系統前一個月,當前月,下一個月的月歷-j
:顯示在當年中的第幾天(一年日期按天算,從1
月1
號算起,默認顯示當前月在一年中的天數)-y
:顯示當前年份的日歷,cal –y 2018
3.18 find指令
[zzh_test@hcss-ecs-6aa4 ~]$ tree
.
├── dir1
│ ├── dir2
│ │ └── dir3
│ └── new_test
├── my_dir
│ ├── a1
│ └── dir2
│ └── dir3
├── Text
├── text1
└── text26 directories, 5 files
[zzh_test@hcss-ecs-6aa4 ~]$ find dir1
dir1
dir1/new_test
dir1/dir2
dir1/dir2/dir3
find
可以在磁盤中進行指定文件的搜索,在運行一個非常消耗資源的find命令時,很多人都傾向于把它放在后臺執行,因為遍歷一個大的文件系統可能會花費很長的時間(這里是指 30G
字節以上的文件系統)
🔥值得注意的是: 還有一些和find功能類似的指令
[zzh_test@hcss-ecs-6aa4 ~]$ which ls
alias ls='ls --color=auto'/usr/bin/ls
which
通常用于搜索指令的路徑
[zzh_test@hcss-ecs-6aa4 ~]$ whereis ls
ls: /usr/bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz
whereis
用于查找命令、源文件和手冊頁的位置
which
僅查找$PATH
中的可執行文件;whereis
搜索范圍更廣,包括系統默認的多個目錄,且能找到手冊頁、源碼等which
更側重 “命令在哪里可以執行”,whereis
更側重 “與目標相關的所有系統文件在哪里”
3.19 grep指令
[zzh_test@hcss-ecs-6aa4 ~]$ grep 99 Text
hello Linux 99
hello Linux 199
hello Linux 299
hello Linux 399
hello Linux 499
hello Linux 599
hello Linux 699
hello Linux 799
hello Linux 899
hello Linux 990
hello Linux 991
hello Linux 992
hello Linux 993
hello Linux 994
hello Linux 995
hello Linux 996
hello Linux 997
hello Linux 998
hello Linux 999
grep
指令是個行文本過濾工具,查找文件包含特定文本行的內容,并顯示出來
-i
:忽略大小寫的不同,所以大小寫視為相同-n
:順便輸出行號-v
:反向選擇,亦即顯示出沒有 ‘搜尋字符串’ 內容的那一行
3.20 zip/unzip指令
[zzh_test@hcss-ecs-6aa4 ~]# zip Text.zip Textadding: Text (deflated 86%)
[zzh_test@hcss-ecs-6aa4 ~]# tree
.
├── dir1
│ ├── dir2
│ │ └── dir3
│ └── new_test
├── my_dir
│ ├── a1
│ └── dir2
│ └── dir3
├── Text
├── text1
├── text2
└── Text.zip
zip
命令用于壓縮文件,若想要解壓文件,可以輸入 unzip Text.zip
。由于服務器之間的差異,可能沒有這兩個指令,可以使用 yum install -y zip unzip
進行下載
-r
遞歸處理,將指定目錄下的所有文件和子目錄一并處理
3.21 tar指令
[zzh_test@hcss-ecs-6aa4 ~]# tar -czf code.tgz text2
[zzh_test@hcss-ecs-6aa4 ~]# ll
total 36
-rw-r--r-- 1 root root 137 Jul 5 16:53 code.tgz
drwxrwxr-x 3 zzh_test zzh_test 4096 Jul 5 16:43 dir1
drwxrwxr-x 3 zzh_test zzh_test 4096 Jun 22 15:21 my_dir
-rw-rw-r-- 1 root root 15893 Jun 29 22:16 Text
-rw-rw-r-- 1 zzh_test zzh_test 44 Jun 29 20:41 text1
-rw-rw-r-- 1 zzh_test zzh_test 7 Jul 4 18:07 text2
[zzh_test@hcss-ecs-6aa4 ~]# rm -rf text2
[zzh_test@hcss-ecs-6aa4 ~]# ll
total 32
-rw-r--r-- 1 root root 137 Jul 5 16:53 code.tgz
drwxrwxr-x 3 zzh_test zzh_test 4096 Jul 5 16:43 dir1
drwxrwxr-x 3 zzh_test zzh_test 4096 Jun 22 15:21 my_dir
-rw-rw-r-- 1 root root 15893 Jun 29 22:16 Text
-rw-rw-r-- 1 zzh_test zzh_test 44 Jun 29 20:41 text1
[zzh_test@hcss-ecs-6aa4 ~]# tar -tzf code.tgz
text2
[zzh_test@hcss-ecs-6aa4 ~]# tar -xzf code.tgz
[zzh_test@hcss-ecs-6aa4 ~]# ll
total 36
-rw-r--r-- 1 root root 137 Jul 5 16:53 code.tgz
drwxrwxr-x 3 zzh_test zzh_test 4096 Jul 5 16:43 dir1
drwxrwxr-x 3 zzh_test zzh_test 4096 Jun 22 15:21 my_dir
-rw-rw-r-- 1 root root 15893 Jun 29 22:16 Text
-rw-rw-r-- 1 zzh_test zzh_test 44 Jun 29 20:41 text1
-rw-rw-r-- 1 zzh_test zzh_test 7 Jul 4 18:07 text2
tar
是 Linux
環境里常用的壓縮指令,比 zip
更實用,通常壓縮為 tar.gz
格式(簡寫為 tgz
),tar
不能壓縮為 zip
,常用選項為 -czf
(creat zip file
創建壓縮文件),-tzf
(查看壓縮文件),-xzf
(解壓壓縮文件)
-c
:建立一個壓縮文件的參數指令-x
:解開一個壓縮文件的參數指令-t
:查看tarfile
里面的文件-z
:是否同時具有gzip
的屬性?亦即是否需要用gzip
壓縮?-j
:是否同時具有bzip2
的屬性?亦即是否需要用bzip2
壓縮?-v
:壓縮的過程中顯示文件!這個常用,但不建議用在背景執行過程!-f
:使用檔名,請留意,在f
之后要立即接檔名喔!不要再加參數!-C
: 解壓到指定目錄
3.22 bc指令
[zzh_test@hcss-ecs-6aa4 ~]$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
5 + 3 * 2
11
scale=3 # 設置小數位數為3
10 / 3
3.333
quit # 退出交互模式
直接使用bc指令進入交互模式進行計算
echo "sqrt(25)" | bc -l # 計算平方根,輸出 5.0000000000
echo "sin(3.14159/2)" | bc -l # 計算正弦值(弧度),約等于 1.000000
也可以用 echo
傳遞表達式給 bc
在非交互模式下進行計算,-l
表示調用數學庫進行計算
3.23 uname指令
[zzh_test@hcss-ecs-6aa4 ~]$ uname -r
3.10.0-1160.119.1.el7.x86_64
[zzh_test@hcss-ecs-6aa4 ~]$ uname -a
Linux hcss-ecs-6aa4 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
uname -r
用來獲取電腦和操作系統的相關信息,-a
或 –all
詳細輸出所有信息,依次為內核名稱,主機名,內核版本號,內核版本,硬件名,處理器類型,硬件平臺類型,操作系統名稱
3.24 shutdown指令
關機指令
-h
:將系統的服務停掉后,立即關機-r
:在將系統的服務停掉之后就重新啟動-t sec
:-t
后面加秒數,即過幾秒后關機的意思
4.常用快捷鍵
[Tab]
按鍵:具有命令補全和檔案補齊的功能[Ctrl]-c
按鍵:讓當前的程序停掉[Ctrl]-d
按鍵:通常代表著鍵盤輸入結束(End Of File
,EOF
戒End OfInput
)的意思;另外,他也可以用來取代exit
[Ctrl]-r
按鍵:搜索歷史命令,也可以用history
指令查看,通常只保存最新的1000
條指令