一、*通配符

ls * : 可以匹配任意一個名稱的文件

Linux基礎命令(詳細版)_51CTO博客_命令行

ls *.c : 匹配點c後綴的文件

Linux基礎命令(詳細版)_51CTO博客_命令行_02

ls test.* :匹配以test.開頭的文件

Linux基礎命令(詳細版)_51CTO博客_搜索_03

二、man 指令 

一個指令使用手冊<manual > ,可以查看其他指令對應的説明

  • -k 根據關鍵字搜索聯機幫助
  •  num 只在第num章節查找
  • -a 將所有章節的都顯⽰出來,⽐如 man printf 它缺省從第⼀章開始搜索,知道就停⽌,⽤a選項,當按下q退出,他會繼續往後⾯搜索,直到所有章節都搜索完畢

Linux基礎命令(詳細版)_51CTO博客_#運維_04

Linux基礎命令(詳細版)_51CTO博客_搜索_05

如果這樣呢 : 

Linux基礎命令(詳細版)_51CTO博客_搜索_06

Linux基礎命令(詳細版)_51CTO博客_#linux_07

  1. 是普通的命令
  2. 是系統調⽤,如open,write之類的(通過這個,⾄少可以很⽅便的查到調⽤這個函數,需要加什麼頭⽂件)
  3. 是庫函數,如printf,fread4是特殊⽂件,也就是/dev下的各種設備⽂件
  4. 是指⽂件的格式,⽐如passwd, 就會説明這個⽂件中各個字段的含義
  5. 是給遊戲留的,由各個遊戲⾃⼰定義
  6. 是附件還有⼀些變量,⽐如像environ這種全局變量在這⾥就有説明
  7. 是系統管理⽤的命令,這些命令只能由root使⽤,如ifconfig

man 默認從手冊1中查到指令,如果找不到就去2中找以次按順序找,如果找不到

Linux基礎命令(詳細版)_51CTO博客_#運維_08

三、echo指令

echo "hello Linux" :原封不動的打印

Linux基礎命令(詳細版)_51CTO博客_#運維_09

他這裏不像C++裏面字符串要加分號“ ” 一樣, 只要是跟着在他後面的都能打印到屏幕上

Linux基礎命令(詳細版)_51CTO博客_搜索_10

這裏的 > :

叫輸出重定向,本來應該寫在顯示器上的內容 ,寫到文件中

把原本應該寫在顯示器文件中的寫到了普通磁盤文件中,他這種寫法是覆蓋的寫入

第一步是清空文件

第二步是寫入新內容

所以如果我們有一個文件存在,不寫入新內容 ,他就會清空文件

Linux基礎命令(詳細版)_51CTO博客_命令行_11

這樣 log.txt就什麼都沒有了

那怎樣在保留原有基礎上不清空原有文件,然後再寫入新內容呢

 >> : 追加重定項

Linux基礎命令(詳細版)_51CTO博客_#服務器_12

注意到這裏每次都是換行了,那如果我們不想換行呢?

用 printf 指令 ,這裏的printf是指令,和c++的printf沒有一點關係,注意這裏要想打印字符串就要加分號了,要不然他遇到空格就會停止打印

Linux基礎命令(詳細版)_51CTO博客_#運維_13

無論是輸出重定向還是追加重定項,如果寫的目標文件不存在,就會重新創建一個文件

這就不一定非得寫touch 

Linux基礎命令(詳細版)_51CTO博客_命令行_14

那如果我只寫一個cat呢?cat也是打印

Linux基礎命令(詳細版)_51CTO博客_#運維_15

輸入一個 ,打印一個 ,(寫到顯示器文件中),只寫cat就默認從鍵盤中讀,因為鍵盤也是文件

按 ^c 可以停止

<  : 輸入重定向

本來應該從鍵盤文件中讀,現在不用從鍵盤文件中讀,而從指定文件中讀取,這叫做輸入重定向

Linux基礎命令(詳細版)_51CTO博客_#linux_16

當然不寫這個 輸入重定向效果是一樣的

四、more 指令

功能類似於cat , cat不適合看大文本。如果我想看文本的最後幾行,要一直往下翻,成本太高,cat更適合看小文本而,而more更適合看大文本。他會把一個屏幕佔滿後,停止輸入打印。如果要來繼續,可以按回車想要退出,可以按關鍵是他能帶選項,可以顯示到你想要看的第幾行就停下

Linux基礎命令(詳細版)_51CTO博客_搜索_17

test.txt 已經放進去了很多值

他能帶選項,可以顯示到你想要看的第幾行就停下

Linux基礎命令(詳細版)_51CTO博客_命令行_18

Linux基礎命令(詳細版)_51CTO博客_搜索_19

但缺點就是不能往上,more 只能顯示更多,所以這裏還有另一個指令 less 

五、less 指令

那是相比於在保留more 的基礎功能上,可以向上翻,還可以向下翻,由上下鍵來決定

Linux基礎命令(詳細版)_51CTO博客_#運維_20

Linux基礎命令(詳細版)_51CTO博客_搜索_21

Linux基礎命令(詳細版)_51CTO博客_#服務器_22

既可以向上看,還可以向下看

六、head 指令

head test.txt : 默認把我們給的文本提取出前十行

Linux基礎命令(詳細版)_51CTO博客_#運維_23

可以帶選項,帶數字幾就提取出前幾行來,從頭提出3行 :

Linux基礎命令(詳細版)_51CTO博客_#服務器_24

七、tail 指令

tail test.txt  提取test.txt 文本的倒數幾行,和head 相反

也可以帶選項

Linux基礎命令(詳細版)_51CTO博客_#運維_25

但是如果我們想看一個文本中間的內容呢,可以利用管道文件

: head -1000 test.txt | tail -10

Linux基礎命令(詳細版)_51CTO博客_命令行_26

他把hand處理過的數據放到管道中,管道是屬於內存級的,再把管道中的數據給tail

管道可以支持流水線工作,把數據一道道的加工

八、date 顯示

指定格式顯示時間: date +%Y:%m:%d

Linux基礎命令(詳細版)_51CTO博客_#運維_27

Linux基礎命令(詳細版)_51CTO博客_命令行_28

在顯⽰⽅⾯,使⽤者可以設定欲顯⽰的格式,格式設定為⼀個加號後接數個標記,其中常⽤的標記
列表如下 
• %H : ⼩時(00..23)
• %M : 分鐘(00..59)
• %S : 秒(00..61
• %X : 相當於 %H:%M:%S
• %d : ⽇ (01..31)
• %m : ⽉份 (01..12)
• %Y : 完整年份 (0000..9999)

• %F : 相當於 %Y-%m-%d

Unix時間戳: 是從1970年1⽉1
⽇(UTC/GMT的午夜)開始所經過的秒數,不考慮閏秒

時間->時間戳:date +%s

Linux基礎命令(詳細版)_51CTO博客_#運維_29

 時間戳->時間:date -d@1234

Linux基礎命令(詳細版)_51CTO博客_命令行_30

cal 指令 : 顯示日曆

  1. cal 顯示當月的日曆
  2. cal -3 顯示3個月的日曆,即當月,前一月,下一月的日曆
  3. cal  2005 指定顯示2005年的12個月份的日曆
  4. cal -j 從1月1日開始進行計算,算出當前天在當年中處於第幾天


九、find指令

find 路徑 -name 文件名 可以在指定路徑下搜索指定文件,注意~是家目錄,查找後綴名可以使用*後綴名的方式

Linux基礎命令(詳細版)_51CTO博客_#服務器_31

Linux基礎命令(詳細版)_51CTO博客_#服務器_32

whereis 指令 : 在系統特定的路徑下去查找,既可以查找到可執行程序,也可以查到手冊安裝包,壓縮包等

Linux基礎命令(詳細版)_51CTO博客_#運維_33

which 指令 :查找指令所在的路徑

Linux基礎命令(詳細版)_51CTO博客_命令行_34

十、grep 指令

行文本過濾器

grep 'Linux' log.txt : 他會打開log.text,以Linux作為關鍵字進行過濾,一行一行的過濾,如果匹配的話就打印出來

Linux基礎命令(詳細版)_51CTO博客_#linux_35

grep -v 'Linux' log.txt : 打印不包含Linux的行

Linux基礎命令(詳細版)_51CTO博客_#運維_36

grep -i  : 忽略大小寫


11、zip / unzip 指令

將目錄或文件壓縮成zip格式

Linux基礎命令(詳細版)_51CTO博客_#linux_37

如果要壓縮一個大目錄,就要加上-r

zip -r d1.zip d1 log.txt  : 把d1這個樹狀的目錄和log.text都壓縮成一個d1.zip壓縮包

unzip d1.zip : 解壓d1.zip

解壓文件容易,怎樣把文件解壓到指定目錄下? -d 指明我們要解壓的目錄


unzip d1.zip -d d2/ : 把d1壓縮包解壓到d2目錄下


12、tar指令

也是打包壓縮,只不過他可以通過增加指令,既可以做到壓縮,也可以做到解壓

  • tar czf xxx  : 打包壓縮
  • tar tzf xxx.tgz : 預覽壓縮的文件
  • tar xzf xxx.tgz : 解壓
  • tar xzf xxx.tgz -C .. : 解壓到某一路徑下 (這裏是解壓到上一級路徑)


13、bc 指令

bc命令可以很⽅便的進⾏浮點運算

Linux基礎命令(詳細版)_51CTO博客_命令行_38

14、uname指令

  1. uname 可以用來獲取linux主機的所使用的操作系統的版本,硬件名稱等的相關信息
  2. uname -a 可以詳細輸出所有信息
  3. uname -r 可以查看體系結構

Linux基礎命令(詳細版)_51CTO博客_#linux_39

Linux基礎命令(詳細版)_51CTO博客_#linux_40

補充  

Tab :Tab鍵可以自動補齊指令,並且會在我們的指令後面加入空格進行分隔

Linux基礎命令(詳細版)_51CTO博客_#運維_41

按Tab :

Linux基礎命令(詳細版)_51CTO博客_命令行_42

ctrl+c鍵 : 可以將當前運行正常或異常的程序終止退出,終止當前命令行的任務

ctrl+r鍵 : ctrl+r 可以搜索用户歷史輸入的指令 ,Linux會記錄最新的1000條

ctrl+d鍵 : ctrl+d 相當於 exit

指令的原理 :指令的本質是編譯好的程序和腳本,(放在系統的某一路徑下)

Linux基礎命令(詳細版)_51CTO博客_命令行_43

以上的shell叫作命令行解釋器

命令行解釋器 :將使用者的命令翻譯給操作系統核心處理,同時將核心處理結果翻譯給使用者

存在的意義 :

  1. 存在的意義進行命令行解釋
  2. 防護操作系統對於用户的非法請求進行攔截