一個.NET Core開發者的Linux入門學習筆記

用.NET Core開發也有一段時間了,可是因爲工做緣由一直都是在Windows系統上進行的開發,一直想學習Linux而後把.NET Core開發的程序跑在Linux上,而後把心得體會記錄一下發布再博客園,奈何拖延症氾濫,因此只寫過一篇《CentOS開發ASP.NET Core入門教程》以後就繼續征戰Windows了!做爲新年Flag之一就是學習Docker,K8S,雖然windows系統也能進行開發,可是畢竟Linux纔是正途,所以這兩天特意學習了一下Linux系統,並整理成這篇學習筆記,但願對.NET Core開發者學習Linux有所幫助。html

做者:依樂祝
原文連接:http://www.javashuo.com/article/p-puoyvhdv-bb.htmllinux

另外若是你是一名.NET Core初學者,能夠看一下個人《.NET Core實戰項目之CMS 第一章 入門篇-開篇及整體規劃 也能夠加入.NET Core實戰項目交流羣637326624跟你們一塊兒交流,共同進步!下面開始正文吧!內容有點長,但願你有耐心看完shell

linux終端

終端的概念

終端本質上是對應着 Linux 上的 /dev/tty 設備,Linux 的多用戶登錄就是經過不一樣的 /dev/tty 設備完成的,Linux 默認提供了 6 個純命令行界面的 「terminal」(準確的說這裏應該是 6 個 virtual consoles)來讓用戶登陸。在物理機系統上你能夠經過使用[Ctrl]+[Alt]+[F1]~[F6]進行切換。windows

Shell

一般在圖形界面中對實際體驗帶來差別的不是不一樣發行版的各類終端模擬器,而是這個 Shell(殼)。有殼就有核,這裏的核就是指 UNIX/Linux 內核,Shell 是指「提供給使用者使用界面」的軟件(命令解析器),相似於 DOS 下的 command(命令行)和後來的 cmd.exe 。普通意義上的 Shell 就是能夠接受用戶輸入命令的程序。它之因此被稱做 Shell 是由於它隱藏了操做系統底層的細節。一樣的 UNIX/Linux 下的圖形用戶界面 GNOME 和 KDE,有時也被叫作「虛擬 shell」或「圖形 shell」。less

重要且經常使用的快捷鍵及技巧

1) 重要快捷鍵:
[Tab]
使用Tab鍵來進行命令補全,Tab鍵通常是在字母Q旁邊,這個技巧給你帶來的最大的好處就是當你忘記某個命令的全稱時能夠只輸入它的開頭的一部分,而後按下Tab鍵就能夠獲得提示或者幫助完成:
[Ctrl+c]
想一想你有沒有遇到過這種狀況,當你在 Linux 命令行中無心輸入了一個不知道的命令,或者錯誤地使用了一個命令,致使在終端裏出現了你沒法預料的狀況,好比,屏幕上只有光標在閃爍卻沒法繼續輸入命令,或者不停地輸出一大堆你不想要的結果。你想要當即中止並恢復到你可控的狀態,那該怎麼辦呢?這時候你就可使用Ctrl+c鍵來強行終止當前程序(你能夠放心它並不會使終端退出)。
其餘一些經常使用快捷鍵
按鍵 做用
Ctrl+d 鍵盤輸入結束或退出終端
Ctrl+s 暫停當前程序,暫停後按下任意鍵恢復運行
Ctrl+z 將當前程序放到後臺運行,恢復到前臺爲命令fg
Ctrl+a 將光標移至輸入行頭,至關於Home鍵
Ctrl+e 將光標移至輸入行末,至關於End鍵
Ctrl+k 刪除從光標所在位置到行末
Alt+Backspace 向前刪除一個單詞
Shift+PgUp 將終端顯示向上滾動
Shift+PgDn 將終端顯示向下滾動運維

2) 學會利用歷史輸入命令
很簡單,你可使用鍵盤上的方向上鍵↑,恢復你以前輸入過的命令,你一試便知。編輯器

3) 學會使用通配符
通配符是一種特殊語句,主要有星號(*)和問號(?),用來對字符串進行模糊匹配(好比文件名、參數名)。當查找文件夾時,可使用它來代替一個或多個真正字符;當不知道真正字符或者懶得輸入完整名字時,經常使用通配符代替一個或多個真正字符。
先使用 touch 命令建立 2 個文件,後綴都爲 txt:工具

$ touch adsfasd.txt wergjlkas.txt
$ ls *.txt
在建立文件的時候,若是須要一次性建立多個文件,好比:「love_1_linux.txt,love_2_linux.txt,... love_10_linux.txt」。在 Linux 中十分方便:
$ touch love_{1..10}_linux.txt
Shell 經常使用通配符:
字符 含義學習

  • 匹配 0 或多個字符
    匹配任意一個字符
    list] 匹配 list 中的任意單一字符
    !list] 匹配 除list 中的任意單一字符之外的字符
    c1-c2] 匹配 c1-c2 中的任意單一字符 如:[0-9][a-z]
    string1,string2,...} 匹配 string1 或 string2 (或更多)其一字符串
    c1..c2} 匹配 c1-c2 中所有字符 如{1..10}
    4) 學會在命令行中獲取幫助
    在 Linux 環境中,若是你遇到困難,可使用man命令,它是Manual pages的縮寫。
    $ man
    $ man 1 ls
    會顯示第一區段中的ls命令 man 頁面。
    man 手冊的內容不少,涉及了 Linux 使用過程當中的方方面面。爲了便於查找,man 手冊被進行了分冊(分區段)處理,在 Research UNIX、BSD、OS X 和 Linux 中,手冊一般被分爲8個區段

Linux 用戶管理

用戶管理

請打開終端,輸入命令:
$ who am i
或者
$ who mom likes
who 命令其它經常使用參數
參數 說明
-a 打印能打印的所有
-d 打印死掉的進程
-m 同am i,mom likes
-q 打印當前登陸用戶數及用戶名
-u 打印當前登陸用戶登陸信息
-r 打印運行等級優化

建立用戶

在 Linux 系統裏, root 帳戶擁有整個系統至高無上的權利,好比 新建/添加 用戶。
su,su- 與 sudo
su 能夠切換到用戶 user,執行時須要輸入目標用戶的密碼,sudo 能夠以特權級別運行 cmd 命令,須要當前用戶屬於 sudo 組,且須要輸入當前用戶的密碼。su - 命令也是切換用戶,同時環境變量也會跟着改變成目標用戶的環境變量。
如今咱們新建一個叫 yilezhu 的用戶:
$ sudo adduser yilezhu
這個命令不但能夠添加用戶到系統,同時也會默認爲新用戶建立 home 目錄:
$ ls /home
如今你已經建立好一個用戶,而且你可使用你建立的用戶登陸了,使用以下命令切換登陸用戶:
$ su -l yilezhu
退出當前用戶跟退出終端同樣可使用 exit 命令或者使用快捷鍵 Ctrl+d。

用戶組

在 Linux 裏面每一個用戶都有一個歸屬(用戶組),用戶組簡單地理解就是一組用戶的集合,它們共享一些資源和權限,同時擁有私有資源,就跟家的形式差很少,你的兄弟姐妹(不一樣的用戶)屬於同一個家(用戶組),大家能夠共同擁有這個家(共享資源),爸媽對待大家都同樣(共享權限),你偶爾寫寫日記,其餘人未經容許不能查看(私有資源和權限)。固然一個用戶是能夠屬於多個用戶組的,正如你既屬於家庭,又屬於學校或公司。
方法一:使用 groups 命令
$ groups yilezhu
能夠查看下 /etc/sudoers.d/yilezhu 文件,咱們在 /etc/sudoers.d 目錄下建立了這個文件,從而給 yilezhu 用戶賦予了 sudo 權限:
$sudo cat /etc/sudoers.d/yilezhu
方法二:查看 /etc/group 文件
$ cat /etc/group | sort
這裏 cat 命令用於讀取指定文件的內容並打印到終端輸出,後面會詳細講它的使用。 | sort 表示將讀取的文本進行一個字典排序再輸出
沒找到,不要緊,你可使用命令過濾掉一些你不想看到的結果:
$ cat /etc/group | grep -E "yilezhu"
/etc/group 的內容包括用戶組(Group)、用戶組口令、GID 及該用戶組所包含的用戶(User),每一個用戶組一條記錄。格式以下:
group_name:password:GID:user_list
你看到上面的 password 字段爲一個 x 並非說密碼就是它,只是表示密碼不可見而已。
將其它用戶加入 sudo 用戶組
默認狀況下新建立的用戶是不具備 root 權限的,也不在 sudo 用戶組,可讓其加入 sudo 用戶組從而獲取 root 權限:
$ su -l yilezhu
$ sudo ls
會提示 lilei 不在 sudoers 文件中,意思就是 lilei 不在 sudo 用戶組中,至於 sudoers 文件(/etc/sudoers)你如今最好不要動它,操做不慎會致使比較麻煩的後果。
使用 usermod 命令能夠爲用戶添加用戶組,一樣使用該命令你必需有 root 權限,你能夠直接使用 root 用戶爲其它用戶添加用戶組,或者用其它已經在 sudo 用戶組的用戶使用 sudo 命令獲取權限來執行該命令。
這裏我用 root 用戶執行 sudo 命令將 yilezhu 添加到 sudo 用戶組,讓它也可使用 sudo 命令得到 root 權限:
$ su root # 此處須要輸入root用戶密碼
$ groups yilezhu
$ sudo usermod -G sudo yilezhu
$ groups yilezhu
而後你再切換回 yilezhu 用戶,如今就可使用 sudo 獲取 root 權限了。

刪除用戶

刪除用戶是很簡單的事:
$ sudo userdel -rf yilezhu

拓展

adduser 和 useradd 的區別是什麼?
答:useradd 只建立用戶,建立完了用 passwd yilezhu 去設置新用戶的密碼。adduser 會建立用戶,建立目錄,建立密碼(提示你設置),作這一系列的操做。其實 useradd、userdel 這類操做更像是一種命令,執行完了就返回。而 adduser 更像是一種程序,須要你輸入、肯定等一系列操做

Linux 文件權限

查看文件權限

使用較長格式列出文件:

$ ls -l

img

顯示除了 .(當前目錄)和 ..(上一級目錄)以外的全部文件,包括隱藏文件(Linux 下以 . 開頭的文件爲隱藏文件)。

$ ls -A

查看某一個目錄的完整屬性,而不是顯示目錄裏面的文件屬性:

$ ls -dl <目錄名>

顯示全部文件大小,並以普通人類能看懂的方式呈現:

$ ls -AsSh

其中小 s 爲顯示文件大小,大 S 爲按文件大小排序,若須要知道如何按其它方式排序,請使用「man」命令查詢。

變動文件全部者

假設目前是 yilezhu 用戶登陸,新建一個文件,命名爲 「 huawei 」:

$ touch huawei

如今,換回到 root 用戶身份,使用如下命令變動文件全部者爲 root :

$ cd /home/yilezhu

$ ls huawei

$ sudo chown root huawei

3.3 修改文件權限

若是你有一個本身的文件不想被其餘用戶讀、寫、執行,那麼就須要對文件的權限作修改,這裏有兩種方式:

方式一:二進制數字表示

img

每一個文件的三組權限(擁有者,所屬用戶組,其餘用戶,記住這個順序是必定的)對應一個 " rwx ",也就是一個 「 7 」 ,因此若是我要將文件「 huawei 」的權限改成只有我本身能夠用那麼就這樣:

爲了演示,我先在文件里加點內容:

$ echo "echo "hello root"" > huawei

而後修改權限:

$ chmod 700 huawei

方式二:加減賦值操做

完成上述相同的效果,你能夠:

$ chmod go-rw huawei

g、o 還有 u 分別表示 group、others 和 user,+ 和 - 分別表示增長和去掉相應的權限。

Linux 目錄結構

FHS 標準

FHS 定義了兩層規範,第一層是, / 下面的各個目錄應該要放什麼文件數據,例如 /etc 應該放置設置文件,/bin 與 /sbin 則應該放置可執行文件等等。

第二層則是針對 /usr 及 /var 這兩個目錄的子目錄來定義。例如 /var/log 放置系統登陸文件,/usr/share 放置共享數據等等。

sudo apt-get update

sudo apt-get install tree

列出全部文件

$ tree /

1548566340156

目錄路徑

路徑

使用 cd 命令能夠切換目錄,在 Linux 裏面使用 . 表示當前目錄,.. 表示上一級目錄(注意,咱們上一節介紹過的,以 . 開頭的文件都是隱藏文件,因此這兩個目錄必然也是隱藏的,你可使用 ls -a 命令查看隱藏文件), - 表示上一次所在目錄,~ 一般表示當前用戶的 home 目錄。使用 pwd 命令能夠獲取當前所在路徑(絕對路徑)。

進入上一級目錄:

$ cd ..

進入你的 home 目錄:

$ cd ~

或者 cd /home/ <你的用戶名>

使用 pwd 獲取當前路徑:

$ pwd

絕對路徑

關於絕對路徑,簡單地說就是以根" / "目錄爲起點的完整路徑,以你所要到的目錄爲終點,表現形式如:

/usr/local/bin,表示根目錄下的 usr 目錄中的 local 目錄中的 bin 目錄。

相對路徑

相對路徑,也就是相對於你當前的目錄的路徑,相對路徑是以當前目錄 . 爲起點,以你所要到的目錄爲終點,表現形式如:

usr/local/bin (這裏假設你當前目錄爲根目錄)。你可能注意到,咱們表示相對路徑實際並無加上表示當前目錄的那個 . ,而是直接以目錄名開頭,由於這個 usr 目錄爲 / 目錄下的子目錄,是能夠省略這個 . 的(之後會講到一個相似不能省略的狀況);若是是當前目錄的上一級目錄,則須要使用 .. ,好比你當前目錄爲 home 目錄,根目錄就應該表示爲 ../../ ,表示上一級目錄( home 目錄)的上一級目錄( / 目錄)。

下面咱們以你的 home目錄爲起點,分別以絕對路徑和相對路徑的方式進入 /usr/local/bin 目錄:

絕對路徑

$ cd /usr/local/bin

相對路徑

$ cd ../../usr/local/bin

提示:在進行目錄切換的過程當中請多使用 Tab 鍵自動補全,可避免輸入錯誤,連續按兩次 Tab 能夠顯示所有候選結果。

Linux 文件的基本操做

新建

新建空白文件

使用 touch 命令建立空白文件,關於 touch 命令,其主要做用是來更改已有文件的時間戳的(好比,最近訪問時間,最近修改時間),但其在不加任何參數的狀況下,只指定一個文件名,則能夠建立一個指定文件名的空白文件(不會覆蓋已有同名文件),固然你也能夠同時指定該文件的時間戳

新建目錄

使用 mkdir(make directories)命令能夠建立一個空目錄,也可同時指定建立目錄的權限屬性。

建立名爲「 mydir 」的空目錄:

$ mkdir mydir

使用 -p 參數,同時建立父目錄(若是不存在該父目錄),以下咱們同時建立一個多級目錄(這在安裝軟件、配置安裝路徑時很是有用):

$ mkdir -p father/son/grandson

複製

複製文件

使用 cp(copy)命令複製一個文件到指定目錄。

將以前建立的「 test 」文件複製到「 /home/root/father/son/grandson 」目錄中:

$ cp test father/son/grandson

複製目錄

若是直接使用 cp 命令複製一個目錄的話,會出現以下錯誤:

要成功複製目錄須要加上 -r 或者 -R 參數,表示遞歸複製,就是說有點「株連九族」的意思:

$ cp -r father family

刪除

刪除文件

使用 rm(remove files or directories)命令刪除一個文件:

$ rm test

有時候你會遇到想要刪除一些爲只讀權限的文件,直接使用 rm 刪除會顯示一個提示,以下:

你若是想忽略這提示,直接刪除文件,可使用 -f 參數強制刪除:

$ rm -f test

刪除目錄

跟複製目錄同樣,要刪除一個目錄,也須要加上 -r 或 -R 參數:

$ rm -r family

移動文件與文件重命名

移動文件

使用 mv(move or rename files)命令移動文件(剪切)。將文件「 file1 」移動到 Documents 目錄:

mv 源目錄文件 目的目錄:

$ mkdir Documents

$ mv file1 Documents

重命名文件

將文件「 file1 」重命名爲「 myfile 」:

mv 舊的文件名 新的文件名:

$ mv file1 myfile

查看文件

使用 cat,tac 和 nl 命令查看文件

前兩個命令都是用來打印文件內容到標準輸出(終端),其中 cat 爲正序顯示,tac 爲倒序顯示。

好比咱們要查看以前從 /etc 目錄下拷貝來的 passwd 文件:

$ cat passwd

能夠加上 -n 參數顯示行號:

$ cat -n passwd

nl 命令,添加行號並打印,這是個比 cat -n 更專業的行號打印命令。

這裏簡單列舉它的經常使用的幾個參數:

-b : 指定添加行號的方式,主要有兩種:

​ -b a:表示不管是否爲空行,一樣列出行號("cat -n"就是這種方式)

​ -b t:只列出非空行的編號並列出(默認爲這種方式)

-n : 設置行號的樣式,主要有三種:

​ -n ln:在行號字段最左端顯示

​ -n rn:在行號字段最右邊顯示,且不加 0

​ -n rz:在行號字段最右邊顯示,且加 0

-w : 行號字段佔用的位數(默認爲 6 位)

使用 more 和 less 命令分頁查看文件

若是說上面的 cat 是用來快速查看一個文件的內容的,那麼這個 more 和 less 就是天生用來"閱讀"一個文件的內容的,好比說 man 手冊內部就是使用的 less 來顯示內容。其中 more 命令比較簡單,只能向一個方向滾動,而 less 爲基於 more 和 vi (一個強大的編輯器,咱們有單獨的課程來讓你學習)開發,功能更強大

使用 head 和 tail 命令查看文件

$ tail /etc/passwd

甚至更直接的只看一行, 加上 -n 參數,後面緊跟行數:

$ tail -n 1 /etc/passwd

查看文件類型

前面我提到過,在 Linux 中文件的類型不是根據文件後綴來判斷的,咱們一般使用 file 命令查看文件的類型:

$ file /bin/ls

搜索文件

與搜索相關的命令經常使用的有 whereis,which,find 和 locate 。
whereis 簡單快速
$whereis who
locate 快而全
它能夠用來查找指定目錄下的不一樣文件類型,如查找 /etc 下全部以 sh 開頭的文件:
$ locate /etc/sh
注意,它不僅是在 /etc 目錄下查找,還會自動遞歸子目錄進行查找。
查找 /usr/share/ 下全部 jpg 文件:
$ locate /usr/share/*.jpg
注意要添加 * 號前面的反斜槓轉義,不然會沒法找到。
若是想只統計數目能夠加上 -c 參數,-i 參數能夠忽略大小寫進行查找,whereis 的 -b、-m、-s 一樣可使用。
which 小而精
which 自己是 Shell 內建的一個命令,咱們一般使用 which 來肯定是否安裝了某個指定的軟件,由於它只從 PATH 環境變量指定的路徑中去搜索命令:
$ which man
find 精而細
find 應該是這幾個命令中最強大的了
這條命令表示去 /etc/ 目錄下面 ,搜索名字叫作 interfaces 的文件或者目錄。這是 find 命令最多見的格式,千萬記住 find 的第一個參數是要搜索的地方:
$ sudo find /etc/ -name interfaces
意 find 命令的路徑是做爲第一個參數的, 基本命令格式爲 find [path] [option] [action] 。
與時間相關的命令參數:
參數 說明
-atime 最後訪問時間
-ctime 最後修改文件內容的時間
-mtime 最後修改文件屬性的時間
下面以 -mtime 參數舉例:
-mtime n:n 爲數字,表示爲在 n 天以前的「一天以內」修改過的文件
-mtime +n:列出在 n 天以前(不包含 n 天自己)被修改過的文件
-mtime -n:列出在 n 天以內(包含 n 天自己)被修改過的文件
-newer file:file 爲一個已存在的文件,列出比 file 還要新的文件名
列出 home 目錄中,當天(24 小時以內)有改動的文件:
$ find ~ -mtime 0
列出用戶家目錄下比 Code 文件夾新的文件:
$ find ~ -newer /home/root/Code

文件打包與壓縮

文件後綴名 說明
.zip zip 程序打包壓縮的文件
.rar rar 程序壓縮的文件
.7z 7zip 程序壓縮的文件
.tar tar 程序打包,未壓縮的文件
.gz gzip 程序(GNU zip)壓縮的文件
.xz xz 程序壓縮的文件
.bz2 bzip2 程序壓縮的文件
.tar.gz tar 打包,gzip 程序壓縮的文件
.tar.xz tar 打包,xz 程序壓縮的文件
tar.bz2 tar 打包,bzip2 程序壓縮的文件
*.tar.7z tar 打包,7z 程序壓縮的文件

zip 壓縮打包程序

使用 zip 打包文件夾:
$ zip -r -q -o yilezhu.zip /home/root
$ du -h yilezhu.zip
$ file yilezhu.zip
上面命令將目錄 /home/root 打包成一個文件,並查看了打包後文件的大小和類型。第一行命令中,-r 參數表示遞歸打包包含子目錄的所有內容,-q 參數表示爲安靜模式,即不向屏幕輸出信息,-o,表示輸出文件,需在其後緊跟打包輸出文件名。後面使用 du 命令查看打包後文件的大小(後面會具體說明該命令)。
設置壓縮級別爲 9 和 1(9 最大,1 最小),從新打包:
$ zip -r -9 -q -o yilezhu_9.zip /home/root -x ~/.zip
$ zip -r -1 -q -o yilezhu_1.zip /home/root -x ~/
.zip
這裏添加了一個參數用於設置壓縮級別 -[1-9],1 表示最快壓縮但體積大,9 表示體積最小但耗時最久。最後那個 -x 是爲了排除咱們上一次建立的 zip 文件,不然又會被打包進這一次的壓縮文件中,注意:這裏只能使用絕對路徑,不然不起做用。
咱們再用 du 命令分別查看默認壓縮級別、最低、最高壓縮級別及未壓縮的文件的大小:
$ du -h -d 0 *.zip ~ | sort
經過 man 手冊可知:
h, --human-readable(顧名思義,你能夠試試不加的狀況)
d, --max-depth(所查看文件的深度)

使用 unzip 命令解壓縮 zip 文件

將 yilezhu.zip 解壓到當前目錄:
$ unzip yilezhu.zip
使用安靜模式,將文件解壓到指定目錄:
$ unzip -q yilezhu.zip -d ziptest
上述指定目錄不存在,將會自動建立。若是你不想解壓只想查看壓縮包的內容你可使用 -l 參數:
$ unzip -l yilezhu.zip
使用 -O(英文字母,大寫 o)參數指定編碼類型:
unzip -O GBK 中文壓縮文件.zip(解決中文編碼問題)

rar 打包壓縮命令

rar 也是 Windows 上經常使用的一種壓縮文件格式,在 Linux 上可使用 rar 和 unrar 工具分別建立和解壓 rar 壓縮包。

安裝 rar 和 unrar 工具:
$ sudo apt-get update
$ sudo apt-get install rar unrar
從指定文件或目錄建立壓縮包或添加文件到壓縮包:
$ rm *.zip
$ rar a yilezhu.rar .
上面的命令使用 a 參數添加一個目錄 ~ 到一個歸檔文件中,若是該文件不存在就會自動建立。
注意:rar 的命令參數沒有 -,若是加上會報錯。
從指定壓縮包文件中刪除某個文件:
$ rar d yilezhu.rar .zshrc
查看不解壓文件:
$ rar l yilezhu.rar
使用 unrar 解壓 rar 文件
全路徑解壓:
$ unrar x yilezhu.rar
去掉路徑解壓:
$ mkdir tmp
$ unrar e yilezhu.rar tmp/

tar 打包工具

在 Linux 上面更經常使用的是 tar 工具,tar 本來只是一個打包工具,只是同時仍是實現了對 7z、gzip、xz、bzip2 等工具的支持,這些壓縮工具自己只能實現對文件或目錄(單獨壓縮目錄中的文件)的壓縮,沒有實現對文件的打包壓縮,因此咱們也無需再單獨去學習其餘幾個工具,tar 的解壓和壓縮都是同一個命令,只需參數不一樣,使用比較方便。

下面先掌握 tar 命令一些基本的使用方式,即不進行壓縮只是進行打包(建立歸檔文件)和解包的操做。

建立一個 tar 包:
$ tar -cf yilezhu.tar ~

上面命令中,-c 表示建立一個 tar 包文件,-f 用於指定建立的文件名,注意文件名必須緊跟在 -f 參數以後,好比不能寫成 tar -fc yilezhu.tar,能夠寫成 tar -f yilezhu.tar -c ~。你還能夠加上 -v 參數以可視的的方式輸出打包的文件。上面會自動去掉表示絕對路徑的 /,你也可使用 -P 保留絕對路徑符。

解包一個文件(-x 參數)到指定路徑的已存在目錄(-C 參數):
$ mkdir tardir
$ tar -xf yilezhu.tar -C tardir
只查看不解包文件 -t 參數:
$ tar -tf yilezhu.tar
保留文件屬性和跟隨連接(符號連接或軟連接),有時候咱們使用 tar 備份文件當你在其餘主機還原時但願保留文件的屬性(-p 參數)和備份連接指向的源文件而不是連接自己(-h 參數):
$ tar -cphf etc.tar /etc
對於建立不一樣的壓縮格式的文件,對於 tar 來講是至關簡單的,須要的只是換一個參數,這裏咱們就以使用 gzip 工具建立 *.tar.gz 文件爲例來講明。

咱們只須要在建立 tar 文件的基礎上添加 -z 參數,使用 gzip 來壓縮文件:
$ tar -czf yilezhu.tar.gz ~
解壓 .tar.gz 文件:
$ tar -xzf yilezhu.tar.gz
如今咱們要使用其它的壓縮工具建立或解壓相應文件只須要更改一個參數便可:
壓縮文件格式 參數
.tar.gz -z
.tar.xz -J
tar.bz2 -j

總結

其實今天總結的內容挺多的,主要是由於對於我這個.NET Core開發者來講Linux是一個全新的領域,因此感受須要記憶的內容太多太多了!而做爲開發者,雖然不須要掌握Linux的核心優化等等內容,可是基本的操做仍是須要掌握的,畢竟公司裏面基本是開發運維的工做一肩挑的,因此,Linux我來了! 後續在.net core程序進行在Linux系統上部署的話可能還須要涉及一些命令,這個後期用到了在進行記錄吧!今天就先到這裏了!感謝你們的閱讀!

相關文章
相關標籤/搜索