天天看點

linux (一)(基礎指令及檔案相關指令)

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等指令使用

繼續閱讀