Linux的xshell命令


1,Linux基本命令行的組成結構

2,Linux系統命令操作格式

命令 空格 參數 空格 需要處理的內容
rm   -rf   /tmp/*
ls   -la   /home
  1. 一般情況下(參數)是可選的,一些情況下(文件的路徑)也是可選的
  2. 參數 > 同一個命令,跟上不同的參數執行不同的功能,執行Linux命令,添加參數的目的是讓命令更加貼近實際工作的需要,Linux命令,參數之間,普遍應該用一個 或多個空格分割

3,創建一個目錄/xuexue

  • mkdir xuexue    在root目錄下創建xuexue文件夾
  • mkdir /xuexue   在根目錄下創建xuexue文件夾
  • mkdir -p a/b c/d    遞歸創建文件夾
  • mkdir test{a,b,c,d}         遞歸創建四個目錄
  • mkdir -p a/b/c/d/               遞歸創建文件夾

4,創建文件或者修改文件時間戳(文件屬性)

  • 修改文件的更改時間,很多黑客就會在惡意修改文件之后再修改之前的時間
  • ls -l  查看所有文件夾
  • echo "xuexue" >> python.py    表示把xuexue這個字符串寫到python.py中

5,stat命令(顯示文件或文件系統的狀態):

  • 用法: stat   [參數]   文件
  • 參數列表:
    • -L,  --dereference   跟隨連接
    • -f.   --file-system     顯示文件系統狀態而非文件狀態
    • -c   --format-格式    使用指定輸出格式代替默認值,每用一次指定格式換一新行
    • --printf=格式             類似 --format,但是會解釋反斜杠轉義符,不使用換行作輸出結尾,如果您仍希望 使用換行,可以在格式中加入"\n"
    •  -t,  --terse       使用簡潔格式輸出
      • --help       顯示此幫助信息並退出
      • --version   顯示版本信息並退出
  • 格式化輸出參數:
    • %a     八進制權限
    • %A     用可讀性較好的方式輸出權限

  • 顯示文件的權限
  • stat -c %a python.py
  • stat -c %A python.py

6,vim:所有的Unix Like系統都會內建vi編輯器,其他的文書編輯器則不一定會存在

但是目前我們使用比較多的是vim編輯器

vim具有程序編輯的能力,可以主動的以字體顏色辨別語法的正確性,更方便程序的設計

  • vi vim:使用vi打開python.py默認是命令模式,需要輸入a/i進入編輯模式,然后輸入文本"Life is short,i use python"
  • 按下esc鍵,回到命令模式
  • 輸入:wq!, 強制保存退出
  • w write 寫入
  • q quit 退出
  • ! 強制
  • 或者:x 保存退出
  • :q 不保存退出
  • :q!  不保存強制退出

7,查看文件內容:cat命令用於查看純文本內容(常用於內容比較少)

  • cat -n python.py    查看文件顯示行號
  • cat python.py  直接查看文件內容
  • 在每一行的結尾加上$符

  • cat -E python.py
  • 追加文字到文件中

  • cat >> python.py << EOF
  • 世情薄,人情惡,雨送黃昏花易落,
  • 曉風干,淚痕殘,欲箋心事,獨語斜闌,
  • 難,難,難! 
  • EOF

8,more命令

  1. more命令用於查看內容較多的文本,列如要看一個很長的配置文件,cat查看內容屏幕會快速翻滾到結尾
  2. more命令查看文本會以百分比形式告知已經看到多少,使用回車鍵向下讀取內容
  • more/etc/passwd
  • 按下空格鍵space是翻頁
  • 按下b鍵上一頁
  • 回車鍵向下讀取內容

9,Linux的快捷鍵

  1. tab鍵, 用於自動補全命令/文件名/目錄名
  2. ctrl + l: 清理終端顯示
  3. clear/cls:清理終端顯示
  4. ctrl +c: 終止當前操作

10,echo命令:

  • echo命令用於在終端輸出字符串或變量提取后的值,格式"echo[字符串|$變量]"
  • # 默認把內容顯示到終端
  • echo "帥爆太陽的男人",
  • echo "帥爆太陽的男人" > python.py

11,特殊符號

  • 輸入輸出,重新定向
  1.  >> 追加重定向, 把文字追加到文件的結尾
  2. > 重新定向符號,清空原文件所有內容,然后把文字覆蓋到文件末尾
  3. < 輸入重定向
  4. << 將輸入結果輸入重定向 
  5. eg:<< 和>> 一起用:如下
  6. 通配符: ls -l /etc/us*

12,賦值(拷貝的命令)

  • cp xxx.py /tmp目錄下
  • 移動xxx.py文件到/tmp目錄下
  • cp xxx.py /tmp/yyy.py
  • 移動xxx.py目錄,並重命名xxx.py為yyy.py
  • Linux下面很多命令,一般沒有辦法直接出處理文件夾,因此需要加上參數
  • cp -r 遞歸,復制目錄以及目錄的子孫后代
  • cp -p復制文件,同時保持文件屬性不變, 可以用stat
  • cp -a相當於 -pdr
  • cp -r test test2
  • 操作命令前,先cp復制一份
  • cp main.py main.py.bak

13,移動命令

  • mv /home

14,刪除命令

  • 刪除/ --->remove/  ---->rm
  • 參數:  -i   需要刪除確認
  • 參數:  -f   強制刪除
  • 參數:  -r   遞歸刪除目錄和內容

15,查找命令

格式:find  在哪里(目錄)   什么類型(文件類型)   叫什么名字(文件名)

  • 參數: -name 按照文件名查找文件    -type查找某一類文件列如
    • b -塊級設備文件
    • d -目錄
    • c -字符串設備名稱
    • p -管道文件
    • l -符號鏈接文件
    • s -socket文件
    • # 表示找出"xuexue".txt文件
      • find  -type f -name "xuexue".txt
    • # 找出所有以.txt結尾的文件
      • find -type f -name "*.txt"
    • # 找到當前目錄下所有名字以host開頭的文件
      • find -name "host*"
    • # 找到當前目錄名為settings.py文件
      • find -name "settings.py" 

16,管道命令

Linux提供的管道符"|"是將兩條命令隔開,管道符左邊命令的輸出會作為管道符右邊命令的輸入,常見用法:

  • # 檢查python程序是否啟動
  • ps -ef | grep "python"
  • # 找到test目錄下的所有.txt文件

  • ls test|grep ".txt"

  • # 檢查nginx的端口是否存活

  • netstat -tunlp |grep nginx

命令格式

grep:(global search regular expression(RE) and print out the line,全面搜索正則表達式並把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來.

    • 語法:grep [參數]  [--color=auto]  [字符串]  filename
    • 參數詳解:
    • -i:忽略大小寫
    • -n: 輸出行號
    • -v: 反向選擇
    • --color = auto :給關鍵部分添加顏色
  • grep "我要找什么"  ./test/ python.py
  • # 排除 -v,排除我要找的東西

  • grep -v "我要找什么" ./test/ python.txt

16.1,head,tail命令

  • head顯示文件前幾行,默認前10行
  • tail顯示文件后幾行,默認后10行
  • # 查看 前 2行
  • head -2 /test/python.txt
  • #查看后2行
  • tail -2 /test/python.txt
  • 持續刷新顯示
  • tail -f xx.log
  • #顯示文件10-30行
  • head -30 /test/python.txt |tail -21

17,別名alias命令

Linux在使用rm(刪除),cp(覆蓋),mv(搬家)等命令的時候,必須非常小心,因為這些命令都是"炸彈",刪庫跑路,就是這么來的

  • 查看系統別名的命令:alias
  • 默認別名:

  • alias cp="cp -i"
  • alias egrep="egrep --color=auto"
  • alias fgrep="fgrep --color=auto"
  • alias grep="grep --color=auto"
  • alias l.="ls -d .* --color=auto"
  • alias ll="ls -l --color=auto"
  • alias ls="ls --color=auto"
  • alias mv="mv -i"
  • alias rm="rm -i"
  • alias which="alias | /usr/bin/which --tty-only --read-alias --show-dot --show-title"
  • 別名的作用:我們在Linux中使用cp時候相當於執行了cp -i
  • -i: 刪除已有文件或目錄之前先詢問用戶
  • # 別名用比較危險的操作,防止犯錯

18,為rm設置別名

  • 讓系統顯示do not use rm
  • echo do not use rm
  • # 設置rm別名
  • alias  rm = "echo do not use rm"
  •  
  • # 設置別名永遠生效,寫入到etc/prodile(針對登錄用戶的客戶,設置環境變量)

  • vim /etc/profile # 編輯文件
  • G 快速到達最后一行
  • O 當前行下一行,創建一個新行,進入編輯模式
  • source  /etc/profile# 讀取文件,合同生效
  • 取消別名
  • unalias rm

19,which命令

which命令用於查找並顯示給命令的絕對路徑,環境變量PATH中保存了命令時需要遍歷的目錄.wgich指令會在環境變量$PATH設置的目錄里查找符合條件的文件

也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行到那一位置的命令

which pwd

which python

查看到的都是絕對路徑下的命令的位置

20,scp命令

Linux scp命令用於Linux之間復制文件和目錄

scp 是 source copy的縮寫,scp是linux系統下基於ssh登錄進行安全的遠程文件拷貝命令

  • 語法 :scp (可選參數)本地原文件 遠程文件標記
  • 參數:
  • -r : 遞歸復制這個目錄
  • -v : 詳細方式輸出
  • -q : 不顯示出書進度條
  • -c :允許壓縮

20.1,文件的傳輸

  • 傳輸本地文件到遠程地址
  • scp 本地文件 遠程用戶@遠程ip: 遠程文件夾/
  • scp ./test/xuexue.txt root@192.168.21.8:/root/practice/
  • scp 本地文件 遠程用戶名@遠程ip:遠程文件夾/遠程文件名

  • scp test/python.txt root@192.168.21.8:/practice/xuexue_python.txt
  • # 復制遠程文件到本地

  • scp root@192.168..21.8:/root/practice/python.py  test/python.py
  • scp -r root@192.168.21.8:/test/python.py

  • 這個先得創建好python.py文件去接收

21,du命令

Linux中du命令顯示目錄或文件的大小

du會顯示指定目錄或文件所占用的磁盤大小

  • 用法:du (參數)  (文件或目錄)
  • -s: 顯示總計
  • -h以k,m,g為單位顯示,可讀性強
  • # 顯示目錄或文件所占空間,什么都不跟,代表顯示當前目錄所有文件大小
  • du
  • # 顯示/home的總大小

  • du -sh /home

 

22,top命令:top命令用於動態地進行監視活動與系統負載等信息

  • 圖片分析
  • 第一行(uptime)
  • 系統時間 主機運行時間 用戶連接數(who) 系統1,5,15分鍾的平均負載
  • 第二行 進程信息
  • 進程總數, 正在運行的進程數 睡眠的進程數 停止得進程數 僵屍進程數
  • 第三行:cpu信息
  • 1.5 us: 用戶空間所占cpu百分比
  • 0.9 sy: 內核空間占用CPU百分比
  • 0.0 ni: 用戶進程空間內改變過優先級的進程占用cpu百分比
  • 97.5 id:空閑cpu百分比
  • 0.2 wa:等待輸入輸出的cpu時間百分比
  • 0.0 hi:硬件CPU中斷占百分比
  • 0.0 si:軟中斷占用百分比
  • 0.0 st: 虛擬機占用百分比
  • 第四行內存信息
    • 8053444 total: 物理內存總量
    • 7779224 used: 已使用的內存總量
    • 274220 free: 空閑的內存總量
    • 359212 buffers: 用做內核緩存的內存量
  • 第五行 :swap信息
  • 8265724 total:交換分區總量
  • 33840 used: 已使用的交換分區總量
  • 8231884 free :空閑交換區總量
  • 7358088 cached Mem: 緩沖的交換區總量,內存中的內容被換出到交換區,然后使用過的交換的交換區沒有被覆蓋,交換區的這些內容已存在於內存中的交換區的大小,相應的內存再次被換出時,可不比再對交換區寫入.

23,chattr命令

給文件加鎖,只能寫入數據,無法刪除

  • chattr +a python.txt   #  加鎖
  • chattr -a python.txt    #  解鎖 

24,lasttr命令 

查看文件隱藏屬性

lsattr test/python.txt

25,Linux時間同步

Linux的date命令可以顯示當前時間或者設置系統時間

查看當前時間

  • 格式化輸出時間
  • -d      --date=string   顯示指定的時間,而不是當前時間
  • 以 年-月-日顯示當前時間
  • date + "%Y-%m-%d"
  • 以年-月-日 時分秒 顯示當前時間
  • date +"%Y-%m-%d %T"
  • 在Linux下系統時間和硬件時間不會自動同步,在Linux運行過程中,系統時間和硬件時間以異步的方式運行,互不干擾.硬件時間的運行,是靠Bios電池來運行,而系統時間是CPU tick來維持的
  • 在系統開機的時候,會從Bios中獲取硬件時間,設置系統時間

硬件始終的查看

  • hwclock
  • 同步系統時間和硬件時間,可以用hwclock命令

  • # 以系統時間為基准,修改硬件時間

  • # 以硬件時間為基准,修改系統時間

 

26,NTP時間服務器

時間對於人類來說是必不可少的,時間就是金錢,因此對於服務器時間額度把控非常重要,如果系統的時間不對,那么對於每一個文件的擦歐洲哦都是錯誤的

關於時間服務器的配置文件,有如下幾種

  • /bin/date   用於Linux時間(軟件時鍾)的修改與顯示的指令
  • /sbin/hwclock 用於BISO時鍾(硬件時間)的修改與顯示的命令,這是一個root才執行的命令,因為Linux系統上面BISO時間與Linux系統時間時分開的,所以使用date這個指令調整了時間之后,還需要使用hwclock才能將修改后的時間寫入BISO當中!
  • /usr/sbin/ntpd 主要提供NTP服務的程序,配置文件為/etc/ntp.conf
  • /usr/sbin/ntpdate :用於客戶端的時間的矯正.如果你沒有要啟用NTP而僅想用NTP Client功能,只會用到這個指令就好了

由於我們只需要用作客戶端更新時間

ntpdate -u ntp.aliyun,com

27,wget命令

wget命令用於在終端下載網絡文件

參數是wget(參數)下載地址

wget -r -p http:// www.xiaohua100.com  # 遞歸下載所有資源

28,開關機命令

reboot命令用於重啟機器

poweroff用於關閉系統

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM