Linux命令 150個 經常使用的也就80個。linux
linux命令操做語法格式圖:正則表達式
命令_參數_路徑文件vim
rm -f /tmp/t.logbash
提示:ssh
a.命令的參數可選編輯器
b.不一樣的命令路徑和文件可選ide
命令 --help 命令的簡單幫助spa
man ==命令的幫助命令行
help ==命令的幫助(bash的內置命令)遞歸
ls ==list 查看目錄列表
參數:-l(long長格式)、-d(directory目錄)
例子:
mkdir ==make directory 做用是建立目錄,
例如: mkdir /data
例如:mkdir -p /tmp/data/new
說明:-p (遞歸建立目錄)
cd ==change directory 做用是切換路徑,例如:cd /
touch ==摸一下,做用是建立文件,例如:touch oldboy.txt
vi ==編輯器,至關於筆記本,有編輯功能,但較弱。
vim ==複雜編輯器,至關於,emeditor,editplus,notepad+
echo ==打印輸出內容,配合「>或>>」能夠爲文件覆蓋及追加內容
echo "oldboy oldgirl">oldboy.txt
cat ==查看文件內容
特殊用法:增長多行內容
cat >>/data/oldboy.txt<<EOF
I am studing linux.
EOF
EOF要成對出現,EOF能夠被任意成對內容替換。
cp ==copy複製命令ctrl+c,例如cp oldboy.txt /tmp/
-r:遞歸,用於複製目錄; -p:保持屬性
-a:至關於 -pdr
cp='cp -i' -i須要確認
mv ==移動目錄或文件,例如:mv /data /root/
pwd ==print work directory 查看當前用戶所在的路徑
rm ==remove 刪除文件或者目錄 -f強制,-r刪除目錄
生產環境儘可能不要使用rm,若是非要用,必定要先cp等備份。
替代方法:
mv移動到一個臨時目錄。回收站。
find***** ==查找
命令格式:find (目錄) -type 按文件類型查找,-name 按照名字查找,查找的內容最好用雙引號括起來
例如:find /tmp/ -type f -name "oldboy.txt" -exec rm -f {} \;
說明:-type f (文件類型) -name(按名字超找,查找的內容用雙引號擴起來) -exec(處理查找的結果) rm -f(前面找到的內容處理刪除){}(查找的內容)\;(轉義,不表明任何意思)
例如:find /tmp/ -type f -name "*.txt"|xargs rm -f
說明:|(表明管道:把前一個命令結果的輸出交給後一個命令繼續處理) xargs()
例如:find /tmp/ -type f ! -name "oldboy.txt"|xargs rm -f
說明:!(取反)
參數:-a(and而且)、-o(or或者)
例如:find -type f -name test.txt|xargs sed -i
's#younggirl#oldboy#g'
head ==頭部,取文件的前N行,默認前10行
例如:head -n 3 /etc/passwd
說明:取前三行-n 3,簡寫就是-3
tail ==尾巴,取文件的最後N行,默認最後10行
例如:tail -n 3 /etc/passwd
說明:取最後三行-n 3,簡寫就是-3
例如: head -30 test.txt |tail -10
說明:取文件21行到30行內容
awk *****==一門語言,過濾內容(擅長取列),linux三劍客,老大。
命令格式:awk '{print $1}' 文件
說明:$1第一列,$2第二列... $NF最後一列,$(NF-1)最後第二列
例如:awk -F ":" '{print $1 "=" $2}' /etc/passwd
說明:-F(指定分隔符爲":") "="(第一列和第二列直接用「=」分割)
例如:awk '{if(NR<31&&NR>19) print $1"\n"}' test.txt
例如:awk '{if (NR>20&&NR<26) print ¥0}' /etc/passwd
說明:NR表明行號,&&表明而且,\N表明回車換行,$0表明整行。
grep *****==過濾器(擅長過濾),把想要的或者不想要的分離開。linux三劍客,老三
參數:-v排除不須要的,-i不區分大小寫,-E過濾多個字符串,-o輸出精準匹配的字符而不是默認的整行
例如:grep "oldboy" test.txt
例如:grep -v "oldboy" test.txt
grep -B 除了顯示匹配的一行以外,並顯示該行以前的num行
grep -A 除了顯示匹配的一行以外,並顯示該行以後的num行
grep -C 除了顯示匹配的一行以外,並顯示該行以前後各num行
例如:grep 25 -C 5 test.txt
sed *****==過濾(擅長取行):sed -n '/過濾的內容/處理的命令' 文件。linux三劍
客,老二
-n 取消sed的默認輸出
-i 改變文件內容*****
處理的命令:p print打印,d delete刪除
例如:sed '/oldboy/d' test.txt
例如:sed -n '/oldboy/p' test.txt
sed取行
例如:sed -n '20,30p' test.txt
說明:sed取行,20到30行
sed替換*****(應用極爲普遍)
例如:sed -i 's#oldboy#oldgirl#g' test.txt
說明:s常說的查找並替換,用一個字符串替換成另外一個、g(global)與s聯合使用時,表示對當前全局匹配替換(與下一個g意義不一樣),參數:-i修改文件內容, #是分隔符,能夠用/@等替換
yum ==linux裏包管理器
例如:yum install tree -y (下載tree包,而後調用rpm命令安裝tree包。若是需
要依賴包,幫你下載幫你提早安裝。)
rpm == -ivh(安裝、顯示輸出、人類可讀)
例如:rmp -ivh 包名.rpm(提早下載好)
最大問題,依賴問題很差解決:a---b---c---d
例如:rpm -qa tree <==-q query -a all
tree ==顯示目錄樹結構
alias ==查看以及定義別名(外號、小名)
例如:alias oldboy='echo "I am oldboy linux"'
例如:alias rm='echo "rm can not be used,pls use mv"'
別名生效的位置,真對root用戶:grep alias /root/.bashrc
全部用戶生效:/etc/bashrc或/etc/profile定義
生效source /etc/profiles
別名的做用:
1)經過給危險命令加一些保護參數,防止人爲誤操做。
2)把不少複雜的字符串或者命令變成一個簡單的字符串或者命令。
unalias ==取消別名
seq ==sequence序列 -s指定序列的分隔符
history ==打印用戶操做的歷史記錄
hostname==查看主機名(uname -n)
uname==打印系統信息 -r內核 -m 32or64位 -n主機名 -a全部
whoami==查看當前用戶
su==用戶角色切換 su - 用戶名 -表明參數切換用戶環境變量
從普通用戶到root,是須要輸入root密碼。從root到普通用戶無需密碼。
普通用戶,root皇帝
getenforce==檢查selinux狀態
setenforce==設置selinux狀態1啓用0警告、不啓用
runlevel==查看當前系統運行級別
intit==切換運行級別,後面接對應級別的數字
例:init 5==startx 切換桌面環境,須要桌面軟件包
chkconfig==設定開機自啓動服務
快捷鍵:
TAB ==命令、路徑補全,linux裏最有用的快捷鍵,若是tab不到路徑或命令,就表明沒有,這個路徑或者命令,還有多是權限不對。
Ctrl+c 終止當前任務命令或程序
Ctrl+d 退出當前用戶環境。至關於命令exit,logout
Ctrl+l 清屏 至關於命令clear
Ctrl+shift+c ssh客戶端裏複製的命令
Ctrl+shift+v ssh客戶端裏粘貼的命令
特殊字符命令:
>或1>重定向,會清除文件裏全部之前數據,增長新數據。
>>或1>>追加劇定向,文件結尾加入內容,不會刪除已有的文件內容。
<輸入重定向
<<追擊輸入重定向
2>錯誤重定向
2>>錯誤追加劇定向
1.標準輸入(stdin):代碼爲0,使用<或<<數據流向從右向左。
2.正常輸出(stdout):代碼爲1,使用>或>>數據流向從左向右。
3.錯誤輸出(stderr):代碼爲2,使用2>或者2>>。
箭頭的指向就是數據的流向
\ 讓一個有意義的字符,脫掉馬甲。
.. 相對路徑,表示當前目錄的上一級目錄,例如:/mnt/oldboy,mnt就是oldboy的上級
目錄。
. 相對路徑,表示當前目錄,即當前命令行的目錄。
| 管道(把前一個命令結果的輸出交給後一個程序繼續處理)
~ 用戶的家目錄,針對root環境~就表明/root
{}輸出字符序列或者數字序列
!...
基礎正則表達式:一些特殊的符合,表示一些特殊的做用和功能
.表明任何任意字符
*重複前面任意0個或多個字符
.*匹配任意字符
例子: sed -i 's#(能夠用正則匹配)#\1#g' oldboy.txt