1. 程式人生 > 其它 >linux安裝和基礎命令

linux安裝和基礎命令

一、引言

1.1 開發環境
平時大家大多是在Windows或者Mac作業系統下 去編寫程式碼進行開發,在開發環境中安裝大量的軟體,這樣會導致環境的穩定性和安全性降低

1.2 生產環境
是將程式執行在此環境中,供使用者去使用。這個環境是有專業的人員去維護,一般人是沒有許可權去操做生產環境的

1.3 測試環境

一般克隆一份生產環境,會將開發環境中的程式部署到測試環境中,這個環境的主要目的是去程式程序檢測,收集程式中的問題,並交給開發人員進行修改

1.4 作業系統的選擇
生產環境中,常用的作業系統有Windows 2003 service,Linux,Unix等等,Linux作業系統,在生產環境中佔據了大量的市場份額,Linux主要以穩定,可靠,免費的特點成為全球使用最多的服 務器作業系統。
二、Linux介紹

2.1 Linux介紹

在Linux作業系統出現之前,還有個作業系統叫做Minix,Minix作業系統是由Andrew的大學教授研發 出 來的,當時大學教授是為了給學生上課,買了一套Unix作業系統,參考Unix自己寫了個作業系統,並且命名為Minix。同時將Minix開源,供學 校內部的研究和教學,到了2000年,Andrew將Minix作業系統完全對外開源。

Minix由於完全對外開源之後,在網際網路上迅 速的傳播,但是大家在使用時,發展Minix不時很完美,內部存在各 種 各 樣問題。使用者將問題解決後,編寫了一 個補丁,將補丁以郵件的方式發給Andrew,但是Andrew教授最初的目的只是為了教學和研究。

於此同時,一位芬蘭的大學生出現了,叫Linus,在Minix作業系統基礎上,自己添加了一些補丁和外掛,並將其命名為Linux作業系統,並且完全對外開源,而且開 始維護Linux作業系統。

2.2 Linux的版本

Linux的版本分為兩種,一種是Linus團隊正在維護的開源核心版本。另一種是一些廠商基於核心版本封裝的發行版本。
Linux的核心版本官網:https://www.kernel.org/
Linux的發行版本,咱們需要學習的發行版本就時CentOS

三、Linux安裝

四、Linux的目錄結構

Windows的目錄結構是帶有碟符的。D: E: C:,而Linux中是沒有碟符的

在Xterm中輸入ls / 檢視Linux的頂 級目錄。

Linux的常用目錄……

  • root:該目錄為系統管理員HOME目錄,只有root使用者的家目錄在這 裡

  • bin:這個目錄下放著經常使用的命令,可執行的二進位制檔案

  • boot:這 裡存放的是啟動Linux時的一些核心檔案

  • etc:存放系統管理所需要的配置檔案和子目錄

  • home:普通使用者的HOME目錄

  • usr:預設安裝軟體的目錄,類似Windows中的Program Files目錄

  • var: 系統日誌檔案目錄

  • mnt: 當外接裝置需要掛載的時候,就需要掛載到mnt目錄下

  • opt:是主機額外安裝軟體的目錄

  • dev: 該目錄中主要存放的是一些外接裝置,例如U盤等其他,在其中的外接裝置是不能直接被使用的,需要掛載。(類似於windows下的分配碟符)

  • proc: 表示程序目錄,該目錄中儲存的是Linux執行時的程序,一般不要開啟,會卡

  • s b i n: 該目錄也存放一些可以執行的檔案,但是隻有超級管理員才可以執行

  • tmp: 系統臨時執行時,產生的一些臨時檔案,不需要刪除也不要動

五、Linux的基本命令


  1. 1 Linux中命令的基本格式:

指令 【選項】 【操作物件】

一 個指令可以包含多個選項

操作物件也可以是多個

需要注意,個別命令是不遵循這個格式

當命令中有多個選項時,可以寫在一 起的,並且選項也是由簡寫方式的 命令 -選項A選項B

Linux的基本操作命令,不遵循上述格式,但是後期會經常使用……

# 1. 我是誰 作用:顯示當前登入的使用者名稱
who am i

# 2. 我在哪
pwd

# 3. 檢視ip 地址
ip a | ip address

# 4. 清屏
clear

# 5. ping域名|ip
ping 地址

# 6. 強制停止
Ctrl + C

man + 命令   可以檢視該命令的執行引數和用法

六、Linux目錄命令【重 點


6.1 列出目錄

檢視指定目錄下的內容,預設檢視當前目錄下內容

Linux中的隱藏檔案是以.開頭的,當前目錄使用.表示,上一級目錄使用..表示

ls [-ald] [目錄名]
# 目錄名不填寫,預設為當前目錄。
# -a:列出的全部的檔案,包括隱藏檔案
# -l:列舉出全部的資訊
# -d:僅檢視目錄本身
  • “-”表示該文件的型別是檔案
  • “d”表示該文件的型別是資料夾
  • “l”表示快捷方式型別(連線型別)

ls -lh home/q i a n g g e 1/

  • pwd 命令,列印當前工作路徑

6.2 切換目錄

實現目錄間切換,使用絕對路徑、相對路徑、特 殊符號

cd 具體路徑 | 特 殊符號
特 殊符號 表達的路徑
. 當前目錄
.. 上一級目錄
/ 根目錄
~ 當前登入使用者的HOME目錄
- 返回

6.3 建立目錄

建立目錄,以及建立多級目錄方式

mkdir [-p] 目錄名
# -p:代表建立多級目錄時,使用

6.4 刪除目錄

刪除非空目錄或包含內容的目錄

# 只能刪除空目錄
rmdir 目錄名

# 刪除非空目錄
rm [-rf] 目錄名
# -r:代表遞迴刪除目錄下的全部內容
# -f:不詢問,直接刪除

6.5 複製目錄

復 制目錄下的全部內容

cp -r 來源目錄 目標目錄
# -r:遞迴復 制全部內容,必填項

6.6 移 動、重新命名目錄

移 動、重新命名目錄,會根據第二個引數指定具體操作邏輯

mv 目錄名 新目錄名 | 路徑
# 如果第 二個引數指定的路徑不存在,就是重新命名,如果第 二個引數的路徑存在,就是移 動

6.7 輸出重定向

: >:覆蓋輸出,會覆蓋掉原來的檔案內容

:>>:表示追加輸出,不會覆蓋掉原來的內容,會在原始的檔案的末尾進行追加

ls -la >ls.txt

七、中級指令

1、df指令

作用:檢視磁碟空間

語法:df -h

filesystem:檔案系統,相當於分割槽

size:分割槽的大小

used:被使用的大小

Avail:可以使用的

use%:被使用的百分比

Mounted on :表示的是掛載點

2、free -m (-g)

檢視系統記憶體使用情況,-m表示以兆為單位檢視使用情況

標紅的部分,表示為剩餘的,可用的記憶體。

swap:表示當記憶體的空間不夠時,臨時拿磁碟的空間來充當記憶體使用,效率不敢保證。

七、Linux的檔案命令【重 點


7.1 建立檔案

建立空檔案

touch 檔名1 檔名2 ……

7.2 編輯檔案

編輯檔案,後期最常的命令之一

vi 檔名 				# 檢視檔案。(檢視模式)
i | a | o   		  # 進入編輯模式。(編輯模式)
                      # i:在當前游標處,進入編輯模式。 
                      # a:在當前游標後一格,進入編輯模式。 
                      # o:在當前游標下一行,進入編輯模式。
esc				      # 退出編輯模式,回到檢視模式。
:				      # 從檢視模式進入到底行命令模式。(底行命名模式)
                      # 在底行命令模式下,輸入wq:儲存並退出。輸入q!:不儲存並退出
                      # 在檢視模式下,摁ZZ,可以快速儲存並退出。

7.3 vi檔案時,其他操作

編輯檔案時,常用的快捷鍵,方便操作

# 在vi檔案時,在底行命令模式下可以輸入以下常用內容
# 行號操作
set nu              # 檢視檔案的行號
to rownum           # 快速的跳轉到指定行
set nonu            # 取消行號
# 搜尋操作
/word               # 類似Windows的Ctrl + F搜尋檔案中的具體 內容所在位置,檢視下一 個可以輸入字母n
# 快速定位
G                   # 快速跳轉到最 後一行
gg                  # 快速跳轉到第 一行

7.4 檢視檔案(重 點)

根據不同的業務,可以選擇不同的檢視方式

#表示操作時間日期的(讀取和設定)-------------------重 點
語法1:date                  輸出形式:Tue Dec  7 10:35:58 CST 2021
語法2:date +%F             輸出形式:2021-12-07
語法3:date +"%Y-%m-%d"     輸出形式:2021-12-07
語法4:date +"%Y-%m"     輸出形式:2021-12
語法5:date "+%F %T"     輸出形式:2021-12-07 10:43:34 (引號讓年月日時分秒成為一 個整體)
語法6:date "+%Y-%m-%d %H:%M:%S"    輸出形式:2021-12-07 10:43:34 (引號讓年月日時分秒成為一 個整體)
語法7:獲取之前或者之後的某個時間,使用場景(備份)
date -d "-1 day" "+%Y-%m-%d %H:%M:%S"  輸出形式: 2021-12-06 11:02:45
date -d "+1 day" "+%Y-%m-%d %H:%M:%S"  輸出形式: 2021-12-07 11:02:45
date -d "-1 year" "+%Y-%m-%d %H:%M:%S"  輸出形式: 2020-12-06 11:02:45
date -d "+1 year" "+%Y-%m-%d %H:%M:%S"  輸出形式: 2022-12-06 11:02:45
“+”表示之後,“-”表示之前
單位有day、month、year
%F:表示完整的年月日
%T:表示完整的時分秒
%Y: 表示4位年份
%m: 表示月份(帶前導0)
%d: 表示日期(帶前導0)
%H: 表示小時(帶前導0)
%M: 表示分鐘(帶前導0)
%S: 表示秒數(帶前導0)

cal:作用是操作日曆
語法1:cal  等價於 cal -1 直接輸出當前月份的日曆
語法2:cal -3  輸出上個月加這個月和下個月的日曆
語法3:cal -y 2018  輸出某一年份的日曆








# 檢視檔案,直接展示到最 後一行
cat 檔名
此命令會將下面的檔案內容合併成一 個檔案
cat 檔名1  檔名2 檔名3 >新的檔案
# 從第 一行開 始檢視檔案內容,展示全部
tac 檔名

# 從最 後一行開 始展示
nl 檔名

# 顯示檔案的用時,展示行號
more 檔名
# 檢視大檔案時,可以一頁一頁的向下翻
# 嗯space向下翻頁,退出時摁q

less 檔名
# 檢視大檔案時,可以任意的向上或者向下翻
# 向上或向下翻頁摁PageUp和PageDown,一行一行檢視,摁游標的↑↓

# 檢視一 個檔案的前多少行,如果不指定就是預設檢視前10行
head -n 檔案路徑/檔名 (n表示數字)

# 檢視一 個檔案的後幾行,如果不指定就預設檢視檔案的後10行
tail -n 檔案路徑/檔名 (n表示數字)

# 檢視一個檔案的後幾行,可以動態變化(變化的內容不能是手動增加的,否則無法看到動態效果)可以藉助輸出重定向來進行,檢視效果
tail -f 檔案路徑/檔名

#統計檔案內容資訊,包含行數、單詞數、位元組數
wc -lwc 需要統計的檔案路徑
-l 表示行數
-w:表示單詞數
-c:表示的位元組數

7.4 管道(重要)

管道符:|

作用:管道可以用於“過濾”,“特 殊”,“擴充套件處理”

語法:管道不能單獨使用,必須配合前面所講的一些指令來一 起使用,其作用主要是用來輔助

1、過濾案例:需要通過管道查詢當前目錄下包含“Y”字元的目錄名稱

命令說明:

(1)、以管道作為分界線,前面的命令有個輸出,後面需要先輸入,再輸出。(通俗的講就是管道前面的輸出就是管道後面的輸入)

(2).grep指令:主要用於過濾

2、特 殊用法案例:通過管道的方法實現less的等價效果

cat 路徑 | less

3、擴充套件處理

請使用命令,統計某個目錄下文件的總個數

ls /root/q i a n g g e/| wc -l

7.5 移 動、重新命名檔案

移 動、重新命名目錄,會根據第 二個引數指定具體操作邏輯

mv 檔名 新檔名 | 路徑
# 如果第 二個引數指定的路徑不存在,就是重新命名,如果第二 個引數的路徑存在,就是移 動

7.6 復 制檔案

復 制檔案到指定目錄下

cp 檔名 路徑

7.7 刪除檔案

刪除檔案方式

rm [-f] 檔名
# -f:是否詢問