天天看點

二:Linux 的基本指令、VI編輯器、Linux中軟體安裝

Linux 的基本指令

Linux面向多個使用者,windows一般是面向一個使用者使用。

1、 檔案操作

a) Windows 是多根的檔案系統,實體上是 1 到多塊硬碟,邏輯上分為 C、D、E……盤, 每個盤都是一棵樹。Linux 是單根的檔案系統,不分 CDE 盤,多塊硬碟/U 盤/CD光牒 也是相當于多個檔案夾。不同硬碟/U 盤/CD光牒對應的檔案夾叫做“挂載點”,把外 部儲存設備放到檔案系統樹的過程又叫做“挂載(mount)”

b) Linux 下無論是檔案還是指令都是大小寫敏感的。 

2、 小白說“檔案夾”,專業人士說“目錄”(Directory)

3、 Linux 常用根目錄的作用:

二:Linux 的基本指令、VI編輯器、Linux中軟體安裝

1) boot 存放用于系統引導時使用的各種檔案

2) bin 存放二進制可執行檔案(ls,cat,mkdir 等)

3) sbin 存放二進制可執行檔案,隻有 root(自己設定的使用者) 才能通路

4) usr 用于存放系統應用程式,比較重要的目錄/usr/local 本地管理者軟體安裝目錄

5) opt 額外安裝的可選應用程式包所放置的位置

6) dev 用于存放裝置檔案

7) etc 存放系統配置檔案

8) home 存放所有使用者檔案的根目錄(多個使用者,在home檔案夾中建立一個使用者)

9) lib 存放跟檔案系統中的程式運作所需要的共享庫及核心子產品

10) tmp 用于存放各種臨時檔案

11) var 用于存放運作時需要改變資料的檔案

12) mnt 安裝臨時檔案系統的安裝點

13) srv 存儲系統提供的服務資料。

14) sys 系統裝置和檔案層次結構,并向使用者程式提供詳細的核心資料資訊。

15) lost+found 一般為空,當非法關機時,會存放一些零散的檔案。

16) proc 這是一個虛拟目錄,它是記憶體的映射,包括系統資訊和程序資訊。 

17) mnt 通常包括系統引導後被挂載的檔案系統的挂載點。

18) media 存放Ubuntu系統自動挂載的裝置檔案。

/

 代表根目錄

~

代表家目錄

普通使用者

$

root使用者

#

pyvip@Vip:/$ -------->pyvip:使用者名 @ Vip:主機名 /:根目錄 $:普通使用者

4、 常用檔案操作指令:

 工作目錄(working directory)就是“目前目錄”

 顯示目前工作目錄 pwd (print work directory)

 顯示目前目錄下的檔案、目錄 ls 或者 dir 或 ls -a (所有檔案包含隐藏檔案)

 切換工作目錄 cd (Change Directory):cd ./test 切換工作目錄到目前目錄下的 test 目錄(cd 後不要忘了空格);cd .. 到上一級目錄;cd /很顯然就是傳回根目錄

 建立目錄 mkdir (Make Directory):mkdir test 有的系統目錄下是沒有權限建立文 件夾的。使用者的檔案一般放到 home 的自己的使用者名下

 删除目錄:rmdir (Remove Directory) 删除空目錄;rm(Remove)删除檔案;rm -r testA 删除目錄及其下所有檔案(-r 就是 recursive 的簡寫。*坑人的指令:rm -rf /)。

 touch 如果檔案不存在,建立檔案  

 mv 移動檔案

 cp 複制檔案

 檢視文本檔案内容:cat(一下子全顯示,适合小檔案);more(分頁顯示,q 退出)

 查找檔案:find -name 'a*' 在目前目錄下查找檔案名以 a 開始的檔案。不要 丢了''

5、 ps 檢視目前使用者目前運作的程序;檢視所有運作中的程序 ps –ef

6、 reboot 重新開機

7、shutdown now立即關機

8、 退出終端:exit

9、 clear 清理目前顯示或者快捷鍵:ctrl+L

10、 上下鍵可以快速恢複曆史指令。可以通過 tab 鍵完成目前目錄下檔案或者子目錄的 自動填充,如果遇到多個前一部分一樣的會自動完成一樣的前一部分。ctrl+c 取消目前 輸入的指令重新開始。

11、 tar 指令,将檔案夾打包成一個檔案,同時可進行壓縮 指令格式 打包 tar -c -f 歸檔檔案 需要打包的檔案 解開 tar -x -C 解開到指定目錄 -f 歸檔檔案

12、 man 指令,各個指令的手冊,比如 man dir;按 q 退出。

13、 Linux 管道指令:一個軟體或一個指令 要想完成一件事情,通常都需要輸入原始數 據 , 處理後 , 再把處理的結果輸出到一個地方(儲存到檔案或者顯示在螢幕上),Linux 的管道是這樣一個東西,它可以把上一個指令的處理結果作為下一個指令的輸入資料,供 下一個指令使用。例如: 1) ps -ef | grep bash 2) netstat -a | more 3) 是以 cat 1.txt|more 也可以達到 more 1.txt 的效果 14、 sudo:基于安全考慮,一般不建議使用超級使用者權限登入 linux;而是平時使用低 權限使用者通路,需要高權限的操作再用 sudo 後跟着指令。比如在/下無法建立檔案夾, 但是 sudo mkdir a 就可以,當然需要輸入密碼。su 就是“super user”的簡寫,sudo 就 是“用超級使用者權限執行指令”

終端指令格式

      command  [-options]  [parameter]

cd

切換路徑

    cd .. 回到上一級目錄

    cd / 跳到根目錄

    cd ~ 回到家目錄

    cd 回到家目錄

    cd . 目前目錄

    cd - 回到上一次目錄

區分:

cd 絕對路徑 。是從根路徑 / 開始的

cd 相對路徑

ls

檢視 

    # 常用參數

    -a # 顯示目錄下所有的子目錄和檔案 包括以`.`開頭的隐藏檔案

    -l # 以清單方式顯示檔案的詳細資訊

    -h # 配合 `-l` 人性化的顯示檔案大小

    -i # 會顯示編号(id)

二:Linux 的基本指令、VI編輯器、Linux中軟體安裝
二:Linux 的基本指令、VI編輯器、Linux中軟體安裝

mkdir

    rmdir dirname # 删除空目錄

    -v 顯示過程 

    -p 遞歸  如:makdir -p w/d/c  可以建立多級檔案夾

二:Linux 的基本指令、VI編輯器、Linux中軟體安裝

導入tree

    首先導入tree: sudo apt-get install tree

    以樹狀圖顯示檔案目錄:tree /home/pyvip

    如:檢視目前目錄下的檔案以樹狀圖展示

二:Linux 的基本指令、VI編輯器、Linux中軟體安裝

rm

删除檔案

    rm filename # 删除檔案

    -i 互動式删除,提醒

    -f 強制删除

    -r 遞歸式檔案夾删除

    * 通配

    rm -rf * # rm 删除檔案 -r 還可遞歸的删除檔案夾 -f強制 *所有

   

二:Linux 的基本指令、VI編輯器、Linux中軟體安裝
二:Linux 的基本指令、VI編輯器、Linux中軟體安裝

mv

移動和重名 = 剪切

    cp filename1 dirname # 複制(預設指派檔案)

    -a # 複制目錄 保留檔案原有的屬性

    -i # 在覆寫之前提示

    -r # 目标檔案必須為一個目錄名

    -v # 顯示進度

二:Linux 的基本指令、VI編輯器、Linux中軟體安裝

檔案類型:

    b 塊檔案也叫裝置檔案也叫特殊檔案

    c 字元檔案

    d 目錄檔案

    p 管道檔案

    f(-) 普通檔案/文本檔案

    l 連結檔案

    s(socket) unix/類unix套接字

關機/重新開機

  • reboot

    重新開機 用sudo 權限
  • shutdown

    用sudo 權限
    • -h now

      立馬關機
    • -r now

      立馬重新開機 now 為目前時間為 0
    • -h +10

      系統再過十分鐘後自動關機
    • -h 20:25

      系統在今天的

      20:25

      會關機
    • -c 取消
  • init

    • 關機
    • 6

      重新開機

VI編輯器

1、VI 簡介 如果使用 linux 桌面,也有一些圖形化文本編輯器(類似于記事本),但 linux 的神級編 輯器是 vi,如果連 vi 都不會用就别說會用 linux。 在很多環境下是沒有圖形界面的,隻能用 vi。VI 是全鍵盤操作,不能用滑鼠。當然日常 開發還是在圖形界面下使用 VS 等開發,使用 vi 一般是進行簡單的修改或者配置檔案的修改。 vi 剛接觸感覺很痛苦,用熟了也挺爽的,vi 指令非常多,初學掌握基本的操作即可。vim 是 vi 的加強版。

2、vi 的運作模式

二:Linux 的基本指令、VI編輯器、Linux中軟體安裝

 指令模式下可以進行行删除等指令的輸入(相當于快鍵鍵);插入模式下可以進行 文本的輸入;末行模式下是執行儲存、退出等指令用。

易混:插入模式下如果直接輸入:就是輸入:了,是以要先 esc 退出插入模式,再: 末行模式的指令:

1):wq 儲存然後退出 w→write,q→quit 如果是“vi 檔案名”方式執行的,則直 接寫入到指定的檔案名中,否則要“:wq 檔案名”。

2):q! 不儲存退出

3):w 儲存不退出 在末行模式中輸入“!shell 指令”可以不離開 vi 執行 shell 指令

指令模式的指令

1) 移動輸入光标,不能在插入模式下按上下左右鍵。要 esc 先回到指令模式下;

2) shift+^移到行首;shift +$移到行尾。聯想一下正規表達式中就好記了;

3) ctrl+b:上滾一屏;ctrl+f 下滾一屏; b→backward;f→forward

4) dd:删除目前一行;x 删除目前字元

5) 撤銷:上一次的操作 u;undo 的簡寫

6) o:在目前行下新增一行(因為如果移動到行尾再回車的話還是在最後一個字元前回 車)自動進入插入模式。

7) i:在目前光标前面插入,a:在目前光标後面插入。a→append(附加)也是自動進 入插入模式。 還有一個傻瓜化字元界面編輯器 nano,底下提示資訊中^X 的意思就是 ctrl+X。不是每個 Linux 上都安裝 nano,有時候需要自己裝。

軟體的安裝

linux 下很多軟體都是自己下載下傳源代碼、自己編譯的,有點痛苦。是以很多發行版都有自 己的安裝包格式。比如 RedHat 使用*.rpm 的檔案,Ubuntu 使用*.deb 檔案。 自己查找、下載下傳安裝還是很麻煩。是以很多發行版中都提供了類似于應用市場、NuGet 的東西。 Ubuntu 推薦使用 apt 進行下載下傳、安裝。會從 ubuntu 官網下載下傳(中國區鏡像),如果下載下傳 速度慢的話,可以設定從其他鏡像下載下傳,具體搜尋“Ubuntu apt-get 鏡像” 執行某些程式的時候,如果程式沒安裝,還會提示你,比如執行 vim、tree 等。 安裝軟體需要 sudo 執行。如下:

1) 安裝 “sudo apt-get install 程式名”,比如“sudo apt-get install vim”

2) 解除安裝“sudo apt-get remove 程式名”

 網絡配置

1、 使用 ifconfig 指令檢視網絡配置資訊,檢視 ip 位址和網卡實體位址(MAC 位址)

二:Linux 的基本指令、VI編輯器、Linux中軟體安裝

2、虛拟機和主機之間組建了一個區域網路,虛拟機通過主機上網。虛拟機的設定的“網絡” 中可以設定不同的連接配接方式。主機可以通過 ifconfig 看到的 ip 位址連接配接虛拟機的網絡。

3、虛拟機的網絡連接配接方式有很多種,最主要有三種:HostOnly 、NAT、橋接(Bridge)。HostOnly 配置較麻煩,需要懂很多網絡工程的東西;NAT 是虛拟機借助于主機網卡通路網絡,藏在主 機後面,網絡中其他裝置不能這個虛拟機,連主機都不能,但是虛拟機能連接配接主機的網絡, 能上外網;橋接(Bridge)方式則是把虛拟主機也暴露為網絡中的一個裝置,主機和虛拟主 機在網絡内是平等的,可以互相通路,但是要求網絡中沒有裝置通路的限制(比如 Mac 地 址綁定或者終端個數限制),如果有限制要改路由器的配置。因為咱們需要主機和虛拟機互 相通路,除非網絡有限制,否則最好配置為橋接(Bridge),配置橋接(Bridge)要選擇通過 哪個網卡上外網,不能選錯了,否則就無法通路外網了。後面我們都配置為橋接(Bridge)。

二:Linux 的基本指令、VI編輯器、Linux中軟體安裝
二:Linux 的基本指令、VI編輯器、Linux中軟體安裝

4、虛拟機的 ip 位址可能變化,注意。

SSH 服務

講運維人員是怎麼遠端連接配接到機房上的伺服器,很少使用圖形界面(卡,無法自動化) 遠端登入有專門的通信協定 telnet, telnet 就是通過網絡進行指令行操作伺服器。隻有服 務器端開始了遠端登入服務,用戶端才能通過 telnet 協定控制伺服器端。 但 telnet 協定使用明文傳輸資料,這會造成嚴重的安全性問題,是以現在幾乎不推薦使用, 而替代協定是 SSH。SSH 通訊過程資料是加密的。

Linux 安裝使用 OpenSSH

 Ubuntu 預設隻安裝了用戶端 openssh-client

 安裝伺服器: sudo apt-get install openssh-server

 檢視伺服器是否開啟:netstat -tlp

 啟動 sudo /etc/init.d/ssh start

 重新開機 sudo /etc/init.d/ssh restart

 ssh 服務預設端口 22,可通過修改配置檔案修改端口/etc/ssh/sshd_config

windows 下如何通過 ssh 連接配接到 linux :下載下傳運作 putty,免安裝。

二:Linux 的基本指令、VI編輯器、Linux中軟體安裝
二:Linux 的基本指令、VI編輯器、Linux中軟體安裝
二:Linux 的基本指令、VI編輯器、Linux中軟體安裝

如果編輯器出現亂碼!!

二:Linux 的基本指令、VI編輯器、Linux中軟體安裝

如果顯示中文亂碼,則在 putty 标題欄點選右鍵,選【change settings】

二:Linux 的基本指令、VI編輯器、Linux中軟體安裝

新顯示會不亂碼,舊顯示還會亂碼。 後續都通過 ssh 連接配接操作,這也是平時連接配接伺服器時候的正常操作:windows 下開 發,然後部署到 linux 下運作。

使用 mysql

1、安裝 mysql 伺服器

1) sudo apt-get install mysql-server

2) 根據提示設定 root 使用者的密碼,測試時候設定為 root

3) sudo apt-get install mysql-client 安裝管理用戶端

4) mysql -uroot -proot 通過管理 用戶端連接配接 mysql,如果不報錯就 ok。mysql –u 用 戶名 –p 密碼。mysql –uyzk –p123

5) mysql 用戶端中執行(不要在 shell 中直接執行)show databases;(不要丢了結尾 的英文分号)檢視有哪些資料庫; 執行一下 select now();正确執行。執行“quit;” 退出 mysql 用戶端。 6) 基于安全考慮,mysql 預設隻能本機連接配接。如果想通過其他電腦連接配接(比如主機訪 問虛拟機中的 mysql),就需要配置。最好不要配置成任意電腦都可以連接配接,因為危 險。要配置成隻允許某些 ip 通路。

2、配置 MySQL 遠端通路(需要網絡配置為橋接網絡):

1)編輯 mysql 的配置檔案 mysqld.cnf ,由于 mysql 是系統服務,是以需要以 su 運作 vi,才 有權限,執行 sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf。由于不同 mysql 版本配置 檔案的位置可能不一樣,是以最好的找路徑的方式就是 cd、dir 一級級的看看。(linux 下不 同版本差異性很大,之前查資料都是改/etc/mysql /conf.d/mysql.cnf,但是使用 status;指令查 詢 mysql 版本之後搜尋“mysql 5.7 遠端通路”才找到正确的做法。 )

2)把 bind-address = 127.0.0.1 注釋掉。

3)執行 sudo /etc/init.d/mysql restart 重新開機 mysql 服務

4)在主機上執行 ipconfig(Linux 下是 ifconfig、Windows 下是 ipconfig),檢視主機的 ip 位址是多少(别看錯了,也别看成虛拟機的 ip),假如是 192.168.0.11

5)執行 mysql –uroot –proot(-u 後面的是使用者名、-p 後面的是密碼,根據你的配置做修改。 不要在-u 和-p 輸入空格)進入 mysql 伺服器後 執行 grant all privileges on *.* to root@"192.168.0.11" identified by "這裡 換成密碼" with grant option; 注意:不要丢了末尾的分号,不要直接在指令行下輸入, 要進入 mysql 再執行。 再執行 flush privileges; 注意:不要丢了末尾的分号,不要直接在指令行下輸入,要進 入 mysql 再執行。

2、 主機上連接配接虛拟機内的 mysql 一定要連接配接虛拟機的 ip,别連錯了。

3、 主機的 ip 如果變了就要重新配置。

安裝 vsftp 伺服器

1、什麼是 ftp。通過 ftp 進行檔案的上傳下載下傳

2、sudo apt-get install vsftpd

3、這時候可以用 linux 使用者登入,能夠通路/home/使用者名的檔案夾下。但是沒有上傳權 限。需要“sudo vi /etc/vsftpd.conf” 将“write_enable=YES”前面的#取消,然後執行 sudo /etc/init.d/vsftpd restart 重新開機

4、Windows 下可以使用 FileZilla FTP Client 等 FTP 用戶端上傳下載下傳

5、中文會有亂碼,不用處理,上傳下載下傳比較多的檔案都壓縮。linux 解壓使用 unzip“unzip a.zip”。不要傳 rar 等格式

二:Linux 的基本指令、VI編輯器、Linux中軟體安裝

繼續閱讀