Linux文件文本的基本命令及bash的特性

Linux的基本命令都存放在/bin中,裏面是命令的二進制文件。下面對常用命令進行講解。

du :查看文件或者目錄的大小。常用格式:du  -h  文件名/目錄。常用選項-h:易讀,-s :列出目錄的總大小,不列出文件的大小。

stat :查看文件自身信息(時間,權限,inode,大小等);常用格式:stat  fileName;

mkdir :創建目錄,常用選項:-p,自動創建需要的父母錄,-v :創建完目錄後查看創建的目錄。常常 -pv 使用。

mkdir -pv /mnt/x/m
mkdir -pv /mnt/y
以上兩個等價與:mkdir -pv /mnt/{x/m,y}

rmdir :刪除空目錄,如果目錄中有文件怎刪除失敗,常用選項: -pv:意義同mkdir;

文件的創建和刪除:
touch fileName:修改文件的時間信息。如果指定的fileName不存在,則創建一個空的文件。常用格式:touch fileName:創建文件;touch [option] fileName:修改文件的時間信息。常用選項有-m -a - t -c等;
nano fileName:創建並進行文件編輯,進入後按照提示就能操作。
cat fileName:查看文件的內容。

cp 源文件路徑  目的文件:複製文件。該命令可以進行:將一個文件複製爲另一個文件(只需將目的文件的文件名修改爲想要的名字),將多個文件複製到一個目錄,選項 -r:遞歸複製。如果cp 的對象是一個鏈接,則默認複製的是鏈接指向的文件。可以用 -p:指定複製的是鏈接。
install:複製並修改文件,與cp的比較如下
1、install和cp類似,都可以將文件/目錄拷貝到指定的地點。
2、如果目標文件存在,cp會先清空文件後往裏寫入新文件,而install則會先刪除掉原先的文件然後寫入新文件。所以在Makefile裏一般會用到install
3、whatis install
install              (1)  - copy files and set attributes可以設置文件屬性。
cp                   (1)  - copy files and directories
4、install命令可以打印出更多更合適的debug信息
5、實例:
install -d /usr/bin
install -p -D -m 0755 targets /usr/bin
相當於
mkdir -p /usr/bin
cp targets /usr/bin
chmod 755 /usr/bin/targets
touch /usr/bin/tagets

mv :移動文件或者目錄,如果同一個目錄下並改名,則爲重命名。如果大量文件重命名,用rename來操作,他是用匹配和替換字符來修改名字。
su :切換用戶,常用格式:su name;
rm :刪除文件或者目錄,常用選項 -r :遞歸刪除(比rmdir好用);

查看文本的命令:
cat :查看文件全部內容,常用格式:cat  -n  name;顯示行號;
strl + c:終止命令或者不執行命令。
less :將文件一屏一屏顯示(空格鍵來看下一屏,最後一屏會有END,q退出),而cat是滾屏。
more :和less 很相似,空格看後一瓶,b看前一屏。
head :查看文件前n行,默認n=10;常用格式:head  -n name;
tail :查看文件倒數n行。。。;

文本處理命令:
包括:cut join sed awk
cut :表的豎直方向切片,常用選項: -d :指定分隔符,默認爲空格,-f :指定要顯示的字段(域),如 -f1-3,-f1,3;例子:cut -d ' ,' -f 1-3 fileName;意義:以都好切片,並顯示所有行的1至3段;
sort :文本內容排序(和cut一樣,只是讓顯示的內容排序,不影響源文件本身信息和結構),默認按照ASCII升序(從左到右比較)。有很多選項,具體看man;
uniq :處理相鄰的重複行, 選項 -c:顯示相鄰行重複的次數,-d:只顯示重複的行。
wc:文本統計命令,有各種選項,略;
tr :字符處理命令:大小寫,字幕修改等。

bash及其特性
進程是程序的副本,是程序運行的實例。在每個進程看來,當前主機上只存在內核和當前進程(所以與其他進程毫無關聯,所以Linux的不同終端沒有關聯)
ctrl + l ;清屏
history:命令歷史,命令都在緩衝區中,上下鍵控制。常用選項:- c :清除命令歷史;-d :刪除指定位置的命令歷史。當退出CLI時,命令歷史會被清除並保存在/home/userName/.bash_history中(注意是影藏文件,用ls -la能列出),下次開機可以查看。
!n :執行命令歷史中第n條命令。!-n:執行倒數第N條。
alias 別名 = ‘命令  選項 參數’ :指定命令別名;取消用:unalias 別名;如將上述命令寫入配置文件,則這個別名在下次開機也有效。
命令替換:類似C++中printf的%d;格式 ${命令},或者反引號 ‵ 命令‵;反引號:鍵盤左上角那個和~在一起的引號。例子:echo "the dir is ${pwd}" ;
bash支持的引號:1.反引號:命令替換;2.“”:弱引號:可以實現變量替換;3.‘’單引號,強引用,表示字符本身,不能完成變量替換。
globbing :文件通配,就是字符匹配,Linux還支持正則匹配。由於兩者符號不一樣,而且正則匹配更強大通用,人們階段就不看globbing了,以免弄混淆

管道和正則匹配
管道:將一個命令的輸出作爲另一個命令的輸入,管道的操作符爲 “|” ,常用格式:命令一 | 命令二 |命令三 | ...例如: cat passwd | more;將cat passwd的內容傳給more命令顯示;
正則匹配grep(還有正則表達式的擴展此處不介紹了):
       格式:grep  選項   匹配模式  文件 :在‘文件’中查找 符合‘匹配模式’條目;經常和管道一起使用。常用選項: -i :忽略大小寫; --color; -v :顯示沒有被模式匹配到的行; -o:只顯示匹配的字符串。
匹配模式如下:
* :匹配前一個字符任意次
\?:匹配前一個字符1次或者0次
 . : 任意單個字符
.* :任意長度任意字符
\{m,n\} :匹配前面的字符m<= 次數<=n;
^ :行首錨定;
$ :行尾錨定;所以空白行爲 ^$ ;
\< :後面的內容作爲單詞出現在首 ,對應有 \>





發佈了60 篇原創文章 · 獲贊 26 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章