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