特殊字元:特殊字元對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對於這個命令,我們這個程式應該要至...