一、什么是shell?
1.1 shell的定義
shell中文意思是外殼,是鏈接電腦系統內核和外部的接口,其實也叫命令解釋器,win系統的cmd叫:cammand shell,linux系統和mac os系統叫:bash 即Bourne-Again Shell;
用戶點擊界面,界面通過shell與計算機進行交流,達到處理用戶操作的結果。所以所有命令和命令腳本都可以說是shell命令;只不過不同的系統有不同的叫法;
打開終端,在里面輸入命令,一般終端已經幫你輸入了“$”符號,只要輸入具體命令就可以了:
二、linux文件目錄結構
介紹:我們打開終端后看到的第一行lulu@ubantu:~$這樣的字符,這個叫命令提示符。@前面的是用戶名,@后面的是主機名。接着冒號,冒號后面到$符號/#符號前是當前所在的目錄的絕對路徑,有一個特殊的路徑:~,表示用戶的家目錄,$表示當前用戶是普通用戶,#是root超級用戶;
2.1 bin目錄
全稱binary,含義是二進制,該目錄中存儲的都是一些二進制文件,文件都是可以被運行的;
2.2 Dev目錄
該目錄中主要存放的是外接設備,例如盤、其他的光盤等,在其中的外接設備是不能直接被使用的,需要掛載(類似win下的分配盤符);
2.3 Etc目錄
該目錄主要存儲一些配置文件;
2.4 home目錄
表示家,表示出了root用戶以外其他用戶的家目錄,類似於win的user目錄;
2.5 proc目錄
process,表示進程,該目錄存儲的是linux運行時候的進程;
2.6 root目錄
該目錄是root用戶自己的家目錄;
2.7 sbin目錄
全稱是super binary 該目錄也是存儲的一些可以被執行的二進制文件,但是必須是有super權限才行;
2.8 tmp目錄
表示臨時的,當系統運行時產生的臨時文件;
2.9 usr目錄
存放用戶自己安裝的軟件,類似win下的program files;
3.0 var目錄
存放的程序、系統的日志文件的目錄;
三、常用基礎命令
3.1 ls查看當前路徑的文件及文件名
3.1.1相對路徑寫法:
./:當前路徑
../:當前路徑的上一層路徑
../../:當前路徑的上上一層路徑
3.1.2 ls -l
表示以詳細的列表的形式展示
3.1.3 ls -a
表示展示全部文件包括隱藏文件,linux中隱藏文件都是.開頭的;
3.1.4 ls -la
表示輸出全部文件按照詳細列表的形式
d表示文檔類型為文件夾,-表示文檔類型為文件;
3.1.5 ls -lh
列出指定路徑下的所有文件/文件夾的名稱,以列表的形式且在現實文檔大小時以可讀性較高的形式顯示;
擴展知識:
win下查看目錄文件用:dir
3.2 pwd指令
表示打印當前工作目錄的絕對路徑;
3.3 cd指令
cd ../../home/cici
表示從當前目錄返回上上層后進入home/cici目錄下
3.4 mkdir指令
在指定路徑下創建一個文件夾
3.4.1 一次性創建多個不存在的文件
mkdir -p /root/a/b/c
表示可以一次性在當前目錄下創建不存在的a下面的b下面的c,不加-p會報錯
mkdir a b c
表示一次性可以在當前目錄創建多個不存在的文件
3.5 touch指令
在指定路徑下創建文件
例如:touch 1.txt
3.6 cp指令
3.6.1 cp 被復制的文件路徑 要復制到的路徑
linux系統下cp文件到其他路徑的時候,可以重命名;但是最好不要修改:
cp /root/1.txt /home/2.txt
3.6.2 復制文件夾
cp -r /root /home
-r表示遞歸復制,會把root下的所有文件及文件夾都復制過去,不加-r會被忽略,不復制;
3.7 mv指令
指令:mv (move,移動,剪切)
作用:移動文檔到新的位置
語法:#mv 需要移動的文檔路徑 需要保存的位置路徑
3.7.1移動文件
3.7.2移動文件夾
3.7.3linux中重命名也是mv,語法和移動一樣
其實就是原地移動
3.8 rm指令
語法:#rm 選項 需要移除的文檔路徑
選項:-f、-r
3.8.1 不加選項直接刪除
會提示是否刪除
3.8.2 加上-f(表示force強制)
則直接不提示,直接刪除
3.8.3 加上-r(刪除整個目錄/文件夾)
遞歸刪除,一層層刪除
為了不頻繁詢問是否刪除,所以通常需要與f連用,-rf
3.8.4 批量刪除文件/文件夾命名有相同前綴
*是通配符,意思表示任意字符,,test*表示test開頭的所有的文件
3.9 vim指令
語法:#vim 文檔路徑/文檔
不保存退出::q
保存退出::wq
強制保存退出::wq!
強制不保存退出::q!
編輯界面快速查找:非輸入模式下,按照esc后英文格式下點擊:/,輸入想要搜索的內容,則在左下角末行會展示輸入的內容,回車即可找到
找到相關文字以后:
(1)按下小寫n,向下查找
(2)按下大寫N,向上查找
3.10 輸出重定向
一般命令的輸出都會顯示在終端中,有些時候徐婭將一些命令的執行結果想要保存到文件中進行后續的分析/統計,則這時候需要使用到的輸出重定向技術。
語法:#正常執行的指令 >/>>文件路徑
文件路徑可以不存在,不存在會自動創建
3.10.1>:覆蓋輸出,會覆蓋調原來的文件內容
echo string 是輸出字符串命令
echo ‘123’
3.10.2>>追加輸出,不會覆蓋原始文件內容,會在原始內容末尾繼續添加
3.11 cat指令
3.11.1 cat用法1
語法:#cat 需要輸出的文件路徑/文檔
3.11.2 cat用法2
可以將多個文檔合並成一個
語法:#cat 待合並的文檔1.txt 待合並的文檔2.txt .....>/>> 合並后.txt
3.12 rpm 指令
3.12.1 rpm -ivh xxx.rpm
安裝rpm的軟件
rpm -ivh influxdb-1.7.0.x86_64.rpm
3.12.2 rpm -qi 顯示軟件信息
rpm -qi dejagnu-1.4.2-10.noarch.rpm
3.13 wget 指令
命令格式:
wget [參數] [URL地址]
命令功能:
用於從網絡上下載資源,沒有指定目錄,下載資源回默認為當前目錄。wget雖然功能強大,但是使用起來還是比較簡單:
3.14 find 指令
查找安裝的程序位置:find / -name grafana
3.15 查看軟件是否安裝
rpm -qa|grep grafana
3.16 刪除安裝包
yum -y remove grafana