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)行更新