Ubuntu20.04 Linux初識

Ubuntu簡述

Ubuntu是常見的三大操做系統Windows、MacOS、Linux中,linux的其中一個發行版;linux系統有着種類繁雜的發行版,其中RedHet、CentOS、Ubuntu、Debian、Deepin(國人開發)等。
Linux主要應用於服務器操做系統,它相對與Windows更加的穩定和安全。html

系統文件結構

linux 系統文件結構爲目錄樹結構,java

/
/home/vfx
/root
/bin
/mnt
/etc
/ 根目錄,相似與windows的C盤,linux的/根目錄包含其餘全部的目錄,是其餘目錄的父級。 /home/vfx 用戶文件夾,在home下每當建立一個用戶,都會建立一個用戶文件夾,當前用戶是fx。 /root 管理員文件夾,每一個系統都有一個管理員,該用戶擁有當前系統的最高權限。 ......

linux文件的權限機制有利與保護系統的安全,避免用戶的誤操做。
對於普通用戶來講,可以操做和修改的文件僅限於當前用戶的文件,管理員則能夠管理包括系統文件在內的全部文件。
python

經常使用的命令 cd ls cp rm tar

ls,list的縮寫,列出目錄下的全部項(包括文件和文件夾)

例:列出home下fx用戶的全部項mysql

ls /home/vfx

模板 圖片 下載 桌面 snap
公共的 視頻 文檔 音樂 Documentslinux

tips:
在linux終端操做時可使用Tab來補全未寫全的命令,使用上下健來獲取操做命令歷史。redis

pwd,即print working directory顯示打印當前的工做目錄。

cd 切換目錄,切換或改變當前操做執行在系統目錄中的位置。

例:切換到home下的vfx目錄下sql

cd /home/vfx

tips:
linux的幾個特殊的目錄:
~ 表明當前用戶的主目錄
. 表明當前目錄
.. 表明上一級目錄
cd ~ 切換到主目錄
cd ~/home 切換到主目錄下home目錄下
cd ../maxman 切換到上一級目錄下一個名字叫maxman子目錄下shell

mkdir,make directory建立目錄(文件夾)

例:建立一個名字爲python的文件夾ubuntu

mkdir python

例:在home下建立一個名字爲maxman的文件夾vim

mkdir /home/maxman

建立多層文件夾(一次性建立多個層級嵌套的文件目錄樹) -p

mkdir -p /new/max/man

rm,即remove刪除文件或者目錄

例:刪除maxman目錄

rm -rf maxman

這裏的r表示recursive遞歸刪除,f即是force強制刪除(謹慎使用)

cp,即copy複製文件或目錄

例:複製maxman到用戶目錄下

cp -rf maxman /home/vfx

mv,即move移動文件或目錄(重命名)

例:重命名maxman爲houdini

mv maxman houdini

這是manman目錄就會變爲houdini,若是houdini已經存在,則自動變爲houdini1或者houdini...

tar,即tape archive檔案打包、建立檔案包

tar -cvf maxman.tar maxman

-cvf打包,其中c表示create建立檔案,v表示verbose顯示詳情,f表示文件
也能夠一次打包多個文件"tar -cvf xxx.tar file0 file1 file2"

tar -xvf maxman.tar -C /home/manman

-xvf解包,其中-C(大寫)用來指定解包後文件要存放的地址,不指定默認解包到當前目錄下

歸檔並壓縮

-cfx -xvf 只是對文件目錄進行打包和解包,沒有對文件進行壓縮;
-czvf -xzvf 則是在打包或解包時同時對文件進行壓縮和解壓縮處理;
一般所見到的*.tar.gz格式就是壓縮打包形式

ln 軟連接,即windows下的"快捷方式"

使用ln命令(link)來建立軟連接
ln -s source link
其中,-s表示soft軟連接(默認爲硬)

ln -s maxman /home/vfx/桌面/manman

鏈接maxman到桌面的maxman

文本編輯器 vi gedit

vi/vim,是一個基於控制檯的文本編輯器,vim是vi的升級版
gedit,是一個基於GUI的文本編輯器

vim name.txt #打開name.txt文件,若是該文件存在則打開編輯,若是不存在則建立後打開

若是系統上沒有vim,可使用"sudo apt install vim"安裝

vim的基本用法

模式的切換
編輯模式Insert Mode 按鍵盤i鍵進入
命令模式Command Mode 按鍵盤ESC鍵進入
保存和退出命令
:wq 保存並推出
:q 退出
:q! 強制退出
:qw! 強制保存退出

vim的更多用法

vim 是一個全鍵盤操做的文本編輯器,工做效率比較底,掌握基本的用法便可,若是須要了解更多複雜的操做能夠到網絡上臨時搜索用法便可

本人推薦使用vscode簡單、強大、漂亮

用戶及權限系統 chmod

Ubuntu用戶管理

添加用戶

sudo useradd -m username

sudo表示使用管理員的身份執行操做,-m表示在/home下添加用戶目錄
刪除用戶

sudo userdel username

修改用戶密碼

sudo passwd username

除了管理員,還有特殊用戶和普通用戶的區別,區別在於特殊用戶能夠在命令前加sudo來暫時使用管理員權限,普通用戶則不能夠;能使用sudo權限的用戶爲sudoer

超級管理員

首次使用root用戶須要設置管理員密碼

sudo passwd root

切換到root用戶

su root

su表示switch user

退出管理員權限

exit

文件的權限

ls -l

-rwxrwxrwx
drwxrwxr-x
使用ls -l 能夠列出文件的權限信息,列出的字符中前面的十個字符第一個(紅色)表示文件類型,-表示文件,d表示目錄,l表示連接;而後剩下的九個三個爲一組分別表示當前用戶的權限、同組用戶對該文件的權限、其餘用戶對該文件的權限;
r表示可讀,w表示可寫,x表示可執行,每一組都用rwx來表示權限,-表示權限禁止;
rxw可讀可寫可執行 rx-可讀可寫不可執行 r--可讀不可寫不可執行 ---不可讀不可寫不可執行

文件權限的修改

chmod,即change file mode 修改文件的訪問權限
好比,一個文件想讓其餘用戶可寫

chmod o+w file

其中,o表示其餘人;+w表示增寫write權限;-w表示除去寫入write權限

a表示全部人;u表示當前用戶;若是w前不指定對象,則表示應用與當前用戶及其所在組用戶的權限

修改文件的屬主

chown,即change owner修改文件的屬性
通常來講,每一個用戶都只對本身的文件進行操做,不多使用到這個命令

chown -R vfx /opt/maxman

將/opt/maxman目錄(-R及其子目錄)的屬主改成vfx用戶

shell腳本入門 .sh

腳本Script,一種解釋執行的程序。
Linux下常見的三種腳本程序
-shell腳本 *.sh
-Pell腳本 *.pl
-Python腳本 *.py

shell腳本,是linux自帶的腳本語言,相似與windows下的dos批處理腳本

#!/bin/sh
echo "hello,world"

一個簡單的打印hello world的shell腳本

chmod +x hello.sh

添加執行權限

./hello.sh

執行shell腳本

書寫shel腳本時第一行要聲明(#!/bin/sh)解釋器,要擁有執行權限纔可執行

shell中的變量

典型的環境變量,PATH,JAVA_HOME

定義變量

#!/bin/sh
OUTDIR=/opt     #定義變量
echo"output to : ${OUTDIR}"     #使用變量
ls ${OUTDIR}

定義變量NAME=alue等號的左右兩側不要有空格
使用\({NAME}來調用變量,若是有定界符,則能夠簡寫爲\)NAME,例如 echo ${NAME}/build
經常使用命令 exho打印 ls列出目錄 cd跳轉位置 cp複製文件目錄
if邏輯判斷 while循環邏輯

環境變量

export OUTDIR=/opt  #環境變量的定義
echo ${OUTDIR}  #顯示環境變量
printenv    #顯示當前系統的全部環境變量

在命令行中定義的環境變量,只有對當前shell終端有效;當終端關閉、重啓後消失;

用戶環境變量

tips:使用"ls -a"能夠查看當前目錄下的全部文件(包括隱藏文件)

gedit ~/.profile    #打開.profile用戶隱藏文件件
export PLUGIN_PATH=/opt/houdini_plugin   #添加自定義變量到.profile內
echo $PLUGIN_PATH   #註銷或重啓系統後生效

經過.profile添加的環境變量,對當前用戶有效,每一個有戶都有本身的.profile文件;有的linux系統中使用的是.bash_profile文件

系統環境變量

系統環境變量定義在"/etc/profile"文件中,在這裏定義的環境變量對當前系統下的全部用戶有效

sudo gedit /etc/profile     #通常不會直接修改/etc/profile,而是在/etc/profile.d建立一個自定義的腳本
sudo gedit /etc/profile.d   #添加自定義全局變量到/etc/profile.d目錄下
sudo gedit /etc/profile.d/new.sh    #建立一個名字爲new.sh的腳本,在上面添加自定義全局變量export PATH=/opt/hfs18.5.358

註銷重啓後生效

linux中的PATH環境變量

PATH,最多見的一個環境變量,用於描述可執行程序的搜索路徑

echo $PATH   #顯示當前系統PATH環境變量

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
每一個路徑用冒號隔開

#!/bin/sh
export PATH=$PATH:/opt/houdini_plugin

這裏$PATH引入當前已有的變量,不引入會覆蓋以前的PATH
sbin目錄下的爲超級管理員root才能夠執行的程序
/usr/下是系統自帶的程序
/usr/local/下是用戶安裝的程序

ubuntu中手動配置網絡

ifconfig    #查看當前網絡配置,默認系統沒有安裝」sudo apt install net-tools「

ifconfig會列出當前系統全部的網絡接口及接口的狀態信息,其中if表示interface網絡接口;第一行冒號前面的字符就是網絡接口的名字

sudo ifconfig xxxx up   #開啓網絡接口
sudo ifconfig xxxx down #關閉網絡接口

常見的服務器 vsftpd

在部署網站等須要使用到雲服務器操做時,都會將本地的文件上傳到雲服務器上,這時就須要使用網絡傳輸的方式將文件部署到雲端。
網絡傳輸通常有FTP、SFTP兩種方式。

FTP服務器

客戶端 FileZilla(Windows)
服務器 vsftpd(Ubuntu)
略......

SFTP服務器

使用Xshll遠程登錄
使用Xftp傳輸文件
略......

文本文件的上傳

文本文件的換行符
Windows: \r\n
Linux: \n

Java/Tomcat運行環境的搭建等

Linux程序與進程

程序Program:指一個程序文件,如houdini.exe
進程Process:但一個程序在系統上運行是,系統會建立一條用來描述程序運行狀態的記錄,這個記錄就叫作進程

ps -ef查看系統全部進程

User執行者,PID進程ID,PPID父進程ID,STIME啓動時間,CMD啓動時調用的命令行

ps -ef | grep houdini 
#vfx        43668    1538 82 11:56 ?        00:00:13 /opt/hfs18.5.351/bin/houdinifx-bin
#vfx        43738   39606  0 11:57 pts/0    00:00:00 grep  (省略) -dir=.tox houdini

按名字查找進程,"ps -ef"將讀取的信息輸出,重定向給"grep"命令進行過濾處理

ps -ef | grep xxxx 經常使用命令,必記

使用top命令動態查看系統進程

top

按上下鍵翻閱或者PaUp和PaDn翻頁預覽
按q或者CLRT+C終止退出

top | grep houdini #查看houdini動態進程
top - p  43668 #"top -p PID"能夠查看進程詳細的使用狀態

top -p xxxx 經常使用命令,必記

使用kill殺死終結系統進程

kill -9 PID #PID進程id號,使用"ps -ef"查看

使用pkill查找並殺死終結系統進程

Ctrl+C 終止進程

前臺進程與後臺進程

差別1:有無控制檯
前臺進程,有控制檯,運行結果輸出至當前終端
後臺進程,無控制檯,看不到輸出(運行狀態)
差別2:有無父進程
前臺進程,有父進程,父進程即當前終端;當終端關閉時,進程被一同關閉
後臺進程,有父進程,父進程爲系統進程(1號進程);當終端關閉時,後臺進程不受影響

xxxx run之前臺方式運行
xxxx start之後臺方式運行

其餘軟件的編譯與安裝 Redis

MySQL服務器安裝

MySQL跨平臺,"免費"
MariaDB是MySQL的免費開源版本
MySQL安裝配置

特別感謝阿發你好提供的學習資料

相關文章
相關標籤/搜索