當前位置:首頁 > IT技術(shù) > 系統(tǒng)服務(wù) > 正文

Linux簡單指令
2021-12-01 22:56:46

Linux

目錄結(jié)構(gòu)

目錄 簡介
/bin Binary的縮寫,存放最經(jīng)常使用的命令
/sbin s代表Super user,存放系統(tǒng)管理員使用的系統(tǒng)管理程序
/home 存放普通用戶的主目錄,每個用戶都有專屬的目錄且一般以用戶名命名
/root 為系統(tǒng)管理員所有,也稱作超級權(quán)限者的用戶主目錄
/lib 系統(tǒng)開機所需最基本的動態(tài)連接共享庫,其作用類似于Windows里的DLL文件
/lost+found 此目錄一般情況下是空的,當系統(tǒng)非法關(guān)機后,才存放一些文件
/etc 所有系統(tǒng)管理所需的配置文件和子目錄,例如安裝mysql數(shù)據(jù)庫-my.conf
/usr 非常重要的目錄,存放用戶的應(yīng)用程序和文件,類似于Windows的program files
/boot 存放啟動Linux時使用的核心文件,包括鏈接、鏡像文件等
/proc 虛擬的目錄,系統(tǒng)內(nèi)存的映射,通過訪問此目錄以獲取系統(tǒng)信息
/srv service的縮寫,存放一些服務(wù)啟動之后需要提取的數(shù)據(jù)
/sys Linux2.6內(nèi)核的一大改動,該目錄安裝了2.6內(nèi)核中一個新文件系統(tǒng) sysfs
/tmp 存放臨時文件
/dev 類似于windows的設(shè)配管理器,只不過Linux將所有的硬件都用文件的方式存儲
/media Linux系統(tǒng)會自動識別一些設(shè)備,如U盤、光驅(qū)等,識別后將其掛在于此目錄
/mnt 系統(tǒng)提供此目錄用以臨時掛載別的文件系統(tǒng),用戶可以將外部的存儲掛載于/mnt
/opt 系統(tǒng)提供用以安裝其他軟件,如安裝ORACLE數(shù)據(jù)庫等,默認為空
/usr/local 系統(tǒng)提供用以使用編譯源碼方式安裝程序的目錄
/var 該目錄存放經(jīng)常被修改的文件及目錄,例如各種日志文件
/selinux 系統(tǒng)的一種安全子系統(tǒng),控制程序只能訪問特定文件,有三種可設(shè)置的工作模式

關(guān)機&重啟

指令 簡介
shutdown -h now 立刻進行關(guān)機
shutdown -h 1 1分鐘后進行關(guān)機
shutdown -r now 立即進行重啟
halt 關(guān)機
reboot 現(xiàn)在重新啟動計算機
sync 將內(nèi)存數(shù)據(jù)同步到磁盤上

注意:不論是重啟系統(tǒng)或者關(guān)閉系統(tǒng),都應(yīng)先手動運行sync命令進行內(nèi)存數(shù)據(jù)同步

即使目前的shutdown/reboot/halt等命令均在關(guān)機前進行了sync命令,但應(yīng)謹慎為上

用戶管理

用戶登錄和注銷

  • 盡量少使用root賬戶登錄,因為它是系統(tǒng)管理員,擁有最大的權(quán)限。為了避免誤操作,一般使用普通賬戶登錄,如若需要相應(yīng)的權(quán)限,可以使用su - root命令臨時切換為系統(tǒng)管理員身份。

  • 在提示符下輸入logout即可注銷賬戶

添加用戶

基本介紹:Linux系統(tǒng)是一個多用戶多任務(wù)的操作系統(tǒng),任何一個要使用系統(tǒng)資源的用戶,都必須首先向系統(tǒng)管理員申請一個賬戶,然后用這個賬號的身份進入系統(tǒng)

  • 基本語法

    • useradd 用戶名

      • 當創(chuàng)建用戶成功以后,會自動的創(chuàng)建和用戶名同名的家目錄

      • 也可以通過useradd -d 指定目錄 新的用戶名,給新創(chuàng)建的用戶指定家目錄

  • 指定/修改密碼

    • passwd 用戶名

刪除用戶

  • 基本語法

    • userdel 用戶名

      • 默認保留home目錄,僅刪除用戶

      • user -r 用戶名 ,刪除用戶以及用戶home目錄

查詢用戶

  • 基本語法

    • id 用戶名 ,即可顯示用戶信息

    • 說明,當用戶不存在時,返回無此用戶

切換用戶

  • 基本介紹

    • 在Linux系統(tǒng)中,如果當前用戶的權(quán)限不夠,可以通過su - 更高權(quán)限用戶,切換用戶執(zhí)行

  • 基本語法

    • su - 切換用戶名

      • 細節(jié)說明

        • 從高權(quán)限用戶切換到低權(quán)限用戶,不需要輸入密碼,反之需要

        • 當需要返回原來用戶時,使用exit/logout指令

查看當前用戶

  • 基本語法

    • whoami/who am i

用戶組

介紹: 類似于角色,系統(tǒng)可以對有共性/權(quán)限的多個用戶進行統(tǒng)一管理

  • 新增組

    • groupadd 組名

  • 刪除組

    • groupdel 組名

  • 創(chuàng)建用戶時指定用戶組

    • useradd -g 用戶組 用戶名

    • 如果創(chuàng)建用戶時,并未指定用戶組,則默認與用戶名同名的用戶組

  • 修改用戶組

    • usermod -g 用戶組 用戶名

  • 用戶和組相關(guān)文件

    • /etc/passwd

      • 用戶(user)的配置文件,用于記錄用戶的各種信息

      • 每行含義: 用戶名:口令:用戶標識號:組標識號:注釋性描述:主目錄:登錄shell

    • /etc/shadow

      • 口令的配置文件

      • 每行含義: 登錄名:加密口令:最后一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時時間:失效時間:標志

    • /etc/group

      • 組(group)的配置文件, 記錄Linux包含的組信息

      • 每行含義: 組名:口令:組標識號:組內(nèi)用戶列表

指定運行級別

基本介紹

運行級別說明:

  • 0 : 關(guān)機

  • 1 : 單用戶(找回丟失密碼)

  • 2 : 多用戶狀態(tài)沒有網(wǎng)絡(luò)服務(wù)

  • 3 : 多用戶狀態(tài)有網(wǎng)絡(luò)服務(wù)

  • 4 : 系統(tǒng)未使用保留給用戶

  • 5 : 圖形界面

  • 6 : 系統(tǒng)重啟

    說明: 常用運行級別是3和5, 也可以指定默認運行級別

    命令: init[0123456]

    • 通過init來切換不同的運行級別

CentOS7運行級別說明

在/ect/inittab文件中進行了簡化, 如下:

  • multi-user.target: analogous to runlevel 3

  • graphical.target: analogous to runlevel 5

  • -# To view current default target, run:

    systemctl get-default

  • -# To set a default target, run:

    systemctl set-default TARGET.target

重置root密碼

如何找回root密碼

  1. 重啟系統(tǒng), 進入開機界面, 按"e"進入編輯界面

    ?

  2. 進入編輯界面, 使用鍵盤上下鍵移動光標, 找到以"Linux16"開頭內(nèi)容所在的行數(shù), 將ro改為rw,并在行末輸入: init=/bin/sh

  3. 輸入完成后,直接按快捷鍵: Ctrl+x, 進入單用戶模式

  4. 輸入: "passwd root", 回車, 接著輸入密碼與確認密碼, 顯示passwd.....,說明密碼修改成功

  5. 在鼠標閃爍位置輸入: touch /.autorelabel, 按下回車

  6. 輸入: exec /sbin/init, 完成后按下回車鍵, 等待系統(tǒng)自動修改密碼, 這個過程時間可能有點久, 需耐心等待, 完成后系統(tǒng)自動重啟, 新密碼生效(或者手動啟動虛擬機)

幫助指令

  • man獲得幫助信息

    • man [命令或配置文件] (功能描述: 獲得幫助信息)

    • 例如: 查看ls命令的幫助信息 man ls (在Linux系統(tǒng)中, 隱藏文件是以"."開頭)

  • help指令

    • help 命令 (功能描述: 獲得shell內(nèi)置命令的幫助信息)

    • 例如: 查看cd命令的幫助信息 help cd

文件目錄

  • pwd

    • pwd ,顯示當前工作目錄的絕對路徑

  • ls

    • ls [選項] [目錄或是文件]

    • 常用選項

      • -a : 顯示當前目錄所有的文件和目錄, 包括隱藏文件

      • -l : 以列表的方式顯示信息

  • cd

    • cd [參數(shù)] (功能描述: 切換到指定目錄, 絕對路徑,相對路徑皆可)

      • cd ~ 或者 cd : 回到自己的家目錄, 例如當前用戶為root, 則cd ~ 切換到/root

      • cd.. 回到當前目錄的上一級目錄

  • mkdir

    • mkdir [選項] 創(chuàng)建的目錄

    • mkdir -p 創(chuàng)建多級目錄

    • 例如(下例中僅/home/目錄存在):

      • mkdir /home/dog 創(chuàng)建/home/dog目錄

      • mkdir -p /home/animal/cat 創(chuàng)建/home/animal/cat目錄

  • rmdir

    • mkdir的反向操作, 用于刪除目錄

    • rmdir [選項] 要刪除的目錄

      • rmdir /home/dog 刪除/home/dog目錄

      • 上例僅能刪除空目錄, rm -rf 要刪除的非空目錄

    • rm指令能夠刪除文件和目錄

      • 選項r表示遞歸刪除目錄

      • f表示強制刪除, 不會顯示刪除確定提示

    • rmdir -p 要刪除的目錄, 是當子目錄被刪除后使它也成為空目錄的話,則順便一并刪除

  • touch

    • 創(chuàng)建空文件

    • touch 文件名稱

  • cp

    • 拷貝文件

    • cp [選項] source dest

      • source: 源文件

      • dest: 目標目錄

    • 常用選項: -r, 用于遞歸復(fù)制整個文件夾

  • rm

    • 刪除文件或目錄

    • rm [選項] 要刪除的文件或目錄

    • 常用選項:

      • -r : 遞歸刪除整個文件夾

      • -f : 強制刪除不提醒

    • 應(yīng)用實例:

      • rm /home/HelloWorld.java : 刪除/home/HelloWorld.java

      • rm -rf /home/dir_java : 遞歸刪除/home/dir_java目錄

      • 提示: 刪除的目錄有多個文件或目錄時, 加上-f選項, 避免不必要的刪除確認提示

  • mv

    • 移動文件與目錄或者重命名

      • mv oldFileName newFileName (當前目錄下, 執(zhí)行重命名操作)

      • mv /temp/sourceFile /opt/destFile (移動文件)

  • cat

    • 查看文件內(nèi)容

    • cat [選項] 要查看的文件

      • 常用選項: -n, 顯示行號

  • more

    • 其是基于vi編輯器的文本過濾器, 以全屏幕的方式按頁顯示文本文件的內(nèi)容

    • more 要查看的文件

      • 詳細操作:

      操作 功能說明
      空格鍵(space) 表示向下翻頁
      回車鍵(Enter) 表示向下一行
      q 退出more指令
      Ctrl + F 向下滾動一屏
      Ctrl + B 返回上一屏
      = 輸出當前行號
      :f 輸出文件名和當前行號
  • less

    • less指令用來分屏查看文件內(nèi)容, 功能與more指令類似, 但比more指令更加強大, 支持各種顯示終端.

      使用less指令查看文件內(nèi)容時, 并不是一次性將整個文件加載到內(nèi)存, 而是按需動態(tài)加載內(nèi)容, 使用查看較大的文件

    • less 要查看的文件

      • 詳細操作

      操作 功能說明
      空格鍵 向下翻動一頁
      [pagedown] 向下翻動一頁
      [pageup] 向上翻動一頁
      /字符 向下查找[字符], n : 下一個匹配字符, N : 上一個匹配字符
      ?字符 向上查找[字符], n : 上一個匹配字符, N : 下一個匹配字符
      q 退出less
  • echo

    • 輸出內(nèi)容到控制臺

    • echo [選項] [輸出內(nèi)容]

      • echo $PATH : 輸出環(huán)境變量

      • echo hello, world! : 輸出hello, world!

  • head

    • 用于顯示文件開頭部分的內(nèi)容

      • head 文件 : 查看文件前10行內(nèi)容(默認為10行)

      • head -n 5 文件 : 查看文件前5行內(nèi)容

  • tail

    • 用于輸出文件尾部內(nèi)容, 默認情況下顯示文件的后10行內(nèi)容

      • tail 文件 : 查看文件后10行內(nèi)容

      • tail -n 5 文件 : 查看文件后5行內(nèi)容

    • tail -f 文件 : 實時追蹤該文檔的所有更新

  • >和>>

    • .> : 輸出重定向, >> : 追加

      • ls -l > ls.txt : 將列表的內(nèi)容寫入文件ls.txt中(覆蓋寫)

      • ls -al >> lsa.txt : 將列表的內(nèi)容追加到文件lsa.txt的末尾

      • cat 文件1 > 文件2 : 將文件一的內(nèi)容覆蓋寫到文件2中

  • ln

    • 軟連接也稱為符號連接, 類似于Windows里的快捷方式, 用于鏈接其它文件

    • ln -s [原文件或目錄] [軟鏈接名] : 給原文件創(chuàng)建一個軟鏈接

    • 說明: 使用pwd指令查看目錄時, 仍然是軟鏈接所在的目錄

  • history

    • 查看已經(jīng)歷史命令, 也可以再次執(zhí)行歷史命令

    • 應(yīng)用實例:

      • history : 顯示所有的歷史命令

      • history 10 : 顯示最近使用過的10個命令

      • !5 : 執(zhí)行歷史編號為5的命令

時間日期

  • date

    • 顯示當前日期

    指令 功能說明
    date 顯示當前時間
    date +%Y 顯示當前年份
    date +%m 顯示當前月份
    date +%d 顯示當前是哪一天
    date "+%Y-%m-%d %H:%M:%S" 顯示年月日時分秒
    • 設(shè)置日期

      • date -s 字符串時間

  • cal

    • 查看日歷指令

    • cal [選項] : 不加選項, 顯示本月日歷

搜索查找

  • find

    • find指令將從指定目錄向下遞歸地遍歷其各個子目錄,將滿足條件的文件或目錄顯示在終端

    • 基本語法

      • find [搜索范圍] [選項]

        選項 功能
        -name<查詢方式> 按照指定的文件名查找模式查找文件
        -user<用戶名> 查找屬于指定用戶名所有文件
        -size<文件大小> 按照指定的文件大小查找文件
    • 應(yīng)用實例

      • 案例一: 按文件名,根據(jù)名稱查找/home/目錄下的hello.txt文件

        • find /home -name hello.txt

      • 案例二:按擁有者:查找/opt目錄下,用戶名稱為noboby的文件

        • find /opt -user nobody

      • 案例三:查找整個linux系統(tǒng)下大于200M的文件(+n大于 -n小于 n等于,單位有k, M, G)

        • find / -size +200M

  • locate

    • locate指令可以快速定位文件路徑。locate指令利用事先建立的系統(tǒng)中所有文件名稱及路徑的locate數(shù)據(jù)庫實現(xiàn)快速定位給定的文件。locate指令無需遍歷整個文件系統(tǒng),查詢速度較快。為了保證查詢結(jié)果的準確性,管理員必須定期更新locate數(shù)據(jù)庫

    • 基本語法:

      • locate 搜索文件

      • 特別說明:由于locate指令基于數(shù)據(jù)庫進行查詢,所以第一次運行前,必須使用updatedb指令創(chuàng)建locate數(shù)據(jù)庫

      • which指令,可以查看某個指令在哪個目錄下,比如ls指令在那個目錄

  • grep和|

    • grep過濾查找,管道符 |,表示將前一個命令的處理結(jié)果輸出傳遞給后面的命令處理

    • 基本語法

      • grep [選項] 查找內(nèi)容 源文件

    • 常用選項

      選項 功能
      -n 顯示匹配行及行號
      -i 忽略字母大小寫
    • 應(yīng)用實例

      • 請在hello.txt文件中,查找“yes"所在行,并且顯示行號

        • cat /home/hello.txt | grep "yes"

        • grep -n "yes" /home/hello.txt

解壓縮

  • gzip/gunzip

    • gzip用于壓縮文件, gunzip用于解壓

    • 基本語法

      • gzip 文件 (只能將文件壓縮為*.gz文件)

      • gunzip 文件.gz (解壓gz文件)

    • 應(yīng)用實例

      • 案例一:gzip壓縮,將/home/hello.txt文件進行壓縮

        • gzip /home/hello.txt

      • 案例二:gunzip解壓,將/home/hello.txt.gz文件進行解壓

        • gunzip /home/hello.txt.gz

  • zip/unzip

    • zip用于壓縮文件,unzip用于解壓文件,這個在項目打包發(fā)布中很有用

    • 基本語法

      • zip [選項] xxx.zip 要壓縮的內(nèi)容 (壓縮文件和目錄)

      • unzip [選項] xxx.zip (解壓文件)

      • 常用選項

        • -r,遞歸壓縮,及壓縮目錄

        • -d<目錄> 指定解壓后文件的存放目錄

    • 應(yīng)用實例

      • 案例一:將/home/目錄及其所有子文件,子文件目錄進行壓縮為myhome.zip

        • zip -r myhome.zip /home/

      • 案例二:將myhome.zip解壓到/opt/tmp目錄下

        • mkdir /opt/tmp

        • unzip -d /opt/tmp /home/myhome.zip

  • tar

    • tar指令是打包指令,最有打包后的文件類型是.tar.gz

    • 基本語法

      • tar [選項] xxx.tar.gz 打包的內(nèi)容

        選項 功能
        -c 產(chǎn)生.tat打包文件
        -v 顯示詳細信息
        -f 指定壓縮后的文件名
        -z 打包同時壓縮
        -x 解壓.tar文件
    • 應(yīng)用實例

      • 案例一:壓縮多個文件,將/home/pig.txt和/home/cat.txt壓縮成 pc.tar.gz

        • tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt

      • 案例二:將/home文件夾壓縮成myhome.tar.gz

        • tar -zcvf myhome.tar.gz /home/

      • 案例三:將pc.tar.gz解壓到當前目錄

        • tar -zxvf pc.tar.gz

組、權(quán)限管理

    • 在Linux中的每個用戶都必須屬于某一個組

    • Linux中文件也有組的概念,且不局限于一個組

      • 所在組

      • 其它組

    • 文件/目錄所有者

      • 一般為文件/目錄的創(chuàng)建者,誰創(chuàng)建了該文件/目錄,就為其所有者

      • 查看所有者

        • ls -lah

      • 修改所有者

        • chown 用戶名 文件名

    • 文件/目錄所在組

      • 當某個用戶創(chuàng)建了一個文件后,該用戶所在組就是文件所在組

      • 查看文件/目錄所在組

        • ls -lah

      • 修改文件所在組

        • chgrp 組名 文件名

    • 其它組

      • 除文件的所有者和所在組的用戶外,系統(tǒng)的其他用戶都是文件的其它組

      • 改變用戶所在組

        • usermod -g 新組名 用戶名

        • usermod -d 目錄名 用戶名 改變該用戶登錄的初始目錄。

          • 特別說明,用戶需要有進入新目錄的權(quán)限

  • 權(quán)限

    • 通常,ls -l顯示內(nèi)容如下:

      -rwxrw-r-- 1 root root 121 Feb 2 12:12 hello.txt

    • 說明(0~9):

      • 第0位:文件類型(d, -, l, c, b

        • -:普通文件

        • d:目錄,也就是文件夾

        • c:字符設(shè)備文件,鼠標,鍵盤

        • b:塊設(shè)備,例如,硬盤

      • 第1~3位:所有者權(quán)限,---User

      • 第4~6位:所屬組權(quán)限,---Group

      • 第7~9位:其它用戶權(quán)限,---Other

    • rwx權(quán)限說明

      • 對于文件

        • r:表示可讀(read),可以讀取、查看

        • w:表示可寫( write),可以修改,但是并不代表可以刪除該文件,刪除需要有對該文件所在目錄具有寫權(quán)限

        • x:表示可執(zhí)行(execute),可以被執(zhí)行

      • 對于目錄

        • r:表示可讀(read),可以讀取、ls查看目錄內(nèi)容

        • w:表示可寫( write),可以修改,對目錄內(nèi)創(chuàng)建、刪除、重命名目錄/文件

        • x:表示可執(zhí)行(execute),可以進入該目錄

      • 數(shù)字表示權(quán)限

        • r=4,w=2,x=1,因此rwx=4+2+1=7

    • 其它說明

      • -rwxrw-r-- 1 root root 121 Feb 2 12:12 hello.txt

      • 1:文件:硬連接數(shù),目錄:子目錄數(shù)

      • root:用戶

      • root:組

      • 121:文件大?。ㄗ止?jié)),如果是文件夾,顯示4096字節(jié)

      • Feb 2 12:12:最后修改時間

      • hello.txt:文件名

    • 修改權(quán)限

      • 通過chmod指令,可以修改文件或者目錄的權(quán)限

        • chmod u=rwx,g=rx,o=x 文件/目錄名

        • chmod o+x 文件/目錄名

        • chmod a-x 文件/目錄名

        • 說明:u:所有者,g:所有組,o:其他人,a:所有人(u,g,o的總和)

          +:增加權(quán)限,-:減少權(quán)限,=賦予權(quán)限

      • 案例演示

        • 設(shè)置hello.txt文件的所有者讀寫執(zhí)行權(quán)限,所在組讀執(zhí)行,其它組讀執(zhí)行

          • chmod u=rwx,g=rx,o=rx hello.txt

        • 設(shè)置hello.txt文件所有者除去執(zhí)行權(quán)限,增加所在組權(quán)限

          • chmod u-x,g+w hello.txt

        • 設(shè)置hello.txt文件所有用戶添加權(quán)限

          • chmod a+r hello.txt

    • 使用數(shù)字方式變更權(quán)限

      r=4,w=2,x=1

      數(shù)字 相應(yīng)權(quán)限
      0 ---
      1 x
      2 w
      3 wx
      4 r
      5 rx
      6 rw
      7 rwx
      • 例如:chmod u=rwx,g=rx,o=x hello.txt == chmod 751 hello.tx

  • 修改文件所有者

    • 基本用法

    • chown newowner 文件/目錄 改變所有者

    • chown newowner:newgroup 文件/目錄 改變所有者和所在組

      • -R,如果是目錄,則是其下所有子文件或目錄遞歸生效

    • 案例演示

      • 將/home/abc.txt文件的所有者修改為tom

        • chown tom /home/abc.txt

      • 將/home/test目錄下所有的文件和目錄的所有者都修改為tom

        • chown -R tom /home/test

  • 修改文件/目錄所在組

    • 基本用法

      • chgrp newgroup 文件/目錄

    • 案例演示

      • 將/home/abc.txt文件的所在組修改成sh

        • groupadd sh

        • chgrp sh /home/abc.txt

      • 將/home/kkk目錄下的所有文件和目錄所在的組都修改成sh

        • chgrp -R sh /home/kkk

本文摘自 :https://www.cnblogs.com/

開通會員,享受整站包年服務(wù)立即開通 >