Linux簡單使用
Linux簡單使用
1.基本命令
創建目錄pathA:mkdir pathA
進入目錄pathA:cd pathA
查看目錄內容:ls
查看目錄下文件的詳細信息:ls -l,也可以是:ll(l是小寫的L,別看錯了)
拷貝文件fileA到目錄pathA(同層目錄前提):cp fileA pathB
拷貝目錄pathA(包括目錄下的所有)到目錄pathB(同層目錄前提):cp -r pathA pathB
刪除文件fileA:rm fileA
刪除目錄pathA(包括目錄裏面的所有):rm -r pathA
移動/usr/test目錄下的所有到當前目錄中:mv /usr/test/* .
將pathA以gzip壓縮打包:tar zcvf pathA.tar.gz pathA
解壓pathA.tar.gz:tar zxvf pathA.tar.gz
為fileA建立軟連接slFileA:ln -s fileA slFileA(l是小寫的L,別看錯了)
為fileA建立硬連接hlFileA:ln fileA hlFileA
查看所有進程:ps -aux
殺死某個進程(用進程ID來指定進程):kill -9 進程ID
刷新顯示fileA的末尾內容(實際工作中用於動態查看日誌):tail -f fileA
清空fileA(比如清空日誌文件):truncate -s 0 fileA
2.文件權限
查看當前目錄下的權限相關信息:ls -l
輸出的第一個字段是描述文件和目錄權限的編碼。
該字段的第一個字符寶石文件類型:
- 代表文件
d 代表目錄
l 代表鏈接
c 代表字符型設備
b 代表塊設備
n 代表網絡設備
之後的三個字符定義了3種訪問權限:
r 代表文件可讀
w代表文件可寫
x代表文件可執行
訪問權限一共分為三組,一組三個字符(rwx),若沒有某種權限就用“-”表示。第一組規定對象的屬主,第二組規定對象的屬組,第三組規定系統其它用戶。
例子:對readme.txt文件的屬主賦予可讀可寫,其它賦予只讀權限:chmod 644 readme
3.Vim簡單使用
查看fileA文件:vim fileA
編輯fileA文件:vim fileA ---> Insert鍵 ---> 移動光標到需要編輯的地方進行編輯 ---> 編輯結束按Esc鍵結束編輯
保存並退出編輯fileA:shift鍵+; ---> wq ---> Enter鍵
放棄之前的修改並退出:shift鍵+; ---> !q ---> Enter鍵
自由復制:v ---> 移動鼠標選擇需要復制的內容(起點是光標起始位置) ---> y
復制一行:yy
全部復制:gg ---> v ---> shift鍵+g ---> y
自由剪切:v ---> 移動鼠標選擇需要復制的內容(起點是光標起始位置) ---> d
粘貼:p
查找test:在vim中輸入命令:/test(再按n查找下一個,按N向上查)
Linux 基本命令
下面為基本可以使用到的命令,只添加了一些常用的參數。
- cd:切換目錄
cd /root
- mkdir:創建文件
mkdir /root/test
//創建目錄 需要保證root目錄存在mkrir -p /root/test
// 循環創建目錄
- touch:創建文本
touch /test.txt
- vim:文本編輯 , vim分為編輯模式和指令模式
- 在指令模式下輸入i進入編輯模式,Esc退出編輯模式到指令模式
- 在指令模式下輸入
;q
為退出:wq
為保存後退出q!
為強制退出:set nu
顯示行號
- echo:打印內容
echo "this is out"
- cat:查看內容
cat 文件名
- cp:復制文件
cp test.txt /root/test
// 賦值test到路徑/root/testcp -apr /root/test /root/testcopy
// 拷貝目錄
- pwd:查看當前路徑
- mv:移動文件
mv test.sh /root/test
- rm:刪除文件
rm test.txt
// 刪除這個文件rm -fr /root/test
// -r:刪除這個目錄 -f:沒有提示信息,直接刪除
- grep:篩選時候可以傳遞正則表達式
grep ‘test’ d*
顯示所有以d開頭的文件中包含 test的行。grep ‘[a-z]\{5\}’ aa
顯示所有包含每個字符串至少有5個連續小寫字符的字符串的行。
- head:顯示文件頭部的n行
head -n 5 log2014.log
顯示前五行,默認為前10行
- tail:顯示文件尾部的n行
tail -n 5 log2014.log
從尾打印 n 行 默認為10
- find:查找
- 在find的結果可以通過管道來處理
find -name filename #查找名為filename的文件
- seq:打印n個數字
seq 1 5
從1 打印到5seq 1 2 5
從1打印到5,步長為2seq -s "z" 1 5
用z把1-5連起來1z2z3z4z5
- sed:擅長行的操作
sed -n /a/p t.txt
// 過濾輸出指定內容-n
// 只輸出過濾結果/a
// 過濾規則(包含a)/p
// 輸出sed -n 20,30p t.txt
// 取20-30行輸出sed -i s#aaa#goo#g t.txt
// 將t.txt內的aaa替換為goo,-i
// 替換文件內容
- xargs:xargs竟然配合通道進行一些文件的操作, 例如
find -type f -name "*.log"|xargs -i rm {}
刪除所有的log類型的文件
-i
:參數直接用 {}就能代替管道之前的標準輸出的內容find -type f -name "*.log"|xargs -i rm {}
-I
:參數需要事先指定替換字符find -type f -name "*.log"|xargs -I {c} rm {c}
find / -type f -name "t.txt"|xargs -i sed s#aa#mmmmm#g
// 將所有名字為t.txt的文件中內容為aa改為mmmmm
- awk:擅長列的操作
awk -F "," ‘{print $1}‘ localhost.2017-10-12.log
// 查找文件中,分割的第一列
Linux簡單使用