vi和vim
快捷鍵使用案例:
1)拷貝當前行yy ,拷貝當前行向下的5行5yy,並貼上(p)。
2)刪除當前行 dd ,刪除當前行向下的5行5dd
3)在檔案中查詢某個單詞[命令列下/關鍵字,回車查詢,輸入 n就是查詢下一個],
4)設定檔案的行號,取消檔案的行號.[命令列下: set nu和:set nonu]
5)檔案的最末行[G]和最首行[gg],注意這些都是在正常模式下執行的。
6)復原上一個動作,正常模式下輸入u
7)編輯/etc/profile檔案,並將遊標移動到第20行shift+g
第一步:顯示行號:set nu
第二步:輸入20這個數
第三步:輸入shift+g
開機、重新啟動、防火牆相關操作
注意: 當我們關機或者重新啟動時,都應該先執行以下sync指令,把記憶體的資料寫入磁碟,防止資料丟失。
檢視防火牆狀態
systemctl status firewalld
關閉防火牆
使用者管理
useradd [選項] 使用者名稱
當建立使用者成功後,會自動的建立和使用者同名的家目錄
也可以通過useradd -d 指定目錄新的使用者名稱,給新建立的使用者指定家目錄
基本語法
passwd 使用者名稱
基本語法
userdel 使用者名稱
應用案例:
1)刪除使用者xm,但是要保留家目錄
2)刪除使用者xh 以及使用者主目錄
基本語法
id 使用者名稱
應用案例:
查詢root資訊
基本語法
su - 切換使用者名稱
細節說明:
1)從許可權高的使用者切換到許可權低的使用者,不需要輸入密碼,反之需要。
2)當需要返回到原來使用者時,使用exit 指令
groupadd 組名
groupdel 組名
useradd -g 使用者組 使用者名稱
usermod -g 使用者組 使用者名稱
幫助指令
基本語法
man[命令或組態檔] (功能描述:獲得幫助資訊)
應用範例
help 命令(功能描述:獲得shell內建命令的幫助資訊)
應用範例:
檔案目錄類
pwd (功能描述:顯示當前工作目錄的絕對路徑)
ls [選項] [目錄或是檔案]
常用選項
-a :顯示當前目錄所有的檔案和目錄,包括隱藏的。
-l :以列表的方式顯示資訊
cd [引數] (功能描述:切換到指定目錄)
cd~或者cd :回到自己的家目錄
cd …回到當前目錄的上一級目錄
mkdir 「選項] 要建立的目錄
常用選項
-p :建立多級目錄
空
目錄)rmdir [選項] 要刪除的空目錄
touch 檔名稱
cp [選項] source dest
常用選項
-r :遞迴複製整個資料夾
使用細節:
rm [選項] 要冊除的檔案或目錄
常用選項:
基本語法:
mv oldNameFile newNameFile (功能描述:重新命名)
mv /temp/movefile /targetFolder (功能描述:移動檔案)
案例2:將/home/pig.txt檔案移動到/root目錄下
cat [選項] 要檢視的檔案
more指令是一個基於VI編輯器的文字過濾器,它以全螢幕幕的方式按頁顯示文字檔案的內容。more指令中內建了若干快捷鍵,詳見操作說明
基本語法:
more要檢視的檔案
應用範例:
less指令用來分屏檢視檔案內容,它的功能與more指令類似,但是比more指令更加強大,支援各種顯示終端。less 指令在顯示檔案內容時,並不是一次將整個檔案載入之後才顯示,而是根據顯示需要載入內容,對於顯示大型檔案具有較高的效率。
基本語法:
less 要檢視的檔案
快捷鍵
時間日期類
基本語法
1 ) date (功能描述:顯示當前時間)
2) date +%Y (功能描述:顯示當前年份)
3) date +%m (功能描述:顯示當前月份)
4) date +%d (功能描述:顯示當前是哪一天)
5) date 「+%Y-%m-%d %H:%M:%S」(功能描述:顯示年月日時分秒)
date -s 字串時間
案例:
cal [選項] (功能描述:不加選項,顯示本月日曆)
搜尋查詢類
find指令將從指定目錄向下遞迴地遍歷其各個子目錄,將滿足條件的檔案或者目錄顯示在終端。
案例1:請在 hello.txt檔案中,查詢"yes"所在行,並且顯示行號
壓縮和解壓類
基本語法
案例2: gunzip壓縮,將 /home下的 hello.txt.gz檔案進行解壓縮
zip 用於壓縮檔案,unzip用於解壓的,這個在專案打包釋出中很有用的
案例2:將/home的資料夾壓縮成myhome.tar.gz
指定解壓到的那個目錄,事先要存在才能成功,否則會報錯。
組管理和許可權管理
一般為檔案的建立者,誰建立了該檔案,就自然的成為該檔案的所有者。
groupadd 組名
應用案例
建立一個組, ,monster
建立一個使用者fox ,並放入到monster組中
在新增使用者時,可以指定將該使用者新增到哪個組中,同樣的用root 的管理許可權可以改變某個使用者所在的組。
應用案例
許可權的基本介紹
1)[ r ]代表可讀(read):可以讀取,檢視
2) [ w]代表可寫(write):可以修改,但是不代表可以刪除該檔案,刪除一個檔案的前提條件是對該檔案所在的目錄有寫許可權,才能刪除該檔案.
3)[x ]代表可執行(execute):可以被執行
1)[ r]代表可讀(read):可以讀取,ls檢視目錄內容
2)[ w]代表可寫(write):可以修改,目錄內建立+刪除+重新命名目錄
3)[ x ]代表可執行(execute):可以進入該目錄
可用數位表示為: r=4,w=2,x=1因此rwx=4+2+1=7
l 檔案:硬連線數或目錄:子目錄數
root 使用者
root 組
1213 檔案大小(位元組),如果是資料夾,顯示 4096位元組
Feb 2 09:39 最後修改日期
abc 檔名
3)給abc檔案的所有使用者新增讀的許可權
chown newowner file改變檔案的所有者
chown newowner: newgroupfile改變使用者的所有者和所有組
-R如果是目錄則使其下所有子檔案或目錄遞迴生效
案例演示:
1)請將 /home/abc .txt檔案的所有者修改成tom
案例演示:
crond任務排程
crontab 進行定時任務的設定
任務排程:是指系統在某個時間執行的特定的命令或程式。
任務排程分類:
1.系統工作:有些重要的工作必須周而復始地執行。如病毒掃描等
2.個別使用者工作:個別使用者可能希望執行某些程式,比如對mysql資料庫的備份。
任務的要求:
設定任務排程檔案:/etc/crontab
設定個人任務排程。執行crontab -e命令。
接著輸入任務到排程檔案
如:/1***ls -l/etc/ >/tmp/to.txt
意思說每小時的每分鐘執行ls - l /etc/ > /tmp/to.txt命令
步驟如下:
1 ) crontab -e
2) /1***ls -l/etc >>/tmp/to.txt
3)當儲存退出後就程式。
4)在每一分鐘都會自動的呼叫ls -l /etc >>/tmp/to.txt
案例1:每隔Ⅰ分鐘,就將當前的日期資訊,追加到/tmp/mydate檔案中
案例2:每隔1分鐘,將當前日期和日曆都追加到/home/mycal檔案中
1)先編寫一個檔案/home/mytask2.sh
date >>/tmp/mycal
cal >>/tmp/mycal
2)給mytask1.sh 一個可以執行許可權
chmod 744 /home/mytask2.sh
3 ) crontab -e
4)/1***/home/mytask2.sh
5)成功
案例3:每天凌晨2:00將mysql資料庫testdb ,備份到檔案中mydb.bak
RPM和YUM
一種用於網際網路下載包的打包及安裝工具,它包含在某些Linux分發版中。它生成具有.RPM擴充套件名的檔案。RPM是 RedHat Package Manager(RedHat 軟體包管理工具)的縮寫,類似 windows的setup.exe,這一檔案格式名稱雖然打上了RedHat 的標誌,但理念是通用的.
Linux的分發版本都有采用(suse,redhat, centos等等),可以算是公認的行業標準了。
查詢已安裝的rpm列表rpm-qalgrep xx
請查詢看一下,當前的Linux有沒有安裝firefox
rpm -qa :查詢所安裝的所有rpm軟體包
rpm -qa | more[分頁顯示]
rpm -qa l grep X [rpm -qa | grep firefox ]
rpm -q軟體包名:查詢軟體包是否安裝
rpm -q firefox
rpm -qi軟體包名:查詢軟體包資訊
rpm -qi file
rpm -ql 軟體包名:查詢軟體包中的檔案
rpm -ql firefox
細節問題
1)如果其它軟體包依賴於您要解除安裝的軟體包,解除安裝時則會產生錯誤資訊。
如: $ rpm -e foo
removing these packages would break dependencies:foo is needed by bar-1.0-1
2)如果我們就是要刪除 foo這個rpm包,可以增加引數 --nodeps ,就可以強制刪除,但是一般不推薦這樣做,因為依賴於該軟體包的程式可能無法執行
如: $ rpm -e --nodeps foo
帶上 --nodeps就是強制刪除。
rpm -ivh RPM包全路徑名稱
Yum是一個Shell前端軟體包管理器
。基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係
,並且一次安裝所有依賴的軟體包。使用yum的前提是可以聯網。