1: 基礎指令
(1)日期時間
date +%Y/%m/%d
date +%H:%M
date --date='2days ago' + %Y/%m/%d
(2)月曆
cal
cal 2014
(3) 電腦
bc(scale=num : 表示幾位小數) quit退出
(4)資料同步磁盤
sync
(5)shutdown
-t secNum: 過幾秒關機
-r : 重新開機(常用)
-h : 關機(常用)
-n : 不經過init直接shutdown的功能來關機
-k : 不是真的關機,隻是發送警告資訊
-f(F) : 重新開機之後強制略過(不略過)fsck的磁盤檢查
時間 : 必加參數
資訊 : 選填參數
eg : shutdown -r +30 ‘I will shutdown after 30 mins’
(6) reboot halt poweroff
都是關機指令 halt強制關機
shutdown 先逐個關閉服務最後關機
(7) init
0 關機
1 單人模式
2 不支援 nfs(網絡檔案系統)
3 字元模式
4 未使用
5 圖形模式
6 重新開機
忘記root密碼 或者 init 6,0導緻無法進入系統
1 讀秒按下任意鍵
2 出現菜單 按e 進入grub編輯界面
3 此時光标定位到kernel那行再按e進入編輯狀态
4 在最後輸入single 按下enter之後按b就可以進入單人維護模式了
2 檔案權限與目錄
(1) chgrp
改變檔案所屬組 chgrp [-R] dirname/filename
-R 可選遞歸改變
(2) chown
改變檔案所有者 chown [-R] user dirname/filename
-R 可選遞歸改變
chown user.group filename
chown user:group filename
chown .group filemame
chown user filename
(3) chmod
改變權限 chmod [-R] 0777 dirname/filename
-R 可選遞歸改變
chmod u=rwx,go=rx filename(=設定)
chmod a+w filename(+加入)
chmod a-x filename(-減去)
chmoda+w,a+x file
檔案種類
_ 普通檔案
d 目錄
l 連結檔案
b 塊
c 字元
s socket
p 管道FIFO pipe
檔案名限制
單一檔案或目錄最大容許檔案名為255個字元
完整目錄名最大4096個字元
最好不要包含後面特殊字元在檔案名中 * < > ? ; & ! | \ ' " ` { } ( )
避免檔案名開頭使用+ -
(4) uname lsb_release 檢視系統
uname -r -a
lsb_release -a
(5) pwd
目前目錄
(6) mkdir rmdir
建立 删除空目錄
mkdir -pproject/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}
mkdir -m 711 filename
(7) ls
-a 全部檔案包括隐藏
-A 同上 除開. 和 ..
-d 僅列出目錄
(ls -dal /var/www 表示列出每個目錄下子目錄的資訊)
-f 直接列出結果 不排序(預設按檔案名排序)
-F 根據目錄 檔案等資訊 給予附加資料結構 如 *:可執行 /: 目錄 =: socket |: 代表管道
-h 人類友好的表示
-i 列出inode号
-l 列出長資料
-n 列出uid 與gid 替換user group名
-r 逆序輸出
-R 包括子目錄内容一起列出
-S 已檔案大小排序
-t 以時間排序
--color=[never, always, auto] 表示 不顯示顔色總是顯示 按情況顯示
--full-time 以完整時間模式輸出(年 月日 時 分)
--time=[atime, ctime] 輸出通路時間或改變權限屬性時間而非内容更改時間
(8) cp
-a 相當于參數 -pdr
-p 連同檔案屬性一起複制過去 而非實用預設屬性(備份常用)
-d 如源檔案為連結檔案則複制連結檔案而非本身
-r 遞歸複制
-f 強制
-i 如目标檔案存在 則提示是否覆寫
-s 複制成為符号連結 即 ‘快捷方式’
-u 目标檔案比源檔案舊才更新
-l 進行硬連結的連接配接檔案建立,而非本身
如果多個源檔案或目錄 則最後一個一定是目錄 意思是将所有資料複制到該目錄
(9) rm mv
rm [-r, f, i]
mv
-f 強制
-i 詢問
-u 目标檔案存在 且源檔案比較新才更新
如果多個源檔案或目錄 則最後一個一定是目錄 意思是将所有資料移動到該目錄
(10) basename dirname
basename 擷取檔案名
dirname 擷取目錄名 (結尾沒有/)
(11) cat tac
cat 第一行開始顯示
-A 相當于參數 -vET 可列出特殊字元 而不是空白
-b 列出行号 僅列出非空白行号 空白不标号
-n 列印行号 連同空白行
-E 将結尾的$符号顯示出來
-T 将tab鍵以 ^I顯示出來
-v 列出一些看不見的特殊字元
tac cat的倒寫模式 從最後一行開始顯示
(12) nl
-b 指定行号的方式: -b a 類似 cat-n ; -b t 類似 cat-b (預設值)
-n 列出行号表示的方法 三種:
-n ln 行号在螢幕的最左方顯示
-n rn 行号在自己最右方顯示 且不加0
-n rz 同上 加0
-w 限制行号的位數
(13) more
空格 向下翻一頁
enter 向下滾動一行
/string 向下查找string
:f 顯示檔案名及目前的行數
q 離開more
b 或ctrl-b 往回翻頁 隻對檔案有用 管道無用
(14) less
空格 向下翻動一頁
pageDown 同上
pageUp 向上翻動一頁
/string 向下查找string
?string 向上查找string
n 重複前一個查詢
N 反向重複前一個查詢
q 離開less
(15) head tail
head -n 10 檢視檔案開頭10行
tail -n 10 檢視檔案最後10行
tail -f 跟蹤顯示檔案内容
(16) od
-t 後跟 type
a 預設字元輸出
c ASCII字元輸出
d [size] 十進制 每個整數占用size bytes
f [size] 浮點數輸出
o [size] 八進制
x [size] 十六進制
(17) touch
-a 僅修改通路時間
-c 僅修改檔案時間 不存在則不建立檔案
-d 後接欲修改的時間 而不是目前時間 也可食用 --date="日期或時間"
-m 僅修改mtime
-t 後接欲修改的時間 格式為[TTMMDDhhmm]
eg :touch -d "2 days ago" test.txt
touch file{1..10} {}集合操作符
(18)umask
建立檔案時的預設權限 結果權限為777-umask
umask 002 表示設定umask的值
(19) chattr lsattr
+ :在原有參數設定基礎上,追加參數。
- :在原有參數設定基礎上,移除參數。
= :更新為指定參數設定。
A:檔案或目錄的 atime (access time)不可被修改(modified), 可以有效預防例如手提電腦磁盤I/O錯誤的發生。
S:硬碟I/O同步選項,功能類似sync。
a:即append,設定該參數後,隻能向檔案中添加資料,而不能删除,多用于伺服器日志檔案安全,隻有root才能設定這個屬性。(重要)
c:即compresse,設定檔案是否經壓縮後再存儲。讀取時需要經過自動解壓操作。
d:即no dump,設定檔案不能成為dump程式的備份目标。
i:設定檔案不能被删除、改名、設定連結關系,同時不能寫入或新增内容。i參數對于檔案系統的安全設定有很大幫助。(重要)
s:保密性地删除檔案或目錄,即硬碟空間被全部收回。
u:與s相反,當設定為u時,資料内容其實還存在磁盤中,可以用于undeletion.
lsattr
-a 隐藏檔案的屬性一并顯示
-d 如果接的是目錄 則顯示目錄本身 而非目錄下的檔案名
-R 連同子目錄的屬性一并列出
(20) file
檢視檔案類型
(21) which 查找指令
-a 找出PATH中所有的指令 而非第一個
(22) whereis 尋找特定檔案 (資料庫中查找)
-b 隻找 二進制檔案
-m 隻找說明檔案manual下的檔案
-s 隻找source源檔案
-u 查找不在上述三類中的其他特殊檔案
(23) locate
-i 忽略大小寫
-r 後面可接正則
(24) df du
-a 列出所有檔案系統包括/proc
-k m H h 改變機關顯示
-T 顯示檔案系統(ext3)
-i 不用硬碟容量 而已inode的數量來顯示
du
-a 列出所有檔案與目錄容量 預設僅統計目錄下的檔案量
-h m k 顯示機關不同
-s 列出總量,而不列出每個單獨的目錄占用容量
-S 不包括子目錄下的總計 差別于s
-c 統計總量
-x 排除挂載點
--exclude "*.txt"
--exclude-from filelist.txt
du -sh test
檢視目錄大小
du -h --max-depth=1 /home 檢視各個使用者占用的空間
(25) ln
-s 預設hardlink -s表示軟連接配接
-f 強制
(26) fsck
-A 依據/etc/fstab 的内容 将需要的裝置掃描一次
-a -y 自動修複檢查到有問題的扇區
-C 顯示進度條
ext2/3
-f 強制檢查
-D 針對檔案系統下的目錄進行優化配置
(27) mount
-a 依據 /etc/fstab 将為挂載的磁盤都挂在上來
-l 單純輸入mount 會顯示挂載資訊,-l 可增加label名稱
-t 接檔案系統
-n 不實時寫入/etc/mtab
-L 利用卷标名挂載
-o 接一下參數:
ro ,rw 隻讀 ,可讀可寫
async ,sync 異步同步 預設異步
auto,noauto 允許此分區自動挂載(auto)
dev,nodev 是否允許建立裝置檔案
suid,nosuid 是否允許含有suid/sgid檔案格式
exec,noexec 是否允許擁有二進制執行檔案
user,nouser 是否允許讓任何使用者執行mount 一般隻有root才能執行mount
defaults 預設值為 rw suid dev exec auto nouser async
remount 重新挂載
(28) dump restore
-S 僅列出後面待備份的檔案需要的空間
-u dump備份時間記錄到/etc/dumpdateS
-v 顯示資訊
-j -f 同tar
-level 壓縮等級 -0 -9
-W 列出/etc/fstab 裡具有dump設定的分區是否有過備份
restore :
-t -f 同tar
-i 互動
-C dump檔案與實際檔案比較 列出dump裡與目前檔案系統不一樣的檔案
-D 檢視後面接的挂載點與dump内有不同的檔案
(29) dd
備份檔案 dd if=/etc/passwd of=/temp/passwd.bak[bs=512 count=10]
(30) cpio
-o 将資料copy輸出到檔案或裝置上
-B 讓預設的Blocks增加到5120bytes 預設是512 好處是讓大檔案存儲更加快
-i 将資料自檔案或裝置複制到目前系統中
-d 自動建立目錄
-u 自動将較新的的檔案覆寫較舊檔案
-t 檢視資訊
-v 顯示資訊
備份: cpio -ovcB > [file|device]
還原: cpio -ivcdu < [file|device]
檢視: cpio -ivct < [file|device]
需配合管道 find等指令使用