Linux基礎命令總結

目錄linux

1. 快捷鍵

C = ctrl算法

  • C+U:行末刪除到行首
  • C+L:等同於clear,清屏
  • C+K:行首刪除到行末
  • C+c:中止當前運行的命令
  • C+Z:終止當前運行的命令進程
  • C+W:向左刪除一個選項
  • C+左右方向鍵:向左\右移動一個選項位

2. 獲取幫助

  • <命令> --help:關於命令的簡短幫助手冊
  • man <命令> :顯示關於命令的完整使用手冊
  • help:顯示當前shell自帶的命令
  • info <命令>

3. 文件夾操做

  • mkdir:建立一個空目錄
    • -p:建立父文件夾
  • mkdir <目錄名> <目錄名> :在當前的目錄下建立多個目錄
  • rmdir:刪除一個空文件夾
  • (高危操做)rm:刪除文件或文件夾
    • -r:遞歸刪除
    • -f:忽略任何提示

4. 文件操做

  • touch <文件名> :建立一個空文件
  • vi <文件名> :保存後獲得空文件
  • echo > <文件名> :建立文件
  • mv [options] 源文件或目錄 目標文件或目錄

5. 查看文件

  • cat:顯示文件的全部內容,無格式化
  • less:顯示文件的一頁,可上下翻頁,可查找,並高亮顯示
  • more:顯示文件的一頁內容,可下翻頁
  • vi:可查看、可編輯、可查找
  • head -n 行數 某個文件
  • tail -n 行數 某個文件

6. 修改主機名

  • 修改配置文件/etc/hostname (重啓生效)
  • hostnamectl set-hostname <主機名> (實時生效)

7. Linux文件類型

  • 經過長格式查看文件屬性,第一個字符表明類型
  • -:文件
  • ​d:目錄
  • l:連接文件
  • b:塊設備(磁盤、u盤、光盤)(最小可操做的單位爲塊)
  • c:字符設備(遠程終端)

8. Linux目錄結構

centOS7.5shell

@startsalt
{
{T
 + /
 +++ /home "用戶主目錄的基點"
 +++ /root "超級用戶的目錄"
 +++ /usr "最大的目錄,存放着應用程序和文件"
 ++++ /bin "二進制可執行命令。該目錄下存放着普通用戶的命令"
 ++++ /lib "存放着和系統運行相關的庫文件"
 ++++ /sbin "系統的管理命令,這裏存放的是系統管理員使用的程序"
 ++++ /lib64 "存放着和系統運行相關的庫文件 "
 +++ /etc "系統或應用的配置文件(修改後須要重啓系統或重啓服務)"
 +++ /dev "設備文件,實時更新"
 +++ /boot "引導Linux內核的程序和文件"
 +++ /mnt "掛載點" 
 +++ /media "存放着可移除的設備,好比軟盤,光盤"
 +++ /var "日誌文件、網頁服務的文件、緩存文件"
 +++ /misc "儲存着一些特殊的字符的定義"
 +++ /tmp "臨時文件,重啓後自動清空"
 +++ /opt "主要給源碼安裝軟件時選擇的安裝目錄位置"
 +++ /proc "存放着用戶與內核的交互信息"
 +++ /sbin "系統的管理命令,這裏存放的是系統管理員使用的程序"
 +++ /sys "管理設備文件"
 +++ /srv "系統啓動服務時能夠訪問的數據庫目錄"
 +++ /run "程序或服務啓動"
}
}
@endsalt

9. 查看磁盤信息

  • lsblk 查看分區和磁盤
  • df -h 查看空間使用狀況
  • fdisk -l 分區工具查看分區信息
  • cfdisk /dev/sda 查看分區信息

10. 絕對路徑和相對路徑

  • 絕對路徑:是以根爲起始
  • 相對路徑:是以當前工做目錄的位置爲起始
  • 在每一個文件夾內默認都會有兩位文件夾
    • . :當前工做路徑
    • .. :當前工做路徑的上一級目錄
    • pwd:查看當前工做路徑

11. 查看已執行的歷史命令

  • Shell下按上/下方向鍵
  • history:顯示當前終端的全部歷史命令
  • ! <歷史命令行號> :直接執行行號對應的命令

12. alias命令別名

​命令:alias <別名> =‘ ’ 添加別名
​命令:unalias <別名> :刪除別名
數據庫

13. 重定向

一個進程運行時,有標準輸入輸出、錯誤。分別採用不一樣的通道進行信息交互,0、一、2
可使用重定向符改變標準輸出和錯誤的顯示位置後端

  • ​>:將標準輸出重定向到文件
  • ​>>: 將標準輸出重定向到文件(寫入方式爲追加)
  • 2>:將標準錯誤重定向到文件
  • &>:將標準輸出和錯誤重定向到文件
  • |:管道符,能夠將一個命令的標準輸出,做爲另外一個命令的標準輸入
  • <執行的命令(能夠產生標準輸出)> | <接收信息的命令>
yum | grep un

14. Linux 用戶管理

  • 三類用戶:
    • 超級管理員 UID爲0
    • 程序用戶 1-999
    • 普通用戶 1000+

​在/etc/passwd文件中,有描述每一個用戶的字段,每一行表明一個用戶的描述信息:centos

​zhangsan:X:1000:1000::/home/zhangsan:/bin/bash

​用戶名:密碼置位:UID:GID:備註:當前用戶使用的home目錄:用戶登錄時使用的Shell(指定爲nologin,該用戶沒法登錄)緩存

  • 在/etc/shadow中,保存着用戶的密碼信息,包括密碼密文,密碼策略
  • 在/etc/group中,保存着用戶組的信息,包括組名,組ID安全

  • useradd <用戶名> 建立用戶
  • usermod <選項> <用戶名> 修改用戶信息
  • userdel <用戶名> 刪除用戶
  • passwd 修改密碼
  • usermod 修改用戶信息(用戶ID、組ID、home目錄、鎖定、解鎖定)bash

批量建立用戶
​newusers <用戶定義的文件>
編寫Shell腳本 網絡

15. Linux文件權限

​a u g o
all user group other
d rwx rwx rwx root root
文件名 文件所屬者權限(user) 文件所屬組權限(group) 其餘用戶權限(other) 文件所屬者 文件所屬組

文件:644
目錄:755
​ 修改/etc/login.defs 修改末行的umask,能夠改動建立用戶時的Home目錄權限

  • chmod:修改文件或文件夾的權限
  • chown:修改文件或文件夾的所屬者和所屬組
  • chgrp:修改文件或文件夾的從屬組

修改文件或文件夾的權限信息

  • 字符修改
    • u:文件所屬者權限
    • g:文件所屬組權限
    • o:其餘用戶權限
    • chmod o+r <對象>
  • 八進制
    • 4:讀
    • 2:寫
    • 1:執行
    • 0:不可操做
  • 修改一個文件的所有權限就要使用a(all)或者八進制
    chmod a=rwx file
    或者 chmod 777 file
  • 修改一個文件的全部者具備讀寫執行權限
    chmod u=rwx file
    或者 chmod 700 file

16. vi編輯器

三種模式:

  • 命令:打開某個文檔,默認進入。任意一種模式下按ESC鍵
    • yy:複製光標所在的一行
    • y y:向下複製光標所在的N行
    • p、P:在光標下插入複製的內容、在光標上插入複製的內容
    • dd:刪除光標所在的一行
    • d d:向下刪除光標所在的N行
    • u:撤銷上一次操做
    • gg:跳轉到文檔首行
    • G:跳轉到文檔末行
    • gg:跳轉到文檔第N行
  • 輸入:i、a、o、insert
  • 末行:輸入「:」
    • set nu:顯示行號
    • w:保存,不退出
      • :w +目錄名/文件名 (另存爲)
    • q:沒有編輯的狀況下直接退出
    • q!:強制退出,不保存
    • s / <搜索的字符串> / <替換的字符串> :替換
    • % s / / /gc:將文檔中全部的X替換爲Y,且替換前提醒
    • N,M s / / /gc:將文檔中的N到M行中全部的X替換爲Y,且替換前提醒
    • 66,71 s/^/#/c:將66-71行的行首替換字符爲#(批量註釋代碼)

17. 進程

一個進程是一個運行實例的啓動
一個進程是由:分配的內存地址空間
資源與安全:安全特性包括全部權證書和特權

一個或多個程序代碼的執行線程
過程的狀態
環境包括:

  • 局部變量和全局變量
  • 分配文件描述符和網絡端口。

!父進程與子進程
某個進程經過自身代碼調用,能夠啓動一個新的進程,一般狀況複用進程的資源,新建立的進程做爲子進程存在

  • 子進程依賴父進程
  • 殺死父進程,子進程跟着掛
  • 父進程定義的局部變量,子進程可訪問
  • 子進程定義的局部變量,父進程不可訪問

進程信號

  • kill :能夠終止某一個進程
  • -9:強制終止進程,沒法攔截
  • -15:默認值,正常發送中止指令給進程,進程接收並清理退出
  • killall5 <進程名>

  • ps aux
  • top
  • 命令後添加「&」,能夠將進程放到後端運行
  • w:查看當前登錄到系統的全部用戶
  • whoami:查看當前shell登錄的用戶

18. 服務——後臺運行的進程

​服務——》網絡功能——>端口號
​須要守護進程(資源),保持網絡功能持續提供,端口一直處於打開狀態,與進程相關

  • systemctl :對服務進行操做
    用法:systemctl <動做> <服務的守護進程> >
    • start:開啓
    • stop:關閉
    • restart:從新啓動服務
    • reload:重載配置文件
    • enable:設置開機自啓
    • disable:取消開機自啓
    • status:查看服務狀態

centOS7.5網絡配置

VM的虛擬網絡要與物理網絡相通
​VMware網絡:橋接、NAT

查看網卡配置文件:vi /etc/sysconfig/network-scripts/ + 某個網卡

​ONBOOT=yes
​修改靜態IP
​BOOTPROTO=none
​PADDR=
​NETMASK= <掩碼>
​GATEWAY= <網關ip>
​DNS1=
​DNS2=

  • 重啓系統或重啓網絡
    systemctl restart network
  • 開啓/關閉端口
    ​ ifup <網卡名稱>
    ifdown <網卡名稱>
  • 查看接口IP
    ​ip add
  • 臨時關閉防火牆
    systemctl stop firewalld
  • 臨時關閉
    selinux setenforce 0

19. ssh配置密鑰

1.在SSH 客戶端處,生成公鑰和私鑰
2.將公鑰傳輸到服務端的~/.ssh/authorized_keys
3.開啓服務端密鑰認證
vi /etc/ssh/sshd_config
將PasswordAuthtication字段的參數改成no
4.重啓sshd服務
service sshd status
systemctl restart sshd
5.退出當前登錄,從新使用密鑰登錄

排錯 sshd -t

20. 文件歸檔

tar:

tar [必要參數] [選擇參數] [文件]
  • -z:使用gzip算法壓縮
  • -c:建立一個名爲.tar格式的包文件
  • -j:使用bzip2壓縮算法
  • -J:使用XZ算法壓縮
  • -v:執行過程顯示詳情信息
  • -f:指定壓縮文件名
  • -x:從壓縮文件中提取文件
  • -delete:刪除規定文件
  • --help:幫助

用法:
使用gz算法壓縮文件
tar -zcvf <解壓縮文件名 壓縮到的目錄> <將要壓縮的文件>
解壓GZ算法的文件
tar -zxvf <解壓縮文件>

21. 日誌文件

查看錯誤日誌條目
journalctl -xe :查看系統的日誌

軟件安裝

RPM:安裝單個軟件、一般須要提早準備好安裝包,不會自動解決依賴關係

# 安裝軟件
rpm <必要參數> <某軟件名>
    -ivh:安裝軟件
    -qa:查詢當前已安裝的軟件
    -e:卸載軟件

YUM:可經過網絡獲取最新的軟件包,並自動解決依賴關係

yum <參數> <包名>
    install:從網絡獲取並安裝
    erase:卸載安裝包
相關文章
相關標籤/搜索