/ :代表根目錄
. :代表當前目錄,也可用./來表示
.. :代表上一層目錄,也可用../來表示
~ :目前使用用戶所在的根目錄
一、基本指令操作
cd :變換目錄pwd (顯示當前的目錄)
pwd -P
-P :顯示出確實的路徑,而非使用連結(link)的路徑
env :查看系統環境變量date(日期命令)
格式化輸出日期 :date +%Y/%m/%d-%H:%M:%S
cal(日歷命令)顯示日歷 :cal
顯示指定年份日歷 :cal 2016
顯示指定年份的指定月份日歷 :cal 6 2016
bc簡單的計算器 :bc
manman指令用於查看指令的用法
如:查看ls指令的用法 :man ls
chgrpchgrp :改變檔案所屬群組,系統組信息在/etc/group
EG :chgrp oinstall LINJM.LOG
chownchown :改變檔案所屬人,系統用戶信息在/etc/passwd
EG:chown jimly LINJM.LOG
也可以同時改變檔案的所屬人和所屬群組:
chown jimly:oinstall LINJM.LOG
chmodchmod :改變檔案的屬性、SUID等等特性
EG:chmod 755 LINJM.LOG或chmod u=rwx,go=rx LINJM.LOG
chmod a=rx LINJM.LOG
所有的都減去x權限 :chmod a-x LINJM.LOG
所有的都加上x權限 :chmod a+x LINJM.LOG
r(讀) :4 w(寫) :2 x(執行) :1
u :user g :group o :other a :all
+ :加入 - :除去 = :設定
chgrp chown chmod -R
用-R來遞歸
ctrl + s :暫停屏幕的輸出
ctrl + q :恢復屏幕的輸出
ctrl + u :將光標前的字符刪除
將ls -l /home/test/輸出的結果存儲在menu.txt文件中:
ls -l /home/test/ > /home/test/menu.txt
使用>>會在menu.txt上累加內容,使用>則是先清空文件內容後再追加內容
ls -l /home/test/ >> /home/test/menu.txt
將輸出的錯誤結果存儲在error.txt文件中:
find /home -name test 2> /home/fnc/error.txt
將輸出的正確結果存儲在right.txt文件中:
find /home -name test 1> /home/fnc/right.txt
將正確和錯誤的信息全寫進output.txt文件中:
find /home -name test > /home/fnc/output.txt 2>&1
|(管道指令)查看etc目錄下的文件信息,通過less來前後翻動信息:
ls -al /etc | less
附:less中用d來向下翻頁,用u來向上翻頁
用shift+g來調至頁末,用p來調至頁首
用?來向上查詢,用/來向下查詢
查找時用n來繼續下一個搜尋,用N來反向(向上)搜尋
用q來結束這次的less
grep(檢索命令)grep -acinv 關鍵字
-c 計算搜索到字符串的次數
-i 忽略大小寫
-n 順便輸出行號
-v 反向選擇,顯示出沒有'搜索字符串'內容的那一行
EG :cat linjm.txt |grep -ne "hello world" -e "hello lin"
當有多個檢索關鍵字時,需用到-e
wcwc -lwm
-l 僅列出行
-w 僅列出多少字
-m 多少字符
cut cut -dfc
-d 後面接分隔符,與-f一起使用
-f 依據-d的分隔符將一段信息分割成數段,用-f取出第幾段的信息
-c 以字符的單位取出固定字符區間
查看磁盤容量信息 :df -h
lnln -sf 來源文件 目標文件
-s :加了-s就是軟連接(Symbolic link),沒加則為硬連接(hard link)
-f :如果目標文件存在,則將目標文件移除後再建立
mkdir(建立一個新的目錄)mkdir -mp 目錄名稱
-m : 設定檔案的權限
-p :將所需要的目錄遞歸建立起來
EG :mkdir -m 777 world
mkdir -p lin/jm
rmdir(刪除一個空的目錄)rmdir 目錄名稱 用於刪除空目錄
非空目錄刪除用rm -rf lin
rm(刪除)rm -fir 檔案或目錄
-f :force,強制移除
-i :在刪除前會詢問使用者是否動作
-r :遞歸刪除
mv[b](移動)[/b]mv -fiu source destination
-f :強制移動而不詢問
-i :若目標檔案(destination)已經存在時,就會詢問是否覆蓋
-u :若目標檔案已經存在,且source比較新,才會更新
rename[b](重命名)[/b]rename oldname newname filename
EG :rename menu log menu.txt
cp[b](復制)[/b] cp -adfilprsu 來源檔(source) 目的檔(destination)
cp source1 source2 ...... directory
-a :相當於-pdr的意思
-d :若來源文件為連接文件的屬性(link file),則復制連接文件屬性而非檔案本身
-f :強制復制,若有重復或其他疑問時,不會詢問使用者,而強制復制
-l :若destionation已經存在時,在覆蓋時會先詢問是否真的動作
-p :進行硬式連接(hard link),而非復制檔案本身
-r :連同檔案的屬性一起復制過去
-s :復制成為符號連接文件(symbolic link),亦即快捷方式檔案
-u :若destionation比source舊,才更新destionation
EG :cp LINJM.LOG log.txt lin/
注意 :若來源檔有兩個以上,則最後一個目的文件一定要是目錄才行
ls[b](檢視)[/b]ls -aAdfFhilRS 目錄名稱
ls --color={none, auto, always} 目錄名稱
ls --full-time 目錄名稱
-a :全部的檔案,連同隱藏檔(開頭為.的檔案)一起列出來
-A :全部的檔案,連同隱藏檔,但不包括.和..這兩個目錄,一起列出來
-d :僅列出目錄本身,而不是列出目錄內的檔案數據
-f :直接列出結果,而不進行排序(ls預設會以檔名排序)
-F :根據檔案、目錄等信息,給予附加數據結構,例如:
* :代表可執行檔; / :代表目錄; = :代表 socket 檔案; | :代表 FIFO 檔案;
-h :將檔案容量以人類較易讀的方式(例如 GB,KB 等等)列出來;
-i :列出 inode 位置,而非列出檔案屬性
-l :長數據串行出,包含檔案的屬性等等數據
-n :列出 UID 與 GID 而非使用者與群組的名稱 (UID 與 GID 會在賬號管理提到!)
-r :將排序結果反向輸出,例如:原本檔名由小到大,反向則為由大到小
-R :連同子目錄內容一起列出來
-S :以檔案容量大小排序
-t :依時間排序
--color=never :不要依據檔案特性給予顏色顯示;
--color=always :顯示顏色
--color=auto :讓系統自行依據設定來判斷是否給予顏色
--full-time :以完整時間模式 (包含年、月、日、時、分) 輸出
--time={atime,ctime} :輸出 access 時間或 改變權限屬性時間 (ctime)
而非內容變更時間 (modification time)
whichwhich -a 命令名稱 用來查看可執行文件的位置
-a :將所有可以找到的指令均列出,而不止第一個被找到的指令名稱
EG :which ls
檔案內容查閱:cat 由第一行開始顯示檔案內容
tac 從最後一行開始顯示,可以看出 tac 是 cat 的倒著寫!
nl 顯示的時候,順道輸出行號!
more 一頁一頁的顯示檔案內容
less 與 more 類似,但是比 more 更好的是,他可以往前翻頁!
head 只看頭幾行
tail 只看尾巴幾行
od 以二進制的方式讀取檔案內容!
catcat -AEnTv 檔案名
-A :相當於 -vET 的整合參數,可列出一些特殊字符~
-E :將結尾的斷行字符 $ 顯示出來;
-n :打印出行號;
-T :將 [tab] 按鍵以 ^I 顯示出來;
-v :列出一些看不出來的特殊字符
nlnl -bnw 檔案名
-b :指定行號指定的方式,主要有兩種:
-b a :表示不論是否為空行,也同樣列出行號;
-b t :如果有空行,空的那一行不要列出行號;
-n :列出行號表示的方法,主要有三種:
-n ln :行號在屏幕的最左方顯示;
-n rn :行號在自己字段的最右方顯示,且不加 0 ;
-n rz :行號在自己字段的最右方顯示,且加 0 ;
-w :行號字段的占用的位數。
head(取出前面幾行)head -n number 檔案名
-n :後面接數字,代表顯示幾行的意思
EG :head -n 10 menu.txt
tail(取出後面幾行)tail -n number 檔案名
-n :後面接數字,代表顯示幾行的意思
EG :tail -n 10 menu.txt
find(搜索命令)find path options file
EG :find /home/ -name log.txt
find /home/test/ -size 4k 注:等於4k
find /home/test/ -size -4k 注:小於4k
find /home/test/ -size +4k 注:大於4k
當前目錄:find . -name 20160526*
指定目錄 find /home -name 20160526*
忽略大小寫:find . -iname orainventory
查找當前目錄下以dmp結尾或log結尾:find . -name *.dmp -o -name *.log
查找當前目錄下不是以html結尾的:find . ! -name *.html
查找大於10M的文件:find . -type f -size +10M
查找等於於10M的文件:find . -type f -size 10M
查找小於10M的文件:find . -type f -size -10M
(b塊:512字節 c字節 w字:2字節 k千字節 M兆字節 G吉字節)
-type f f普通文件 d目錄
向下最大深度限制為3:find . -maxdepth 6 -type f -size +10M
從向下深度9開始查找:find . -mindepth 9 -type f -size +10M
二、VI文字處理器
vi(編輯文檔)vi 檔案名
EG :vi log.txt
i :進入編輯模式
ESC :在編輯模式按ESC進入一般模式
一般模式下:
H :光標移動到這個屏幕的最上方那一行
M :光標移動到這個屏幕的中央那一行
L :光標移動到這個屏幕的最下方那一行
0 :這是數字0:移動到這一行的最前面字符處
n space :n是數字,space是空格,將光標後移n個字符距離
$ :將光標移至當前行的末尾
G :將光標移至檔案的最後一行
nG :n是數字,將光標移至檔案的第n行
gg:將光標移動到檔案的第一行,相當於1G
n Enter :n為數字,將光標向下移動n行
/word :向光標之下搜索word關鍵字信息
?word :向光標之上搜索word關鍵字信息
n :向下繼續檢索 N :向上繼續檢索
u :撤銷
:w filenam :將編輯的數據存儲為另一個檔案,檔案名filename
:r filename :寫入另一個檔案的數據,即將filename這個檔案的內容追加到光標所在的行後面
:n1,n2 w filename :將第n1行到n2行的數據寫入另一個文檔,文檔名為filename
:set nu :在文檔中顯示行號
:set nonu :取消文檔中顯示的行號
:q :退出文檔編輯
:q! :退出文檔編輯,且不保存修改信息
:wq :退出文檔編輯且保存修改信息
:wq! :強制退出,強制保存修改信息
:e! :將文檔還原到最原始的狀態
ctrl + d :向下移動半頁
ctrl + u :向上移動半頁
ctrl + f :向下移動一頁
ctrl + b :向上移動一頁
三、打包與解包
.tar解包 :tar xvf FileName.tar
打包 :tar cvf FileName.tar DirName
(注 :tar是打包,不是壓縮!)
.gz解壓1 :gunzip FileName.gz
解壓2 :gzip -d FileName.gz
壓縮 :gzip FileName
.tar.gz 和 .tgz解壓 :tar zxvf FileName.tar.gz
壓縮 :tar zcvf FileName.tar.gz DirName
.bz2解壓1 :bzip2 -d FileName.bz2
解壓2 :bunzip2 FileName.bz2
壓縮 :bzip2 -z FileName
.tar.bz2解壓 :tar jxvf FileName.tar.bz2
壓縮 :tar jcvf FileName.tar.bz2 DirName
.Z解壓 :tar Zxvf FileName.tar.Z
壓縮 :tar Zcvf FileName.tar.Z DirName
關閉防火牆 :service iptables stop
重啟網卡 :service network restart
修改主機名 :cat /etc/sysconfig/network
查看linux版本信息 :more /proc/version
[b]如果你覺得博文寫的不錯,就點下【推薦一下】或【打賞】鹵煮一杯奶茶吧!!![/b]