“Linux,全稱GNU/Linux,是一種免費使用和自由傳播的類UNIX操作系統,其內核由林納斯·本納第克特·托瓦茲於1991年10月5日首次發佈,它主要受到Minix和Unix思想的啟發,是一個基於POSIX的多用戶、多任務、支持多線程和多CPU的操作系統。 ...
Linux
是由unix衍生而來(小知識:mac也是使用unix核心),由全世界的程式員一起開發的開源系統。如今基於linux已經有了很多版本,我們後面使用的就是衍生版本之一的Ubuntu。
Ubuntu
安裝:https://cn.ubuntu.com/download/server/step1
VMware虛擬機
安裝:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
安裝完後需要輸入註冊碼才能使用,網上隨便找找
在虛擬機上安裝Linux系統的時候,記得打× OpenSSH 意思是安裝openssh。
(如果沒安裝openssh,就安裝完Linux執行該命令:sudo apt install openssh-server
Xshell Xftp
安裝:需要去網上下載破解版
xshell:用於連接並操作虛擬機(直接操作虛擬機比較麻煩,在window用xshell操作方便點)
xftp:用於將window中的文件傳給linux
(兩者都是直接新建一個項目,然後輸入路由器分配給該虛擬機的ip地址即可連接)
補充:Linux查看ip地址的方法:ifconfig
用戶和用戶組
介紹:Linux系統需要創建用戶才可以操作,創建的每個用戶都有相應的數據存放文件(如conan用戶在home/conan)。但預設有一個root用戶(許可權最高,一般不切換到該用戶,危!),其的root文件與home同一目錄。
因為root許可權太高了,所以一般是普通用戶使用sudo命令暫時得到root許可權執行某個語句
狀態信息介紹:格式為:用戶名@伺服器名稱:當前所處的目錄$,~代表用戶目錄,如果不是用戶目錄,會顯示當前的絕對路徑地址。
conan@ubuntu-server:~$
用戶指令:
查看當前文件所在目錄:pwd
切換到root用戶:sudo -s
切換用戶:su conan
退出當前用戶:exit
添加新用戶:sudo useradd study -m -s /bin/bash
【在用戶創建時順便創建用戶的文件夾,並指定shell(任意一種命令解釋程式,用於處理我們輸入的命令)為bash】
為用戶添加密碼:sudo passwd study
刪除用戶:sudo userdel study
查看當前登錄賬號(不是正在操作文件的賬號):who
查看當前用戶所在的用戶組:groups
查看當前用戶所屬的用戶組的相關信息:id
查看指定用戶的所屬用戶組的相關信息: id test
為用戶添加sudo許可權:sudo usermod study -G sudo
(在創建新用戶的時候,是沒有sudo許可權的,需要通過sudo去添加許可權)
查詢文件夾中的一般文件:ls
查詢文件夾中的隱藏文件:la
查詢文件夾中all文件的詳細信息:ll
(也可以在其後面加文件名,表示查看指定文件的詳細信息)
.
..
分別代表當前文件夾,以及上一級文件夾。 可以中間加空格配合以上幾個一起使用 如:ls ..
顯示上一級的一般文件
切換到某文件夾:cd xx/xx
切換到當前用戶下的文件夾:cd ~
文件
文件詳細信息介紹
test@ubuntu-server:~$ ls -al
total 44
drwxr-xr-x 4 test test 4096 Jan 24 08:55 .
drwxr-xr-x 4 root root 4096 Jan 24 04:24 ..
-rw------- 1 test test 2124 Jan 24 04:29 .bash_history
-rw-r--r-- 1 test test 220 Feb 25 2020 .bash_logout
-rw-r--r-- 1 test test 3771 Feb 25 2020 .bashrc
drwx------ 2 test test 4096 Jan 21 15:48 .cache
drwx------ 3 test test 4096 Jan 23 14:49 .config
-rw-r--r-- 1 test test 807 Feb 25 2020 .profile
-rw------- 1 test test 34 Jan 24 04:17 .python_history
-rw-r--r-- 1 test test 0 Jan 21 15:52 .sudo_as_admin_successful
-rw------- 1 test test 7201 Jan 24 08:55 .viminfo
第一列:
第一個字元表示:文件類型(-
表示普通文件,l
為鏈接文件,d
表示目錄(文件夾),c
表示字元設備、b
表示塊設備,還有p
有名管道、f
堆棧文件、s
套接字等,這些一般都是用於進程之間通信使用的)
第2-4個字元表示(U):文件的擁有者(User)對該文件的許可權
第5-7個字元表示(G):文件所屬同一用戶組(Group)內用戶對該文件的許可權
第8-10個字元表示(O):其他用戶(Other)對該文件的許可權
第二列:文件創建的鏈接文件(快捷方式)數量,一般只有1表示只有當前文件
第三列:該文件或是目錄的擁有者。
第四列:文件所屬的組。
第五列:文件大小,以位元組為單位。(8位一位元組)
第六列:文件的最後一次修改時間
最後一列:文件名(前面有.的是隱藏文件,其餘為普通文件)
文件指令:
- 創建一個鏈接文件(就是某文件的快捷方式):
ln .bash_logout kk
(創建後,會生成一個名為kk的文件,我們對此文件的操作相當於直接操作.bash_logout)
-
創建一個普通文件:
touch test01 test02 test 03
-
創建一個文件夾:
mkdir xxx
-
修改文件許可權:
-
方法一:
chmod (u/g/o/a)(+/-)(r/w/x) 文件名稱
從ugo中選擇或是直接a表示所有,+和-表示添加和刪除許可權舉例:
chmod a-w test
意思是test的all許可權都減少w的許可權 -
方法二:
chmod 三個數子 文件名稱
約定:r=4,w=2,x=1,需要什麼許可權就讓對應許可權的數字相加,一個數字表示一個rwx的許可權狀態舉例:
chmod 664 test
是指定該文件的許可權為-rw-rw-r--
-
-
修改文件擁有者:
sudo chown root test
:將test文件擁有者修改為root -
修改文件所屬組:
sudo chgrp root test
:將test文件所屬組修改為root -
複製文件:
cp ../test study
:將上一級目錄中下的test文件夾中的study文件負責到當前目錄(複製的時候要用與當前目錄的相對路徑去找需要複製的文件)
-
複製文件夾:
cp -r ../test
(-r代表迴圈文件夾內容) -
移動文件(夾):
mv test study
:移動test文件到study文件夾中此操作必須在兩個目錄的公共父目錄中才可操作
-
重命名文件:
mv test test02
:當檢測沒有test02這個文件,就會將test文件名更改為test02 -
刪除文件:
rm -r test
:刪除test文件 (-r是指遞歸刪除文件夾中的內容) -
批量刪除同尾碼的文件:
rm *.txt
:批量刪除當前文件夾內以txt結尾的文件 -
搜索文件:
sudo find /etc -name passwd
:搜索/etc目錄下名為passwd的文件 -
批量搜索:
sudo find /etc -name p*
:搜索/etc目錄下名字p開頭的文件
系統管理
掛載:指的就是將設備文件中的頂級目錄連接到 Linux 根目錄下的某一目錄(最好是空目錄),訪問此目錄就等同於訪問設備文件。
(比如我們的主硬碟,掛載點就被設定為/
根目錄,而我們所有保存的文件都會存儲在硬碟中,如果你有U盤,最好將U盤的文件格式改為ExFat,可以直接在Windows中進行格式化)
找u盤設備名稱:①根據記憶體容量找到u盤的位置(我的為:/dev/sdb ②在去招u盤位置下麵Device中是 /dev/sdb1還是/dev/sdb 。最後找u盤的位置需要根據Device顯示路徑的去找
掛載:是將u盤內的東西掛在指定的文件夾里(相當於該文件夾是u盤的快捷鍵
系統指令:
-
打開任務管理器:
top
(按q退出) 此時按1
可以查看CPU核心的使用情況 輸入free
可以查看系統記憶體使用情況 -
查看所有塊設備的信息:
lsblk
-
查看硬碟實體情況:
sudo fdisk -l
-
掛載u盤:
sudo mount /dev/sda1 u-test/
:將/dev/sda1
的u盤掛載在u-test/
文件下 -
取消掛載:
sudo umount /dev/sda1
(取消掛載需要先退出來u盤掛載的文件夾)
-
查看當前磁碟的使用情況:
df
-
查看所有的進程:
ps -ef
-
終止進程:
kill 信號 PID
如:kill -9 11438
信號:1 (HUP):重新載入進程;9 (KILL):殺死一個進程;15 (TERM):正常停止一個進程;
PID通過查看進程可以得到進程的PID
-
關機:
sudo shutdown
立即關機:sudo shutdown now
(正常關機,只需要輸入shutdown即可,系統會創建一個關機計劃,併在指定時間關機,或是添加now表示立即關機)
壓縮解壓
使用tar
命令來完成文件壓縮和解壓操作,在Linux中比較常用的是gzip格式,尾碼名一般為.gz,tar命令的參數-c表示對文件進行壓縮,創建新的壓縮文件,-x表示進行解壓操作,-z表示以gzip格式進行操作,-v可以在處理過程中輸出一些日誌信息,-f表示對普通文件進行操作
壓縮解壓指令:
- 壓縮文件:
tar -zcvf test.tar.gz *.txt
:壓縮當前文件夾內以txt結尾的文件,壓縮包名為 test.tar.gz - 壓縮文件夾:
tar -zcvf test.tar.gz test/
:壓縮test文件夾,壓縮包名為test.tar.gz - 解壓到當前文件夾:
tar -zxvf test.tar.gz
Vim
xim test01,若test01文件不存在則就會創建一個新的文件併進入vim編輯。若有該文件,則進入該文件的編輯狀態
這時我們直接輸入內容是無法完成的,因為預設進入之後為命令模式
,Vim編輯器預設有三種模式:
- 命令模式:此模式下可以輸入任意的命令進行操作,所有的輸入都被看做是命令輸入,而不是文本編輯輸入。
- 編輯模式:此模式下輸入的任何內容都會以文本編輯方式寫入到文件中,就像我們直接在Windows的記事本中寫內容一樣。
- 末行模式:此模式下用於輸入一些複雜命令,會在最後一行進行複雜命令的輸入。
vim預設界面為命令模式,輸入命令後就進入編輯模式;
ESC
可以退出編輯模式進入末行模式
:
退出末行模式::
或者/
vim指令(進入到vim編輯界面)
命令模式——插入模式:
i
在游標前開始插入a
游標後移一位,開始插入o
直接跳到下一行,然後插入A
在當前行的最後繼續寫入I
在當前行的最前面繼續寫入
末行模式:
-
:set number
開啟行號 -
:w
保存 -
:wq
或:x
保存並關閉 -
:q
關閉 -
:q!
強制關閉 (一般是不讓文件保存時使用) -
/it
?it
都可以開啟搜索功能 -
:[addr]s/源字元串/目的字元串/[option]
替換功能 舉例::s/it/he/g
:將當前行中的it
全部替換為he
addr表示第幾行或是一個範圍,option表示操作類型:
- g: globe,表示全局替換
- c: confirm,表示進行確認
- p: 表示替代結果逐行顯示(Ctrl + L恢復屏幕)
- i: ignore,不區分大小寫
可視化模式:
在vim界面 按下鍵盤上的
v
即可進入,它能夠支持選取一段文本,選取後,我們可以對指定段落的文本內容快速進行複製、剪切、刪除、插入等操作,非常方便。在此模式下,我們可以通過上下左右鍵進行選取,以進入可視化模式時的位置作為基本位置,通過移動另一端來進行選取。
對選中的區域操作:
- y 複製選中區域
- d/x 剪切(刪除)選中區域
- p 粘貼
- u 撤銷上一步