<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      pots

      博客園 首頁 新隨筆 聯系 訂閱 管理

      轉載地址 https://segmentfault.com/a/1190000014840829

      前言

      只有光頭才能變強

      這個學期開了Linux的課程了,授課的老師也是比較負責任的一位??偟膩碚f也算是比較系統地學習了一下Linux了~~~

      本文章主要是總結Linux的基礎操作以及一些簡單的概念~如果不熟悉的同學可下個Linux來玩玩(或者去買一個服務器玩玩【學生版的不是很貴】),對于開發者來說,能使用Linux做一些基本的操作是必要的!

      那么接下來就開始吧,當然了我的Linux僅僅是入門水平,如果有錯的地方還需請大家多多包涵,并不吝在評論區指出錯誤~

      一、為什么我們要學習Linux

      相信大部分人的PC端都是用Windows系統的,那我們為什么要學習Linux這個操作系統呢???Windows圖形化界面做得這么好,日?;臼褂玫脑挘瑢W習成本幾乎為零。

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

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

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

      我總結了Linux的幾個優點

      1. 免費
      2. 很多軟件原生是在Linux下運行的,龐大的社區支持,生態環境好
      3. 開源,可被定制,開放,多用戶的網絡操作系統。
      4. 相對安全穩定

      參考資料:

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

      二、Linux的基礎知識

      Linux系統的組成

      1. linux內核(linus 團隊管理)
      2. shell:用戶與內核交互的接口
      3. 文件系統:ext3、ext4等。windows 有 fat32 、ntfs
      4. 第三方應用軟件

      2.1Shell的基本知識

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

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

      Shell可以執行:

      • 內部命令
      • 應用程序
      • shell腳本

       

      使用type命令可以區分內部命令和外部命令

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

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

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

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

       

      使用ps命令觀察正在執行的shell

       

       

      2.2Linux基本目錄結構

      在Windows下,會有基本的目錄結構的:

       

      Linux下也不例外了,也是有基本的目錄結構的:

       

      Linux 文件系統是一個目錄樹的結構,文件系統結構從一個根目錄開始,根目錄下可以有任意多個文件和子目錄,子目錄中又可以有任意多個文件和子目錄

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

      2.3命令基本格式

      cmd [options] [arguments],options稱為選項,arguments稱為參數

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

      • Linux是區分大小寫的

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

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

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

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

      2.4通配符

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

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

      2.5文件的類型

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

      • 普通文件-
      • 目錄 d
      • 符號鏈接 l

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

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

      符號鏈接參考資料:

      2.5.1用戶主目錄

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

      前面已經說了,我們的Linux是多用戶的網絡系統!所以,我們可以在Linux下創建多個用戶,每個用戶都會有自己專屬的空間。

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

      用戶對自己主目錄的文件擁有所有權,可以在自己的主目錄下進行相關操作。

      三、常用的命令

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

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

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

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

      絕對路徑:

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

      相對路徑 :

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

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

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

      -r 就是向下遞歸,不管有多少級目錄,一并刪除
      -f 就是直接強行刪除,不作任何提示的意思

      刪除文件夾實例:
      rm -rf /var/log/httpd/access
      將會刪除/var/log/httpd/access目錄以及其下所有文件、文件夾

      刪除文件使用實例:
      rm -f /var/log/httpd/access.log
      將會強制刪除/var/log/httpd/access.log這個文件

      學了這些命令我們能干嘛?其實就是在Windows下復制文件、粘貼文件、創建文件、查看文件這幾種~~~

      3.1.1常用的文件、目錄操作練習題

      鞏固一下基礎,來做做題目:

      • (1)Linux的shell程序默認是 bash 程序;
      • (2)Linux命令格式包含三個部分,分別是: 命令 、 選項 、 參數 ;
      • (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區間字母開頭的所有文件或目錄 ;
      • (9)目錄操作時,“.” 表示 當前目錄 ;
      • (10)目錄操作時,“..” 表示 上一級目錄
      • (11)目錄操作時,“-” 表示 上一次工作目錄 ;
      • (12)目錄操作時,“~” 表示 用戶主目錄 ;
      • (13)命令ln可以建立文件鏈接,這種鏈接分為: 硬鏈接 軟鏈接 ;
      • (14)命令touch可以改變文件的三種時間,分別是: access time 、 modify time 、 change time ;
      進入/tmp目錄,建立一個文件,goldXX(XX為學號的末兩位),查看文件的時間

       

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

       

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

       

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

       

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

       

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

       

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

       

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

       

      >和>>有何區別?

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

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

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

      3.2文件打包和壓縮命令

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

      在Linux下當然也存在壓縮或解壓的操作咯,下面我們就來學習一下在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正則表達式+grep

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

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

       

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

      3.3.1正則表達式

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

       

       

      3.3.2grep命令

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

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

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

      例子:

      • 在文件 myfile 中查找包含字符串 mystr的行

        • grep -n mystr myfile
      • 顯示 myfile 中第一個字符為字母的所有行

        • grep '^[a-zA-Z]' myfile
      • 在文件 myfile 中查找首字符不是 # 的行(即過濾掉注釋行

        • grep -v '^#' myfile
      • 列出/etc目錄(包括子目錄)下所有文件內容中包含字符串“root”的文件名

        • grep -lr root /etc/*
      用grep查找/etc/passwd文件中以a開頭的行,要求顯示行號;查找/etc/passwd文件中以login結束的行;

       

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

      • 自動補全命令

        • TAB鍵
      • 歷史命令

        • 上下箭頭鍵
      • 別名alias

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

      顯示shell當前已經定義的別名;執行其中的兩個定義別名的命令;定義一個別名grep,要求其采用彩色方式顯示結果

       

       

      3.5Shell變量 和 Shell環境

      在Windows下有用戶的環境變量,系統的環境變量。在Linux一樣也是有的。

       

      Shell 變量大致可以分為三類

      • 內部變量:由系統提供,用戶只能使用不能修改。

        • ?
        • GROUPS
      • 環境變量:這些變量決定了用戶工作的環境,它們不需要用戶去定義,可以直接在 shell 中使用,其中某些變量用戶可以修改。
      • 用戶變量:由用戶建立和修改,在 shell 腳本編寫中會經常用到。

        • 變量賦值(定義變量)

          • varName=Value
          • export varName=Value
        • 引用變量$varName

      Shell變量的作用域

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

      export命令

      • 顯示當前Shell可見的全局變量

        • export [-p]
      • 定義變量值的同時聲明為全局變量。

        • export <變量名1=值1> [<變量名2=值2> ...]
      • 聲明已經賦值的某個(些)局部變量為全局變量。

        • export <變量名1> [<變量名2> ...]
      • 聲明已經賦值的某個(些)全局變量為局部變量

        • export -n <變量名1> [<變量名2> ...]

      Shell環境變量:

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

       

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

      • 顯示當前已經定義的所有變量

        • 所有環境變量env
        • 所有變量和函數(包括環境變量) :set
      • 顯示某(些)個變量的值

        • echo $NAME1 [$NAME2 ……]
      • 取消變量的聲明或賦值

        • unset <NAME>

      3.5.1Shell變量 和 Shell環境練習題

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

       

       

      Shell環境變量的值是否可以修改?為什么?

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

      四、VI編輯器

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

      • vim
      • emacs

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

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

      使用Vi來編輯文件:

       

      Vi有三種模式:

       

      4.1普通模式

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

      4.2插入模式

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

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

      4.3命令行模式

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

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

      設置Vi環境:

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

      4.4Vi練習題

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

       

       

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

       

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

       

       

      四、總結

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

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

      下面我就花點時間畫個Linux命令的腦圖(當然了,命令僅限于是本文章的知識點,等寫到用戶、網絡等知識點的時候再繼續補充上去!)

       

      如果文章有錯的地方歡迎指正,大家互相交流。習慣在微信看技術文章,想要獲取更多的Java資源的同學,可以關注微信公眾號:Java3y。為了大家方便,剛新建了一下qq群:742919422,大家也可以去交流交流。謝謝支持了!希望能多介紹給其他有需要的朋友

      文章的目錄導航

      posted on 2018-05-20 20:53  poooooots  閱讀(130)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 好了av四色综合无码| 亚洲综合在线日韩av| 欧美一区二区| 女同另类激情在线三区| 亚洲精品成人久久av| 99精品国产一区二区电影| 国产精品麻豆成人av电影艾秋| 99精品日本二区留学生| 国产精品偷乱一区二区三区| 夜夜爽免费888视频| 成人做受120秒试看试看视频| 精品久久久久中文字幕日本| 婷婷久久香蕉五月综合加勒比 | 网友偷拍视频一区二区三区| 国产色悠悠综合在线观看| 老司机亚洲精品一区二区| 国产在线啪| 午夜福利免费区在线观看| 国产成人AV一区二区三区无码| 亚洲av成人一区在线| www亚洲精品| 99久久国产综合精品女图图等你| 灵宝市| 麻豆精产国品一二三区区| 极品尤物被啪到呻吟喷水| 欧美日本精品一本二本三区| 内射干少妇亚洲69XXX| 国产盗摄视频一区二区三区| 日本一区二区精品色超碰| 亚洲中文字幕在线无码一区二区| 久久精品免视看国产成人| 欧美日韩视频综合一区无弹窗 | 女同AV在线播放| 成人无码潮喷在线观看| 亚洲av综合久久成人网| 人妻中文字幕精品系列| 99在线精品国自产拍中文字幕| 日韩大尺度一区二区三区| 久久久这里只有精品10| 1精品啪国产在线观看免费牛牛| 亚洲一区二区中文av|