一:文件管理命令
1: basename 功能 從文件名中去掉路徑和擴展名
basename include/stdio.h .h
Output "stdio".
--help 顯示此幫助信息並離開 --version 顯示版本信息並離開
2 cat 功能 把檔案串連接後傳到基本輸出(屏幕或加 > filename 到另一個檔案)
語法:cat [-AbeEnstTuv] [--help] [--version] filename
參數
-n 或 --number 由 1 開始對所有輸出的行數編號
-b 或 --number-nonblank 和 -n 相似,只不過對於空白行不編號
-s 或 --squeeze-blank 當遇到有連續兩行以上的空白行,就代換爲一行的空白行
-v 或 --show-nonprinting
範例:
cat -n textfile1 > textfile2 把 textfile1 的檔案內容加上行號後輸入 textfile2 這個檔案裏
cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的檔案內容加上行號(空白行不加)之後將內容
附加到 textfile3 裏。
3 cd 功能 切換目錄 語法 cd [目的目錄]
補充說明
cd 指令可讓用戶在不同的目錄間切換,但該用戶必須擁有足夠的權限進入目的目錄。
4 chgrp 功能說明 更文件或目錄的所屬羣組。
語法:
chgrp [-cfhRv][--help][--version][所屬羣組][文件或目錄...]
或 chgrp [-cfhRv][--help][--reference=<參考文件或目錄>][--version][文件或目錄...]
5 chmod 功能說明 變更文件或目錄的權限。
語法:
chmod [-cfRv][--help][--version][<權限範圍>+/-/=<權限設置...>][文件或目錄...]
或 chmod [-cfRv][--help][--version][數字代號][文件或目錄...]
或 chmod [-cfRv][--help][--reference=<參考文件或目錄>][--version][文件或目錄...]
6 chown 功能說明 變更文件或目錄的擁有者或所屬羣組。
語法
chown [-cfhRv][--dereference][--help][--version][擁有者.<所屬羣組>][文件或目錄..]
或chown [-chfRv][--dereference][--help][--version][.所屬羣組][文件或目錄... ...]
或chown [-cfhRv][--dereference][--help][--reference=<參考文件或目錄>][--version][文件或目錄...]
7 comm 功能說明 比較兩個已排過序的文件。
語法
comm [-123][--help][--version][第1 個文件][第2 個文件]
8 cp 功能說明 複製文件或目錄。
語法
cp [-abdfilpPrRsuvx][-S <備份字尾字符串>][-V <備份方式>][--help][--spares=<使用時機>][--version][源文件或目錄][目標文件或目錄] [目的目錄]
9 cut 功能說明 顯示每行從開頭算起 num1 到 num2 的文字
語法
cut -cnum1-num2 filename
10 dd 功能說明 讀取,轉換並輸出數據。
語法
dd [bs=<字節數>][cbs=<字節數>][conv=<關鍵字>][count=<區塊數>][ibs=<字節數>][if=<文件>][obs=<字節
數>][of=<文件>][seek=<區塊數>][skip=<區塊數>][--help][--version]
11 diff 功能說明 比較文件的差異。
語法
diff [-abBcdefHilnNpPqrstTuvwy][-<行數>][-C <行數>][-D <巨集名稱>][-I <字符或字符串>][-S <文件>][-W <寬度>][-x <文件或目錄>][-X <文件>][--help][--left-column][--suppress-common-line][文件或目錄1][文件或目錄2]
12 dir 功能說明 列出<文件>的信息 (默認爲目前的目錄)。
語法
dir [選項]... [文件]... Linux公社 www.linuxidc.com
13 dos2unix 功能說明 將一個 DOS 格式的文件轉換爲UNIX 格式的文件。主要差別在換行符。
語法:
dos2unix [-hkqV] [-c convmode] [-o file ...] [-n infile outfile ...]
14 egrep 功能說明 在文件內查找指定的字符串。
.15 fgrep 功能說明 查找文件裏符合條件的字符串。
語法
fgrep [範本樣式][文件或目錄...]
16 file 功能說明 辨識文件類型。
語法
file [-beLvz][-f <名稱文件>][-m <魔法數字文件>...][文件或目錄...]
17 find 功能說明 查找文件或目錄。
語法
find [目錄...][-amin <分鐘>][-anewer <參考文件或目錄>][-atime <24 小時數>][-cmin <分鐘>]
[-cnewer <參考文件或目錄>][-ctime <24 小時數>][-daystart][-depyh][-empty][-exec <執行指
令>]
18 grep 功能說明 查找文件裏符合條件的字符串。
語法
grep [-abcEFGhHilLnqrsvVwxy][-A<顯示列數>][-B<顯示列數>][-C<顯示列數>][-d<進行動作>][-e<範本樣式>][-f<範本文件>][--help][範本樣式][文件或目錄...]
19 head 功能說明 先是文件的前幾行(默認 10 行)。
語法
head [options] [files]
20 Less 功能說明 less 命令的功能幾乎和 more 命令一樣,也是用來按頁顯示文件,不同之處在於 less 命令在顯示文件時允許用戶既可以向前又可以向後翻閱文件。同時因爲 less 並未在一開始就讀入整個檔案,因此在遇上大型檔案的開啓時,會比一般的文書編輯器(如 vi)來的快速。
語法
less [options] [filename]
21 ln 功能說明 連接文件或目錄。
語法
ln [-bdfinsv][-S <字尾備份字符串>][-V <備份方式>][--help][--version][源文件或目錄][目標文件或目錄]或 ln [-bdfinsv][-S <字尾備份字符串>][-V <備份方式>][--help][--version][源文件或目錄...][目的目錄]
22 locate 功能說明 查找文件。
語法
locate [-d <數據庫文件>][--help][--version][範本樣式...]
23 ls 功能說明 列出目錄內容。
語法
ls [-1aAbBcCdDfFgGhHiklLmnNopqQrRsStuUvxX][-I < 範本樣式>][-T < 跳格字數>][-w < 每列字符
數>][--block-size=<區塊大小>][--color=<使用時機>][--format=<列表格式>][--full-time][--help][--indicator-style=<標註樣式>][--quoting-style=< 引號樣式>][--show-control-chars][--sort=< 排序方式>][--time=< 時間戳記>][--version][文件或目錄...]
24 mkdir 功能說明 建立目錄
1.24.2 語法
mkdir [-p][--help][--version][-m <目錄屬性>][目錄名稱]。
25 more 功能說明
語法
more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
.26 mv 功能說明 移動或更名現有的文件或目錄。
語法
mv [-bfiuv][--help][--version][-S <附加字尾>][-V <方法>][源文件或目錄][目標文件或目錄]
.27 od 功能說明 輸出文件內容。
語法
od [-abcdfhilovx][-A <字碼基數>][-j <字符數目>][-N <字符數目>][-s <字符串字符數>][-t <輸出格式>][-w <每列字符數>][--help][--version][文件...]
28 pwd 功能說明 顯示工作目錄。
語法
pwd [--help][--version]
29 rename 功能說明 文件批量改名。
語法
rename from to file
30 rm 功能說明 刪除文件或目錄。
語法
rm [-dfirv][--help][--version][文件或目錄...]
31 rmdir 功能說明 刪除目錄。
語法
32 sed 功能說明 利用 script 來處理文本文件。
語法
33 sort
功能說明
將文本文件內容加以排序。
34 tail 功能說明 查看文件的後 N 行,有實時監控的功能。
語法
tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
或者tail [ -r ] [ -n Number ] [ File ]tail 止!
35 touch 功能說明 改變文件或目錄時間。
語法
touch [-acfm][-d < 日期時間>][-r < 參考文件或目錄>][-t < 日期時間>][--help] [--version][ 文件或目錄...] 或 touch [-acfm][--help][--version][日期時間][文件或目錄...]
36 uniq 功能說明 檢查及刪除文本文件中重複出現的行列。
語法
37 wc 功能說明計算字數。
語法
wc [-clw][--help][--version][文件...]
二:bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
bash 的命令執行結果狀態有兩種:
成功/失敗, bash使用特殊變量$?來保存最近一條命令的執行狀態結果。0爲成功,1-255代表各種失敗。
bash的命令行展開:用{}表示可承載一個以逗號分隔的列表,並將其展開爲多個路徑
如:/tmp/{a,b}=/tmp/a, /tmp/b
/tmp/{a,b}/c= /tmp/a/c, /tmp/b/c
三:請使用命令行展開功能來完成以下練習:
(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d
[root@bogon ~]# mkdir /etc/mylinux/{a,b}_{c,d}
[root@bogon ~]# ls /etc/mylinux 輸出:a_c a_d b_c b_d
(2)、創建/tmp/mylinux目錄下的:
mylinux/
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│ └── local
│ ├── bin
│ └── sbin
└── var
├── lock
├── log
└── run
mkdir -p /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var,lock,log,run}
注:{}內逗號後不能有空格
四:文件的元數據信息有哪些,分別表示什麼含義,如何查看?如何修改文件的時間戳信息。
1) access time :訪問時間
modify time :修改時間
change time :改變時間
(2)查看:
[root@bogon ~]# stat /etc/test1
最近訪問:2016-08-13 16:06:27.935461222 +0800
最近更改:2016-08-13 16:04:20.008453386 +0800
最近改動:2016-08-13 16:04:20.008453386 +0800
(3)修改文件的時間戳的信息
touch:使用格式:touch [OPTION]... FILE...
(1)[root@bogon ~]# touch /etc/test1
[root@bogon ~]# stat /etc/test1
最近訪問:2016-08-13 16:20:55.848514387 +0800
最近更改:2016-08-13 16:20:55.848514387 +0800
最近改動:2016-08-13 16:20:55.848514387 +0800
(2)-a: only atime
[root@bogon ~]# touch -a /etc/test1
[root@bogon ~]# stat /etc/test1
最近訪問:2016-08-13 16:23:48.959524991 +0800
最近更改:2016-08-13 16:20:55.848514387 +0800
最近改動:2016-08-13 16:23:48.959524991 +0800
(3)-m: only mtime
[root@bogon ~]# touch -m /etc/test1
[root@bogon ~]# stat /etc/test1
最近訪問:2016-08-13 16:23:48.959524991 +0800
最近更改:2016-08-13 16:26:48.702536001 +0800
最近改動:2016-08-13 16:26:48.702536001 +0800
(4)-t STAMP:[[CC]YY]MMDDhhmm[.ss]
[root@bogon ~]# touch -t 201608131929.55 /etc/test1
[root@bogon ~]# stat /etc/test1
最近訪問:2016-08-13 19:29:55.000000000 +0800
最近更改:2016-08-13 19:29:55.000000000 +0800
最近改動:2016-08-13 16:34:30.966564318 +0800
五、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
(1)定義一個命令的別名
[root@bogon ~]# alias cdnet='cd /etc/sysconfig/network-scripts'
(2)在命令中引用另一命令的執行結果:
[root@bogon ~]# alias cdnet='cd /etc/sysconfig/network-scripts'
[root@bogon ~]# cdnet
[root@bogon network-scripts]#
六、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
find /var/ -maxdepth 1 -name "l*[0-9]*[a-z]"
七、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
ls /etc/[[:digit:]]*[^[:digit:]]
八、顯示/etc目錄下,以非字母開頭,後面跟了一個字母以及其它任意長度任意字符的文件或目錄。
ls /etc/[^[:alpha:]][[:alpha:]]*
九、在/tmp目錄下創建以tfile開頭,後跟當前日期和時間的文件,文件名形如:tfile-2016-08-06-09-32-22。
[root@bogon ~]# name='tfile'-$(date +%Y-%m-%d-%H-%M-%S)
[root@bogon ~]# mkdir /tmp/mytest3/$name
十、複製/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
ls /etc/ | grep "^p[^0-9]*$" | xargs -i cp -r {} /tmp/mytest1
十一、複製/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
cp -r /etc/*.d /tmp/mytest2
十二、複製/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
[root@bogon ~]# mkdir -p /tmp/mytest3
[root@bogon ~]# cp /etc/[lmn]*.config /tmp/mytest3
輸出:cp: 無法獲取"/etc/[lmn]*.config" 的文件狀態(stat): 沒有那個文件或目錄