實用程式 linux命令 編輯器與shell程式設計

2021-06-19 00:29:47 字數 2164 閱讀 6954

特殊字元:特殊字元對shell具有特殊的含義

& ; | * ? ' " ` [ ] ( ) $ < > # / \ ! ~

空白符:return space tab 鍵不是特殊字元,但它們對shell具有特殊含義

return 鍵通常用於結束命令並開始命令的執行。space鍵和tab鍵則用於命令列

的分隔符,統稱為空白符

/目錄分隔符

\轉義  兩個以上的特殊字元,要在每個特殊字元前新增\, 如要轉義引用** ,\*\*

單引號轉義  如:'this is special character:>'

按鍵的轉義:在它們前面新增control+v

如 (control+u)

$echo '***xxcontrol+u'   //使用單引號不能轉義,會刪除前面的***x

$echo ***xxcontrol+v control+u //可以轉義

基本工具

linux 的目錄相當於windows下的資料夾

ls 顯示目錄(包括資料夾、檔案) 相當於(dir)  -l(long)顯示詳細資訊

cat 顯示文字檔案內容(catenate)乙個接乙個的連線起來

rm 刪除檔案(不能是目錄) -i是互動

less,more 分屏顯示。less不在shell下顯示,按q回到shell下.more在shell下分屏

hostname 顯示系統名

檔案操作

cp source-file destinnation-file 複製檔案 (複製時會覆蓋同命檔案,不會提醒)

mv existing-filename new-filename 更改檔名(命名時會覆蓋同命檔案,不會提醒)

lpr 列印檔案名 lpr -p mailroom report . mailroom是印表機名字,report是檔名

grep 查詢字元轉   grep 'credit' memo 查詢memo中credit字串

head 顯示檔案頭部  head -1 months 檢視months檔案第一行

tail 顯示檔案尾部  tail -5 months 檢視months檔案後面5行

tail -f logfile 監視日誌檔案的增長,按control+c結束

sort 按順序顯示檔案內容(按字母順序表排序) sort days 

uniq 忽略檔案的重複的行 uniq dups ,確保沒一行都是唯一的

diff 比較兩個檔案  diff -u a b 比較a,b,-u代表按格式輸出 .

file 識別檔案內容  file a ,講顯示檔案a的具體資訊

|(管道):實現程序間的通訊

管道是將乙個程序的標準輸出重定向為另乙個程序的標準輸入

例: sort months | head -4

排序檔案months的內容,把結果重定向給 head -4 ,將排序後的結果顯示前4行

4個有用的實用程式

>告訴shell把echo的輸出傳送到 myfile檔案中,而不是顯示在螢幕上

date 顯示日期和時間

script 記錄shell會話資訊,$ script開啟記錄,exit結束記錄.預設情況下捕捉到的資訊存放在typescript檔案中,可以通過cat等命令檢視

unix2dos/todos 轉換為 windows格式,dos2unix/fromdos 轉換為linux/max os x

壓縮和歸檔檔案

bzip2/bunzip2,  bzcat專門顯示.bz2為字尾名的壓縮檔案,bzip2recover 從**錯誤恢復一定的資料,命令bzip2recover後跟恢復資料的壓縮檔案名(已損壞)即可

gzip gunzip(屬於linux) zip unzip(屬於windows)

tar:打包和解包檔案. tar -cvf all.tar gbd  打包  

tar -tvf all.tar 解包

定位命令

which 顯示使用程式的完整路徑來幫助查詢該實用程式 

$ which tar  //tar有多個,用來判斷你用的哪乙個

/bin/tar

whereis 在標準路徑下搜尋與實用程式相關的檔案

type 可判斷是不是內部的命令   例如: $ type echo

slocate/locate 搜尋檔案

slocate zyk  //將搜出包含字元zyk的所有目錄

Linux程式編輯器

重點回顧 linux底下的配置檔案多為文字檔案,故使用vim即可進行設定編輯 vim可視為程式編輯器,可用以編輯shell script,配置檔案等,避免打錯字 vi為所有unix like的作業系統都會存在的編輯器,且執行速度快速 vi有三種模式,一般模式可變換到編輯與指令列模式,但編輯模式與指令...

MySQL命令列實用程式介紹

mysql服務端實用工具 mysqld sql的後台程式 mysql伺服器程序 改程式必須執行之後,客戶端才能連線伺服器訪問資料庫。mysqld safe 伺服器啟動指令碼,在unix推薦使用mysqld safe來啟動mysqld伺服器。mysqld safe增加了一些安全特性。msq.serve...

服務計算3 開發 Linux 命令列實用程式

本次作業參考潘老師的部落格 github傳送門 命令列實用程式開發基礎 本次作業主要是編寫乙個命令列程式,處理標準輸入或者文字檔案。程式的要求主要參考 對於命令列程式,首先要做的就是解析命令列傳入的引數,例如執行程式 selpag s 1 e 1 input.txt對於這個命令,我們這個程式應該要至...