linux 基礎(chǔ)Shell命令
++base基礎(chǔ)
- 支持自動(dòng)補(bǔ)齊命令行
> 使用tab鍵
- 可定制提示符
> 利用環(huán)境變量PS1和PS2定制
#代表當(dāng)前用戶為管理員
$代表普通用戶
- 歷史記錄 history
- 允許輸入輸出雙重定向
> 使用輸出重定向時(shí)使,要在命令和文件之間添加">"、">>"符號(hào)將結(jié)果輸入到指定的文件對(duì)象中,">"若文件存在則覆蓋文件,用">>"則追加到文件的尾部
例如 ls > /ect/list
使用輸入對(duì)象則使用"<"
- 使用多管道連接多個(gè)命令
- 管道功能將多個(gè)命令連接,把前面的命令作為后面的命令輸入。管道時(shí)必須命令件輸入"|"
- 邏輯順序執(zhí)行命令
> 連接符號(hào) 例子 說(shuō)明
&& a&&b 當(dāng)a執(zhí)行成功后才執(zhí)行b
|| a||b 當(dāng)a執(zhí)行失敗后才執(zhí)行b
; a;b 按照從左向右的順序執(zhí)行a、b
- 命令替換
> 命令替換潤(rùn)許捕獲任何命令的輸出,作為另一個(gè)命令的參數(shù),使用替換命令單引號(hào) ''括起命令先執(zhí)行
例如 cat 'ls /ect/grub. conf'
\先執(zhí)行l(wèi)s命令,結(jié)果作為cat的參數(shù)
- 命令別名
允許用戶制定命令
例如 alias psa="ps -aux|more" //將后方命令制定為psa命令
- 使用通配符
常用*和?
++內(nèi)置命令 和 外置命令##
/ 代表 最高路徑
. 代表當(dāng)前目錄
. . 父目錄
++基本操作命令
- pwd 顯示當(dāng)前工作目錄
- cd 切換目錄
- mkdir 建立目錄
-p 可以是一個(gè)路徑和目錄,目錄不存在建立多個(gè)目錄
- rmdir 刪除目錄
-p 遞歸刪除目錄,當(dāng)刪除的目錄的父目錄為空時(shí)也刪除
- ls 列出當(dāng)前目錄下的內(nèi)容
-a 顯示所有文件,包括隱藏
-l 長(zhǎng)格式顯示文件詳細(xì)信息
-R 地推是顯示所有文件和目錄及其子目錄中的文件結(jié)構(gòu)
-t 按照時(shí)間排序顯示
-d 只顯示目錄名而不顯示目錄中的文件,一般和l連用
-1 每行顯示一條
- cp 復(fù)制文件
cp [參數(shù)]<源路徑> <目標(biāo)路徑>
-f 文件在目標(biāo)路徑中存在,則直接覆蓋
-i 文件在目標(biāo)路徑中存在,則提示覆蓋
-r 復(fù)制整個(gè)目錄
-a 保持文件的原有屬性
- rm 刪除文件
-f 刪除文件不給提示
-i 交互刪除,y&n
-r 直接刪除目錄文件
- mv 移動(dòng)或重命名文件
mv [options] <源路徑> <目標(biāo)路徑>
-i 交互
-f 禁止交互
- file 檢測(cè)文件類型
-L 跟隨符號(hào)連接,顯示符號(hào)連接所指向的文件類型
-b 列出辨識(shí)結(jié)果,不顯示文件名稱
- cat 在在顯示文件和連接多個(gè)文件,在顯示文件的內(nèi)容時(shí),依次讀取,分平顯示
-n 顯示行號(hào)
-b 顯示行號(hào),空白行不顯示
- more 分屏顯示,enter繼續(xù),q退出
-d 顯示一屏?xí)和2⑻崾綶Press space to continue,'q' to quit]
-m 定義每屏顯示num行
+m 從num行開始顯示
-p 之前先清屏
- find 在文件系統(tǒng)中安指定的條件查找文件
-name "文件名" 指定文件名
-user "用戶名" 指定用戶名
-group "組名" 指定組名
-mtime n 查n天前被修改過(guò)的文件
-atime n 查n天前被訪問(wèn)過(guò)的文件
-type d/f/b/l/p/c 查找指定文件類型的文件
d 表示目錄文件;f 普通文件;b 塊設(shè)備文件;l 表示符號(hào)鏈接文件;p 表示管道文件;c表示字符設(shè)備文件;
-s n[bcwkMG] 查找指定大小的文件。b 塊為單位,每塊521字節(jié);c 字節(jié);w 字為單位,兩個(gè)字節(jié);
-empty 內(nèi)容為空
-perm mode 指定屬性
操作:
-exec 命令 {} \ 對(duì)符號(hào)條件的文件執(zhí)行命令,{} 和\之間有空格
-ok 命令 {} \ 交互執(zhí)行命令
- whereis 查找二進(jìn)制、手冊(cè)及源代碼文件
-b 二進(jìn)制
-m 手冊(cè)
-u 源碼
- which 查找命令文件
- grep 在文本文件中查找匹配模板字符串的行,可以使用正則表達(dá)式表示模板字符串
grep [選項(xiàng)] <"模板"> <文件>
-num 同時(shí)顯示匹配行上下10行
-c 只打印匹配的行數(shù),無(wú)內(nèi)容
-h 當(dāng)搜索么多個(gè)文件時(shí),不現(xiàn)實(shí)匹配文件的前綴
-l 打印匹配的模板的文件清單
-L 打印不匹配的模板的文件清單
-n 在匹配的行前打印行號(hào)
-v 反檢所,只顯示不匹配的行
正則表達(dá)式
^ 錨定行的開始
$ 錨定行的結(jié)尾
. 匹配一個(gè)非換行符
- 匹配零個(gè)或多個(gè)字符 . * 代表任意字符
[] 匹配一個(gè)指定范圍內(nèi)的字符,例如[Gg]rep匹配的有Grep和grep
[^] 匹配一個(gè)不再指定范圍內(nèi)的字符,例如[^A-FH-Z]rep就是指匹配不包含A到F和H到Z之內(nèi)開頭的字母
x{m} 重復(fù)字符x,m次
x{m,} 重復(fù)字符x,至少m次
x{m,n} 重復(fù)字符x,至少m次,不多于n次
- gzip 壓縮單個(gè)文件,擴(kuò)展名為. gz
-d 用于解壓縮
-t 檢驗(yàn)壓縮文件是否損壞
-l 顯示壓縮文件壓縮比例
-r 遞歸式查找指定目錄并壓縮其中的所有文件或者壓縮文件
- tar 為文件活目錄創(chuàng)建備份建立壓縮包
-c 創(chuàng)建壓縮包
-t 列出壓縮包內(nèi)容
-x 解壓縮
-z 處理gzip壓縮
-f 指定文件名,必選項(xiàng)
-j 使用bzip壓縮文件
-v 顯示操作信息
-C 指定解壓文件
-r 向壓縮包中添加文件
-u 更新壓縮包
-d 從壓縮包中刪除文件
實(shí)例
//將/etc 和 /boot 目錄所有內(nèi)容壓縮為sys. tar
tar -cvf sys. tar /etc /boot
//將/home目錄壓縮為h. tar. gz
tar -czvf h. tar. gz /home
//解壓sys. tar到 /bak中
tar -xvf sys. bak -C /bak
//查看h. tar. gz內(nèi)容
tar -tzvf h. tar. gz
//將/ect/psswd文件添加到sys. tar壓縮包中
tar -rvf sys. tar /etc/passwd
- ln 建立鏈接文件
ln [選項(xiàng)] <目標(biāo)文件名> <鏈接文件名>
-s 創(chuàng)建符號(hào)鏈接文件 . conf
- touch 創(chuàng)建空文件
- wc 統(tǒng)計(jì)文件中的行數(shù),單詞數(shù)以及字符數(shù)。
-c 字符數(shù)char
-w 單詞數(shù)word
-l 行數(shù)line
++重啟和關(guān)機(jī)
- reboot 重啟
- shutdown 重啟活關(guān)閉己玄機(jī)
shutdown [選項(xiàng)] [-t] time [提示信息]
-f 重啟不執(zhí)行fsck
-F 重啟執(zhí)行fsck
-h 關(guān)機(jī)操作
-k 只是送消息給所有用戶,但不會(huì)真正個(gè)關(guān)機(jī)
-r 重啟
-c 取消前一個(gè)shutdown
時(shí)間的表示方法
+num 等待num分鐘后執(zhí)行shutdown
now 現(xiàn)在執(zhí)行
hh:mm 在幾點(diǎn)幾分執(zhí)行命令
提示信息用字符串表示
- poweroff 關(guān)閉計(jì)算機(jī)
++查看系統(tǒng)信息命令
date 查看或設(shè)置日期和時(shí)間
-s 日期/時(shí)間 設(shè)置系統(tǒng)日期/時(shí)間為指定值
lspci 顯示所有pci設(shè)配信息
- free 查看內(nèi)存使用強(qiáng)況,包括虛擬,物理和緩沖區(qū)。
-b 字節(jié)單位
-k
-M
- df 查看分區(qū)空間使用情況
-m 以MB為單位
-k
- help 產(chǎn)看內(nèi)置的shell幫助信息
shell 的命令是內(nèi)置定義的,輸入 “help” 可以看到這個(gè)列表。
輸入“help name” 來(lái)查找關(guān)于 “name”命令功能的更多信息。
輸入 “info bash” 來(lái)查看關(guān)于 shell 的更多信息。
輸入 “man -k” 或者 “info” 來(lái)查看沒有列在這個(gè)列表中的命令的信息。
- man 顯示命令以及相關(guān)配置文件的用戶幫助手冊(cè)
- uptime 顯示系統(tǒng)已經(jīng)運(yùn)行了多長(zhǎng)時(shí)間
++權(quán)限設(shè)定
chmod
用法:chmod [選項(xiàng)]. . . 模式[,模式]. . . 文件. . .
或:chmod [選項(xiàng)]. . . 八進(jìn)制模式 文件. . .
或:chmod [選項(xiàng)]. . . --reference=參考文件 文件. .
每種<模式>都應(yīng)屬于這類形式“[ugoa]*(-+=)+”。
1. 操作對(duì)象
u 用戶 user
g 組 group
o 其他用戶 others
a 所有用戶 all 系統(tǒng)默認(rèn)
2. 操作符號(hào)
+ 添加
- 取消
= 賦予給定權(quán)限并取消其他的權(quán)限
3. 表示權(quán)限
r 可讀
w 可寫
x 可執(zhí)行
s 在文件執(zhí)行時(shí)把進(jìn)程的屬主活組ID置為該文件的文件屬主
t 設(shè)置用戶對(duì)目錄文件具有粘著位權(quán)限是則會(huì)o t
例子
chmod u + rw file1
++用戶管理
+++TC/IP協(xié)議
Linux系統(tǒng)常用服務(wù)器端口號(hào) 在/etc/servers文件定義
www 80(TCP)
ftp-control 21(TCP)
ftp-data 20(TCP)
smtp 25(TCP)
telnet 23(TCP) 實(shí)現(xiàn)遠(yuǎn)程登錄
dns 53(UDP)
pop3 110(110)
TCP/IP配置文件
/etc/sysconfig/network 包含主機(jī)最基本的網(wǎng)絡(luò)信息
/etc/resolv. conf 配置域名服務(wù)客戶端,指定域名服務(wù)器位置
/etc/host. conf 域名服務(wù)客戶端的控制文件,指定域名解析的程序和解析順序
/etc/hosts 配置主機(jī)名和IP地址對(duì)應(yīng)關(guān)系,完成主機(jī)名于IP地址的映射
/etc/sysconfig/network-script/ 存放網(wǎng)絡(luò)初始化配置。如:第1個(gè)以太網(wǎng)接口配置ipcfg-eth0
/etc/services 設(shè)定主機(jī)不同端口的服務(wù)
/etc/protoclos 設(shè)定主機(jī)使用協(xié)議以及哥哥協(xié)議的版本號(hào)
+++網(wǎng)絡(luò)命令
- ifconfig 配置或查看網(wǎng)絡(luò)接口
- route 查看內(nèi)核路由表信息和,添加刪除路由
- ping
- netstat 查看網(wǎng)絡(luò)狀態(tài)信息
- ifup 激活網(wǎng)絡(luò)接口
- ifdown 禁用網(wǎng)絡(luò)接口
- traceroute顯示數(shù)據(jù)包到達(dá)目的的主機(jī)所經(jīng)過(guò)的路由
traceroute www. baidu. com
- netconfig 配置網(wǎng)絡(luò)借口的IP地址網(wǎng)關(guān)子網(wǎng)掩碼和DNS服務(wù)器位置參數(shù) //ubuntu中找不到
- arp 查看arp緩存
進(jìn)程管理的命令
ps 顯示進(jìn)程信息
-a 顯示所有進(jìn)程(不包括沒有終端的進(jìn)程)
-u 顯示用戶名和啟動(dòng)時(shí)間
-x 顯示沒有終端的進(jìn)程
-e 顯示所有進(jìn)程(不顯示進(jìn)程狀態(tài))
top 動(dòng)態(tài)顯示進(jìn)程信息
kill 給進(jìn)程傳遞信號(hào)
kill [信號(hào)值] PID
信號(hào)值
-24/SIGSTOP 暫停
-18/SIGCONT 繼續(xù)暫停的進(jìn)程
-1/SIGUP 掛起一個(gè)進(jìn)程
-15/SIGTERM 軟中斷,正常退出進(jìn)程
-9/SIGKILL 殺死一個(gè)一個(gè)進(jìn)程
-20/SIGTSTP 鍵盤停止信號(hào) ctrl+z
PID
其中 0 代表所有的用戶進(jìn)程
killall 終止指定的程序名所對(duì)應(yīng)的進(jìn)程
killall [信號(hào)值] 程序名
nice 設(shè)置優(yōu)先級(jí),最高 -20 ,最低 19,默認(rèn)為 10
- renice 重置優(yōu)先級(jí)別
- jobs 查看當(dāng)前控制臺(tái)中的后臺(tái)進(jìn)程
- fg 把后臺(tái)的進(jìn)程調(diào)入前臺(tái)
jobs
fg num
- bg 把后臺(tái)掛起進(jìn)程轉(zhuǎn)換為后臺(tái)運(yùn)行狀態(tài),相當(dāng)于運(yùn)行時(shí)加了&符號(hào)
- pstree 顯示進(jìn)程樹
++Ubuntu 下軟件管理
- apt-get install 軟件名 下載安裝軟件
- apt-get autoremove softname 卸載刪除軟件
- apt-cache search 正則表達(dá)
aptitude search 軟件 查找軟件
- apt-cache stats 顯示系統(tǒng)安裝包統(tǒng)計(jì)信息
- apt-cache pkgnames 顯示系統(tǒng)全部可用包的名字
- apt-cache show k3b 顯示包的信息
- apt-file search filename 查找文件屬于哪個(gè)包
- dpkg -l 查看已經(jīng)安裝的包裹
- apt-cache depends xxx 查詢軟件依賴哪些包
- sudo apt-get dis-upgrade 更新所有
sudo apt-get upgrade 更新安裝軟件不更新內(nèi)核
11 dpkg -l |grep ^rc|awk '{print $2}' |sudo dpkg -P
清楚所有已刪除包的參與配置. 報(bào)錯(cuò)是無(wú)須擔(dān)心
uname -r 查看內(nèi)核
cat /etc/issue 查看ubuntu版本
lsusb 查看usb設(shè)備
++目錄類型
- /bin 該目錄中存放Linux的常用命令,在有的版本中是一些和根目錄下相同的目錄。
- /boot 該目錄下存放的都是系統(tǒng)啟動(dòng)時(shí)要用到的程序,當(dāng)用lilo引導(dǎo)Linux時(shí),會(huì)用到這里的一些信息
- /dev 該目錄包含了Linux系統(tǒng)中使用的所有外部設(shè)備,它實(shí)際上是訪問(wèn)這些外部設(shè)備的端口,你可以訪問(wèn)這些外部設(shè)備,與訪問(wèn)一個(gè)文件或一個(gè)目錄沒有區(qū)別。例如在系統(tǒng)中鍵入“cd /dev/cdrom”,就可以看到光驅(qū)中的文件;鍵入“cd /dev/mouse”即可看鼠標(biāo)的相關(guān)文件。 /cdrom 該目錄在剛安裝系統(tǒng)時(shí)是空的,你可以將光驅(qū)文件系統(tǒng)掛在這個(gè)目錄下, 例如“mount /dev/cdrom /cdrom”
- /etc 該目錄存放了系統(tǒng)管理時(shí)要用到的各種配置文件和子目錄,例如網(wǎng)絡(luò)配置文件、文件系統(tǒng)、X系統(tǒng)配置文件、設(shè)備配置信息、設(shè)置用戶信息等。
- /sbin 該目錄用來(lái)存放系統(tǒng)管理員的系統(tǒng)管理程序。
- /home 如果建立一個(gè)名為“xx”的用戶,那么在/home目錄下就有一個(gè)對(duì)應(yīng)的“/home/xx”路徑,用來(lái)存放該用戶的主目錄。
- /lib 該目錄用來(lái)存放系統(tǒng)動(dòng)態(tài)連接共享庫(kù),幾乎所有的應(yīng)用程序都會(huì)用到該目錄下的共享庫(kù)
- /lost+found 該目錄在大多數(shù)情況下都是空的。但當(dāng)突然停電、或者非正常關(guān)機(jī)后,有些文件就臨時(shí)存放在這里。
- /mnt 該目錄在一般情況下也是空的,你可以臨時(shí)將別的文件系統(tǒng)掛在該目錄下。
- /proc 可以在該目錄下獲取系統(tǒng)信息,這些信息是在內(nèi)存中由系統(tǒng)自己產(chǎn)生的
- /root 如果你是以超級(jí)用戶的身份登錄的,這個(gè)就是超級(jí)用戶的主目錄
- /tmp 用來(lái)存放不同程序執(zhí)行時(shí)產(chǎn)生的臨時(shí)文件
- /usr 用戶的很多應(yīng)用程序和文件都存放在該目錄下
|