Linux入門操作介紹

Linux

是由unix衍生而來(小知識:mac也是使用unix核心),由全世界的程式設計師一起開發的開源系統。如今基於linux已經有了很多版本,我們後面使用的就是衍生版本之一的Ubuntu。

Ubuntu

安裝://cn.ubuntu.com/download/server/step1

VMware虛擬機

安裝://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位一位元組)

第六列:文件的最後一次修改時間

最後一列:文件名(前面有.的是隱藏文件,其餘為普通文件)

文件指令:

  1. 創建一個鏈接文件(就是某文件的快捷方式):ln .bash_logout kk

(創建後,會生成一個名為kk的文件,我們對此文件的操作相當於直接操作.bash_logout)

  1. 創建一個普通文件:touch test01 test02 test 03

  2. 創建一個文件夾:mkdir xxx

  3. 修改文件許可權:

    • 方法一: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--

  4. 修改文件擁有者:sudo chown root test :將test文件擁有者修改為root

  5. 修改文件所屬組:sudo chgrp root test:將test文件所屬組修改為root

  6. 複製文件:cp ../test study :將上一級目錄中下的test文件夾中的study文件負責到當前目錄

    (複製的時候要用與當前目錄的相對路徑去找需要複製的文件)

  7. 複製文件夾:cp -r ../test (-r代表循環文件夾內容)

  8. 移動文件(夾):mv test study :移動test文件到study文件夾中

    此操作必須在兩個目錄的公共父目錄中才可操作

  9. 重命名文件:mv test test02:當檢測沒有test02這個文件,就會將test文件名更改為test02

  10. 刪除文件:rm -r test:刪除test文件 (-r是指遞歸刪除文件夾中的內容)

  11. 批量刪除同後綴的文件:rm *.txt:批量刪除當前文件夾內以txt結尾的文件

  12. 搜索文件:sudo find /etc -name passwd :搜索/etc目錄下名為passwd的文件

  13. 批量搜索: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盤的快捷鍵

系統指令:

  1. 打開任務管理器:top (按q退出) 此時按1可以查看CPU核心的使用情況 輸入free可以查看系統記憶體使用情況

  2. 查看所有塊設備的資訊:lsblk

  3. 查看硬碟實體情況:sudo fdisk -l

  4. 掛載u盤:sudo mount /dev/sda1 u-test/:將/dev/sda1的u盤掛載在 u-test/文件下

  5. 取消掛載:sudo umount /dev/sda1

    (取消掛載需要先退出來u盤掛載的文件夾)

  6. 查看當前磁碟的使用情況:df

  7. 查看所有的進程:ps -ef

  8. 終止進程:kill 訊號 PID 如: kill -9 11438

    訊號:1 (HUP):重新載入進程;9 (KILL):殺死一個進程;15 (TERM):正常停止一個進程;

    PID通過查看進程可以得到進程的PID

  9. 關機:sudo shutdown 立即關機:sudo shutdown now

    (正常關機,只需要輸入shutdown即可,系統會創建一個關機計劃,並在指定時間關機,或是添加now表示立即關機)


壓縮解壓

使用tar命令來完成文件壓縮和解壓操作,在Linux中比較常用的是gzip格式,後綴名一般為.gz,tar命令的參數-c表示對文件進行壓縮,創建新的壓縮文件,-x表示進行解壓操作,-z表示以gzip格式進行操作,-v可以在處理過程中輸出一些日誌資訊,-f表示對普通文件進行操作

壓縮解壓指令:

  1. 壓縮文件:tar -zcvf test.tar.gz *.txt :壓縮當前文件夾內以txt結尾的文件,壓縮包名為 test.tar.gz
  2. 壓縮文件夾:tar -zcvf test.tar.gz test/ :壓縮test文件夾,壓縮包名為test.tar.gz
  3. 解壓到當前文件夾:tar -zxvf test.tar.gz

Vim

xim test01,若test01文件不存在則就會創建一個新的文件並進入vim編輯。若有該文件,則進入該文件的編輯狀態

這時我們直接輸入內容是無法完成的,因為默認進入之後為命令模式,Vim編輯器默認有三種模式:

img

  • 命令模式:此模式下可以輸入任意的命令進行操作,所有的輸入都被看做是命令輸入,而不是文本編輯輸入。
  • 編輯模式:此模式下輸入的任何內容都會以文本編輯方式寫入到文件中,就像我們直接在Windows的記事本中寫內容一樣。
  • 末行模式:此模式下用於輸入一些複雜命令,會在最後一行進行複雜命令的輸入。

vim默認介面為命令模式,輸入命令後就進入編輯模式;ESC可以退出編輯模式

進入末行模式: 退出末行模式:: 或者/

vim指令(進入到vim編輯介面)

命令模式——插入模式:

  1. i在游標前開始插入
  2. a游標後移一位,開始插入
  3. o直接跳到下一行,然後插入
  4. A在當前行的最後繼續寫入
  5. I在當前行的最前面繼續寫入

末行模式:

  1. :set number 開啟行號

  2. :w 保存

  3. :wq:x 保存並關閉

  4. :q 關閉

  5. :q! 強制關閉 (一般是不讓文件保存時使用)

  6. /it ?it 都可以開啟搜索功能

  7. :[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 撤銷上一步