一、常用指令
1
2
3
4
5
6
7
8
9
<code>touch指令:</code>
<code> </code><code>touch [OPTION]... FILE...</code>
<code> </code><code>-a:atime </code>
<code> </code><code>-m:mtime </code>
<code> </code><code>-c:ctime</code>
<code>access、modify、change三個時間戳的差別:</code>
<code>Access:通路時間,atime,通過cat、more等讀取其内容</code>
<code>Modify:修改時間,mtime,改變檔案的内容 </code>
<code>Change:改變時間,ctime,改變檔案的中繼資料,即修改權限、屬組、屬主等</code>
使用stat指令可檢視檔案的三個時間戳如下:
<a href="http://s2.51cto.com/wyfs02/M00/85/21/wKioL1eawX3x5McLAAAyS42xzlg927.png" target="_blank"></a>
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<code>[root@centos6 ~]</code><code># date</code>
<code>2016年 07月 31日 星期日 19:15:12 CST</code>
<code>[root@centos6 ~]</code><code># stat services</code>
<code> </code><code>File: </code><code>"services"</code>
<code> </code><code>Size: 0 Blocks: 0 IO Block: 4096 普通空檔案</code>
<code>Device: 803h</code><code>/2051dInode</code><code>: 5898398 Links: 1</code>
<code>Access: (0644</code><code>/-rw-r--r--</code><code>) Uid: ( 0/ root) Gid: ( 0/ root)</code>
<code>Access: 2016-07-22 14:40:03.027684266 +0800</code>
<code>Modify: 2016-07-22 14:23:57.227122945 +0800</code>
<code>Change: 2016-07-22 14:23:57.227122945 +0800</code>
<code>[root@centos6 ~]</code><code># touch -a services</code>
<code>Access: 2016-07-31 19:15:44.446454193 +0800</code>
<code>Change: 2016-07-31 19:15:44.446454193 +0800</code>
<code>[root@centos6 ~]</code><code># touch -m services</code>
<code>Modify: 2016-07-31 19:16:26.497212950 +0800</code>
<code>Change: 2016-07-31 19:16:26.497212950 +0800</code>
<code>[root@centos6 ~]</code><code>#</code>
<code>cp指令:</code>
<code> </code><code>cp [OPTION]... [-T] SOURCE DEST</code>
<code> </code><code>cp [OPTION]... SOURCE... DIRECTORY</code>
<code> </code><code>cp [OPTION]... -t DIRECTORY SOURCE...</code>
<code>常用選項:</code>
<code> </code><code>-r:遞歸複制目錄及内容的所有内容</code>
<code> </code><code>-a:歸檔</code>
<code> </code><code>-d:表示不跟蹤符号連結所指向的源檔案,直接複制連結檔案</code>
<code> </code><code>-p:保持原檔案的屬性資訊</code>
<code> </code><code>-f:強制覆寫</code>
<code> </code><code>-v:顯示過程 </code>
<code> </code><code>-R:遞歸複制目錄及内部的所有内容</code>
<code> </code><code>-i:互動式</code>
<code> </code><code>-preserv=[…] mode:權限 ownership:屬組 timestramp:時間戳</code>
1、 如果目标檔案不存在,則建立目标檔案把源檔案的内容複制到建立的目标檔案中。
<a href="http://s2.51cto.com/wyfs02/M02/85/21/wKioL1eaw_qSTp4XAAAreWYpyrY539.png" target="_blank"></a>
2、 如果目标檔案存在,則提示覆寫目标檔案的内容
<a href="http://s4.51cto.com/wyfs02/M00/85/21/wKioL1eaxFCh4KRIAAAb72glXUg021.png" target="_blank"></a>
如下則表示不提示使用者是否覆寫:\cp chen.txt /testdir/test /usr/bin/cp chen.txt /testdir/test
<code>mv指令: </code>
<code> </code><code>常用選項:</code>
<code> </code><code>-i:互動式</code>
<code> </code><code>-f:強制</code>
<code>rm指令:</code>
<code> </code><code>常用選項: </code>
<code> </code><code>-i:互動式</code>
<code> </code><code>-f:強制</code>
<code> </code><code>-r:遞歸</code>
<code>tree指令:</code>
<code> </code><code>-d: 隻顯示目錄</code>
<code> </code><code>-L level:指定顯示的層級數目 tree –L 2 /etc/</code>
<code> </code><code>-P pattern: 隻顯示由指定pattern比對到的路徑</code>
<code> </code><code>-p:顯示權限</code>
<code>mkdir 建立目錄 </code>
<code> </code><code>-p: 存在于不報錯,且可自動建立所需的各目錄;</code>
<code> </code><code>-v: 顯示詳細資訊</code>
<code> </code><code>-m MODE: 建立目錄時直接指定權限;</code>
<code>rmdir 删除空目錄 </code>
<code> </code><code>-p: 遞歸删除父空目錄</code>
<code> </code><code>rm -r 遞歸删除目錄樹</code>
<code>檔案可以包含多種類型的資料</code>
<code>檢查文檔案類型,然後确定适當的開放指令或應用程式使用 </code>
<code>file [options]<</code><code>filename</code><code>>... </code>
<code>Option:</code>
<code> </code><code>-b列出檔案辨識結果時,不顯示檔案名稱。</code>
<code> </code><code>-c詳細顯示指令執行過程,便于排錯或分析程式執行形</code>
<code> </code><code>-f列出檔案中檔案名的檔案類型</code>
<code> </code><code>-F使用指定分隔符号替換輸出檔案名後預設的”:”分隔符 </code>
<code> </code><code>-i輸出mime類型的字元串 </code>
<code> </code><code>-L檢視對應軟連結對應檔案的檔案類型</code>
<code> </code><code>-z嘗試去解讀壓縮檔案的内容 --help顯示指令線上幫助</code>
二、重定向
<code>标準輸入輸出:</code>
<code>程式:指令+資料 讀入資料:Input輸出資料:Output </code>
<code>打開的檔案都有一個fd: file descriptor (檔案描述符)</code>
<code>Linux給程式提供三種I/O裝置</code>
<code>标準輸入(STDIN)-0 預設接受來自鍵盤的輸入</code>
<code>标準輸出(STDOUT)-1 預設輸出到終端視窗</code>
<code>标準錯誤(STDERR)-2 預設輸出到終端視窗</code>
<code>I/O重定向:改變預設位置</code>
<code>支援的操作符号包括: </code>
<code>> 把輸出重定向到檔案</code>
<code>2> 把錯誤輸出重定向到檔案</code>
<code>&> 把所有輸出重定向到檔案 </code>
<code>> 檔案内容會被覆寫</code>
<code># set -C: 禁止将内容覆寫已有檔案,但可追加 </code>
<code>強制覆寫:>| # set +C: 允許覆寫 </code>
<code>>> 原有内容基礎上,追加内容</code>
<code># set -C: 禁止将内容覆寫已有檔案,但可追加 強制覆寫:>| </code>
<code># set +C: 允許覆寫 </code>
(1)如何建立/testdir/dir1/x, /testdir/dir1/y,/testdir/dir1/x/a, /testdir/dir1/x/b, /testdir/dir1/y/a, /testdir/dir1/y/b
mkdiri –p /testdir/dir1/{x/{a,b},y/{a,b}}
(2)如何建立/testdir/dir2/x, /testdir/dir2/y,/testdir/dir2/x/a, /testdir/dir2/x/b
mkdir -pv /testdir/dir2/{x/{a,b},y}
(3)如何建立/testdir/dir3, /testdir/dir4,/testdir/dir5, /testdir/dir5/dir6, /testdir/dir5/dir7
mkdir –p /testdir/dir{3,4,5/dir{6,7}}
mkdir –p /testdir/{dir3,dir4,dir5/{dir6,dir7}}
(4)使用别名指令,每日将/etc/目錄下所有檔案, 備份到/testdir/下獨立的新目錄下,并要求新目錄 格式為 backupYY-mm-dd ,備份過程可見
alias cp=’cp –av /etc /testdir/backup`date +%F`’
(5)先建立/testdir/rootdir目錄,再複制/root所有 下檔案到該目錄内,并要求保留原有權限
cp /root/ -R --preserv=mode/testdir/rootdir 或者:cp -av /etc /testdir/backup$(date)
本文轉自chengong1013 51CTO部落格,原文連結:http://blog.51cto.com/purify/1831626,如需轉載請自行聯系原作者