第1節 查看當前系統版本及內核 cat /etc/redhat-release (查看系統版本) CentOS Linux release 7.4.1708 (Core) uname -r (查看系統內核) 3.10.0-693.el7.x86_64 uname -a (查看當前操作系統) x86_ ...
第1節 查看當前系統版本及內核
cat /etc/redhat-release (查看系統版本)
CentOS Linux release 7.4.1708 (Core)
uname -r (查看系統內核)
3.10.0-693.el7.x86_64
uname -a (查看當前操作系統)
x86_64
第2節 識別當前狀態
[root@localhost~]#
- root:當前登陸用戶名
- @:分隔符
- localhoist:主機名
- ~:當前路徑所在位置
- #:當前登陸用戶提示符,普通用戶$
第3節 linux命令操作語法
命令_[參數選項]_[文件目錄]
第4節 常用的基礎命令
1、mkdir:make directory 創建目錄
例:mkdir /data (在/目錄下創建data目錄)
-p 遞歸,連續創建文件
2、touch:創建文件
例:touch /file.txt (在/目錄下創建file.txt文件)
如果當前目錄有相同文件,此操作會改變文件的時間戳
3、stat:查看文件的時間戳
4、ls:list 列印目錄中的內容
例:ls / (列出/目錄中的文件和目錄)
- l (long)長格式
-d (directory)查看目錄屬性
-a 列印所有文件,包括隱藏文件
5、cd:change directory 切換目錄
例:cd /etc (切換到etc目錄)
絕對路徑:以根目錄為起點的路徑 如: cat /etc/password
相對目錄:以當前所在目錄為起點的路徑 如: vim password
6、pwd:print work directory 列印當前所在目錄的絕對路徑(我在哪)
7、cat:1,創建文件2,列印文件內所有內容
例:1.cat file.txt
2.cat >>file.txt<< EOF (創建文件file.txt) EOF為結束符,不是固定字元
EOF
8、cp:copy 拷貝文件或目錄
例:cp /etc/yum.conf /var (複製etc/yum.cof到var目錄裡面)
-a:相當於-pdr 它保留鏈接、文件屬性,並遞歸地拷貝目錄
-d:若源文件為為鏈接文件,複製時保留鏈接
-f :刪除已存在的文件而不提示
-i :根-f相反提示 (預設提示)
-p:保留文件屬性
-r :遞歸複製目錄下所有文件和目錄
9、mv:move 移動文件或目錄 也可以改名 原地移動就是改名
例:mv /data /root/da (把data移動到/root下並改名為data.bak)
10、rm :remove 刪除文件或目錄 預設不會刪除目錄 必須加-r
例:rm /test
-r(recursive)刪除目錄
-f(force)強制刪除
11、rmdir:刪除空目錄
#刪除空文件
12、seq: 產生一個數到另一個數之間的整數
例:seq 1 10 列出1-10之間的所有數字 包括1 和10
-s 指定分隔符
-w 在數字前添0使得數字寬度相同
13、head:頭部 讀取文件前n行 預設是前十行
例:head /etc/yum.conf
-n 顯示的行數
-c 顯示的位元組數
14、tail:尾巴 預設輸出文件後十行
-n顯示行數
-f 迴圈讀取 不中斷讀取 只要更新內容就會顯示
-s結合-f使用表示間隔幾秒讀取一次
15、which:顯示命令的絕對路徑
例:which cd
/bin/cd
16、alias:設置別名 顯示當前系統設置的所有別名
17、unalias:取消別名
18、find:查找文件(此命令太強大 以後慢慢總結)
-type |
f 普通文件 |
d 目錄文件 |
b 快設備文件 |
l 符號鏈接文件 |
s 套接字文件 |
p 管道文件 |
-name -user -nouser -atime
根據文件名查找 指定屬主的所有文件 查找沒有屬主的文件 根據時間戳查找
-iname -group -nogroup -perm
不區分大小寫 指定屬組的所有文件 查找沒有屬組的文件 根據許可權查找
-regex -uid -gid -size
基於正則表達式查找 指定UID 指定GID 根據文件大小查找
三劍客
老三 grep: global regular expression print 正則表達式搜索
例:grep test file.txt (過濾file.txt文件裡面帶有test字元的行)
-v 排除內容
-I (i)不區分大小寫
-c 輸出匹配的次數
-l(L) 只輸出包含該字元串的文件的文件名
-n 標出指定行號
-s 不顯示錯誤信息
-V 顯示軟體版本
-A 除了顯示匹配的行之外,並顯示當前行之後的後n行
-B 除了顯示匹配的行之外,並且顯示該行之前的前n行
-C 除了顯示匹配的行之外,並且顯示該行前後各n行
正則表達式的常用參數
^:以什麼開頭
$:以什麼結尾
\:忽略特殊字元的原來意思
[ ]:匹配單個字元
[-]:範圍 如 A-Z
老二 sed:stream editor cditor 實現對文本的增刪改查替換 流編輯器
例:sed -n “20,30” p test.txt (只查看文件中的20-30行)
sed -i “s/123/234/g” test.txt (全局替換文件中的123為234)
參數 -n 取消預設輸出
- i 修改文件內容(預設是顯示 不修改)
-e 允許多項編輯
列印 p 列印
s 查找並替換
g 與s聯合使用時 表示全局替換
老大 awk :處理文本文件的語言,是一個強大的文本分析工具。
例:awk ‘NR>19&NR<31’ test.txt 查找test.txt中的10行
ls -l | awk '{print $1}' 輸出ls -l 顯示的內容的每一行的第一個字元串 預設按空格分隔
$0變數是指整條記錄 $1表示當前行的第一個域 $2表示當前行的第二個域 。。。以此類推
-F 指定分隔符