一文讀懂Linux
學習目標
Linux 操作系統
- 常用命令:通過命令完成系統常用操作
- 常用軟件的使用(中文輸入法、python、pip、pycharm、vim、ssh、scp、nginx)
Linux 基礎知識
Linux:免費、開源的類UNIX操作系統
是一個多用戶、多任務、支持多線程和多CPU的操作系統。
是一個性能穩定的多用戶網絡操作系統,常用於服務器開發
- Linux 內核 :一套用於軟件與硬件交互的源碼
- 穩定版:沒有bug,軟件版本更新慢
- 測試版:有新功能,有新bug
- Linux 發行版:在Linux內核基礎上二次開發一套系統軟件(瀏覽器、聊天工具等)
- 在發行版本中可以完成少量類似windows的操作
- Ubuntu
- redcat
- centos
Ubuntu操作系統的安裝
虛擬機簡介:
一個安裝在操作系統上的特殊軟件,該軟件可以運行操作系統
虛擬機軟件中可以運行操作系統,常見的有VMware Workstation、Virtual Box等
Win10中安裝虛擬機
在虛擬機中安裝Ubuntu操作系統
在虛擬機中安裝CentOS操作系統
Win10+Ubuntu+CentOS 可以同時運行
Ubuntu的安裝
1、選擇配置類型
2、選擇鏡像
3、用戶名密碼
4、虛擬機位置
5、磁盤大小
6、自定義硬件
7、內存設置
8、網絡模式
網絡模式
- 選擇橋接:
- 虛擬機的ip和win10的ip會在同一個網段
- 相當於虛擬機和win10鏈接同一個路由器
- 選擇Nat模式:
- 虛擬機ip和win10的ip不在同一個網段
- 相當於win10是一個路由器並且路由器下方鏈接虛擬機
9、安裝成功
更改Ubuntu下載源
ubuntu下載源地址都在國外服務器,下載東西慢
可以更新軟件源,從國內服務器地址下載
- 在Ubuntu16中可以通過界面操作更改下載源
- 設置=> system setting=> soft update=> ubuntu soft => download from => aliyun
- 關閉重新加載
- 也可以更新apt的配置文件
- 實質上下載源地址存放在
/etc/apt/source.list
更新阿里雲地址 - sudo update重新加載
- 實質上下載源地址存放在
更改中文顯示與輸入
Ubuntu默認顯示英文 ,對於中文顯示、輸入需要單獨配置
- 設置顯示中文
- 設置=>system setting=>language support=>install/remove language=>勾選chinese simple
- 拖拽漢語放在最上方位置=>重啓操作系統
- 設置中文輸入
- 安裝中文輸入法 sudo apt-get install ibus-pinyin =>安裝完畢重啓系統
- 在拼音=>文本輸入設置=>切換下一個源 可以設置 切換輸入法快捷鍵
- 在拼音=>首選項=>拼音模式下可以去掉拼音糾錯=>重啓系統生效
Linux 目錄
/
代表系統根目錄,一般只存放文件夾/home
用戶家目錄/etc
軟件配置文件目錄/opt
安裝文件存放目錄/bin、/usr/bin、 /usr/local/bin
可執行文件路徑/lib、/usr/lib、 /usr/local/lib
依賴庫路徑/var/www
web 軟件部署目錄/proc
進程目錄
在linux操作系統下 一切皆文件
Linux 基礎命令
命令格式command [-options] [parameter1] …
說明:command
命令名,相應功能的英文單詞或單詞的縮寫[-options]
選項,可用來對命令進行控制,也可以省略,[]代表可選parameter1 …
傳給命令的參數:可以是零個一個或多個
磁盤操作命令
ls
展示目錄文件,常用參數 -alh
案例:ls -alh
-a 所有文件
-l 列表顯示更多信息
-h 可讀性強-alh
展示內容drwxr-xr-x 2 zzy admin 4.0K Mar 30 00:58 Desktop
d:文件夾 -代表文件 l代表鏈接
rwx:代表當前用戶權限可讀可寫可執行
r-x:代表當前用戶組權限可讀不可寫可執行
r-x:其他用戶可讀不可寫可執行
2 代表鏈接數
zzy代表文件所屬用戶
admin代表當前用戶組名
4.0K 文件大小
Mar 30 00:58 創建日期
Desktop 文件名>
重定向,可以用於將信息保存到文件
案例:ls -alh > content
>
使用會覆蓋原有內容>>
會在原有內容進行追加more
用於顯示文件內容,有分屏顯示效果
案例:more content
空格用於翻頁
q用於退出
閱讀結束直接退出cat
內容瀏覽,可以同時瀏覽多個文件
案例:cat content1 content2
|
管道,左邊輸出作爲右邊輸入
案例:ls -alh | more
clear
用於清除以前編寫命令cd
用於切換工作目錄 案例:cd /home/zzy
cd 不帶參數可以進入當前用戶家目錄
cd ~ 可以進入當前用戶家目錄
cd - 可以進入上次所在目錄pwd
查看當前所在目錄mkdir
文件夾創建
案例:mkdir temp
層級文件夾創建 mkdir -p 外層文件夾/內層文件夾rmdir
刪除空目錄
案例:rmdir temp
非空目錄可以使用rm -rf temp
touch
創建文件 案例:touch my.conf
rm
刪除文件,常用參數-rf
案例:rm my.conf
刪除非空目錄rm -rf tempdir
-r 代表遞歸刪除,-f 代表忽略錯誤find
查找文件,常用參數-name
案例:find -name '*.conf'
結合-name參數可以對文件進行查找,支持正則表達式cp
拷貝文件
案例:cp my.conf /home/zzy/my.conf
在修改配置文件之前都是先備份配置文件mv
移動文件
案例:mv my.conf /home/zzy/my.conf
tar
歸檔,可以管理多個文件,常用參數-cxtvf
案例:tar -cvf 歸檔名 文件1 文件2 ...
創建歸檔tar -tvg 歸檔名
列舉歸檔管理文件對象tar -xvf 歸檔名
解開歸檔gzip
解壓縮,常用參數-dr
案例:gzip -r 歸檔名
可以對歸檔進行壓縮gzip -d 壓縮文件名
可以對壓縮文件解壓which
命令用於查看命令所在位置 案例:which pip
ln
鏈接,分爲軟連接,硬鏈接- 硬鏈接:
- 案例:
ln file hfile
- 只能鏈接文件,不能鏈接目錄
- 佔用磁盤空間
- 源文件改變,硬鏈接文件改變
- 源文件刪除失效,硬鏈接變更爲文件
- 案例:
- 軟連接:
- 案例:
ln -s file sfile
- 可以鏈接文件或者目錄
- 不佔用磁盤空間,相當於快捷方式
- 源文件改變,軟連接文件改變
- 源文件刪除失效,軟連接失效
- 案例:
- 將Linux自帶python鏈接到python3.5
- 查看python
which python
- 刪除原有python的鏈接
sudo rm /usr/bin/python
- 創建新的python的鏈接
sudo ln -s /usr/bin/python3.5 /user/bin/python
- 再次輸入python就進入了python3
- 查看python
- 硬鏈接:
用戶權限命令
passwd
設置密碼
案例:sudo passwd
可以更改管理員root的密碼sudo passwd zzy
可以更改zzy的密碼su
切換用戶
案例:su
默認切換root賬戶su zzy
切換zzy賬戶useradd
創建賬戶等同adduser
,常用參數-m
先進入root賬戶
案例:useradd -m temp
-m參數代表默認創建家目錄userdel
刪除賬戶等同deluser
,常用參數-r
先進入root賬戶
案例:userdel -r temp
-r參數代表同時刪除家目錄exit
退出賬戶
會進入上一個賬戶,如果沒有上一個賬戶,則關閉終端chmod
權限更改
普通用戶只能更改自己所有文件權限
超級管理員可以更改所有文件權限
字母法:chmod u/g/o/a +/-/= r/w/x 對象
數字法:chmod 666 對象
更改文件夾時-R可以完成遞歸
系統命令
ps
查看進程,常用參數-ef,aux
案例:ps -ef | grep mysql
kill
殺死進程
案例:sudo kill -9 進程號
ping
查看網絡是否聯通
案例:ping baidu.com
ifconfig
查看網卡信息
vim文本編輯神器
VIM有3中模式: 命令模式、編輯模式、末行模式
vim + 文件名可以進入文件,默認爲命令模式
- 編輯模式
在命令模式下可以使用i I a A o O
進入編輯模式
在編輯模式下按下ESC鍵可以退出 進入命令模式
i在光標前插入 I在行首插入
a在光標後插入 A在行末尾插入
o在下面一行,O在上面一行插入 - 命令模式
- 移動光標
h 向左
j 向下
k 向上
l 向右
gg 移動到開頭
G 移動到結尾
M 移動到中間
數字 G 移動到指定行
-
- 刪除指令
x向後刪除
X向前刪除
dd刪除當前行
n dd刪除n行
D刪除光標之後內容
d0刪除光標之前內容
+ 撤銷與反撤銷
撤銷 u
反撤銷 ctrl+r
+ 複製粘貼
yy 複製當前行
n yy複製n行
p 粘貼
+ 查找
/abc 可以查找字符串abc
n找下一個
N找上一個
- 末行模式
- 行號
:set nu 顯示行號
:set nonu 不顯示行號
-
- 退出保存
:q 退出未修改文件
:q! 退出文件不保存
:wq 退出並且保存
如果文件修改了,但是直接強退終端,會產生臨時文件
可以刪除隱藏的臨時文件
SSH協議
SSH協議可以用於Linux遠程登錄
- 需要在服務器(被登錄電腦)安裝 openssh-server
sudo apt install openssh-server
- 需要在客戶端(用於登錄的電腦)安裝client(win10自帶)
win10登錄win + r
打開運行窗口
輸入ssh 用戶名@IP
即可登錄
第一次登錄服務器需要輸入yes確認,以後就不用了
如果輸入錯誤導致登錄窗口閃退,需要在C:\Users\Administrator\.ssh
刪除 known_hosts文件即可
SCP文件傳輸
使用該命令的前提條件要求目標主機已經成功安裝openssh-server
使用格式
- 本地文件複製到遠程
scp FileName RemoteUserName@RemoteHostIp:RemoteFile
- 本地目錄複製到遠程
scp -r FolderName RemoteUserName@RemoteHostIp:RemoteFolder
- 遠程文件複製到本地
scp RemoteUserName@RemoteHostIp:RemoteFile FileName
- 遠程目錄複製到本地
scp -r RemoteUserName@RemoteHostIp:RemoteFolder FolderName
Ubuntu安裝pip
- Ubuntu自帶了Python2和python3
默認python鏈接的是python2
可以刪除默認的python鏈接
創建新鏈接鏈接到python3 - Ubuntu沒有自帶python的包管理工具pip
需要自行安裝python3的pip
sudo apt install python3-pip
安裝成功即可使用pip3
可以創建pip軟連接到pip3,使用方便符合習慣
Ubuntu安裝Pycharm
下載 linux版本(如果在win10上下載 可以使用scp命令拷貝到ubuntu)pycharm-community-2018.2.4.tar.gz
- 將壓縮包解壓
gzip -d pycharm-community-2018.2.4.tar.gz
- 解開歸檔
tar -xvf pycharm-community-2018.2.4.tar
- 也可以一步完成,解壓後解開歸檔
tar -gxvf pycharm-community-2018.2.4.tar.gz
- 安裝
cd bin
sh pycharm.sh
可以在安裝pycharm時創建快捷指令
也可以在.bashrc
中添加啓動配置
進入當前用戶主目錄 .bashrc
alias charm="bash /opt/pycharm-community-2018.2.4/bin/pycharm.sh"
source .bashrc
VUE 項目部署流程
- 在Ubuntu服務器安裝nginx
sudo apt install nginx
- 安裝好之後會自動在/var 目錄自動添加www目錄
- 發佈vue項目(發佈的結果可以得到dist文件夾)
npm run build
- 將dist文件夾同步到ubuntu
scp -r dist 用戶名字@IP地址:vue_demo
- 輸入密碼之後即可同步
- 將同步的文件夾移動到 /var/www
比如移動的結果爲 /var/www/vue_demo - 添加項目所對應的nginx配置文件
在/etc/nginx/conf.d
目錄新建配置文件vue_demo.conf
sudo vim nginx.conf
編輯添加
server {
listen 1912;
root /var/www/vue_demo;
index index.html
}
- 重啓nginx服務
sudo nginx -s stop
sudo nginx
就可以在win10或者手機訪問VUE項目了