日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux基本的操作

發(fā)布時間:2023/12/13 linux 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux基本的操作 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、為什么我們要學(xué)習(xí)Linux

相信大部分人的PC端都是用Windows系統(tǒng)的,那我們?yōu)槭裁匆獙W(xué)習(xí)Linux這個操作系統(tǒng)呢???Windows圖形化界面做得這么好,日常基本使用的話,學(xué)習(xí)成本幾乎為零。

而Linux不一樣,可能剛接觸Linux的人會認(rèn)為:Linux好麻煩哦,不好玩,都是字符界面。不直觀、這個破系統(tǒng)是用來干嘛的~~

日常用的話Windows是比較順手的,但是我們要知道的是:我們開發(fā)出來的程序一般都是放在Linux下運行的。

那可能就會有人提出疑問了:Windows同樣是操作系統(tǒng),為啥要放在Linux下,而不放在Windows下呢??相信Windows也是可以運行我們寫出來的程序的。

我總結(jié)了Linux的幾個優(yōu)點:

  • 免費
  • 很多軟件原生是在Linux下運行的,龐大的社區(qū)支持,生態(tài)環(huán)境好。
  • 開源,可被定制,開放,多用戶的網(wǎng)絡(luò)操作系統(tǒng)。
  • 相對安全穩(wěn)定
  • 參考資料:

    • https://www.zhihu.com/question/19738282

    所以開發(fā)者選擇了Linux來跑我們自己寫出來的程序。

    二、Linux的基礎(chǔ)知識

    Linux系統(tǒng)的組成:

  • linux內(nèi)核(linus 團隊管理)
  • shell:用戶與內(nèi)核交互的接口
  • 文件系統(tǒng):ext3、ext4等。windows 有 fat32 、ntfs
  • 第三方應(yīng)用軟件
  • 2.1Shell的基本知識

    除了Shell、其他的都應(yīng)該挺好懂的,那么Shell是什么東西呢???

    Shell是系統(tǒng)的用戶界面,提供了用戶與內(nèi)核進行交互操作的一種接口(命令解釋器)

    Shell可以執(zhí)行:

    • 內(nèi)部命令
    • 應(yīng)用程序
    • shell腳本

    使用type命令可以區(qū)分內(nèi)部命令和外部命令

    于是乎,我們利用Shell就可以干下面這些事了:

    • 命令行解釋(這是用得最多的!)
    • 命令的多種執(zhí)行順序
    • 通配符( wild-card characters )
    • 命令補全、別名機制、命令歷史
    • I/O重定向( Input/output redirection )
    • 管道( pipes )
    • 命令替換(?或$( ) )
    • Shell編程語言( Shell Script )

    Shell的主要版本有以下這么多:

    • 我們常用(默認(rèn))的就是bash(bourne again shell)

    使用ps命令觀察正在執(zhí)行的shell

    2.2Linux基本目錄結(jié)構(gòu)

    在Windows下,會有基本的目錄結(jié)構(gòu)的:

    Linux下也不例外了,也是有基本的目錄結(jié)構(gòu)的:

    Linux 文件系統(tǒng)是一個目錄樹的結(jié)構(gòu),文件系統(tǒng)結(jié)構(gòu)從一個根目錄開始,根目錄下可以有任意多個文件和子目錄,子目錄中又可以有任意多個文件和子目錄

    • bin 存放二進制可執(zhí)行文件(ls,cat,mkdir等)
    • boot 存放用于系統(tǒng)引導(dǎo)時使用的各種文件
    • dev 用于存放設(shè)備文件
    • etc 存放系統(tǒng)配置文件
    • home 存放所有用戶文件的根目錄
    • lib 存放跟文件系統(tǒng)中的程序運行所需要的共享庫及內(nèi)核模塊
    • mnt 系統(tǒng)管理員安裝臨時文件系統(tǒng)的安裝點
    • opt 額外安裝的可選應(yīng)用程序包所放置的位置
    • proc 虛擬文件系統(tǒng),存放當(dāng)前內(nèi)存的映射
    • root 超級用戶目錄
    • sbin 存放二進制可執(zhí)行文件,只有root才能訪問
    • tmp 用于存放各種臨時文件
    • usr 用于存放系統(tǒng)應(yīng)用程序,比較重要的目錄/usr/local 本地管理員軟件安裝目錄
    • var 用于存放運行時需要改變數(shù)據(jù)的文件

    2.3命令基本格式

    cmd [options] [arguments],options稱為選項,arguments稱為參數(shù)

    選項和參數(shù)都作為Shell命令執(zhí)行時的輸入,它們之間用空格分隔開。

    • Linux是區(qū)分大小寫的

    一般來說,后面跟的選項如果單字符選項前使用一個減號-。單詞選項前使用兩個減號--

    • 這是一般的情況,有些命令還是不歸屬這種規(guī)律的(相對較少)~~~
    • 例子:ls -a和ls -all,a?單個字符使用一個-,一個單詞all?使用兩個--

    在Linux中,可執(zhí)行的文件也進行了分類:

    • 內(nèi)置命令:出于效率的考慮,將一些常用命令的解釋程序構(gòu)造在Shell內(nèi)部。
    • 外置命令:存放在/bin、/sbin目錄下的命令
    • 實用程序:存放在/usr/bin、/usr/sbin、/usr/share、/usr/local/bin等目錄下的實用程序
    • 用戶程序:用戶程序經(jīng)過編譯生成可執(zhí)行文件后,可作為Shell命令運行
    • Shell腳本:由Shell語言編寫的批處理文件,可作為Shell命令運行

    2.4通配符

    學(xué)過一些正則表達(dá)式的或者有點基礎(chǔ)的同學(xué)對通配符應(yīng)該就不陌生的了,在Linux也有通配符(在搜索的時候挺有用的)

    • *:匹配任何字符和任何數(shù)目的字符
    • ?:匹配單一數(shù)目的任何字符
    • [ ]:匹配[ ]之內(nèi)的任意一個字符
    • [! ]:匹配除了[! ]之外的任意一個字符,!表示非的意思

    2.5文件的類型

    在Linux下文件的類型有這么多:

    • 普通文件-
    • 目錄d
    • 符號鏈接?l
      • 硬鏈接: 與普通文件沒什么不同,inode 都指向同一個文件在硬盤中的區(qū)塊
      • 軟鏈接: 保存了其代表的文件的絕對路徑,是另外一種文件,在硬盤上有獨立的區(qū)塊,訪問時替換自身路徑(簡單地理解為 Windows 中常見的快捷方式)。
    • 字符設(shè)備文件?c
    • 塊設(shè)備文件b
    • 套接字s
    • 命名管道p

    我們常見的就是普通文件,目錄和符號鏈接。其他的了解一下即可~

    符號鏈接參考資料:

    • https://www.jianshu.com/p/dde6a01c4094

    2.5.1用戶主目錄

    可能在網(wǎng)上查閱資料的時候會出現(xiàn)用戶主目錄這么一個名詞,那他是什么呢???

    前面已經(jīng)說了,我們的Linux是多用戶的網(wǎng)絡(luò)系統(tǒng)!所以,我們可以在Linux下創(chuàng)建多個用戶,每個用戶都會有自己專屬的空間。

    • 所以,在創(chuàng)建用戶時,系統(tǒng)管理員會給每個用戶建立一個主目錄,通常在/home/目錄下
    • 比如:用戶osmond的主目錄為:/home/osmond

    用戶對自己主目錄的文件擁有所有權(quán),可以在自己的主目錄下進行相關(guān)操作。

    三、常用的命令

    上面說了一堆的基礎(chǔ)概念,這是給我們敲命令之前打了一點基礎(chǔ),在敲命令的同時也會遇到一些比較重要的知識點的。那就到時候再說說了~~~

    3.1常用的文件、目錄操作命令

    這是我們使用得最多的命令了,Linux最基礎(chǔ)的命令!

    • 可用?pwd命令查看用戶的當(dāng)前目錄
    • 可用?cd?命令來切換目錄
    • .表示當(dāng)前目錄
    • ..?表示當(dāng)前目錄的上一級目錄(父目錄)
    • -表示用 cd 命令切換目錄前所在的目錄
    • ~?表示用戶主目錄的絕對路徑名

    絕對路徑:

    • 以斜線(/)開頭 ,描述到文件位置的完整說明?,任何時候你想指定文件名的時候都可以使用

    相對路徑 :

    • 不以斜線(/)開頭 ,指定相對于你的當(dāng)前工作目錄而言的位置?,可以被用作指定文件名的簡捷方式

    tips:輸入命令的時候要常用tab鍵來補全

    • ls:顯示文件或目錄信息
    • mkdir:當(dāng)前目錄下創(chuàng)建一個空目錄
    • rmdir:要求目錄為空
    • touch:生成一個空文件或更改文件的時間
    • cp:復(fù)制文件或目錄
    • mv:移動文件或目錄、文件或目錄改名
    • rm:刪除文件或目錄
    • ln:建立鏈接文件
    • find:查找文件
    • file/stat:查看文件類型或文件屬性信息
    • cat:查看文本文件內(nèi)容
    • more:可以分頁看
    • less:不僅可以分頁,還可以方便地搜索,回翻等操作
    • tail -10: 查看文件的尾部的10行
    • head -20:查看文件的頭部20行
    • echo:把內(nèi)容重定向到指定的文件中 ,有則打開,無則創(chuàng)建
    • 管道命令 |?:將前面的結(jié)果給后面的命令,例如:ls -la | wc,將ls的結(jié)果加油wc命令來統(tǒng)計字?jǐn)?shù)
    • 重定向 > 是覆蓋模式,>> 是追加模式,例如:echo "Java3y,zhen de hen xihuan ni" > qingshu.txt把左邊的輸出放到右邊的文件里去

    學(xué)了這些命令我們能干嘛?其實就是在Windows下復(fù)制文件、粘貼文件、創(chuàng)建文件、查看文件這幾種~~~

    3.1.1常用的文件、目錄操作練習(xí)題

    鞏固一下基礎(chǔ),來做做題目:

    • (1)Linux的shell程序默認(rèn)是bash 程序;
    • (2)Linux命令格式包含三個部分,分別是:?命令?、?選項?、?參數(shù)?;
    • (3)Linux命令選項前為單個減號(-),后面一般為?單字符?,選項前為雙減號(--),后面一般為?單詞?;
    • (4)Linux命令中使用的通配符有?? * []?;
    • (5)命令 ls /usr/bin/w* 的效果是?列出指定目錄下的所有以w開頭的文件或目錄?;
    • (6)命令 ls /usr/bin/w?? 的效果是?列出指定目錄下的以w開頭名稱長度為3的所有文件或目錄?;
    • (7)命令 ls /usr/bin/[xyz]* 的效果是?列出指定目錄下的文件名以x或y或z開頭的所有文件或目錄?;
    • (8)命令 ls /usr/bin/[!a-h]* 的效果是?列出指定目錄下的文件名不以a到h區(qū)間字母開頭的所有文件或目錄?;
    • (9)目錄操作時,“.” 表示?當(dāng)前目錄?;
    • (10)目錄操作時,“..” 表示?上一級目錄?;
    • (11)目錄操作時,“-” 表示?上一次工作目錄?;
    • (12)目錄操作時,“~” 表示?用戶主目錄?;
    • (13)命令ln可以建立文件鏈接,這種鏈接分為:?硬鏈接?和?軟鏈接?;
    • (14)命令touch可以改變文件的三種時間,分別是:?access time?、?modify time?、?change time?;

    進入/tmp目錄,建立一個文件,goldXX(XX為學(xué)號的末兩位),查看文件的時間

    在賬戶的主目錄中,建立一個dog目錄,進入dog目錄后,建立一個catXX(XX為學(xué)號的末兩位)目錄,進入catXX目錄,顯示當(dāng)前目錄;然后返回上一級目錄,刪除catXX目錄;

    復(fù)制/etc/passwd文件到賬戶主目錄,修改賬戶主目錄下passwd為passwdXX(XX為學(xué)號的末兩位)

    查找文件名叫做zcat的文件;復(fù)制該文件到/tmp目錄;用長格式列出該文件;然后刪除/tmp目錄下的所有文件,并檢查文件是否已被刪除

    復(fù)制/etc/hosts文件到賬戶主目錄下;在賬戶主目錄中建立一個硬鏈接文件(文件名為hostsYYY(YYY為學(xué)生姓名拼音縮寫)),鏈接到主目錄下的hosts文件;分別查看hosts和hostsYYY的文件的inode信息

    復(fù)制/usr/bin/vdir文件到賬戶主目錄下;在賬戶主目錄中建立一個軟鏈接文件(文件名為newdir),鏈接到主目錄下的vdir文件;分別查看vdir和newdir的文件的inode信息

    用長格式列出目錄/usr/bin目錄下的所有文件,輸出重新定向到文件outXX(XX為學(xué)生學(xué)號末兩位),檢查結(jié)果;用長格式列出目錄/etc目錄下的所有文件,輸出結(jié)果補充到文件outXX末尾

    用長格式列出/usr/bin目錄下的所有文件,通過管道與more命令連接,實現(xiàn)對文件列表的瀏覽

    >和>>有何區(qū)別?

    答:>是覆蓋方式重定向到新的文件;>>是以補充方式,添加到原文件的末尾。

    通過管道和more命令,瀏覽文件列表方便在哪里?

    答:對于文件列表超出一個屏幕顯示的情況,這種方式可以分屏瀏覽,比較方便。

    3.2文件打包和壓縮命令

    在Windows操作系統(tǒng)下,我們會使用WinRAR或者快壓等等的壓縮軟件來進行壓縮或者解壓。

    在Linux下當(dāng)然也存在壓縮或解壓的操作咯,下面我們就來學(xué)習(xí)一下在Linux下是怎么壓縮和解壓的!

    壓縮的方式也是有好幾種,我們常用的有下面這三種:

    • gzip
    • bzip2
    • tar

    常用的壓縮的命令就有:

    • gzip filename
    • bzip2 filename
    • tar -czvf filename

    常用的解壓命令有:

    • gzip -d filename.gz
    • bzip2 -d filename.bz2
    • tar -xzvf filename.tar.gz

    3.3正則表達(dá)式+grep

    上面我們已經(jīng)學(xué)過了cat、more、less、tail這些查看文本文件的命令了,但是我想快速查看這個文本文件下的某些關(guān)鍵字是否存在,那怎么辦???

    在Windows下就比較簡單的,幾乎所有的文本編輯器(記事本)都支持CTRL+F,往里面輸入關(guān)鍵字就可查找出來:

    那在Linux下,沒有圖形界面,沒有CTRL+F的情況下,如果不懂一些命令的話,那還真是難找對應(yīng)的字符出來。下面我就來說說如何快速查找一個文本文件下的某些字符。

    3.3.1正則表達(dá)式

    首先我們就來說說正則表達(dá)式,如果接觸過的同學(xué)就知道:這玩意并不好記。一旦不用就很容易就忘記了,所以只能在用的時候查查了~~~所以下面我就直接給出一些規(guī)則了,不多說啦。

    3.3.2grep命令

    grep(global search regular expression)是一個強大的文本搜索工具。grep 使用正則表達(dá)式搜索文本,并把匹配的行打印出來。

    格式:grep [options] PATTERN [FILE...]

    • PATTERN 是查找條件:可以是普通字符串、可以是正則表達(dá)式,通常用單引號將RE括起來。
    • FILE 是要查找的文件,可以是用空格間隔的多個文件,也可是使用Shell的通配符在多個文件中查找PATTERN,省略時表示在標(biāo)準(zhǔn)輸入中查找。
    • grep命令不會對輸入文件進行任何修改或影響,可以使用輸出重定向?qū)⒔Y(jié)果存為文件

    例子:

    • 在文件 myfile 中查找包含字符串 mystr的行
      • grep -n mystr myfile
    • 顯示 myfile 中第一個字符為字母的所有行
      • grep '^[a-zA-Z]' myfile
    • 在文件 myfile 中查找首字符不是 # 的行(即過濾掉注釋行)
      • grep -v '^#' myfile
    • 列出/etc目錄(包括子目錄)下所有文件內(nèi)容中包含字符串“root”的文件名
      • grep -lr root /etc/*

    用grep查找/etc/passwd文件中以a開頭的行,要求顯示行號;查找/etc/passwd文件中以login結(jié)束的行;

    3.4幾種提高工作效率的方法

    • 自動補全命令
      • TAB鍵
    • 歷史命令
      • 上下箭頭鍵
    • 別名alias

    這里感覺要說說的就只有別名alias了,我們下面看看例子就懂了!

    顯示shell當(dāng)前已經(jīng)定義的別名;執(zhí)行其中的兩個定義別名的命令;定義一個別名grep,要求其采用彩色方式顯示結(jié)果

    3.5Shell變量 和 Shell環(huán)境

    在Windows下有用戶的環(huán)境變量,系統(tǒng)的環(huán)境變量。在Linux一樣也是有的。

    Shell 變量大致可以分為三類:

    • 內(nèi)部變量:由系統(tǒng)提供,用戶只能使用不能修改。
      • ?
      • GROUPS
    • 環(huán)境變量:這些變量決定了用戶工作的環(huán)境,它們不需要用戶去定義,可以直接在 shell 中使用,其中某些變量用戶可以修改。
    • 用戶變量:由用戶建立和修改,在 shell 腳本編寫中會經(jīng)常用到。
      • 變量賦值(定義變量)
        • varName=Value
        • export varName=Value
      • 引用變量$varName

    Shell變量的作用域:

    • 局部變量的作用范圍僅僅限制在其命令行所在的Shell或Shell腳本文件中;
    • 全局變量的作用范圍則包括本Shell進程及其所有子進程。
    • 局部變量與全局變量互換:可以使用?export?內(nèi)置命令將局部變量設(shè)置為全局變量。 可以使用?export?內(nèi)置命令將全局變量設(shè)置為局部變量。

    export命令:

    • 顯示當(dāng)前Shell可見的全局變量
      • export [-p]
    • 定義變量值的同時聲明為全局變量。
      • export <變量名1=值1> [<變量名2=值2> ...]
    • 聲明已經(jīng)賦值的某個(些)局部變量為全局變量。
      • export <變量名1> [<變量名2> ...]
    • 聲明已經(jīng)賦值的某個(些)全局變量為局部變量。
      • export -n <變量名1> [<變量名2> ...]

    Shell環(huán)境變量:

    • 環(huán)境變量定義 Shell 的運行環(huán)境,保證 Shell 命令的正確執(zhí)行。
    • Shell用環(huán)境變量來確定查找路徑、注冊目錄、終端類型、終端名稱、用戶名等。
    • 所有環(huán)境變量都是全局變量(即可以傳遞給 Shell 的子進程),并可以由用戶重新設(shè)置。

    Shell變量:查詢、顯示和取消:

    • 顯示當(dāng)前已經(jīng)定義的所有變量
      • 所有環(huán)境變量:env
      • 所有變量和函數(shù)(包括環(huán)境變量) :set
    • 顯示某(些)個變量的值
      • echo $NAME1 [$NAME2 ……]
    • 取消變量的聲明或賦值
      • unset <NAME>

    3.5.1Shell變量 和 Shell環(huán)境練習(xí)題

    定義Shell變量stuXX(XX為學(xué)生學(xué)號末兩位),初值為學(xué)生姓名全拼,用echo命令顯示stuXX變量的值;用unset命令取消stuXX變量,檢查結(jié)果;用env命令觀察當(dāng)前有哪些已經(jīng)定義好的shell環(huán)境變量

    Shell環(huán)境變量的值是否可以修改?為什么?

    答:環(huán)境變量的值一般情況下,可以修改。但一定要慎重修改,因為一旦修改錯誤,對shell正常運行造成嚴(yán)重影響,甚至導(dǎo)致shell無法運行。

    四、VI編輯器

    相信沒有用過Linux的同學(xué)在看一些段子的時候都會看到過兩個編輯器:

    • vim
    • emacs

    下面我們學(xué)習(xí)如何簡單使用vi。vi 是 “Visual interface” 的簡稱,它可以執(zhí)行輸出、刪除、查找、替換、塊操作等眾多文本操作,而且用戶可以根據(jù)自己的需要對其進行定制,這是其他編輯程序所沒有的。

    • vi可以看做成我們Windows下的記事本
    • vim 即 Vi IMproved,vi 克隆版本之一

    使用Vi來編輯文件:

    Vi有三種模式:

    4.1普通模式

    • G用于直接跳轉(zhuǎn)到文件尾
    • ZZ用于存盤退出Vi
    • ZQ用于不存盤退出Vi
    • /和?用于查找字符串
    • n繼續(xù)查找下一個
    • yy復(fù)制一行
    • p粘帖在下一行,P粘貼在前一行
    • dd刪除一行文本
    • x刪除光標(biāo)所在的字符
    • u取消上一次編輯操作(undo)

    4.2插入模式

    在 Normal 模式下輸入插入命令?i、 a 、 o進入insert模式。用戶輸入的任何字符都被vim當(dāng)做文件內(nèi)容保存起來,并將其顯示在屏幕上。

    • 在文本輸入過程中,若想回到Normal模式下,按 Esc 鍵即可。

    4.3命令行模式

    Normal 模式下,用戶按冒號?:即可進入 Command 模式,此時 vim 會在顯示窗口的最后一行 (屏幕的最后一行) 顯示一個 “:” 作為 Command 模式的提示符,等待輸入命令。

    • :w?保存當(dāng)前編輯文件,但并不退出
    • :w?newfile 存為另外一個名為 “newfile” 的文件
    • :wq?用于存盤退出Vi
    • :q!?用于不存盤退出Vi
    • :q用于直接退出Vi (未做修改)

    設(shè)置Vi環(huán)境:

    • :set autoindent 縮進,常用于程序的編寫
    • :set noautoindent 取消縮進
    • :set number 在編輯文件時顯示行號
    • :set nonumber 不顯示行號
    • :set tabstop=value 設(shè)置顯示制表符的空格字符個數(shù)
    • :set 顯示設(shè)置的所有選項
    • :set all 顯示所有可以設(shè)置的選項

    4.4Vi練習(xí)題

    在用戶主目錄下,執(zhí)行vi程序,編輯文件install.log;移動光標(biāo)到第10行,第五個字符;按大寫字母G,達(dá)到文件末尾;不存盤退出;

    在用戶主目錄下,執(zhí)行vi程序,編輯文件install.log;用/命令查找字符串sudo,復(fù)制包含字符串sudo的行

    在用戶主目錄下,執(zhí)行vi程序,編輯文件install.log;進入命令模式,設(shè)置顯示行號;用?命令查找字符串openssh,用命令n查找下一個

    四、總結(jié)

    本文主要講解了Linux的最基礎(chǔ)的知識,可以簡單地操作Linux了。命令可以說是學(xué)不完的,只能是記住Linux是有這個功能,到時候去網(wǎng)上查查也很方便。

    主要是多練、多玩就可以記住一些常用的Linux命令了~~~~


    作者:
    鏈接:http://www.imooc.com/article/30207
    來源:慕課網(wǎng)
    本文原創(chuàng)發(fā)布于慕課網(wǎng) ,轉(zhuǎn)載請注明出處,謝謝合作

    轉(zhuǎn)載于:https://www.cnblogs.com/aipiaoborensheng/p/9091644.html

    總結(jié)

    以上是生活随笔為你收集整理的Linux基本的操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。