Linux基本操作
關機:
init0
shutdown -h now[ +55分鐘後關機]
poweroff
halt
重啓:
init 6
shutdown -r now[+5]
reboot
註銷
logout
exit
查看CPU信息:cat /proc/cpuinfo
查看內存信息:cat /proc/meminfo | free
查看內核版本:uname { -r|-a }
查看系統版本:cat /etc/redhat-release
查看主機名:hostname
查看時間和日期
cal:顯示日曆
-y:顯示整年日曆
date:顯示日期時間
-s:修改日期/時間
+:以指定格式顯示,
%Y (年)、%m (月)、%d(日)、%H(時)、%M(分)
快捷鍵
tab鍵:補全
\:強制換行
Ctrl+L:清屏(clear)
Ctrl+C:撤銷當前操作
Ctrl+A:跳至行首
Ctrl+E:調至行尾
Ctrl+U:清空至行首
Ctrl+K:清空至行尾
內部命令幫助:help
外部命令幫助:--help
查看幫助手冊:man
(方向鍵上下翻頁,q鍵退出,/鍵查找)
管道和重定向
| | 管道,對輸入的命令進行再次的操作 |
>和>> | 輸出重定向,覆蓋和追加 |
2>和2>> | 錯誤重定向 |
&> | 輸出重定向和錯誤重定向 |
< | 輸入重定向 |
命令替換符:` `
把` `中的命令結果,替換爲前面命令的選項或參數
轉義符:\
如果命令參數中有空格,使用\代表是一個參數,而不是多個參數
echo顯示輸入內容
wget下載
目錄及文件操作
pwd顯示當前所在目錄
cd切換目錄
/ :根目錄
- :上次所在目錄
. :當前目錄
..:上一級目錄
~ :宿主目錄
~tom :tom用戶的宿主目錄
顯示目錄內容
ls
-l:以長格式顯示
-h:以人性化方式顯示
-a[-A]:顯示所有內容
-d:顯示目錄自身屬性
-R:遞歸形式顯示
--color:以顏色區分不同類型的文件
使用ls時可以結合通配符 * 和?來表示
統計目錄及文件的空間佔用情況
du
-s:統計每個參數所佔用空間總的大小
-h:以人性化方式顯示
-a:統計所有文件
(-s和-a不能同時使用)
創建目錄
mkdir
-m=rwx:對新目錄設置權限
-p:遞歸式創建
創建空文件
touch
創建鏈接
ln
-s:創建軟鏈接
(目錄只能創建軟鏈接,硬鏈接必須在同一分區內創建)
格式:ln [-s] 源文件或目錄 標文件或目錄
複製
cp
-f:強制覆蓋
-i:詢問覆蓋
-p和-a:保持源文件屬性不變
-r:遞歸複製目錄
格式:cp 源文件或目錄 目標文件或目錄
移動
mv
(移動多個文件或目錄時,目標位置必須是目錄)
格式:mv 源文件或目錄 目標文件或目錄
刪除
rm
-f:強制刪除
-i:詢問刪除
-r:遞歸式刪除目錄
查找命令所在文置
which
-a:在所有搜索路徑中查找,默認在$PATH變量中查找
查找文件或目錄
find
-name:根據文件名查找,可結合通配符* 和?
-size:根據文件大小查找,“+”“-”分別表示大於和小於
-user:根據文件屬主查找
-type:根據文件類型查找,f(普通文件)、d(目錄)b(塊設備文件)c(字符設備文件)
格式:find 查找範圍 查找條件
查找條件可以同時具備多種,可使用-a(而且)和-o(或者),前者表示同時滿足所有條件,後者表示只需滿足一個條件。
例:find / -size +10M -a -name *.txt
-exec 命令 {} \; 命令對查找結果執行再次操作
find / -name a.txt -exec ls -lh {} \;
文本處理
cat--顯示文件內容
-n:顯示列數
-b:顯示列數,不計空行
分頁顯示文件內容
more
-n:建立n行的窗口
less--more的升級版
查看文件開頭部分
head
-n:顯示n行,默認10行
查看文件結尾部分
tail
-n:顯示n行,默認10行
-f:動態跟蹤文件更新
統計文件行數等信息
wc
-l:統計行數
-w:統計單詞數
-c:統計字節數
篩選包含關鍵字的行
grep
-v:反向查找
-i:忽略大小寫
"^...":以...開頭
"...$":以...結尾
"^$":空行
對文本進行排序查看
sort
-r: 倒序排序
-n:基於數字排序
-f:忽略大小寫
-u:刪除重複行
-t c 使用c作爲分割符爲列進行排序
-k x 當進行基於指定字符分給爲列的排序是時,指定基於那個列排序
基於列處理文本
cut
-d:指定分割符(默認是TAB)
-f:指定輸出的列號
-c:基於字符數進行切割
例:cut -d : -f 2 /etc/passwd
cut -c 2-6 /etc/passwd
文本比較
diff
-i:忽略大小寫
-b:忽略空格
-u:統一顯示比較信息
刪除關鍵字
tr -d 'tmd' < a.txt
轉換大小寫
tr 'a-z' 'A-Z' < a.txt
搜索替換
sed 's/linux/windows/g' a.txt
-e:替換多項
sed-e ' s/nihao/hi/g' -e 's/jack/tom/g' a
-f:可以把替換項寫入文件,然後引用
sed -f b.txt a.txt
(類似vi編輯器中的替換,也可以替換指定n-m行中內容)
壓縮和打包
gzip、bzip2 --壓縮文件
-d:解壓文件
gunzip、bunzip2 --解壓文件
例:gzip文件名
zip、unzip --(解)壓縮文件
壓縮:zip a.txt.zip a.txt
解壓:unzip a.txt.zip
歸檔和釋檔
tar
-C:指定釋檔路徑
-c:創建.tar 格式的包文件
-x:解開.tar格式的包文件
-v:輸出詳細信息
-f:表示使用歸檔文件
-p:打包時保留原始文件及目錄的權限
-t:列表查看包內的文件
-z:調用gzip
-j:調用bzip2
(-f在選項最後面;使用tar時可以指定文件的絕對路徑)
格式:tar zcvf a.txt.tar.gz a.txt --打包壓縮
tar zxvf a.txt.tar.gz -C /usr/src --解壓縮
vi編輯器
三種工作模式:命令模式、輸入模式、末行模式
命令模式切換到輸入模式:a、i、o等鍵
a、i:在光標後、光標前插入
A、I:在光標所在行的行首、行尾插入
o、O:在光標所在行後、前插入一行
命令模式切換到末行模式: :鍵
其它模式退出到命令行模式:Esc鍵
命令模式下的操作
á、、、à | 上、下、左、右 |
Page Down或Ctrl+F | 向下翻動一整頁內容 |
Page Up或Ctrl+B | 向上翻動一整頁內容 |
Home鍵或“^”、數字“0” | 跳轉至行首 |
End鍵或“$”鍵 | 跳轉到行尾 |
1G或者gg | 跳轉到文件的首行 |
G | 跳轉到文件的末尾行 |
#G | 跳轉到文件中的第#行 |
:set nu | 在編輯器中顯示行號 |
:set nonu | 取消編輯器中的行號顯示 |
x或Del | 剪切光標處的單個字符 |
dd、#dd | 剪切當前光標所在行、#行內容 |
d^、 d$ | 剪切當前光標之前到行首、行尾的所有字符 |
yy、#yy | 複製當前行、#行內容 |
p、P | 粘貼到光標位置處之後、之前 |
u 、 U | 撤銷 |
/、? | 在文件中查找 |
n、N | 定位下一個、上一個匹配的結果 |
ZZ | 保存並退出 |
末行模式下的操作
:w | 保存 |
:w /root/newfile | 另存爲 |
:q | 未修改退出 |
:q! | 強制退出 |
:wq、:x | 保存並退出 |
:e | 不退出當前打開另一文件 |
:r | 導入另一文件中內容 |
: syntax { on | off } | 文本是否高亮顯示 |
:set nu|:setnonu | 是否顯示行號 |
內容替換
:替換範圍s/被替換的內容/替換後的內容/g
替換範圍
%:表示整個文件
n,m:文件的第n至m行
/g:表示替換每行中所有的匹配項,省略只替換第一個匹配項
別名記錄
alias --查看別名記錄
alias'myls=ls-lh' --設置別名
(系統重啓後失效,可以寫在~/.bashrc等文件中)
命令歷史
~/.bash_history --配置文件
查看命令歷史
history
-c:清空命令歷史
設置命令歷史保存的數量
HISTSIZE=50
調用命令歷史
!vi (vi爲之前使用過命令的開頭部分)
!n (n爲命令在命令歷史中的序號)
設備轉換和複製
dd if=/dev/zero of=/boot/a bs=1M count=4
if:複製來源
of:複製目標
bs:每次複製的大小
count:複製的次數