在開始linux之前,先在linux中安裝乙個輸入法(ibus),使用yum命令: yum list ibus*可以檢視已裝和未裝的哪些ibus相關輸入法,使用yum install ibus-libpinyin.x86_64 -y,接著還需要安裝中文輸入法,使用yum search chinese查詢中文輸入法,找到wqy-microhei-fonts.noarch安裝:yum install wqy-microhei-fonts.noarch -y。另外安裝乙個自動掛載軟體包:yum install autofs -y,後面會使用到。 autofs服務啟動:systemctl restart autofs
cp:複製檔案或目錄 用法:cp [-選項] 原檔案 目標檔案
cp複製目錄 cp -rf 原目錄 目標目錄 -r:遞迴 -f:強制 -i:互動
執行cp其實預設執行的是cp -i ,所以當目標檔案已經存在的時候會提示是否覆蓋。可以通過alias檢視到cp是cp -i的別名
當cp複製乙個比較大的檔案的時候是沒有進度的,滑鼠會一直處於等待直至複製結束,可以使用watch -n 1 du -sh 目標檔案來監控複製的狀況,這裡的1表示1秒監控一次,du表示監控目標檔案的大小。所以當複製大檔案或者遠端網路傳輸檔案的時候,一般使用rsync命令,如rsync -p 原檔案 目標檔案。該命令支援本地複製也支援遠端複製。
剪下/重新命名:
語法:mv [-選項] 原檔案 目標檔案
建立空檔案:
touch [-選項] 檔名 -d:指定檔案建立時間。touch另乙個用法就是用於更新檔案的時間戳,例如:touch *,會將當前目錄下所有檔案的建立時間更新為當前時間
建立目錄:
mkdir [-選項] 命令
建立多級目錄新增選項 -p 如:mkdir -p u1/u2/u3/u4 p表示parents
刪除檔案或目錄:
rm [-選項] 檔案或目錄
rm不加引數的時候不能刪除目錄只能刪除檔案,並且rm是rm -i的別名,所以有乙個互動功能,提示你是否需要真的刪除檔案。如果不想提示新增-f引數,f表示force,強制刪除。刪除目錄需要使用引數-r,遞迴刪除。 通常刪除的使用是:rm -rf 目錄或檔案
cd:切換目錄
可以使用絕對路徑,絕對路徑表示從 / 開始,其他是相對路徑
. 表示當前目錄,也可以使用./表示
.. 表示上一級目錄
bash匹配模式:
* 零個或多個
?乙個字元
~[username] 使用者的家目錄,不跟使用者名稱表示當前使用者。如:cd ~ ; cd ~student
匹配裡面的任意乙個字元
[-] 匹配裡面的任意乙個字元,-表示乙個範圍,例如[a-z]
[^] 邏輯非,表示匹配非裡面的任意乙個字元,例如[^0-9]
特殊符號:
' ' 單引號,在單引號中的特殊符號,如'$','`' (反引號,即英文模式下esc下面的鍵)等都沒有特殊含義
" " 雙引號,在單引號中的特殊符號都沒有特殊含義,但'$','`' ,'\'除外,擁有呼叫變數的值、引用命令、轉義的特殊含義
` ` 反引號和$() ,引用系統命令,推薦使用$(),容易看些
# 在shell中,#開頭的行是注釋
$ 引用變數
\ 轉義符
查詢檔案:
locate 要查詢的檔案
locate的搜尋是建立在後台資料庫之上,而後台資料庫的更新配置/etc/updatedb.conf檔案中可以配置哪些檔案系統、檔案型別和路徑不需要更新,而不更新的locate自然無法搜尋到。
prune_bind_mounts = "yes" 開啟搜尋限制
prunefs= 搜尋時不搜尋的檔案系統
prunenames= 搜尋時不搜尋的檔案型別
prunepaths= 搜尋時不搜尋的路徑
/var/lib/mlocate locate命令所搜尋的後台資料庫,該資料庫預設一天更新一次
upatedb 更新資料庫
命令的搜尋命令whereis和which(不能搜尋到shell自帶的命令的路徑,例如cd)
whereis 命令 搜尋命令所在路徑及幫助文件所在位置
-b 只查詢可執行檔案
-m 只查詢幫助檔案
擴充套件:想要知道xx在哪 whereis xx 想要知道我是誰whoami 想要知道xx是什麼 whatis xx
which命令 搜尋命令所在路徑和別名
find [搜尋範圍] [搜尋條件] [檔名[萬用字元]],
有萬用字元需要將檔名和萬用字元一起用引號包起來
find / -name install.log
find /root -iname install.log 不區分大小寫
find / -user root 按照所有者搜尋檔案
find / -nouser 查詢沒有所有者的檔案
find /var/log -mtime +10 查詢10天前修改的檔案(內容)
10 10天當天修改的檔案
-10 10天內修改的檔案
-atime 檔案訪問時間
-ctime 改變檔案屬性
find /root -size 25k 搜尋檔案大小為25k的 -25k小於25k +25k大於25k 單位: k m
find /etc -inum 262421 根據i節點查詢檔案名 ls -i 列出檔案和i節點
可以使用-a 或者-o 連線條件
-exec 把find的查詢結果交給exec後的命令來執行。
find /etc -size +20k -a -size -50k -exec ls -lh
{} \;
紅色部分為exec的格式
grep [選項] 字串 檔名 在指定檔案中搜尋符合條件的字串
-i 忽略大小寫 -v 排除指定字串
grep "size" abc.conf
會輸出包含」size「的整行的內容,如果要完全匹配,使用正規表示式
Gradle統一管理版本
為了提高專案開發效率,在實際專案開發過程中往往會引入一些開源框架,還有專案中使用的各種module,當引入module過多時最好提供一種統一的方式去管理版本號,如 compilesdkversion buildtoolsversion androidtestcompile 等,便於日後對版本號進行維...
php統一管理crontab
統一管理crontab計畫任務的關鍵點,在於實現像crontab一樣對 10 這樣的命令如何進行解析。解析完成最後呼叫系統函式執行shell命令 新建控制器 console controllers testcroncontroller新增任務 this cronjobs hello index he...
Redis Key 統一管理技巧
我們的專案中可能存在多種業務場景需要接入 redis 快取,在插入快取時需要設定 key,如果這個 key 散落在專案的各個業務 中的話,會給後期維護帶來很大的不便。所以我建議把系統中用到快取 key 放到乙個類中統一管理,相同業務的 key 放到一起,這樣也提高了系統 的可讀性,讓看這個系統的人一...