Ubuntu簡述
Ubuntu是常見的三大操作系統Windows、MacOS、Linux中,linux的其中一個發行版;linux系統有着種類繁雜的發行版,其中RedHet、CentOS、Ubuntu、Debian、Deepin(國人開發)等。
Linux主要應用於服務器操作系統,它相對與Windows更加的穩定和安全。
系統文件結構
linux 系統文件結構為目錄樹結構,
/
/home/vfx
/root
/bin
/mnt
/etc
/ 根目錄,類似與windows的C盤,linux的/根目錄包含其他所有的目錄,是其他目錄的父級。 /home/vfx 用戶文件夾,在home下每當創建一個用戶,都會創建一個用戶文件夾,當前用戶是fx。 /root 管理員文件夾,每個系統都有一個管理員,該用戶擁有當前系統的最高權限。 ......
linux文件的權限機制有利與保護系統的安全,避免用戶的誤操作。
對於普通用戶來說,能夠操作和修改的文件僅限於當前用戶的文件,管理員則可以管理包括系統文件在內的所有文件。
常用的命令 cd ls cp rm tar
ls,list的縮寫,列出目錄下的所有項(包括文件和文件夾)
例:列出home下fx用戶的所有項
ls /home/vfx
模板 圖片 下載 桌面 snap
公共的 視頻 文檔 音樂 Documents
tips:
在linux終端操作時可以使用Tab來補全未寫全的命令,使用上下健來獲取操作命令歷史。
pwd,即print working directory顯示打印當前的工作目錄。
cd 切換目錄,切換或改變當前操作執行在系統目錄中的位置。
例:切換到home下的vfx目錄下
cd /home/vfx
tips:
linux的幾個特殊的目錄:
~ 代表當前用戶的主目錄
. 代表當前目錄
.. 代表上一級目錄
cd ~ 切換到主目錄
cd ~/home 切換到主目錄下home目錄下
cd ../maxman 切換到上一級目錄下一個名字叫maxman子目錄下
mkdir,make directory創建目錄(文件夾)
例:創建一個名字為python的文件夾
mkdir python
例:在home下創建一個名字為maxman的文件夾
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安裝配置
特別感謝阿發你好提供的學習資料
