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

来源:http://www.cnblogs.com/wendj/archive/2017/10/20/7701709.html
-Advertisement-
Play Games

Linux 的基本命令 1、 文件操作 a) Windows 是多根的文件系統,物理上是 1 到多塊硬碟,邏輯上分為 C、D、E……盤, 每個盤都是一棵樹。Linux 是單根的文件系統,不分 CDE 盤,多塊硬碟/U 盤/光碟 也是相當於多個文件夾。不同硬碟/U 盤/光碟對應的文件夾叫做“掛載點”, ...


Linux 的基本命令

1、 文件操作

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

b) Linux 下無論是文件還是命令都是大小寫敏感的。 

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

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

 

1) boot 存放用於系統引導時使用的各種文件

2) bin 存放二進位可執行文件(ls,cat,mkdir 等)

3) sbin 存放二進位可執行文件,只有 root(自己設置的用戶) 才能訪問

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

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

6) dev 用於存放設備文件

7) etc 存放系統配置文件

8) home 存放所有用戶文件的根目錄

9) lib 存放跟文件系統中的程式運行所需要的共用庫及內核模塊

10) tmp 用於存放各種臨時文件

11) var 用於存放運行時需要改變數據的文件

12) mnt 安裝臨時文件系統的安裝點

 

4、 常用文件操作命令:

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

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

 顯示當前目錄下的文件、目錄 ls 或者 dir

 切換工作目錄 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 /)。

 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 就 是“用超級用戶許可權執行命令”

VI編輯器

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

2、vi 的運行模式

 

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

易混:插入模式下如果直接輸入:就是輸入:了,因此要先 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 地址)

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

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

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,免安裝。

 

如果編輯器出現亂碼!!

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

新顯示會不亂碼,舊顯示還會亂碼。 後續都通過 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 等格式

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • linux是企業最常用的伺服器系統之一,CentOS是免費的,所以用的企業也挺多,今天給大家分享怎麼在自己電腦的虛擬機中安裝CentOS-6.5,以便用來玩耍,沒事的時候可以學學linux的一些知識。 1.下載CentOs安裝鏡像盤 下載地址:https://www.centos.org/downl ...
  • ********mysql******** 所需要的rpm文件: (https://downloads.mysql.com/archives/community) MySQL-client-5.5.48-1.linux2.6.x86_64.rpm MySQL-server-5.5.48-1.linu ...
  • 樹莓派Raspbian玩耍 安裝樹莓派並通過花生殼實現內網穿透 ...
  • #前提條件: 宿主機:windows7 虛擬機:REDHAT 開發環境 qt4.7.4 +vs2010 。 代碼在windows7 上編譯成功 ,運行正常 在linux下編譯需要的第三方庫已經編譯成功放在同一目錄,(其中建立不同版本的庫的軟鏈接) #目的:在linux上從新編譯。 #步驟:在虛擬機上 ...
  • 首先sudo su到root用戶 終端輸入 1. apt-get install mysql-server 2.apt-get isntall mysql-client 3.apt-get install libmysqlclient-dev 檢查MySQL狀態 netstat -tap | gre ...
  • 本文目錄: 1.1 URL重寫簡介1.2 if指令1.3 rewrite指令1.4 URL重寫和反向代理的區別 1.1 簡介 url重寫由ngx_http_rewrite_module模塊提供,預設會安裝,但該模塊功能的實現需要pcre。URL重寫技術不僅要求掌握幾個指令的語法、熟悉簡單的正則表達式 ...
  • 一、聲明: 本文采用操作系統版本: Centos 7 Linux系統 版本源:CentOS-7-x86_64-DVD-1708.iso 官網下載地址:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1708 ...
  • 在實際的項目開發中,可能會遇到同一張表同時保存自身和上級(或下級)的信息(一般是通過設置一個上級主鍵【ParentId】的列與主鍵【Id】關係) 例如:城市庫,有國家、省、市...,省的ParentId是國家的Id,同理市的ParentId是省的Id public class City { /// ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...