初識Linux及常用指令
初識Linux及常用指令
Linux簡介
Linux,全稱GNU/Linux,是一套免費使用和自由傳播的類UNIX作業系統,其核心由林納斯·本納第克特·託瓦茲於1991年第一次釋出,它主要受到Minix和Unix思想的啟發,是一個多使用者、多工、支援多執行緒和多CPU的作業系統。它能執行主要的Unix工具軟體、應用程式和網路協議。它支援32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多使用者網路作業系統。
與大家熟知的 Windows 作業系統軟體一樣,Linux 也是一個作業系統軟體,與 Windows 不同之處在於,Linux 是一套開放原始碼程式的、可以自由傳播的類 Unix 作業系統軟體。
Linux特點:
大量的可用軟體及免費軟體
Linux 系統上有著大量的可用軟體,且絕大多數是免費的,比如聲名赫赫的 Apache、Samba、PHP、MySQL 等,
良好的可移植性及靈活注
Linux 系統有良好的可移植性,它幾乎支援所有的 CPU 平臺,這使得它便於裁剪和定製。我們可以把 Linux 放在 U 盤、光碟等儲存介質中,也可以在嵌入式領域廣泛應用。
優良的穩定性和安全性
Linux 開放原始碼,將所有程式碼放在網上,全世界的程式設計師都看得到,有什麼缺陷和漏洞,很快就會被發現,從而成就了它的穩定性和安全注。
支援幾乎所有的網路協議及開發語言
Linux 支援 TCP/IP 協議,支援現現今主流的語言C 、PHP、Java、C++ 、python等
UNIX與Linux的關係
二者的關係,不是大哥和小弟,"UNIX 是 Linux 的父親"這個說法更怡當。之所以要介紹它們的關係,是因為要告訴讀者,在學習的時候,其實 Linux 與 UNIX 有很多的共通之處,簡單地說,如果你已經熟練掌握了 Linux,那麼再上手使用 UNIX 會非常容易。
二者也有兩個大的區別:
- UNIX 系統大多是與硬體配套的,也就是說,大多數 UNIX 系統如 AIX、HP-UX 等是無法安裝在 x86 伺服器和個人計算機上的,而 Linux 則可以執行在多種硬體平臺上;
- UNIX 是商業軟體,而 Linux 是開源軟體,是免費、公開原始碼的。
常見Linux發行版本有哪些?
從技術上來說,李納斯•託瓦茲開發的 Linux 只是一個核心。核心指的是一個提供裝置驅動、檔案系統、程序管理、網路通訊等功能的系統軟體,核心並不是一套完整的作業系統,它只是作業系統的核心。一些組織或廠商將 Linux 核心與各種軟體和文件包裝起來,並提供系統安裝介面和系統配置、設定與管理工具,就構成了 Linux 的發行版本。
Linux 的發行版本可以大體分為兩類:
商業公司維護的發行版本,以著名的 Red Hat(紅帽) 為代表;產品主要包括 RHEL(Red Hat Enterprise Linux,收費版本)和 CentOS(RHEL 的社群克隆版本,免費版本)。
社群組織維護的發行版本,以 Debian 為代表。產品有 Ubuntu 。
其他的一些髮型版本
版本名稱 | 網 址 | 特 點 | 軟體包管理器 |
---|---|---|---|
Debian Linux | www.debian.org | 開放的開發模式,且易於進行軟體包升級 | apt |
Fedora Core | www.redhat.com | 擁有數量龐人的使用者,優秀的社群技術支援. 並且有許多創新 | up2date(rpm),yum (rpm) |
CentOS | www.centos.org | CentOS 是一種對 RHEL(Red Hat Enterprise Linux)原始碼再編譯的產物,由於 Linux 是開發原始碼的作業系統,並不排斥樣基於原始碼的再分發,CentOS 就是將商業的 Linux 作業系統 RHEL 進行原始碼再編譯後分發,並在 RHEL 的基礎上修正了不少已知的漏洞 | rpm |
SUSE Linux | www.suse.com | 專業的作業系統,易用的 YaST 軟體包管理系統 | YaST(rpm),第三方 apt (rpm)軟體庫(repository) |
Mandriva | www.mandriva.com | 操作介面友好,使用圖形配置工具,有龐大的社群進行技術支援,支援 NTFS 分割槽的大小變更 | rpm |
KNOPPIX | www.knoppix.com | 可以直接在 CD 上執行,具有優秀的硬體檢測和適配能力,可作為系統的急救盤使用 | apt |
Gentoo Linux | www.gentoo.org | 高度的可定製性,使用手冊完整 | portage |
Ubuntu | www.ubuntu.com | 優秀已用的桌面環境,基於 Debian 構建 | apt |
linux的重要的二級目錄
bin:放Linux上常用的命令
dev:放裝置的目錄
etc:Linux配置檔案目錄
home:普通使用者會在該目錄下建立屬於自己的目錄
root:管理員使用者家目錄
media:即插即用型的裝置的掛載目錄,光碟自動掛載到media目錄下
usr:放安裝的應用程式
sbin:只有管理員才能執行的命令
var:Linux日誌預設儲存目錄
常用的linux指令
命令的基本格式
[root@localhost ~]# 命令[選項][引數]
命令格式中的 [] 代表可選項,也就是有些命令可以不寫選項或引數,也能執行。
ls
list,用於列舉一個目錄或者檔案
a:所有的:列舉包含隱藏檔案
l:long list
ls -l = ll
示例:
不加選項和引數:
test@1:~/UA/3.0/shell$ ls
1 1.txt 2 test
加選項不加引數
test@1:~/UA/3.0/shell$ ls -l
total 8
-rw-rw-r-- 1 test test 0 Aug 18 23:53 1
-rw-rw-r-- 1 test test 14 Aug 19 02:10 1.txt
-rw-rw-r-- 1 test test 0 Aug 18 23:53 2
drwxrwxr-x 3 test test 4096 Aug 18 22:59 test
加選項和引數
test@1:~/UA/3.0/shell$ ls -l test/
total 4
drwxrwxr-x 3 test test 4096 Aug 18 22:54 1
-rw-rw-r-- 1 test test 0 Aug 19 02:12 1.txt
-rw-rw-r-- 1 test test 0 Aug 19 02:12 2.txt
-rw-rw-r-- 1 test test 0 Aug 19 02:12 3.txt
-rw-rw-r-- 1 test test 0 Aug 19 02:12 6.txt
-rw-rw-r-- 1 test test 0 Aug 19 02:12 t.txt
多個引數組合
test@1:~/UA/3.0/shell$ ls -lah test/
total 12K
drwxrwxr-x 3 test test 4.0K Aug 19 02:12 .
drwxrwxr-x 3 test test 4.0K Aug 19 02:09 ..
drwxrwxr-x 3 test test 4.0K Aug 18 22:54 1
-rw-rw-r-- 1 test test 0 Aug 19 02:12 1.txt
-rw-rw-r-- 1 test test 0 Aug 19 02:12 2.txt
-rw-rw-r-- 1 test test 0 Aug 19 02:12 3.txt
-rw-rw-r-- 1 test test 0 Aug 19 02:12 6.txt
-rw-rw-r-- 1 test test 0 Aug 19 02:12 t.txt
pwd
Print Working Directory (列印工作目錄)的縮寫,功能是顯示使用者當前所處的工作目錄
test@1:~/UA/3.0/shell$ pwd
/home/test/UA/3.0/shell
cd
Change Directory 的縮寫,用來切換工作目錄。
命令格式:
cd [相對路徑或絕對路徑]
示例:
絕對路徑:絕對路徑一定是由根目錄 / 開始寫起
test@1:~/UA/3.0/shell$ cd /home/test/UA/3.0/shell/
test@1:~/UA/3.0/shell$ pwd
/home/test/UA/3.0/shell
test@1:~/UA/3.0/shell$
相對路徑:相對路徑是相對於當前所在目錄而言的
test@1:~/UA/3.0/shell$ cd test/
test@1:~/UA/3.0/shell/test$ pwd
/home/test/UA/3.0/shell/test
cd 命令後面可以跟一些特殊符號
~: 代表當前登入使用者的主目錄
~使用者名稱:表示切換至指定使用者的主目錄
-:代表上次所在目錄
..:代表上級目錄
. :代表當前目錄
test@1:~/UA/3.0/shell/test$ pwd
/home/test/UA/3.0/shell/test
test@1:~/UA/3.0/shell/test$ cd ../
test@1:~/UA/3.0/shell$ pwd
/home/test/UA/3.0/shell
test@1:~/UA/3.0/shell$ cd ./test/
test@1:~/UA/3.0/shell/test$ cd ../../
test@1:~/UA/3.0$ ls
mkdir
make directories 的縮寫,用於建立新目錄
mkdir [-mp] 目錄名
-m 選項用於手動配置所建立目錄的許可權,而不再使用預設許可權。
-p 選項遞迴建立所有目錄
示例:
test@1:~/UA/3.0/shell$ ls
test@1:~/UA/3.0/shell$ mkdir test
test@1:~/UA/3.0/shell$ ls
test
test@1:~/UA/3.0/shell$ mkdir -m 722 test1
test@1:~/UA/3.0/shell$ ls -l
total 8
drwxrwxr-x 2 test test 4096 Aug 19 02:21 test
drwx-w--w- 2 test test 4096 Aug 19 02:21 test1
test@1:~/UA/3.0/shell$ mkdir -p A/B/C
test@1:~/UA/3.0/shell$ ls -l A/B/C/
total 0
test@1:~/UA/3.0/shell$ ls -l A/B/
total 4
drwxrwxr-x 2 test test 4096 Aug 19 02:21 C
test@1:~/UA/3.0/shell$
rmdir
和 mkdir 命令(建立空目錄)恰好相反,rmdir(remove empty directories 的縮寫)命令用於刪除空目錄
rmdir [-p] 目錄名
示例:
test@1:~/UA/3.0/shell$ mkdir -p A/B/C
test@1:~/UA/3.0/shell$ ls
A
test@1:~/UA/3.0/shell$ rmdir -p A/B/C/
test@1:~/UA/3.0/shell$ ls
test@1:~/UA/3.0/shell$
touch
建立檔案
touch [選項] 檔名
示例:
test@1:~/UA/3.0/shell$ touch 1.txt
test@1:~/UA/3.0/shell$ ls
1.txt
test@1:~/UA/3.0/shell$ touch {1,2,3}.txt
test@1:~/UA/3.0/shell$ ls
1.txt 2.txt 3.txt
ln
命令用於給檔案建立連結
軟連結:類似於 Windows 系統中給檔案建立快捷方式,即產生一個特殊的檔案,該檔案用來指向另一個檔案,此連結方式同樣適用於目錄。
硬連結:我們知道,檔案的基本資訊都儲存在 inode 中,而硬連結指的就是給一個檔案的 inode 分配多個檔名,通過任何一個檔名,都可以找到此檔案的 inode,從而讀取該檔案的資料資訊。
ln [選項] 原始檔 目標檔案
-s:建立軟連結檔案。如果不加 "-s" 選項,則建立硬連結檔案;
-f:強制。如果目標檔案已經存在,則刪除目標檔案後再建立連結檔案;
示例:
硬連結,相當於複製
test@1:~/UA/3.0/shell$ touch 1.txt
test@1:~/UA/3.0/shell$ ls
1.txt
test@1:~/UA/3.0/shell$ ln 1.txt 2.txt
test@1:~/UA/3.0/shell$ ls
1.txt 2.txt
test@1:~/UA/3.0/shell$ sha1sum 1.txt 2.txt
da39a3ee5e6b4b0d3255bfef95601890afd80709 1.txt
da39a3ee5e6b4b0d3255bfef95601890afd80709 2.txt
軟連結,相當於建立快捷方式
test@1:~/UA/3.0/shell$ ln -s ../img/ img
test@1:~/UA/3.0/shell$ ls -l
total 0
-rw-rw-r-- 2 test test 0 Aug 19 02:28 1.txt
-rw-rw-r-- 2 test test 0 Aug 19 02:28 2.txt
lrwxrwxrwx 1 test test 7 Aug 19 02:30 img -> ../img/
cp
用來複制檔案和目錄
cp [選項] 原始檔 目標檔案
-a:相當於 -d、-p、-r 選項的集合,這幾個選項我們一一介紹;
-d:如果原始檔為軟連結(對硬連結無效),則複製出的目標檔案也為軟連結;
-i:詢問,如果目標檔案已經存在,則會詢問是否覆蓋;
-p:複製後目標檔案保留原始檔的屬性(包括所有者、所屬組、許可權和時間);
-r:遞迴複製,用於複製目錄;
-u:若目標檔案比原始檔有差異,則使用該選項可以更新目標檔案,此選項可用於對檔案的升級和備用
示例:
基本使用
test@1:~/UA/3.0/shell$ touch test
test@1:~/UA/3.0/shell$ cp test ^C
test@1:~/UA/3.0/shell$ touch test
test@1:~/UA/3.0/shell$ mkdir 1
test@1:~/UA/3.0/shell$ ls
1 test
test@1:~/UA/3.0/shell$ cp test 1/
test@1:~/UA/3.0/shell$ ls -l 1/
total 0
-rw-rw-r-- 1 test test 0 Aug 19 02:32 test
改名複製(複製後的路徑後加自己想改的名字)
test@1:~/UA/3.0/shell$ cp test 1/test1
test@1:~/UA/3.0/shell$ ls -l 1/
total 0
-rw-rw-r-- 1 test test 0 Aug 19 02:32 test
-rw-rw-r-- 1 test test 0 Aug 19 02:35 test1
rm
強大的刪除命令,它可以永久性地刪除檔案系統中指定的檔案或目錄。在使用 rm 命令刪除檔案或目錄時,系統不會產生任何提示資訊。
rm[選項] 檔案或目錄
-f:強制刪除(force),和 -i 選項相反,使用 -f,系統將不再詢問,而是直接刪除目標檔案或目錄。
-i:和 -f 正好相反,在刪除檔案或目錄之前,系統會給出提示資訊,使用 -i 可以有效防止不小心刪除有用的檔案或目錄。
-r:遞迴刪除,主要用於刪除目錄,可刪除指定目錄及包含的所有內容,包括所有的子目錄和檔案。
test@1:~/UA/3.0/shell$ ls
1 test
test@1:~/UA/3.0/shell$ rm 1/
rm: cannot remove '1/': Is a directory
test@1:~/UA/3.0/shell$ rm -r 1
test@1:~/UA/3.0/shell$ ls
test
test@1:~/UA/3.0/shell$ touch 1.txt
test@1:~/UA/3.0/shell$ mkdir -p a/B/C
test@1:~/UA/3.0/shell$ touch a/B/C/2.txt
test@1:~/UA/3.0/shell$ rm -r a
test@1:~/UA/3.0/shell$ ls
1.txt test
test@1:~/UA/3.0/shell$ rm -r test
test@1:~/UA/3.0/shell$ ls
1.txt
test@1:~/UA/3.0/shell$
使用正則匹配要刪除的檔案
test@1:~/UA/3.0/shell$ touch {1,3,4,5,f,w2,hfh,sda}.txt
test@1:~/UA/3.0/shell$ ls
1.txt 3.txt 4.txt 5.txt f.txt hfh.txt sda.txt w2.txt
test@1:~/UA/3.0/shell$ rm -rf *.txt
test@1:~/UA/3.0/shell$ ls
test@1:~/UA/3.0/shell$
mv
move 的縮寫,既可以在不同的目錄之間移動檔案或目錄,也可以對檔案和目錄進行重新命名。
mv 【選項】 原始檔 目標檔案
-f:強制覆蓋,如果目標檔案已經存在,則不詢問,直接強制覆蓋;
-i:互動移動,如果目標檔案已經存在,則詢問使用者是否覆蓋(預設選項);
-n:如果目標檔案已經存在,則不會覆蓋移動,而且不詢問使用者;
-v:顯示檔案或目錄的移動過程;
-u:若目標檔案已經存在,但兩者相比,原始檔更新,則會對目標檔案進行升級;
同 rm 命令類似,mv 命令也是一個具有破壞性的命令
示例:
常規移動
test@1:~/UA/3.0/shell$ ls
test@1:~/UA/3.0/shell$ touch 1
test@1:~/UA/3.0/shell$ mkdir 2
test@1:~/UA/3.0/shell$ ls
1 2
test@1:~/UA/3.0/shell$ mv 1 2/
test@1:~/UA/3.0/shell$ ls
2
移動並重命名
test@1:~/UA/3.0/shell$ touch 3
test@1:~/UA/3.0/shell$ mv 3 2/4
test@1:~/UA/3.0/shell$ ^C
test@1:~/UA/3.0/shell$ ls 2/
1 4
test@1:~/UA/3.0/shell$
clear
用於清屏 快捷鍵:Ctrl+l
history
用於檢視自己執行過的命令
test@1:~/UA/3.0/shell$ history
1180 ls
1181 cd 1/
1182 cd META-INF/com/
1183 ls
1184 sz updater-script
1185 cd ../../../tmp/
1186 cd META-INF/com/
1187 ls
1188 sz updater-script
1189 ls
1190 sudo vim updater-script
1191 cd ../../
1192 zip -ry ../test.zip *
1193 sudo zip -ry ../test.zip *
1194 cd ../
1195 sudo python3 ua1.py
1196 vim xml/rawinst.xml
man
取的是manual手冊的意思,可以詳細的列出指令的所有引數和使用方法
man ls
LS(1) User Commands LS(1)
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all
do not ignore entries starting with .
-A, --almost-all
do not list implied . and ..
"> ,>>"
重定向
">" 覆蓋裡面的內容
test@1:~/UA/3.0/shell$ echo "321312231" > 1.txt
test@1:~/UA/3.0/shell$ cat 1.txt
321312231
test@1:~/UA/3.0/shell$ echo "311111" > 1.txt
test@1:~/UA/3.0/shell$ cat 1.txt
311111
">>" 追加 在之前的內容之後
test@1:~/UA/3.0/shell$ echo "dsasadsad" >> 1.txt
test@1:~/UA/3.0/shell$ cat 1.txt
311111
dsasadsad
test@1:~/UA/3.0/shell$
壓縮和解壓
tar
命令做打包解包操作
tar [選項] 原始檔或目錄
-c 將多個檔案或目錄進行打包。
-A 追加 tar 檔案到歸檔檔案。
-f 包名 指定包的檔名。包的副檔名是用來給管理員識別格式的,所以一定要正確指定副檔名;
-v 顯示打包檔案過程;
-x 對 tar 包做解打包操作
-C 指定解打包位置。
-z 壓縮和解壓縮 ".tar.gz" 格式;
-j 壓縮和解壓縮 ".tar.bz2"格式。
在使用 tar 命令指定選項時可以不在選項前面輸入“-”。例如,使用“cvf”選項和 “-cvf”起到的作用一樣
*.tar格式
打包
多個檔案逐一列出,使用-
test@1:~/UA/3.0/shell$ touch {1,2,3}.txt
test@1:~/UA/3.0/shell$ ls
1.txt 2.txt 3.txt
test@1:~/UA/3.0/shell$ tar -cvf test.tar 1.txt 2.txt 3.txt
1.txt
2.txt
3.txt
test@1:~/UA/3.0/shell$ ls
1.txt 2.txt 3.txt test.tar
test@1:~/UA/3.0/shell$
多個檔案逐一列出,不使用-
test@1:~/UA/3.0/shell$ tar cvf test1.tar 1.txt 2.txt 3.txt
1.txt
2.txt
3.txt
test@1:~/UA/3.0/shell$ ls
1.txt 2.txt 3.txt test1.tar test.tar
*代表萬用字元所有檔案
test@1:~/UA/3.0/shell$ tar cvf test2.tar *.txt
1.txt
2.txt
3.txt
test@1:~/UA/3.0/shell$ ls
1.txt 2.txt 3.txt test1.tar test2.tar test.tar
test@1:~/UA/3.0/shell$
解壓
test@1:~/UA/3.0/shell$ mkdir test1
test@1:~/UA/3.0/shell$ tar xvf test1.tar -C test1/
1.txt
2.txt
3.txt
test@1:~/UA/3.0/shell$ ls -l test1
total 4
-rw-rw-r-- 1 test test 17 Aug 19 03:27 1.txt
-rw-rw-r-- 1 test test 0 Aug 19 03:27 2.txt
-rw-rw-r-- 1 test test 0 Aug 19 03:27 3.txt
test@1:~/UA/3.0/shell$
*.tar.gz
打包
第一種方法:
test@1:~/UA/3.0/shell$ ls
1.txt 2.txt 3.txt
test@1:~/UA/3.0/shell$ tar cvf test.tar *
1.txt
2.txt
3.txt
test@1:~/UA/3.0/shell$ ls
1.txt 2.txt 3.txt test.tar
test@1:~/UA/3.0/shell$ gzip test.tar
test@1:~/UA/3.0/shell$ ls
1.txt 2.txt 3.txt test.tar.gz
test@1:~/UA/3.0/shell$
第二種方法:
test@1:~/UA/3.0/shell$ tar zcvf test1.tar.gz 1.txt 2.txt 3.txt
1.txt
2.txt
3.txt
test@1:~/UA/3.0/shell$ ls
1.txt 2.txt 3.txt test1.tar.gz test.tar.gz
test@1:~/UA/3.0/shell$
解壓
test@1:~/UA/3.0/shell$ ls
1.txt 2.txt 3.txt test1.tar.gz test.tar.gz
test@1:~/UA/3.0/shell$ mkdir test
test@1:~/UA/3.0/shell$ tar -zxvf test.tar.gz -C test/
1.txt
2.txt
3.txt
test@1:~/UA/3.0/shell$ ls -l test
total 12
-rw-rw-r-- 1 test test 10240 Aug 19 03:31 1.txt
-rw-rw-r-- 1 test test 0 Aug 19 03:27 2.txt
-rw-rw-r-- 1 test test 0 Aug 19 03:27 3.txt
test@1:~/UA/3.0/shell$
*.tar.bz2
打包
test@1:~/UA/3.0/shell$ ls
1.txt 2.txt 3.txt test
test@1:~/UA/3.0/shell$ tar -jcvf test2.tar.bz2 *
1.txt
2.txt
3.txt
test/
test/2.txt
test/3.txt
test/1.txt
test@1:~/UA/3.0/shell$ ls
1.txt 2.txt 3.txt test test2.tar.bz2
解壓
test@1:~/UA/3.0/shell$ mkdir test2
test@1:~/UA/3.0/shell$ tar jxvf test2.tar.bz2 -C test2/
1.txt
2.txt
3.txt
test/
test/2.txt
test/3.txt
test/1.txt
test@1:~/UA/3.0/shell$ ls -l test2
total 16
-rw-rw-r-- 1 test test 10240 Aug 19 03:31 1.txt
-rw-rw-r-- 1 test test 0 Aug 19 03:27 2.txt
-rw-rw-r-- 1 test test 0 Aug 19 03:27 3.txt
drwxrwxr-x 2 test test 4096 Aug 19 03:34 test
test@1:~/UA/3.0/shell$
zip
zip 壓縮命令需要手工指定壓縮之後的壓縮包名,注意寫清楚副檔名,以便解壓縮時使用。
zip [選項] 壓縮包名 原始檔或源目錄列表
-r 遞迴壓縮目錄,及將制定目錄下的所有檔案以及子目錄全部壓縮。
-m 將檔案壓縮之後,刪除原始檔案,相當於把檔案移到壓縮檔案中。
-v 顯示詳細的壓縮過程資訊。
-q 在壓縮的時候不顯示命令的執行過程。
-壓縮級別 壓縮級別是從 1~9 的數字,-1 代表壓縮速度更快,-9 代表壓縮效果更好。
-u 更新壓縮檔案,即往壓縮檔案中新增新檔案。
-y 壓縮軟硬連結
示例:
壓縮
test@1:~/UA/3.0/shell$ ls
1.txt 2.txt 3.txt
test@1:~/UA/3.0/shell$ zip test.zip *
adding: 1.txt (deflated 99%)
adding: 2.txt (stored 0%)
adding: 3.txt (stored 0%)
test@1:~/UA/3.0/shell$ ls
1.txt 2.txt 3.txt test.zip
test@1:~/UA/3.0/shell$ mkdir test
-r 遞迴
test@1:~/UA/3.0/shell$ zip -r test1.zip *
adding: 1.txt (deflated 99%)
adding: 2.txt (stored 0%)
adding: 3.txt (stored 0%)
adding: test/ (stored 0%)
adding: test/2.txt (stored 0%)
adding: test/3.txt (stored 0%)
adding: test/1.txt (deflated 99%)
adding: test.zip (stored 0%)
test@1:~/UA/3.0/shell$ ls
1.txt 2.txt 3.txt test test1.zip test.zip
test@1:~/UA/3.0/shell$
unzip
-d 目錄名 將壓縮檔案解壓到指定目錄下。
-n 解壓時並不覆蓋已經存在的檔案。
-o 解壓時覆蓋已經存在的檔案,並且無需使用者確認。
-v 檢視壓縮檔案的詳細資訊,包括壓縮檔案中包含的檔案大小、檔名以及壓縮比等,但並不做解壓操作。
-t 測試壓縮檔案有無損壞,但並不解壓。
-x 檔案列表 解壓檔案,但不包含檔案列表中指定的檔案。
解壓
test@1:~/UA/3.0/shell$ unzip test.zip -d test
Archive: test.zip
inflating: test/1.txt
extracting: test/2.txt
extracting: test/3.txt
test@1:~/UA/3.0/shell$ ls -l test
total 12
-rw-rw-r-- 1 test test 10240 Aug 19 03:31 1.txt
-rw-rw-r-- 1 test test 0 Aug 19 03:27 2.txt
-rw-rw-r-- 1 test test 0 Aug 19 03:27 3.txt
test@1:~/UA/3.0/shell$
gzip
gzip 命令只能用來壓縮檔案,不能壓縮目錄
gzip [選項] 原始檔
-c 將壓縮資料輸出到標準輸出中,並保留原始檔。
-d 對壓縮檔案進行解壓縮。
-r 遞迴壓縮指定目錄下以及子目錄下的所有檔案。
-v 對於每個壓縮和解壓縮的檔案,顯示相應的檔名和壓縮比。
-數字 用於指定壓縮等級,-1 壓縮等級最低,壓縮比最差;-9 壓縮比最高。預設壓縮比是 -6。
進本使用,壓縮是會將原始檔刪除
test@1:~/UA/3.0/shell$ ls
1.txt 2.txt 3.txt
test@1:~/UA/3.0/shell$ gzip 1.txt
test@1:~/UA/3.0/shell$ ls
1.txt.gz 2.txt 3.txt
保留原始檔
test@1:~/UA/3.0/shell$ ls
1.txt.gz 2.txt 3.txt
test@1:~/UA/3.0/shell$ gzip -c 2.txt > 2.txt.gz
test@1:~/UA/3.0/shell$ ls
1.txt.gz 2.txt 2.txt.gz 3.txt
test@1:~/UA/3.0/shell$
gunzip
一個使用廣泛的解壓縮命令,它用於解壓被 gzip 壓縮過的檔案
gunzip [選項] 檔案
-r 遞迴處理,解壓縮指定目錄下以及子目錄下的所有檔案。
-c 把解壓縮後的檔案輸出到標準輸出裝置。
-f 強制解壓縮檔案,不理會檔案是否已存在等情況。
-l 列出壓縮檔案內容。
-v 顯示命令執行過程。
-t 測試壓縮檔案是否正常,但不對其做解壓縮操作。
普通解壓
test@1:~/UA/3.0/shell$ ls
1.txt.gz 2.txt 2.txt.gz 3.txt
test@1:~/UA/3.0/shell$ gunzip 1.txt.gz
test@1:~/UA/3.0/shell$ ls
1.txt 2.txt 2.txt.gz 3.txt
test@1:~/UA/3.0/shell$
解壓縮目錄下的壓縮包(-r)
test@1:~/UA/3.0/shell$ ls -l test/
total 12
-rw-rw-r-- 1 test test 125 Aug 19 03:31 1.txt.gz
-rw-rw-r-- 1 test test 26 Aug 19 03:27 2.txt.gz
-rw-rw-r-- 1 test test 26 Aug 19 03:27 3.txt.gz
test@1:~/UA/3.0/shell$ gunzip -r test/
test@1:~/UA/3.0/shell$ ls test/
1.txt 2.txt 3.txt
test@1:~/UA/3.0/shell$
bzip2
同 gzip 命令類似,只能對檔案進行壓縮(或解壓縮),對於目錄只能壓縮(或解壓縮)該目錄及子目錄下的所有檔案
bzip2 [選項] 原始檔 #原始檔指的要壓縮或解壓縮的檔案
-d 執行解壓縮,此時該選項後的原始檔應為標記有 .bz2 字尾的壓縮包檔案。
-k bzip2 在壓縮或解壓縮任務完成後,會刪除原始檔案,若要保留原始檔案,可使用此選項。
-f bzip2 在壓縮或解壓縮時,若輸出檔案與現有檔案同名,預設不會覆蓋現有檔案,若使用此選項,則會強制覆蓋現有檔案。
-t 測試壓縮包檔案的完整性。
-v 壓縮或解壓縮檔案時,顯示詳細資訊。
-數字 這個引數和 gzip 命令的作用一樣,用於指定壓縮等級,-1 壓縮等級最低,壓縮比最差;-9 壓縮比最高
test@1:~/UA/3.0/shell$ touch {1,2,3}.txt
test@1:~/UA/3.0/shell$ ls
1.txt 2.txt 3.txt
test@1:~/UA/3.0/shell$ bzip2 1.txt 2.txt 3.txt
test@1:~/UA/3.0/shell$ ls
1.txt.bz2 2.txt.bz2 3.txt.bz2
test@1:~/UA/3.0/shell$
bunzip2
使用和 gunzip 命令大致相同,bunzip2 命令只能用於解壓檔案
bunzip2 [選項] 原始檔
-k 解壓縮後,預設會刪除原來的壓縮檔案。若要保留壓縮檔案,需使用此引數。
-f 解壓縮時,若輸出的檔案與現有檔案同名時,預設不會覆蓋現有的檔案。若要覆蓋,可使用此選項。
-v 顯示命令執行過程。
-L 列出壓縮檔案內容。
".bz2" 格式也可以使用 "bzip2 -d 壓縮包" 命令來進行解壓縮
test@1:~/UA/3.0/shell$ ls
1.txt.bz2 2.txt.bz2 3.txt.bz2
test@1:~/UA/3.0/shell$ bunzip2 1.txt.bz2
test@1:~/UA/3.0/shell$ bzip2 -d 2.txt.bz2
test@1:~/UA/3.0/shell$ ls
1.txt 2.txt 3.txt.bz2
test@1:~/UA/3.0/shell$
檢視相關指令
cat
可以用來顯示文字檔案的內容,適合檢視小檔案
cat [選項] 檔名
-A 相當於 -vET 選項的整合,用於列出所有隱藏符號;
-E 列出每行結尾的回車符 $;
-n 對輸出的所有行進行編號;
-b 同 -n 不同,此選項表示只對非空行進行編號。
-T 把 Tab 鍵 ^I 顯示出來;
-V 列出特殊字元;
-s 當遇到有連續 2 行以上的空白行時,就替換為 1 行的空白行。
cat 命令本身非常簡單,我們可以直接檢視檔案的內容
test@1:~/UA/3.0/shell$ touch 1.txt
test@1:~/UA/3.0/shell$ echo "2131223213123" > 1.txt
test@1:~/UA/3.0/shell$ cat 1.txt
2131223213123
使用 "-n" 選項,則會顯示行號
test@1:~/UA/3.0/shell$ echo "2131223213123" > 1.txt
test@1:~/UA/3.0/shell$
test@1:~/UA/3.0/shell$ ls
1.txt
test@1:~/UA/3.0/shell$ cat -n 1.txt
1 2131223213123
test@1:~/UA/3.0/shell$
將檔案 file1.txt 和 file.txt 的內容合併後輸出到檔案 file3.txt 中
test@1:~/UA/3.0/shell$ echo "212321" > file.txt
test@1:~/UA/3.0/shell$ echo "wdasda" > file1.txt
test@1:~/UA/3.0/shell$ cat file.txt file1.txt > file3.txt
test@1:~/UA/3.0/shell$ cat file3.txt
212321
wdasda
test@1:~/UA/3.0/shell$
more
命令可以分頁顯示文字檔案的內容,適合檢視大檔案
more [選項] 檔名
-f 計算行數時,以實際的行數,而不是自動換行過後的行數。
-p 不以捲動的方式顯示每一頁,而是先清除屏幕後再顯示內容。
-c 跟 -p 選項相似,不同的是先顯示內容再清除其他舊資料。
-s 當遇到有連續兩行以上的空白行時,就替換為一行的空白行。
-u 不顯示下引號(根據環境變數 TERM 指定的終端而有所不同)。
+n 從第 n 行開始顯示檔案內容,n 代表數字。
-n 一次顯示的行數,n 代表數字。
more 命令的執行會開啟一個互動介面
h 或 ? 顯示 more 命令互動命令幫助。
q 或 Q 退出 more。
回車鍵 向下移動一行。
空格鍵 向下移動一頁。
= 顯示當前行的行號。
d 向下移動半頁。
b 向上移動一頁。
示例:
常規使用
test@1:~/UA/3.0/shell$ more ua.py
每 10 行顯示一屏,同時清楚螢幕
more -c -10 ua.py
head
顯示指定檔案前若干行的檔案內容
head [選項] 檔名
-n K 這裡的 K 表示行數,該選項用來顯示檔案前 K 行的內容;如果使用 "-K" 作為引數,則表示除了檔案最後 K 行外,顯示剩餘的全部內容。
-v 顯示檔名;
常規使用
head ua.py #預設顯示前10行
顯示開頭指定多少行
head -n 15 ua.py #第一種
head -15 ua.py #第二種
tail
和 head 命令正好相反,它用來檢視檔案末尾的資料
tail [選項] 檔名
-n K 這裡的 K 指的是行數,該選項表示輸出最後 K 行,在此基礎上,如果使用 -n +K,則表示從檔案的第 K 行開始輸出。
-f 輸出檔案變化後新增加的資料。
常規使用 預設顯示後10行
tail ua.py
指定顯示行數
tail -n 5 ua.py
tail 命令有一種比較有趣的用法,可以使用 "-f" 選項來監聽檔案的新増內容
test@1:~/UA/3.0/shell$ tail -f 1.txt
2131223213123
追加
test@1:~/UA/3.0/shell$ echo "2eqwewqewqeq" >> 1.txt
test@1:~/UA/3.0/shell$ echo "2eqwewqewqeq" >> 1.txt
test@1:~/UA/3.0/shell$ echo "2eqwewqewqeq" >> 1.txt
test@1:~/UA/3.0/shell$ echo "2eqwewqewqe1q" >> 1.txt
此時-f 顯示 #游標不會退出檔案,而會一直監聽在檔案的結尾處
test@1:~/UA/3.0/shell$ tail -f 1.txt
2131223213123
2eqwewqewqeq
2eqwewqewqeq
2eqwewqewqeq
2eqwewqewqe1q
grep
grep 命令是用來在每一個檔案或中(或特定輸出上)搜尋特定的模式
grep [選項] 模式 檔名
萬用字元
. 將匹配任何一個字元,且只能是一個字元。
[xyz] 匹配方括號中的任意一個字元。
[^xyz] 匹配除方括號中字元外的所有字元。
^ 鎖定行的開頭。
$ 鎖定行的結尾。
選項
-c 僅列出檔案中包含模式的行數。
-i 忽略模式中的字母大小寫。
-l 列出帶有匹配行的檔名。
-n 在每一行的最前面列出行號。
-v 列出沒有匹配模式的行。
常規使用
test@1:~/UA/3.0/shell$ grep 1 *
1.txt:2131223213123
1.txt:2eqwewqewqe1q
file3.txt:212321
file.txt:212321
test@1:~/UA/3.0/shell$ grep 1 1.txt
2131223213123
2eqwewqewqe1q
多個條件
test@1:~/UA/3.0/shell$ grep -e "1" -e "2" 1.txt
2131223213123
2eqwewqewqeq
2eqwewqewqeq
2eqwewqewqeq
2eqwewqewqe1q
test@1:~/UA/3.0/shell$ grep [1,2,e] 1.txt
2131223213123
2eqwewqewqeq
2eqwewqewqeq
2eqwewqewqeq
2eqwewqewqe1q
test@1:~/UA/3.0/shell$
不區分大小寫
test@1:~/UA/3.0/shell$ grep -i E 1.txt
2eqwewqewqeq
2eqwewqewqeq
2eqwewqewqeq
2eqwewqewqe1q
列印行號
test@1:~/UA/3.0/shell$ grep -i E -n 1.txt
2:2eqwewqewqeq
3:2eqwewqewqeq
4:2eqwewqewqeq
5:2eqwewqewqe1q
不包含的行號
test@1:~/UA/3.0/shell$ cat 1.txt
2131223213123
2eqwewqewqeq
2eqwewqewqeq
2eqwewqewqeq
2eqwewqewqe1q
test@1:~/UA/3.0/shell$ grep -v e 1.txt
2131223213123
test@1:~/UA/3.0/shell$
匹配行首
test@1:~/UA/3.0/shell$ cat 1.txt
2131223213123
2eqwewqewqeq
2eqwewqewqeq
2eqwewqewqeq
2eqwewqewqe1q
test@1:~/UA/3.0/shell$ grep ^21 1.txt
2131223213123
test@1:~/UA/3.0/shell$
匹配行尾
test@1:~/UA/3.0/shell$ cat 1.txt
2131223213123
2eqwewqewqeq
2eqwewqewqeq
2eqwewqewqeq
2eqwewqewqe1q
test@1:~/UA/3.0/shell$ grep 1q$ 1.txt
2eqwewqewqe1q
test@1:~/UA/3.0/shell$
passwd
passwd [選項] 使用者名稱
[root@localhost ~]#passwd
#passwd直接回車代表修改當前使用者的密碼
Changing password for user vbird2.
Changing password for vbird2
(current) UNIX password: <==這裡輸入『原有的舊口令』
New password: <==這裡輸入新口令
BAD PASSWORD: it is WAY too short <==口令檢驗不通過,請再想個新口令
New password: <==這裡再想個來輸入吧
Retype new password: <==通過口令驗證!所以重複這個口令的輸入
passwd: all authentication tokens updated successfully. <==成功修改使用者密碼
chgrp
用於修改檔案(或目錄)的所屬組。
chgrp [-R] 所屬組 檔名(目錄名)
修改檔案所屬的組為root
test@1:~/UA/3.0/shell$ touch 1.txt
test@1:~/UA/3.0/shell$ ls -l
total 0
-rw-rw-r-- 1 test test 0 Aug 19 04:54 1.txt
test@1:~/UA/3.0/shell$ sudo chgrp root 1.txt
test@1:~/UA/3.0/shell$ ls -l 1.txt
-rw-rw-r-- 1 test root 0 Aug 19 04:54 1.txt
test@1:~/UA/3.0/shell$
chown
用於修改檔案(或目錄)的所有者
chown [-R] 所有者 檔案或目錄
root@localhost ~]# sudo touch file
#由root使用者建立file檔案
[root@localhost ~]# ll file
-rw-r--r--. 1 root root 0 Apr 17 05:12 file
#檔案的所有者是root,普通使用者test對這個檔案擁有隻讀許可權
[root@localhost ~]# chown test file
#修改檔案的所有者
[root@localhost ~]# ll file
-rw-r--r--. 1 test root 0 Apr 17 05:12 file
#所有者變成了test使用者,這時test使用者對這個檔案就擁有了讀、寫許可權
chmod
通過 chmod 命令即可。chmod 命令設定檔案許可權的方式有 2 種,分別可以使用數字或者符號來進行許可權的變更
Linux 系統中,檔案的基本許可權由 9 個字元組成,以 rwxrw-r-x 為例,我們可以使用數字來代表各個許可權,各個許可權與數字的對應關係如下:
r --> 4
w --> 2
x --> 1
由於這 9 個字元分屬 3 類使用者,因此每種使用者身份包含 3 個許可權(r、w、x),通過將 3 個許可權對應的數字累加,最終得到的值即可作為每種使用者所具有的許可權。
拿 rwxrw-r-x 來說,所有者、所屬組和其他人分別對應的許可權值為:
所有者 = rwx = 4+2+1 = 7
所屬組 = rw- = 4+2 = 6
其他人 = r-x = 4+1 = 5
所以,此許可權對應的許可權值就是 765。
chmod [-R] 許可權值 檔名
示例
數字的形式修改許可權
test@1:~/UA/3.0/shell$ touch 1
test@1:~/UA/3.0/shell$ ls -l
total 0
-rw-rw-r-- 1 test test 0 Aug 19 05:42 1
test@1:~/UA/3.0/shell$ chmod 777 1
test@1:~/UA/3.0/shell$ ls -l 1
-rwxrwxrwx 1 test test 0 Aug 19 05:42 1
使用字母修改檔案許可權
基本許可權就是 3 種使用者身份(所有者、所屬組和其他人)搭配 3 種許可權(rwx),chmod 命令中用 u、g、o 分別代表 3 種身份,還用 a 表示全部的身份(all 的縮寫)。另外,chmod 命令仍使用 r、w、x 分別表示讀、寫、執行許可權。
如果我們要設定 test 檔案的許可權為 rwxr-xr-x,則可執行如下命令:
test@1:~/UA/3.0/shell$ chmod u=rwx,go=rx test
test@1:~/UA/3.0/shell$ ls -l 1
-rwxr-xr-x 1 test test 0 Aug 19 05:42 test
test@1:~/UA/3.0/shell$
要增加 test 檔案的每種使用者都可做寫操作的許可權
test@1:~/UA/3.0/shell$ ls -l test
---x--x--x 1 test test 0 Aug 19 05:42 test
test@1:~/UA/3.0/shell$ chmod a+w test
test@1:~/UA/3.0/shell$ ls -l test
--wx-wx-wx 1 test test 0 Aug 19 05:42 test
test@1:~/UA/3.0/shell$
su、sudo、su - root
su和sudo的區別
共同點:都是root使用者許可權;
不同點:su只獲得root許可權,工作環境不變,還是在切換之前使用者的工作環境;sudo是完全獲得root的許可權和root的工作環境。
sudo:表示獲取臨時的root許可權執行命令。
sudo執行命令的流程:
1、當前使用者切換到root(或其他指定切換到的使用者), 2、以root(或其他指定的切換到的使用者)身份執行命令, 3、執行完成後,直接退回到當前使用者,而這些的前提是要通過sudo的配置檔案/etc/sudoers來進行授權。
su - root和su root區別
su - root:以root身份登入
su root:與root建立一個連線,通過root執行命令。
最直接的區別是su目錄還是原先使用者目錄,su - root後目錄就變為root使用者的主目錄。
df
用於顯示 Linux 系統中各檔案系統的硬碟使用情況,包括檔案系統所在硬碟分割槽的總容量、已使用的容量、剩餘容量等。
df [選項] [目錄或檔名]
-a 顯示所有檔案系統資訊,包括系統特有的 /proc、/sysfs 等檔案系統;
-m 以 MB 為單位顯示容量;
-k 以 KB 為單位顯示容量,預設以 KB 為單位;
-h 使用人們習慣的 KB、MB 或 GB 等單位自行顯示容量;
-T 顯示該分割槽的檔案系統名稱;
-i 不用硬碟容量顯示,而是以含有 inode 的數量來顯示。
預設情況 (kb 單位)
test@1:~/UA/3.0/shell$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 4004004 0 4004004 0% /dev
tmpfs 806904 9516 797388 2% /run
/dev/sda2 479089456 31510584 423219448 7% /
tmpfs 4034516 264 4034252 1% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 4034516 0 4034516 0% /sys/fs/cgroup
/dev/sda1 523248 3760 519488 1% /boot/efi
tmpfs 806904 48 806856 1% /run/user/1000
本例中,由 df 命令顯示出的各列資訊的含義分別是:
- Filesystem:表示該檔案系統位於哪個分割槽,因此該列顯示的是裝置名稱;
- 1K-blocks:此列表示檔案系統的總大小,預設以 KB 為單位;
- Used:表示用掉的硬碟空間大小;
- Available:表示剩餘的硬碟空間大小;
- Use%:硬碟空間使用率。如果使用率高達 90% 以上,就需要額外注意,因為容量不足,會嚴重影響系統的正常執行;
- Mounted on:檔案系統的掛載點,也就是硬碟掛載的目錄位置。
du
統計目錄或檔案所佔磁碟空間大小的命令。
du [選項] [目錄或檔名]
-a:顯示每個子檔案的磁碟佔用量。預設只統計子目錄的磁碟佔用量
-h:使用習慣單位顯示磁碟佔用量,如 KB、MB 或 GB 等;
-s:統計總磁碟佔用量,而不列出子目錄和子檔案的磁碟佔用量
常規使用
統計當前目錄的總磁碟佔用量大小,同時會統計當前目錄下所有子目錄的磁碟佔用量大小,不統計子檔案
磁碟佔用量的大小。預設單位為KB
test@1:~/UA/3.0/shell$ du
194084 ./img
194088 .
另外2種
test@1:~/UA/3.0/shell$ du -s
194088 .
test@1:~/UA/3.0/shell$ du -sh
190M .
test@1:~/UA/3.0/shell$
mount
掛載,掛載指的是將硬體裝置的檔案系統和 Linux 系統中的檔案系統
mount -l 會顯示出系統中已掛載的裝置資訊,使用 -l 選項,會額外顯示出卷標名稱
test@1:~/UA/3.0/shell$ mount -l
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=4004004k,nr_inodes=1001001,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=806904k,mode=755)
/dev/sda2 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup
mount [-t 系統型別] [-L 卷標名] [-o 特殊選項] [-n] 裝置檔名 掛載點
-t 系統型別:指定欲掛載的檔案系統型別。
-L 卷標名:除了使用裝置檔名(例如 /dev/hdc6)之外,還可以利用檔案系統的卷標名稱進行掛載。
-n:在預設情況下,系統會將實際掛載的情況實時寫入 /etc/mtab 檔案中,但在某些場景下(例如單人維護模式),為了避免出現問題,會刻意不寫入,此時就需要使用這個選項;
-o 特殊選項:可以指定掛載的額外選項,比如讀寫許可權、同步/非同步等,如果不指定,則使用預設值(defaults)
rw/ro 是否對掛載的檔案系統擁有讀寫許可權,rw 為預設值,表示擁有讀寫許可權;ro 表示只讀許可權。
async/sync 此檔案系統是否使用同步寫入(sync)或非同步(async)的記憶體機制,預設為非同步 async。
dev/nodev 是否允許從該檔案系統的 block 檔案中提取資料,為了保證資料安裝,預設是 nodev。
auto/noauto 是否允許此檔案系統被以 mount -a 的方式進行自動掛載,預設是 auto。
suid/nosuid 設定檔案系統是否擁有 SetUID 和 SetGID 許可權,預設是擁有。
exec/noexec 設定在檔案系統中是否允許執行可執行檔案,預設是允許。
user/nouser 設定此檔案系統是否允許讓普通使用者使用 mount 執行實現掛載,預設是不允許(nouser),僅有 root 可以。
defaults 定義預設值,相當於 rw、suid、dev、exec、auto、nouser、async 這 7 個選項。
remount 重新掛載已掛載的檔案系統,一般用於指定修改特殊許可權。
示例:
test@1:~/UAWORK/file/source/_temp_$ mkdir system
test@1:~/UAWORK/file/source/_temp_$ mount -o loop -t ext4 my_sparse.img system/
mount: only root can use "--options" option
test@1:~/UAWORK/file/source/_temp_$ sudo mount -o loop -t ext4 my_sparse.img system/
[sudo] password for test:
test@1:~/UAWORK/file/source/_temp_$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 4004004 0 4004004 0% /dev
tmpfs 806904 9516 797388 2% /run
/dev/sda2 479089456 31704684 423025348 7% /
tmpfs 4034516 264 4034252 1% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 4034516 0 4034516 0% /sys/fs/cgroup
/dev/sda1 523248 3760 519488 1% /boot/efi
tmpfs 806904 52 806852 1% /run/user/1000
/dev/loop0 5078656 1503364 3558908 30% /home/test/UAWORK/file/source/_temp_/system
umount
用於解除安裝已經掛載的硬體裝置
umount 裝置檔名或掛載點
test@1:~/UAWORK/file/source/_temp_$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 4004004 0 4004004 0% /dev
tmpfs 806904 9516 797388 2% /run
/dev/sda2 479089456 31704684 423025348 7% /
tmpfs 4034516 264 4034252 1% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 4034516 0 4034516 0% /sys/fs/cgroup
/dev/sda1 523248 3760 519488 1% /boot/efi
tmpfs 806904 52 806852 1% /run/user/1000
/dev/loop0 5078656 1503364 3558908 30% /home/test/UAWORK/file/source/_temp_/system
test@1:~/UAWORK/file/source/_temp_$ sudo umount system/
test@1:~/UAWORK/file/source/_temp_$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 4004004 0 4004004 0% /dev
tmpfs 806904 9516 797388 2% /run
/dev/sda2 479089456 31704708 423025324 7% /
tmpfs 4034516 264 4034252 1% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 4034516 0 4034516 0% /sys/fs/cgroup
/dev/sda1 523248 3760 519488 1% /boot/efi
tmpfs 806904 52 806852 1% /run/user/1000
md5sum
md5校驗
test@1:~/UA/3.0/shell$ md5sum img/xaa
6b1a340fd2dc81aba3192db5e9b6477e img/xaa
test@1:~/UA/3.0/shell$ cp img/xaa img/aaaaa
test@1:~/UA/3.0/shell$ md5sum img/aaaaa
6b1a340fd2dc81aba3192db5e9b6477e img/aaaaa
test@1:~/UA/3.0/shell$
sha1sum
sha1校驗
test@1:~/UA/3.0/shell$ sha1sum img/xaa
39f420fabcf83c60c36b4a133e43ce423fb8afb4 img/xaa
test@1:~/UA/3.0/shell$ cp img/xaa img/aaaaa
test@1:~/UA/3.0/shell$ sha1sum img/aaaaa
39f420fabcf83c60c36b4a133e43ce423fb8afb4 img/aaaaa
test@1:~/UA/3.0/shell$