第二週(9.14-9.20)學習任務報告

學習計時:共17小時node

讀書:2小時正則表達式

代碼:6小時shell

做業:7小時編程

博客:2小時vim

 

任務一:安全

 

Linux系統簡介less

 

Linux是一個操做系統,也就是系統調用和內核兩層,還包括一些運行上的應用程序。iview

 

Linux自己只是操做系統的內核。
內核是使其餘程序可以運行的基礎,它實現了多任務和硬件管理。
其中有些程序是必需的,好比命令行解釋器,Linux沒有本身開發這些應用程序,而是使用已有的自由軟件,減小了工做量。socket

Linux和Windows的區別:
1.Linux免費,Windows收費
2.Linux大都爲開源自由軟件,部分軟件質量和體驗欠缺;Windows由微軟官方提供支持,數量和質量有優點
3.Linux比Windows安全
4.Linux兼具圖形界面操做和徹底命令行操做,可只用鍵盤完成一切操做;Windows普通用戶基本是純圖形界面操做,依靠鼠標和鍵盤完成一切
5.Linux想怎麼作就怎麼作;Windows全封閉,可定製性差
6.大多數軟件和服務都運行在Linux之上編程語言

 

任務二:

基本概念及操做

1、Linux桌面環境介紹

Linux上的這套軟件是xorg,是經過X窗口系統實現的
實驗樓目前使用XFCE桌面環境

咱們使用Linux時,是經過一個叫作Shell的中間程序來完成的,還提供了一個叫作終端服務模擬器的程序(Terminal),xfce桌面環境自帶xfce-terminal。
Linux提供了6個純命令界面的terminal,在物理機上可用ctrl+alt+F1~F7進行切換,但在線試驗環境沒法切換,當想要切換回圖形界面,按ctrl+alt+F7

 

2、常見shell命令及快捷鍵

Shell:有殼就有核,核是指UNIX/Linux內核,殼是指命令解析器,就是可用接受用戶輸入命令的程序

快捷鍵:
1.Tab:命令補全(輸入命令全稱的開頭部分以後獲得提示),還可補全目錄和命令參數


2.Ctrl+c:強行終止當前程序


3.利用歷史輸入命令:鍵盤的上鍵
4.通配符:主要是*和?,對字符串進行模糊匹配,主要出如今命令的參數值裏


5.man:獲取幫助,8個區段

要看相應區段的內容,就在後面加上相應區段的數字

能夠在man中進行搜索,查找到後用n鍵切換到下一個關鍵字,shift+n上一個關鍵字所在處,空格翻頁,回車向下滾一行,h顯示幫助,q退出。

也能夠用--help參數

3、Linux使用小技巧(做業)

 

任務三:

用戶及文件權限管理

1、Linux用戶管理

1.查看用戶

輸入who am i打開當前僞終端的用戶的用戶名,whoami則是當前登陸用戶的用戶名。

pts/0 中 pts 表示僞終端,在圖形用戶界面使用 /dev/tty7 時每打開一個終端就會產生一個僞終端, pts/0 後面的數字表示打開的僞終端序號,第三列表示當前僞終端的啓動時間。

其餘參數

2.建立用戶

要建立用戶須要root權限

sudo命令 前提:1.要知道當前登陸用戶密碼 2.當前用戶必須在sudo用戶組

退出能夠用exit命令或者ctrl+d

3.用戶組

一組用戶的集合,共享資源和權限,同時擁有私有資源

方法一:使用groups命令

方法二:查看/etc/group文件

| sort:將讀取的文本進行一個字典排序再輸出

/etc/group 的內容包括用戶組(Group)、用戶組口令、GID 及該用戶組所包含的用戶(User),每一個用戶組一條記錄。格式以下:

group_name:password:GID:user_list

將其餘用戶加入sudo用戶組

usermod命令:使用者必須有root權限

4.刪除用戶

2、Linux文件權限

1.查看文件權限

文件類型:Linux裏面一切皆文件(設備文件,socket,pipe,軟連接,硬連接)

文件權限:執行文件,一般指能夠運行的二進制程序文件或者腳本文件,一個目錄要同時具備讀權限和執行權限才能夠打開,而一個目錄要有寫權限才容許在其中建立其它文件

連接數:連接到該文件所在的 inode 結點的文件名數目

文件大小:以 inode 結點大小爲單位來表示的文件大小

ls命令的其餘用法:顯示除了 '.'(當前目錄),'..' 上一級目錄以外的全部包含隱藏文件

2.變動文件使用者

3.修改文件權限

方法一:二進制數字表示

每一個文件都有三組權限:擁有者,所屬用戶組,其餘用戶

方法二:加減賦值操做

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

做業:

添加一個用戶loutest,使用sudo建立文件/opt/forloutest,設置成用戶loutest能夠讀寫

 

任務四

Linux任務結構及文件基本操做

 

1、Linux目錄結構

 Linux和Windows存儲結構的不一樣:Linux以目錄爲主,Windows以存儲介質爲主

Linux以樹形目錄結構的形式來構建整個系統

1.FHS標準

FHS:文件系統層次結構標準

多數 Linux 版本採用這種文件組織形式,FHS 定義了系統中每一個區域的用途、所須要的最小構成的文件和目錄同時還給出了例外處理與矛盾處理

FHS 定義了兩層規範:

第一層: / 下面的各個目錄放什麼文件數據,( /etc 應該放置設置文件,/bin 與 /sbin 應該放置可執行文件)

第二層:針對 /usr 及 /var 這兩個目錄的子目錄來定義。( /var/log 放置系統登陸文件、/usr/share 放置共享數據)

將目錄定義爲四種交互形式的形態

2.目錄路徑

使用 cd 命令能夠切換目錄

 . 表示當前目錄

.. 表示上一級目錄

- 表示上一次所在目錄

 一般表示當前用戶的"home"目錄

使用 pwd 命令能夠獲取當前所在路徑(絕對路徑)

絕對路徑:以根"/"目錄爲起點的完整路徑,以你所要到的目錄爲終點,表現形式如: /usr/local/bin,表示根目錄下的 usr 目錄中的 local 目錄中的 bin 目錄。

相對路徑:相對於你當前的目錄的路徑,以當前目錄 . 爲起點,以你所要到的目錄爲終點,表現形式如: usr/local/bin

2、Linux文件基本操做

1.新建:

新建文件:使用touch命令新建空白文件(不會覆蓋同名文件)

新建目錄:使用 mkdir命令建立一個空目錄,可同時指定建立目錄的權限屬性。使用 -p 參數,同時建立父目錄

2.複製:

複製文件:使用cp命令複製一個文件或目錄到指定目錄

複製目錄:要成功複製目錄須要加上-r或者-R參數,表示遞歸複製

3.刪除:

刪除文件:使用rm命令,刪除一個文件或目錄

刪除一些爲只讀權限的文件,直接使用rm刪除會顯示一個提示

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

刪除目錄:要刪除一個目錄,也須要加上-r-R參數

4.移動文件與文件重命名

移動文件:使用mv命令,移動文件(剪切)

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

批量重命名:rename(rename是先使用第二個參數的通配符匹配全部後綴爲.txt的文件,而後使用第一個參數提供的正則表達式將匹配的這些文件的.txt後綴替換爲.c)

5.查看文件

使用cat,tacnl命令查看文件

這兩個命令都是用來打印文件內容到標準輸出(終端),其中cat爲正序顯示,tac倒序顯示。能夠加上-n參數顯示行號。

nl命令,添加行號並打印

使用moreless命令分頁查看文件

可使用Enter鍵向下滾動一行,使用Space鍵向下滾動一屏,按下h顯示幫助,q退出。

使用headtail命令查看文件

只看一行, 加上-n參數,後面緊跟行數

6.查看文件類型

file命令能夠查看文件的類型

7.編輯文件

vimtutor

做業:

 

任務五

環境變量與文件查找

 

1、環境變量

1.變量

所謂變量就是計算機中用於記錄一個值(不必定是數值,也能夠是字符或字符串)的符號

變量的做用域即變量的有效範圍(好比一個函數中、一個源文件中或者全局範圍),在該範圍內只能有一個同名變量。一旦離開則該變量無效,如同不存在這個變量通常。

變量名只能是英文字母,數字或者下劃線,且不能以數字做爲開頭

2.環境變量

一般咱們會涉及到的環境變量有三種

與環境變量相關的命令

3.命令的查找路徑與順序

經過環境變量PATH進行搜索

4.添加自定義路徑到「PATH」環境變量

必定要使用絕對路徑

>>表示將標準輸出以追加的方式重定向到一個文件中

>是以覆蓋的方式重定向到一個文件中

5.修改和刪除已有變量

可使用unset命令刪除一個環境變量

6.如何讓環境變量當即生效

使用source命令來讓其當即生效(source命令有一個別名是.)

2、搜索文件

與搜索相關的命令經常使用的有以下幾個whereis,which,find,locate

whereis只能搜索二進制文件(-b),man幫助文件(-m)和源代碼文件(-s)

locate能夠用來查找指定目錄下的不一樣文件類型,它不僅是在 etc 目錄下查找並會自動遞歸子目錄進行查找

一般使用which來肯定是否安裝了某個指定的軟件,由於它只從PATH環境變量指定的路徑中去搜索命令

find功能最強大

find 命令的路徑是做爲第一個參數的, 基本命令格式爲 find [path] [option] [action]

 

與時間有關的命令參數

-mtime n: n 爲數字,表示爲在n天以前的」一天以內「修改過的文件

-mtime +n: 列出在n天以前(不包含n天自己)被修改過的文件

-mtime -n: 列出在n天以前(包含n天自己)被修改過的文件

newer file: file爲一個已存在的文件,列出比file還要新的文件名

做業:

數字雨

 

任務六

文件打包與壓縮

 

1、文件打包與解壓縮

*.zip,*.rar,*.7z,*.gz,*.xz,*.bz2,*.tar,*.tar.gz,*.tar.xz,*tar.bz2

1.zip壓縮打包程序

-r參數表示遞歸打包包含子目錄的所有內容

-q參數表示爲安靜模式,即不向屏幕輸出信息

-o,表示輸出文件,需在其後緊跟打包輸出文件名

du命令查看打包後文件的大小

添加一個參數用於設置壓縮級別-[1-9],1表示最快壓縮但體積大,9表示體積最小但耗時最久。

-x是爲了排除上一次建立的 zip 文件

使用-e參數能夠建立加密壓縮包

2.使用unzip命令解壓縮zip文件

若是不想解壓只想查看壓縮包的內容可使用-l參數

使用-O(英文字母,大寫o)參數指定編碼類型

3.rar打包壓縮命令

使用a參數添加一個目錄到一個歸檔文件中,若是該文件不存在就會自動建立。

4.tar打包工具

-c表示建立一個 tar 包文件

-f用於指定建立的文件名

-v參數以可視的的方式輸出打包的文件

-P保留絕對路徑符

做業:火爐

 

任務七

文件系統操做與磁盤管理

 

1、簡單文件系統操做

1.查看磁盤和目錄的容量

使用df命令查看磁盤容量

roofts:它做爲系統啓動時內核載入內存以後,在掛載真正的的磁盤以前的一個臨時文件系統。一般的主機會在系統啓動後用磁盤上的文件系統替換,只是在一些嵌入式系統中會只存在一個 rootfs 

物理主機上的 /dev/sda2 是對應着主機硬盤的分區,後面的數字表示分區號,數字前面的字母 a 表示第幾塊硬盤

 

使用du命令查看目錄的容量

2、簡單的磁盤管理

1.建立虛擬磁盤

dd命令用於轉換和複製文件

它的命令行選項格式爲選項=值

dd默認從標準輸入中讀取,並寫入到標準輸出中

bs用於指定塊大小

count用於指定塊數量

使用dd命令建立虛擬鏡像文件

使用mkfs命令格式化磁盤

使用mount命令掛載磁盤到目錄樹

在 Linux/UNIX 的機器上打開一個文件之前,包含該文件的文件系統必須先進行掛載的動做,此時用戶要對該文件系統執行 mount 的指令以進行掛載

每一行最前面是設備名,而後是 on 後面是掛載點,type 後面表示文件系統類型,再後面是掛載選項

mount命令的通常格式以下:

mount [options] [source] [directory]

 

使用umount命令卸載已掛載磁盤

因爲環境的問題,沒法掛載成功

 

使用fdisk爲磁盤分區

在進行操做前首先應先規劃好分區方案

操做完成後輸入p查看結果

最後輸入w寫入分區表

 

使用losetup命令創建鏡像與迴環設備的關聯

使用mkfs格式化各分區,格式化以前,咱們還要爲各分區創建虛擬設備的映射,用到kpartx工具

做業:cowsay

 

任務八

命令執行順序控制與管道

 

1、命令執行順序的控制

1.順序執行多條命令

2.有選擇的執行命令

問題:好比上面咱們是&&在前||在後,反過來能夠麼?會不會有問題?

會有問題,由於優先級的問題,不能夠反過來

 

2、管道

管道是一種通訊機制,一般用於進程間的通訊

它表現出來的形式就是將前面每個進程的輸出直接做爲下一個進程的輸入

1.試用

2.cut命令,打印每一行的某一字段

3.grep命令,在文本中或stdin中查找匹配字符串

grep命令的通常形式爲:

grep [命令選項]... 用於匹配的表達式 [文件]...

-r 參數表示遞歸搜索子目錄中的文件

-n表示打印匹配項行號

-I表示忽略二進制文件

 

4.wc命令,簡單小巧的計數工具

5.sort排序命令

-t參數用於指定字段的分隔符

以":"做爲分隔符

-k 字段號用於指定對哪個字段進行排序

若是要按照數字排序就要加上-n參數

6.unip去重命令

uniq命令能夠用於過濾或者輸出重複行

使用history命令查看最近執行過的命令

uniq命令只能去連續重複的行,不是全文去重

 

輸出重複行

做業:

使用之前介紹過的方法,安裝aviewimagemagick,而後用asciiview命令顯示圖片,使用方法能夠用 man 命令查看。

因爲沒法把圖片下載到虛擬機裏,結果沒法顯示

 

任務九

簡單的文本處理

 

1、經常使用的文本處理命令

2、文本處理命令

1.tr命令

tr 命令能夠用來刪除一段文本信息中的某些文字,或者將其進行轉換

使用方式:

tr [option]...SET1 [SET2]

 

2.col命令

col 命令能夠將Tab換成對等數量的空格建,或反轉這個操做

使用方法:

col [option]

 

3.join命令

用於將兩個文件中包含相同內容的那一行合併在一塊兒

使用方式:

join [option]... file1 file2

 

4.pasta命令

paste這個命令與join 命令相似,它是在不對比數據的狀況下,簡單地將多個文件合併一塊兒,以Tab隔開

使用方式:

paste [option] file...

 

做業:小蜜蜂

 

任務十

數據流重定向

 

1、數據流重定向

1.簡單的重定向

Linux 默認提供了三個特殊設備,用於終端的顯示和輸出,分別爲stdin(標準輸入,對應於你在終端的輸入),stdout(標準輸出,對應於終端的輸出),stderr(標準錯誤輸出,對應於終端的輸出)

文件描述符在形式上是一個非負整數

它是一個索引值,指向內核爲每個進程所維護的該進程打開文件的記錄表

2.標準錯誤重定向

將標準錯誤重定向,標準輸出和標準錯誤都被指向僞終端的屏幕顯示

應該在輸出重定向文件描述符前加上&

3.使用tee命令同時重定向多個文件

4.永久定向性

使用exec命令實現「永久」重定向

exec命令的做用是使用指定的命令替換當前的 Shell,及使用一個進程替換當前進程,或者指定新的重定向

5.建立輸出文件描述符

默認在 Shell 中能夠有9個打開的文件描述符

6.關閉文件描述符

7.徹底屏蔽命令的輸出

利用設/dev/null屏蔽命令的輸出,將使你得不到任何輸出結果

使用xargs分割參數列表

xargs 是一條 UNIX 和類 UNIX 操做系統的經常使用命令。

它的做用是將參數列表轉換成小塊分段傳遞給其餘命令,以免參數列表過長的問題

做業:

 

任務十一

正則表達式基礎

 

1、正則表達式

正則表達式使用單個字符串來描述、匹配一系列符合某個句法規則的字符串。在不少文本編輯器裏,正則表達式一般被用來檢索、替換那些符合某個模式的文本

基本語法:

一個正則表達式一般被稱爲一個模式(pattern),爲用來描述或者匹配一系列符合某個句法規則的字符串。

|豎直分隔符表示選擇

數量限定除了*,還有+加號,?問號,.點號,若是在一個模式中不加數量限定符則表示出現一次且僅出現一次

+表示前面的字符必須出現至少一次(1次或屢次)

?表示前面的字符最多出現一次(0次或1次)

*星號表明前面的字符能夠不出現,也能夠出現一次或者屢次(0次、或1次、或屢次)

()圓括號能夠用來定義模式字符串的範圍和優先級

PCRE是一個用 C 語言編寫的正則表達式函數庫

優先級:

2、grep模式匹配命令

1.基本操做

grep命令用於打印輸出文本中匹配的模式串,它使用正則表達式做爲模式匹配的條件

grep支持三種正則表達式引擎,分別用三個參數指定

2.使用正則表達式

3、sed流編輯器

sed流編輯器是一個非交互式的編輯器

sed 命令基本格式

sed [參數]... [執行命令] [輸入文件]...

sed編輯器的執行命令

sed執行命令格式

[n1][,n2]command

[n1][~step]command

n1,n2表示輸入內容的行號

它們之間爲,逗號則表示從n1到n2行,若是爲波浪號則表示從n1開始以step爲步進的全部行

command爲執行動做

行內替換

行間替換

4、awk文本處理語言

1.awk介紹

AWK是一種優良的文本處理工具,Linux及Unix環境中現有的功能最強大的數據處理引擎之一

功能:

建立簡短的程序,這些程序讀取輸入文件、爲數據排序、處理數據、對輸入執行計算以及生成報表

AWK是一種用於處理文本的編程語言工具

2.awk的一些基本概念

形式:

$ pattern {action}

awk處理文本的方式,是將文本分割成一些「字段」,而後再對這些字段進行處理

3.awk命令基本格式

awk [-F fs] [-v var=value] [-f prog-file | 'program text'] [file...]

-F參數用於預先指定字段分隔符

-v用於預先爲awk程序指定變量

-f參數用於指定awk命令要執行的程序文件,或者在不加-f參數的狀況下直接將程序語句放在這裏

最後爲awk須要處理的文本輸入,且能夠同時輸入多個文本文件

做業:

 

任務十二

Linux下軟件安裝

 

一般 Linux 上的軟件安裝主要有三種方式:

在線安裝

從磁盤安裝deb軟件包

從二進制軟件包安裝

從源代碼編譯安裝

在安裝一個軟件以後,沒法當即使用Tab鍵補全這可命令,先執行source ~/.zshrc,而後就可使用補全操做

APT是Debian及其派生髮行版的軟件包管理器,APT能夠自動下載,配置,安裝二進制或者源代碼格式的軟件包,所以簡化了Unix系統上管理軟件的過程

這個包管理器包含以 apt- 開頭的的多個工具,如 apt-get apt-cache apt-cdrom 等

apt-get使用各用於處理apt包的公用程序集,能夠在線安裝、卸載和升級軟件包等

經常使用參數:

從新安裝:

$ sudo apt-get --reinstall install w3m

軟件升級:

# 更新軟件源

$ sudo apt-get update

# 升級沒有依賴問題的軟件包

$ sudo apt-get upgrade

# 升級並解決依賴關係

$ sudo apt-get dist-upgrade

卸載軟件:

 

軟件搜索:

sudo apt-cache search softname1 softname2 softname3……

 

使用dpkg從本地磁盤安裝deb軟件包

dpkg 是 Debian 軟件包管理器的基礎

apt-get加上-d參數只下載不安裝

做業:

 

遇到的問題:

1.後來新建Documents便可

2.並沒有法顯示black,未找到緣由

3.權限不夠,並未找到緣由

4.因爲不知道如何將圖片保存於虛擬機,有一個顯示照片的做業沒有作出來

 

心得體會:

感受接觸到了好厲害的東西,可是一會兒學習了太多,掌握起來也相對困難,容易遺忘,從此還要多加練習才行

最喜歡的是每堂課佈置的做業,頗有趣,好像打開了新世界的大門,不過那個遊戲有點沒玩明白

相關文章
相關標籤/搜索