Linux入門操作介紹

来源:https://www.cnblogs.com/buchizicai/archive/2022/08/07/16517419.html
-Advertisement-
Play Games

“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位一位元組)

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

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

文件指令:

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

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.七個網站的Python實戰代碼 1.汽車之家 def t1(): #汽車之家 ##請上傳JPG、JPEG、BMP格式圖片 import requests from requests_toolbelt import MultipartEncoder from bs4 import Beautifu ...
  • Java中線程的狀態類型 線程的狀態類型 源碼作者的原註釋關於線程內部類State描述了線程的六個狀態 A thread state. A thread can be in one of the following states: ①、NEW 尚未啟動的線程處於此狀態 源碼中的註釋 A thread ...
  • Swagger介面管理文檔 訪問介面文檔的網頁:http://localhost:8080/swagger-ui/index.html 導入依賴 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-start ...
  • 1、基於jQuery的Ajax 1.1 基本Ajax | 參數 | 說明 | | | | | url | 請求地址 | | type | 請求類型 | | data | 請求參數 | | dataType | 返回參數 | | success | 成功處理函數 | | error | 錯誤處理函數 ...
  • “索引什麼時候失效?” 面試過程中,突如其來的一個問題,是不是有點懵? 沒關係,關註我,面試不迷路。 我是Mic,一個工作了14年的Java程式員。 索引失效涉及到的知識點非常多,所以我把這個問題的回答整理到了一個20W字的面試文檔裡面,大家可以領取。 下麵看看高手的回答 高手: InnoDB引擎里 ...
  • django中資源文件夾的引入 1.靜態資源文件夾的引入 settings.py的配置如下所示: # django預設配置 STATIC_URL='static/' # django會去應用裡面的static文件夾找靜態資源,僅當DEBUG為True時 # BASE_DIR是項目的絕對地址 STAT ...
  • 它是基於Django的,幫助我們快速開發符合RESTful規範的介面框架。 一 路由 可以通過路由as_view()傳參 根據請求方式的不同執行對應不同的方法 在routers模塊下 封裝了很多關於路由的方法 , 最基礎的BaseRouter類,給我提供自定製的介面。 下麵這個方法給我們提供了自動生 ...
  • 配置文件設置 set number (設置行號) set nocompatible (設置不相容vi模式,不設置會導致許多vim特性被禁用) set clipboard=unnamed (設置普通的複製粘貼的內容和vim複製的內容相互使用) 打開、編輯,查找文件 vim + 任意文件名,如vim f ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...