Python 高級 2

1.高級Linux命令及命令選項的使用

<1>重定向命令:>

Linux允許將命令執(zhí)行結(jié)果重定向到一個文件,本應(yīng)顯示在終端上的內(nèi)容保存到指定文件中。

如:ls > test.txt ( test.txt 如果不存在,則創(chuàng)建,存在則覆蓋其內(nèi)容 )

注意: >輸出重定向會覆蓋原來的內(nèi)容,>>輸出重定向則會追加到文件的尾部。

<2>查看或者合并文件內(nèi)容:cat

cat 1.txt 2.txt > 3.txt

提示:

gedit 文件編輯命令,可以查看和編輯文件

<3>分屏顯示:more

more 1.txt

查看內(nèi)容時,在信息過長無法在一屏上顯示時,會出現(xiàn)快速滾屏,使得用戶無法看清文件的內(nèi)容,此時可以使用more命令,每次只顯示一頁,按下空格鍵或者f可以顯示下一頁,按下b可以顯示上一頁,回車顯示下一行,按下q鍵退出顯示,按下h鍵可以獲取幫助

<4>管道:|

ls -alh | more

管道:一個命令的輸出可以通過管道做為另一個命令的輸入。

管道我們可以理解現(xiàn)實生活中的管子,管子的一頭塞東西進(jìn)去,另一頭取出來,這里“ | ”的左右分為兩端,左端塞東西(寫),右端取東西(讀)。

<5>建立鏈接文件:ln

Linux鏈接文件類似于Windows下的快捷方式。

鏈接文件分為軟鏈接和硬鏈接。

軟鏈接:軟鏈接不占用磁盤空間,源文件刪除則軟鏈接失效。

使用格式:

ln -s 源文件 鏈接文件

硬鏈接:硬鏈接只能鏈接普通文件,不能鏈接目錄。

使用格式:

ln 源文件 鏈接文件

如果沒有-s選項代表建立一個硬鏈接文件,兩個文件占用相同大小的硬盤空間,即使刪除了源文件,鏈接文件還是存在,所以-s選項是更常見的形式。

注意:

如果軟鏈接文件和源文件不在同一個目錄,源文件要使用絕對路徑,不能使用相對路徑。

<6>文本搜索:grep

Linux系統(tǒng)中g(shù)rep命令是一種強(qiáng)大的文本搜索工具,grep允許對文本文件進(jìn)行模式查找。如果找到匹配模式, grep打印包含模式的所有行。

grep一般格式為:

grep [-選項] ‘搜索內(nèi)容串’文件名

在grep命令中輸入字符串參數(shù)時,最好引號或雙引號括起來。

例如:

grep 'a' 1.txt

常用選項說明:

選項 含義

-v 顯示不包含匹配文本的所有行(相當(dāng)于求反)

-n 顯示匹配行及行號

-i 忽略大小寫

grep搜索內(nèi)容串可以是正則表達(dá)式。

正則表達(dá)式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規(guī)則字符串”,這個“規(guī)則字符串”用來表達(dá)對字符串的一種過濾邏輯。

grep常用正則表達(dá)式:

參數(shù) 含義

^a 行首,搜尋以 m 開頭的行;grep -n '^a' 1.txt

ke$ 行尾,搜尋以 ke 結(jié)束的行;grep -n 'ke$' 1.txt

[Ss]igna[Ll] 匹配 [] 里中一系列字符中的一個;搜尋匹配單詞signal、signaL、Signal、SignaL的行;grep -n '[Ss]igna[Ll]' 1.txt

. (點)匹配一個非換行符的字符;匹配 e 和 e 之間有任意一個字符,可以匹配 eee,eae,eve,但是不匹配 ee,eaae;grep -n 'e.e' 1.txt

<7>查找文件:find

find命令功能非常強(qiáng)大,通常用來在特定的目錄下搜索符合條件的文件,也可以用來搜索特定用戶屬主的文件。

常用用法:

命令 含義

find ./ -name test.sh 查找當(dāng)前目錄下所有名為test.sh的文件

find ./ -name '*.sh' 查找當(dāng)前目錄下所有后綴為.sh的文件

find ./ -name "[A-Z]*" 查找當(dāng)前目錄下所有以大寫字母開頭的文件

<8>通配符

通配符是一種特殊字符,用來模糊搜索文件。

統(tǒng)配字符注意有

? *:代表0個或多個任意字符

? ?:代表任意一個字符

? [列舉的字符]:代表的任意一個字符

舉例

? find . -name *.txt

? ls 1?3.txt

小結(jié): ls, find命令一般會結(jié)合通配符使用

<9>打包及壓縮:tar

計算機(jī)中的數(shù)據(jù)經(jīng)常需要備份,tar是Unix/Linux中最常用的備份工具,此命令可以把一系列文件歸檔到一個大文件中,也可以把檔案文件解開以恢復(fù)數(shù)據(jù)。

tar使用格式 tar [選項] 打包文件名 文件

常用參數(shù):

選項 含義

-c 生成檔案文件,創(chuàng)建打包文件

-v 列出歸檔解檔的詳細(xì)過程,顯示進(jìn)度

-f 指定檔案文件名稱,f后面一定是.tar文件,所以必須放選項最后

-x 解開檔案文件

-z 壓縮

注意:除了f需要放在參數(shù)的最后,其它參數(shù)的順序任意。

1> gz壓縮格式

tar這個命令并沒有壓縮的功能,它只是一個打包的命令,但是在tar命令中增加一個選項(-z)可以調(diào)用gzip實現(xiàn)了一個壓縮的功能,實行一個先打包后壓縮的過程。

壓縮用法:tar -zcvf 壓縮包包名 文件1 文件2 ...

-z:指定壓縮包的格式為:file.tar.gz

解壓用法: tar -zxvf 壓縮包包名

-z:指定壓縮包的格式為:file.tar.gz

解壓到指定目錄:-C (大寫字母“C”)

2> bz2壓縮格式

? 壓縮用法: tar -jcvf 壓縮包包名 文件

? 解壓用法: tar -jxvf 壓縮包包名

3> zip壓縮格式

通過zip壓縮文件的目標(biāo)文件不需要指定擴(kuò)展名,默認(rèn)擴(kuò)展名為zip。

壓縮文件:zip 目標(biāo)文件(沒有擴(kuò)展名) 源文件

解壓文件:unzip -d 解壓后目錄文件 壓縮文件

<10>修改文件權(quán)限:chmod

chmod 修改文件權(quán)限有兩種使用格式:字母法與數(shù)字法。

字母法:chmod u/g/o/a +/-/= rwx 文件

[ u/g/o/a ] 含義

u user 表示該文件的所有者

g group 表示與該文件的所有者屬于同一組( group )者,即用戶組

o other 表示其他以外的人

a all 表示這三者皆是

[ +-= ] 含義

+ 增加權(quán)限

- 撤銷權(quán)限

= 設(shè)定權(quán)限

rwx 含義

r read 表示可讀取,對于一個目錄,如果沒有r權(quán)限,那么就意味著不能通過ls查看這個目錄的內(nèi)容。

w write 表示可寫入,對于一個目錄,如果沒有w權(quán)限,那么就意味著不能在目錄下創(chuàng)建新的文件。

x excute 表示可執(zhí)行,對于一個目錄,如果沒有x權(quán)限,那么就意味著不能通過cd進(jìn)入這個目錄。

如果需要同時進(jìn)行設(shè)定擁有者、同組者以及其他人的權(quán)限,參考如下:

數(shù)字法:“rwx” 這些權(quán)限也可以用數(shù)字來代替

字母 說明

r 讀取權(quán)限,數(shù)字代號為 "4"

w 寫入權(quán)限,數(shù)字代號為 "2"

x 執(zhí)行權(quán)限,數(shù)字代號為 "1"

- 不具任何權(quán)限,數(shù)字代號為 "0"

如執(zhí)行:chmod u=rwx,g=rx,o=r filename 就等同于:chmod u=7,g=5,o=4 filename

chmod 751 file:

? 文件所有者:讀、寫、執(zhí)行權(quán)限

? 同組用戶:讀、執(zhí)行的權(quán)限

? 其它用戶:執(zhí)行的權(quán)限

注意:如果想遞歸所有目錄加上相同權(quán)限,需要加上參數(shù)“ -R ”。 如:chmod 777 test/ -R 遞歸 test 目錄下所有文件加 777 權(quán)限

<11>查看命令位置:which

which ls

如果找到就顯示這個命令的路徑

注意:

? which cd 是查看不了命令所在目錄,原因是:

? ? ? a. Linux命令是分為內(nèi)置命令和外部命令

? ? ? ? ? i. 內(nèi)置命令是在系統(tǒng)啟動時就載入內(nèi)存執(zhí)行效率高

? ? ? ? ? ii. 外面命令是系統(tǒng)的軟件功能,需要時載入內(nèi)存

? ? ? b. cd屬于內(nèi)置命令

<12>切換到管理員賬號:sudo -s

Ubuntu下切換到root的簡單命令:

提示: 一般不需要切換到管理員賬戶,需要使用管理員權(quán)限在命令前面加上sudo

<13>查看當(dāng)前用戶:whoami

查看當(dāng)前用戶命令是 whoami

<14>設(shè)置用戶密碼:passwd

在Unix/Linux中,超級用戶可以使用passwd命令為普通用戶設(shè)置或修改用戶密碼。用戶也可以直接使用該命令來修改自己的密碼,而無需在命令后面使用用戶名。

<15>退出登錄賬戶: exit

? 如果是圖形界面,退出當(dāng)前終端;

? 如果是使用ssh遠(yuǎn)程登錄,退出登陸賬戶;

? 如果是切換后的登陸用戶,退出則返回上一個登陸賬號。

<16>查看所有的登錄用戶:who

who命令用于查看當(dāng)前所有登錄系統(tǒng)的用戶信息。

<17>關(guān)機(jī)、重啟:shutdown、reboot

命令 含義

reboot 重新啟動操作系統(tǒng)

shutdown –r now 重新啟動操作系統(tǒng),shutdown會給別的用戶提示

shutdown -h now 立刻關(guān)機(jī),其中now相當(dāng)于時間為0的狀態(tài)

shutdown -h 20:25 系統(tǒng)在今天的20:25 會關(guān)機(jī)

shutdown -h +10 系統(tǒng)再過十分鐘后自動關(guān)機(jī)

2.遠(yuǎn)程登錄和遠(yuǎn)程拷貝

查看當(dāng)前IP:

ifconfig

<1>ssh介紹

SSH是專為遠(yuǎn)程登錄會話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。常用于遠(yuǎn)程登錄,以及用戶之間進(jìn)行資料拷貝。

SSH為Secure Shell的縮寫,由 IETF 的網(wǎng)絡(luò)工作小組(Network Working Group)所制定;SSH 為建立在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議。

利用SSH協(xié)議可以有效防止遠(yuǎn)程管理過程中的信息泄露問題。SSH最初是 UNIX 系統(tǒng)上的一個程序,后來又迅速擴(kuò)展到其他操作平臺。SSH 在正確使用時可彌補網(wǎng)絡(luò)中的漏洞。SSH 客戶端適用于多種平臺。幾乎所有 UNIX 平臺—包括 HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平臺,都可運行SSH。

使用SSH服務(wù),需要安裝相應(yīng)的服務(wù)器和客戶端??蛻舳撕头?wù)器的關(guān)系:如果,A機(jī)器想被B機(jī)器遠(yuǎn)程控制,那么,A機(jī)器需要安裝SSH服務(wù)器,B機(jī)器需要安裝SSH客戶端。

在Windows上安裝ssh

下載安裝OpenSSH forWindows

<2>在烏班圖安裝ssh

A.安裝ssh服務(wù)器

sudo apt-get install openssh-server

B.遠(yuǎn)程登陸

ssh 用戶名@IP

使用ssh訪問,如訪問出現(xiàn)錯誤??刹榭词欠裼性撐募?~/.ssh/known_ssh 嘗試刪除該文件解決。

<3>使用ssh連接服務(wù)器

SSH 告知用戶,這個主機(jī)不能識別,這時鍵入"yes",SSH 就會將相關(guān)信息,寫入" ~/.ssh/know_hosts" 中,再次訪問,就不會有這些信息了。然后輸入完口令,就可以登錄到主機(jī)了。

<4>scp

遠(yuǎn)程拷貝文件,scp -r 的常用方法:

? 使用該命令的前提條件要求目標(biāo)主機(jī)已經(jīng)成功安裝openssh-server

如沒有安裝使用 sudo apt-get install openssh-server 來安裝

? 使用格式:

scp -r 目標(biāo)用戶名@目標(biāo)主機(jī)IP地址:/目標(biāo)文件的絕對路徑? /保存到本機(jī)的絕對/相對路徑

舉例:

scp -r itcast@192.168.1.100:/home/itcast/QQ_dir/ ./mytest/lisi

在后續(xù)會提示輸入“yes”此時,只能輸“yes”而不能簡單輸入“Y”

拷貝單個文件可以不加 -r參數(shù),拷貝目錄必須要加。

本地文件復(fù)制到遠(yuǎn)程:

scp FileName RemoteUserName@RemoteHostIp:RemoteFile

scp FileName RemoteHostIp:RemoteFolder

scp FileName RemoteHostIp:RemoteFile

本地目錄復(fù)制到遠(yuǎn)程:

scp -r FolderName RemoteUserName@RemoteHostIp:RemoteFolder

scp -r FolderName RemoteHostIp:RemoteFolder

遠(yuǎn)程文件復(fù)制到本地:

scp RemoteUserName@RemoteHostIp:RemoteFile FileName

scp RemoteHostIp:RemoteFolder FileName

scp RemoteHostIp:RemoteFile FileName

遠(yuǎn)程目錄復(fù)制到本地:

scp -r RemoteUserName@RemoteHostIp:RemoteFolder FolderName

scp -r RemoteHostIp:RemoteFolder FolderName

<5>圖形化界面上傳下載

我們在 Mac Ubuntu 通過命令可以上傳下載文件, 也可使用圖形界面的方式, 我們這里推薦一款 ftp 客戶端軟件 filezilla, 該款軟件有 Mac Linux Windows 3個版本. Filezilla 支持 SFTP(基于 SSH 協(xié)議的 FTP). Linux 的 SSH 服務(wù)包含了 SFTP 功能

小結(jié)

? 1. scp可以實現(xiàn)Ubuntu遠(yuǎn)程連接和文件上傳和下載

? 2. 在windows系統(tǒng)上遠(yuǎn)程連接Ubuntu需要安裝OpenSSH軟件

? 3. FileZilla工具通過SFTP協(xié)議實現(xiàn)文件上傳和下載

3.軟件安裝與卸載

在Ubuntu中主要分為以下兩種種軟件安裝的方式:

? 通過apt-get包管理器從軟件源中安裝(圖形化和終端命令兩種方式);

? 通過deb格式的軟件包安裝;

<1>Ubuntu軟件操作的相關(guān)命令

sudo apt-get update? 更新源

sudo apt-get install package 安裝包

sudo apt-get remove package 刪除包

小結(jié)

? Ubuntu軟件安裝常見的兩種方式

? ? ? 下載deb擴(kuò)展名的安裝包直接雙擊安裝

? ? ? 通過apt-get工具安裝,90%都是以這種方式安裝

? Ubuntu鏡像源默認(rèn)在國外,國內(nèi)下載比較慢,需要將鏡像源更改到國內(nèi)

? ? ? 通過Ubuntu軟件中心更改

? ? ? 手動更新sources.list文件并且需要執(zhí)行sudo apt-get update 進(jìn)行更新

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第 2 章 SHELL 基礎(chǔ)知識2.1 shell腳本我們在上面簡單介紹了一下什么是shell腳本,現(xiàn)在我們來進(jìn)一...
    LiWei_9e4b閱讀 1,641評論 0 0
  • Linux習(xí)慣問題: 在vim編輯時,按了ctrl + s后,再按ctrl + q就可以繼續(xù)執(zhí)行了。ctrl + ...
    光著腳的鞋閱讀 4,684評論 0 16
  • 在我們生活的圈子里,每當(dāng)聽到那個姑娘要結(jié)婚了,大家首先關(guān)心的問題是,她嫁的那個人有沒有房,經(jīng)濟(jì)條件好不好。很少有人...
    朵先森閱讀 605評論 2 2
  • 今天是9月4日,新學(xué)期第二天,繼續(xù)穿行于教室之間,課堂之上。 上午第一節(jié)課,有家長幫忙,來校以四3班孩子為主體,拍...
    華琴_5c0e閱讀 272評論 0 0

友情鏈接更多精彩內(nèi)容