目錄
- bash命令 - [基礎操作](#10) [export](#101) | [whereis](#102) | [which](#103) | [clear](#104) - [文件操作](#11) [ls](#111) | [touch](#112) | [cat](#113) | [more](#114) | [head](#115) | [tail](#116) | [mv](#117) | [cp](#118) | [rm](#119) | [diff](#1110) | [chmod](#1111) | [gzip](#1112) | [gunzip](#1113) | [gzcat](#1114) | [lpr](#1115) |[lpq](#1116) | [lprm](#1117) - [文本操作](#12) [awk](#121) | [grep](#122) | [wc](#123) | [sort](#124) | [uniq](#125) | [echo](#126) | [tr](#127) | [nl](#128) - [目錄操作](#13) [mkdir](#131) | [cd](#132) | [pwd](#133) - [SSH&系統信息&網絡操作](#14) [ssh](#141) | [whoami](#142) | [quota](#143) | [date](#144) | [cal](#145) | [uptime](#146) | [w](#147) | [finger](#148) | [uname](#149) | [man](#1410) | [df](#1411) | [du](#1412) | [last](#1413) | [ps](#1414) | [kill](#1415) | [killall](#1416) | [top](#1417) | [bg](#1418) | [fg](#1419) | [ping](#1420) | [whois](#1421) | [dig](#1422) | [wget](#1423) | [scp](#1424) | [curl](#1425) | [passwd](#1426)
基礎操作
export
> 顯示所有環境變量 whereis
> 使用系統自動構建的數據庫來搜索可執行文件,源文件和手冊頁面。whereis java
which
> 它在環境變量PATH指定的目錄中搜索可執行文件。此命令將打印可執行文件的完整路徑。which php
clear
> 清除窗口文件操作
ls
> 列出文件 常用選項 -l 列出文件詳情 -a 列出所有文件,包含隱藏文件touch
> 創建文件touch filename
cat
>列出指定文件的內容cat filename
more
> 顯示文件的第一部分(用空格移動並鍵入q以退出)more filename
head
> 輸出文件的前10行head filename
tail
> 輸出最后10行文件。tail filename
mv
> 將文件從一個位置移動到另外一個位置 ``` mv f1 f2 // f1 文件的原路徑, f2是目標路徑 ```cp
> 將文件從一個位置移動到另外一個位置cp f1 f2 // f1 文件的原路徑, f2是目標路徑
rm
> 刪除文件rm filename 刪除文件
rm -f dirname 刪除目錄
diff
> 比較文件diff f1 f2
chmod
> 更改文件的讀取,寫入和執行權限chmod -options filename
gzip
> 壓縮文件gzip filename => fi.gz
gunzip
> 解壓縮gzip壓縮的文件gunzip filename
gzcat
> 查看gzip壓縮文件,而不需要gunziplpr
> 打印文件lpq
> 查看打印機隊列lprm
> 從打印隊列移除某些內容lprm jobnumbers
文本操作
awk
> awk是處理文本文件最有用的命令。它一行一行的在整個文件上運行,默認情況下,它使用空格分隔字段。awk命令最常用的語法是常用命令
awk '/search_pattern/ { action_to_take_if_pattern_matches; }' file_to_parse
實例:
新建一個文件內容是
root:x:0:0:root:/root:/usr/bin/zsh
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
文件路徑:/Users/shiyou/Desktop/temp/awk_test
執行命令
awk -F':' '{ print $1 }' /Users/shiyou/Desktop/temp/awk_test
輸出了:
解釋:
-F 指定在我們要基於哪個分隔字段。在我們代碼里面是使用冒號 ':'
{print $1} 是指打印出第一個匹配字段
grep
> 查找文件內的文本。您可以使用grep搜索與一個或多個正則表達式匹配的文本行,並僅輸出匹配的行。grep pattern filename
例如文件還是上面創建的文件,我們執行以下命令
grep -r nologin /Users/shiyou/Desktop/temp/awk_test
-i 選項強制grep忽略單詞大小寫
-r 可以用於搜索指定目錄下的所有文件
輸出:
wc
> 一個文件有多少行,多少單詞和多少字符 ``` wc filename ```sort
> 排序文本文件的行sort filename
uniq
> 省略重復的行uniq filename
sort example.txt | uniq // 先排序再去重復
echo
> 顯示一行文字echo output
echo -ne "Hello\nWorld\n" // 輸出換行
tr
> 把所有小寫字母變成大寫cat example.txt | tr 'a-z' 'A-Z'
nl
> 顯示文件的行數nl -s". " filename
目錄操作
mkdir
> 生成一個新目錄mkdir dirname
cd
> 一個目錄跳轉到另外一個目錄cd dirname
pwd
> 告訴你你目前所在的目錄SSH&系統信息&網絡操作
ssh
> ssh 是一個用來登錄到遠程機器並執行命令的程序ssh user@host //登錄到的機器地址
ssh -p port user@host // 連接到特定端口的選項
whoami
> 返回當前登錄用戶名quota
> 顯示磁盤配額date
> 顯示當前日期和時間cal
> 顯示月份的日歷uptime
> 顯示當前的正常運行時間w
> 顯示誰在線finger
> 顯示有關用戶的信息 ``` finger username ```uname
> 顯示內核信息man
> 顯示指定命令的手冊man command
df
> 顯示磁盤使用情況du
> 顯示文件名中文件和目錄的磁盤使用情況(du -s只給出一個總數)。du filename
last
> 列出最后登錄的指定用戶last username
ps
> 列出您的進程ps -u yourusername
kill
> 使用您所提供的ID殺死進程kill PID
killall
> 用名稱殺死所有進程killall processname
top
> 顯示當前活動的進程bg
> 列出停止的或后台工作的Job; 恢復在后台停止的Job。fg
> 前台化最近的Jobping
> Pings主機並輸出結果whois
> 獲取域的whois信息。whois www.baidu.com
dig
> 獲取域的DNS信息dig www.baidu.com
wget
> 下載文件scp
> 在本地主機和遠程主機之間或兩台遠程主機之間傳輸文件。從本地主機復制到遠程主機
scp source_file user@host:directory/target_file
從遠程主機復制到本地主機
scp user@host:directory/source_file target_file
scp -r user@host:directory/source_folder farget_folder
curl
> 發送一個http請求curl www.baidu.com 發送一個http請求
curl -v www.baidu.com 詳細信息