Linux學習歷程(持續更新整理中)

来源:http://www.cnblogs.com/hanyinglong/archive/2016/03/30/5337638.html
-Advertisement-
Play Games

1.文件目錄操作命令 (1) ls 顯示文件和目錄列表 a ls -l 顯示文件的詳細信息 b ls -a 列出當前目錄的所有文件,包含隱藏文件。 c stat '目錄/文件' 顯示指定目錄/文件的相關信息,比ls命令顯示的內容更多 (2) mkdir '目錄' 創建目錄 (3) touch '文件 ...


1.文件目錄操作命令

     (1) ls   顯示文件和目錄列表

        a ls -l  顯示文件的詳細信息              

        b ls -a 列出當前目錄的所有文件,包含隱藏文件。        

        c stat '目錄/文件'   顯示指定目錄/文件的相關信息,比ls命令顯示的內容更多

    (2) mkdir '目錄'    創建目錄 

    (3) touch '文件名'    當前目錄下創建一個空文件

    (4) echo '內容'>'文件名'   當前目錄下生成一個帶內容的文件

    (5) cat、tac '文件名'    查看文件中的文本內容

        a more、less分頁顯示文本文件內容        

        b head、tail 分別顯示文件開頭和結尾部分

    (6) cp  ' 原始文件路徑' '複製到新的文件'   複製文件或者目錄

    (7) rm '文件名'   刪除文件

        a rm -r   同時刪除該目錄下的所有文件(遞歸刪除)       

        b rm -f  強制刪除文件或者目錄。       (c) rmdir  刪除空目錄

    (8) mv '原始文件' '需要移動到的目錄'  移動文件或者目錄

        a mv '原始文件名' '修改的文件名'    修改文件名稱,將原始的文件名稱修改為修改後的文件名稱

    (9) find -name '文件名'   搜索當前目錄及其子目錄的結果,不過濾任何條件,直接返回所有查找到的文件

    (10) wc '文件名'   統計文本文檔的行數,字數,字元數。

    (11) grep '查詢的字元串' '文件名'   在指定的文本文件中查找指定的字元串

    (12) tree 顯示當前目錄下的目錄樹

        a 切換到root用戶下執行yum -y install tree 命令安裝tree插件,安裝之後執行tree會顯示出對應的目錄樹

    (13) pwd  顯示當前工作目錄

    (14) ln -s  建立軟鏈接文件   例如: ln -s /home/kencery/nginx/house/room   /home/root,給前面的文件做一個軟連接放到/home/下的root連接(相當於windows下的快捷方式)。

2.備份壓縮命令

 (1) gzip壓縮(解壓)文件或者目錄,壓縮文件尾碼為gz

        a 命令格式  gzip [選項] 壓縮(解壓縮)的文件名  壓縮:gzip '文件.tar/文件'      壓縮

        b 參數

            b.1   -d 將壓縮文件解壓         gzip -d '壓縮文件'       解壓縮

            b.2   -l 對每個壓縮文件,顯示壓縮文件的大小,未壓縮文件的大小,壓縮比,未壓縮文件的名字

            b.3   -v 對每一個壓縮和解壓的文件,顯示文件名和壓縮比

            b.4   -num 用指定的數字num調整壓縮的速度,-1或--fast表示最快壓縮方法(低壓縮比),-9或--best表示最慢壓縮比(高壓縮比),系統預設值為6.        gzip -9(壓縮比)  '文件.tar/文件'

    (2) bzip2壓縮(解壓)文件或者目錄,壓縮文件尾碼為bz2

        a 命令格式 bzip2 [-cdz]  文件

        b 參數

            b.1   -d 解壓縮的參數      bzip2 -d '壓縮文件'  解壓縮

            b.2   -z  壓縮的參數      bzip2 -z '文件.tar/文件'  壓縮

            b.3   -num 用指定的數字num調整壓縮的速度,-1或--fast表示最快壓縮方法(低壓縮比),-9或--best表示最慢壓縮比(高壓縮比),系統預設值為6.  

    (3) tar文件、目錄打(解)包

        a 命令格式 tar [-cxzjvf] 壓縮打包文檔的名稱,欲打包目錄參數

        b 參數

            b.1   -c 建立一個歸檔文件的參數命令                    

            b.2   -x 解開一個歸檔文件的參數命令

            b.3   -z 是否需要用gzip壓縮                                  

            b.4   -j 是否需要用bzip2壓縮                          

            b.5   -v 壓縮的過程中顯示文件                              

            b.6   -f 使用檔名,在f之後要立即接檔名

            b.7   -tf 查看歸檔文件裡面的文件

        c  備註說明

            c.1  僅打包,不壓縮   tar  -cvf  /home/kencery/demo.tar    /home/kencery/demo

            c.2  打包後,已gzip壓縮   tar  -zcvf  /home/kencery/demo.tar.gz    /home/kencery/demo

            c.3  打包後,已gzip壓縮   tar  -jcvf  /home/kencery/demo.tar.bz2    /home/kencery/demo

                備註:參數-f之後的文件檔名是自己取的,我們習慣上都用.tar來作為辨識

3.Vim編輯器的使用

    (1) 編輯模式:等待編輯命令輸入                       vim '文件名'

    (2) 插入模式:編輯模式下,輸入i、o、a進入插入模式,插入文本信息

    (3) 命令模式:在編輯模式下,輸入":"進行命令模式

        a 命令模式下的命令:

            a.1 直接退出Vi                                                                              

            a.2 wq 保存後退出vi,並可以新建文件

            a.3 q!  強制退出,不會保存                                                           

            a.4 w file 將當前內容保存成某個文件

            a.5 set number 在編輯文件顯示行號(在編輯模式下操作)              

            a.6 set nonnumber 在編輯文件不顯示行號(在編輯模式下操作)   

4.文件許可權管理

    (1) 查看文件和目錄的許可權("R(4)"讀許可權、"W(2)"寫許可權、"X(1)"執行許可權)

        a ls -l 文件名/目錄

            drwxrwxr-x. 3 kencery kencery  4096 Mar 29 13:56 KenceryA

                a.1 顯示信息包含:文件類型(d目錄,-pu通文件,l連接文件),文件許可權,文件的屬主,文件的所屬組,文件的大小,文件的創建時間,文件的名稱

                a.2 從第二個字元起rwx是說明用戶kencery有讀、寫、執行許可權,接著的rwx表示用戶組kencery也有讀、寫、執行許可權,最後的r-x指其他人(other)只有讀,執行許可權,沒有寫許可權。

    (2) 更改操作許可權

        a chmod[u 屬主,g 所屬組用戶,o 其他用戶,a 所有用戶][+ 加許可權,-減許可權,=加許可權的同時將原有許可權刪除][rwx] 文件或者目錄名

            a.1 對kencery.txt文件增加所屬組用戶增加寫許可權   chmod g+w kencery.txt 

            a.2 對kencery.txt文件去掉所屬組的寫許可權增加其他用戶的執行權  chmod g-w,o+x kencery.txt

5.用戶和組賬戶管理

    (1) 賬戶系統文件

        a cat /etc/passwd 每行定義一個用戶賬戶,此文件對所有的用戶可讀,信息如下:   

                root:x:0:0:root:/root:/bin/bash

                用戶名:口令:用戶標示號:組標示號:註釋:宿主目錄:命令解釋器

            a.1 口令是X,說明用戶的口令是被/etc/shadow文件保護的。

            a.2 用戶標示號,系統內唯一,root用戶的UID為0,普通用戶從500/1000開始,1-499/999是系統的標準賬戶(每個Linux版本系統不一致)

            a.3 宿主目錄,用戶登錄系統後所進入的目錄

            a.4 命令解釋器,制定該用戶使用的shell,預設是/bin/bash。

        b cat /etc/shadow 為了增加系統的安全性,用戶口令通常用shadow passwords保護,只有root可讀,信息如下:              root:$6$/ZgfxO/0$Q2G6/CvI9hknSdsWW8xRy8QkBfZLCyhYyDIn2atfDgsEQf1SsNP9FTZ2B2BU9aOs4mXmY.FP0UQ2tib/UKrLq1:16701:0:99999:7:::

                用戶名:口令:最後一次修改時間:最小時間間隔:最大時間間隔:警告時間(7):不活動時間:失效時間:標誌

        c cat /etc/group 將用戶進行分組時Linux對用戶進行管理及控制訪問許可權的一種手段,一個組中可以有多個用戶,一個用戶可以同時屬於多個組,該文件對所有用戶可讀。

                組名:組口令:gid:組成員    root:x:0:

        d cat /etc/gshadow  該文件用戶定義用戶組口令,組管理員等信息,只有root用戶可讀。

                root:::

    (2) 對用戶進行管理

        a 添加用戶信息

                a.1 useradd/adduser 用戶名   添加用戶(備註:沒有設置密碼不能使用)   useradd/adduser  hyl

                a.2 useradd -u (UID號)                                       

                a.3 useradd -p (口令)

                a.4 useradd -g(分組)                                          

                a.5 useradd -s (sheel)

                a.6 useradd -d (用戶目錄)                                 

        b 修改用戶信息

                b.1 usermod -u(新的UID)                                    

                b.2 usermod -d (用戶目錄)

                b.3 usermod -g (組名)                                         

                b.4 usermod -s (sheel)

                b.5 usermod -p(新口令)                                      

                b.6 usermod -l (新登錄名)

                b.7 usermod -L(鎖定用戶賬號密碼)                    

                b.8 usermod -U (解鎖用戶賬號) 

        c.刪除用戶信息

                c.1 userdel 用戶名(刪除用戶賬號)                  

                c.2  userdel -r 用戶名(刪除用戶賬號的同時刪除目錄)  

    (3) 對組賬戶進行管理

        a 添加組信息     

            a.1 groupadd 組賬戶名(創建新組)                      

            a.2 groupadd -g 指定組GID

        b 修改組信息

            b.1 groupmod -g  更改組的GID                         

            a.2 groupmod -n 更改組賬戶名

        c 刪除組信息

            c.1 groupdel 組賬戶名(刪除指定組賬戶)

    (4) 口令維護命令

        a passwd 用戶賬戶名(設置用戶口令)    passwd '賬戶名'

        b passwd -l 用戶賬戶名(鎖定用戶賬戶)

        c  passwd -u 用戶賬戶名(解鎖用戶賬戶)

        d passwd -d 用戶賬戶名(刪除賬戶口令)

        e passwd -a 用戶賬戶名 組賬戶名(將指定用戶添加到指定組)

        f  passwd -d 用戶賬戶名 組賬戶名(將用戶從指定組中刪除)

        g passwd -A 用戶賬戶名 組賬戶名(將用戶指定為組的管理員)

    (5) 用戶和組狀態命令

        a su 用戶名  切換用戶賬戶

            a.1 su '用戶名' 切換用戶賬戶(不切換工作目錄)

            a.2 su - '用戶名' 切換用戶賬戶(切換工作目錄)

        b sudo 是允許系統管理員讓普通用戶執行一些或全部的超級管理員(root)命令的一個工具(如:reboot,su...),這樣不僅減少了root用戶的登錄和管理實踐,同樣也提高了安全性,sudo不是對shell的一個替代,它是面向每個命令的,它的主要特點有以下幾點:

            b.1 cat /etc/sudoers   sudo文件的說明

        c grops '用戶名' 

6.系統管理命令

    (1) who 顯示線上登錄的用戶並且查看以什麼方式登錄系統的。

    (2) hostname 顯示主機名稱、uname (-a)  顯示系統信息

    (3) 線程/進程/記憶體/網路/磁碟使用情況

        a top 顯示當前系統中耗費資源最多的進程(ctrl+c退出)                 

        b ps 顯示瞬間的進程狀態,和top的區別就是只獲取當前瞬間的進程,獲取之後將不會實時變化。        

        c du (-h) 目錄/文件  顯示指定的文件(目錄)已使用的磁碟空間的總量                   

        d df (-h)  顯示文件系統磁碟的使用      

        e free (-s2) 顯示當前記憶體和交換空間的使用情況(兩秒刷新一次)(ctrl+c退出)       

        f ifconfig 顯示網路介面信息

        g ping 測試網路的連通性           h  netstat 顯示網路狀態信息

    (4) man '命令'   命令幫助信息查詢  (q退出)

    (5) alias '別名' ='指令名'  設置命令別名     unalias '別名'   刪除別名

    (6) clear 清屏

    (7) kill 殺死一個進程

    (8) 關機/重啟命令

        a shutdown  系統關機

            a.1  -r 關機後重啟            a.2 -h 關機後不重新啟動      a.3  now 立即關機

        b halt 關機後關閉電源

        c reboot  重啟心動

7.Linux目錄結構    

  

    1. bin 存放二進位可執行文件(ls,cat,mkdir,chmod)

    2. boot 存放用於系統引導時使用的各種文件

    3. data 數據文件夾,某些操作產生的臨時文件夾

    4. dev 用於存放設備文件

    5. etc 存放系統配置文件

    6. home 存放所有用戶文件的根目錄

    7. lib 存放跟文件系統中的程式運行所需要的共用庫以及內核模塊

    8. lib64 

    9. lost+found 使用標準的ext2/ext3檔案系統格式才會產生一個目錄,目的在於當檔案發生錯誤時,將一些遺失的片段放置在這裡目錄下。

    10. media 軟碟,光碟,DVD等掛載於此處

    11. mnt 系統管理員安裝臨時文件系統的安裝點

    12. opt 額外安裝的可選應用程式包所放置的位置

    13. proc 虛擬文件系統,存放當前記憶體的映射

    14. root 超級用戶目錄

    15. sbin 存放二進位可執行文件,只有root才能訪問

    16. selinux

    17. srv 網路服務啟動之後,這些服務所需要取用的資料目錄,常見的服務ftp

    18. sys 虛擬的檔案系統,記錄與核心相關的咨詢,包括目前載入的核心模組等,這個目錄不占用硬碟容量

    29. tmp 用於存放各種臨時文件

    20. usr 用於存放系統應用程式,比較重要的目錄/usr/local本地管理員軟體安裝目錄

    21. var 用於存放運行時需要改變數據的文件

 

    以上內容屬於自己對Linux學習的一些筆記,後面用到的話會持續整理中,如有錯誤,歡迎大家留言

      pdf下載地址:http://pan.baidu.com/s/1qYHyo2o


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

-Advertisement-
Play Games
更多相關文章
  • 1、以root身份登陸CentOS依次 執行以下命令: wget https://pypi.python.org/packages/source/p/psutil/psutil-2.1.3.tar.gz tar zxvf psutil-2.1.3.tar.gz cd psutil-2.1.3/ py ...
  • 1、Linux能力機制概述 在以往的UNIX系統上,為了做進程的許可權檢查,把進程分為兩類:特權進程(有效用戶ID是0)和非特權進程(有效用戶ID是非0)。特權進程可以通過內核所有的許可權檢查,而非特權進程的檢查則是基於進程的身份(有效ID,有效組及補充組信息)進行。 從linux內核2.2開始,Lin ...
  • 在安裝使用Tomcat前需安裝jdk(Java 2 Software Development Kit),安裝jdk可以參考我之前的blog。 安裝Tomcat 1)下載apache-tomcat-7.0.59.tar.gz 2)#tar -zxvf apache-tomcat-7.0.59.tar. ...
  • 如下圖,要實現將三個表中的內容載入到同一個窗體中,該怎麼來實現呢? 要實現上面的查詢結果,我們就要從Student表中拿到學生姓名,從Subject表中拿到科目名稱,從StudentResult表中拿到考試成績和考試時間。 一般情況下我們都能夠寫出多表聯查的語句來,但是今天我們所面臨的不再是普通的開 ...
  • 一般來說,分層主要分三層即:UI(User Interface) 界面顯示層,BLL(Business Logic Layer)業務邏輯層,以及DAL(Data Access Layer)數據訪問層。 首先來看下三層之間的引用關係吧 簡單說下使用三層的原因:區分層次的目的即為了“高內聚低耦合”的思想 ...
  • (1)為什麼要使用Enum? (4)如果enum中的部分成員顯式定義了值,而部分沒有;那麼沒有定義值的成員還是會按照上一個成員的值來遞增賦值,例如: (5)enum枚舉成員可以用來作為位標誌,同時支持位的操作(位與,位或等等),例如:??? 十六進位數的一個作用就是用來進行位運算和操作,很方便。 ( ...
  • 【提取內容圖片地址】 【去掉字元串中的數字】 ...
  • 看完覺得不錯,適合作為學習資料,就轉載過來了 原文鏈接:http://www.cnblogs.com/Wayou/archive/2012/09/20/EF_CodeFirst.html 這是上周就寫好的文章,是在公司浩哥的建議下寫的,本來是部門裡面分享求創新用的,這裡貼出來分享給大家。 最近在對M ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...