01_學習Linux命令的原因
-
Linux剛面世時并沒有圖形界面,所有的操作全靠命令完成,如:磁盤操作 檔案存取 目錄操作 行程管理 檔案權限設定等
-
在企業中Linux服務器維護作業都是通過SSH客戶端(如:SesureCRT)遠程連接Linux服務器來完成的,并沒有圖形界面 所有的維護作業都需要使用命令來完成
-
在職場中, 作為一名程式員, 必須要或多或少的掌握一些Linux常用的終端命令
-
Linux發行版本的命令大概有200多個 但是常用的命令只有10多個而已
==學習終端命令的技巧==
不需要死記硬背, 對于常用命令, 用的多了, 自然就記住了
不要嘗試一次學會所有的命令, 有些命令是非常不常用的,臨時遇到, 臨時百度就可以
02_終端命令格式
什么是命令?
命令也成為指令, 在Linux終端(命令列)中輸入的能夠被Linux系統識別的內容,成為命令

標準的Linux命令格式
指令主體 (空格) [-選項] (空格) [操作物件]
說明:
-
指令主體: 或者目錄名稱最長可以 256 個字符
-
選項: 可用來對命令進行控制, 也可以省略(可以包含多個選項)
-
操作物件: 傳給命令的引數 可以是零個 一個或者多個
例如:讓張三同學去樓下小賣鋪買一瓶農夫山泉純凈水,在這個指令中:
“買東西”是指令的主體,純凈水是操作的物件,農夫山泉是操作的選項
03_Linux命令:操作目錄(創建, 切換, 查看, 洗掉)
Linux下檔案和目錄的特點
-
Linux檔案或者目錄名稱的最大長度為256個字符
-
以 ==. ==開頭的檔案為隱藏檔案,普通情況下查看目錄下的檔案內容時不顯示隱藏檔案
-
==.== 代表當前目錄
-
==..== 代表上一級目錄
3.1 查看目錄下內容
顯示檔案串列, 使用命令:ls
命令格式: ls [-選項] [路徑]
ls是英文單詞list的縮寫, 其功能為列出目錄中的內容

如果只是用ls命令,只能看到當前目錄下非隱藏檔案
ls常用選項

常用命令
ls 查看當前目錄內容(缺點:隱藏檔案看不到)
ls -l 以串列的形式顯示檔案的詳細資訊(缺點:檔案大小顯示的不符合我們習慣)
ls -l 也可以使用 ll代替 兩者效果一致
ls -a 查看當前目錄內容 包括隱藏檔案
ls -al 查看目錄內容的詳細資訊(查看檔案型別 權限 大小等)
或者使用 ll -a
ls -lh 查看目錄內容的詳細資訊 以K, M, G的方式顯示檔案大小
或者使用 ll -h
ls /usr 查看root目錄下所有內容
3.2 切換目錄
目錄切換, 使用命令:cd
cd是英文單詞 change directory 的縮寫, 其功能為更改當前目錄
注意:==Linux所有的 目錄 和 檔案名 都是大小寫敏感的==

可以通過cd aaa/ 切換到當前目錄下的 aaa目錄下
示例:
cd 回到用戶主目錄
cd aaa 切換到當前目錄下的aaa目錄(相對路徑)
cd /root/aaa 切換到指定目錄(絕對路徑)
cd .. 回到上一級目錄
cd ../.. 回到上上一級目錄
cd ../dir 回到上一級的dir目錄
3.3 創建目錄
創建目錄,使用命令: mkdir (英文單詞 make directory的縮寫)
注意:新建目錄中不能與當前目錄中 已有的目錄或檔案 同名
命令格式: mkdir 目錄名 創建沒有層級關系的目錄
mkdir test #在當前目錄下創建一個名為test的新目錄
命令格式:mkdir -p 目錄1/目錄2/目錄3/... 創建有層級的目錄
mkdir -p /root/ccc/ddd #在root目錄下 創建ccc目錄 在ccc目錄下創建ddd目錄
3.4 洗掉目錄
洗掉目錄 使用命令 rm (英文單詞remove的縮寫)
命令格式
==rm [選項] 目錄名==
注意:rm命令既用于洗掉目錄 也用于洗掉文
rm常用選項:

示例: rm -r 目錄 洗掉目錄有提醒
[root@node1 ~]# rm -r test #洗掉當前目錄下 test目錄
rm:是否洗掉目錄 "test"?#給出提示資訊, 確認是否洗掉
y洗掉 n 不洗掉 ctrl + c 退出洗掉
示例:rm -rf 目錄 直接洗掉目錄 (沒有提示,不管當前目錄下是否有內容)
3.5 查看當前所在目錄
查看當前所在目錄: pwd
04_Linux命令:操作檔案(創建, 移動, 復制, 重命名, 查看內容)
4.1 創建檔案
創建檔案, 使用命令 touch
命令格式: touch 檔案
示例:
touch hello.txt
touch /root/world.txt
4.2 移動檔案
移動文或目錄, 使用命令: mv (英文move的縮寫)
將檔案移動另一個目錄中: ==mv 檔案 目錄==
mv world.txt ccc
將目錄移動到另一個目錄中:
==mv 被移動目錄 目標目錄==
[root@node1 ~]# mv ccc /root/aaa
[root@node1 ~]# ll /root/aaa
4.3 重命名
mv命令除了可以用來移動檔案或者目錄之外 還可以給檔案或者目錄重命名
命令格式 ==mv 舊檔案名 新檔案名==
[root@node1 ~]# mv hello.txt java.txt
[root@node1 ~]# ll
命令格式 ==mv 舊目錄名 新目錄名==
[root@node1 ~]# mv aaa hello
[root@node1 ~]# ll
4.4 復制檔案
賦值檔案使用命令: cp 命令格式 : ==cp 檔案或者目錄(源) 檔案或目錄(目標)==
==cp -r == 復制層級目錄
示例:
將java.txt檔案復制到hello檔案夾
[root@node1 ~]# cp java.txt hello
[root@node1 ~]# ll hello/
將 java.txt復制到 php.txt
[root@node1 ~]# cp java.txt php.txt
[root@node1 ~]# ll
將 /root/hello目錄復制到 /tmp下
[root@node1 ~]# cp -r /root/hello /tmp
[root@node1 ~]# ls /tmp
4.5 查看檔案內容
使用cat命令可以查看檔案中存盤的具體內容
命令格式: cat 檔案
[root@node1 ~]# cat /root/initial-setup-ks.cfg
05_壓縮和解壓命令
5.1 打包
生活中的示例: 將冬天的衣服放到袋中
在Linux中可以把多個檔案打包成一個大檔案, 且打包后的檔案需以 .tar 結尾
tar是Linux中的打包命令
==tar -cvf 打包名.tar 被打包的目錄==
==tar -cvf 打包名.tar 被打包的檔案1 被打包的檔案2 被打包的檔案3==
tar的選項說明

練習題:
練習一
進入 /root/hello下 創建1.txt 2.txt 3.txt
將 1.txt 2.txt 3.txt 打包成123.tar檔案
[root@node1 ~]# cd /root/hello/ #進入hello目錄
[root@node1 hello]# touch 1.txt 2.txt 3.txt #創建 1.txt 2.txt 3.txt 檔案
[root@node1 hello]# ll
[root@node1 hello]# tar -cvf 123.tar 1.txt 2.txt 3.txt #將 1.txt 2.txt 3.txt 壓縮為 123.tar
[root@node1 hello]# ll
練習二
將/root/hello中的ccc目錄 打包成 ccc.tar 檔案
[root@node1 hello]# tar -cvf ccc.tar ccc #將ccc壓縮為ccc.tar
[root@node1 hello]# ll
5.2 解壓
生活中的事例: 從袋子中把冬天的衣服取出來
在Linux中,使用tar命令進行解壓
==tar -xvf 打包名.tar #解壓到當前目錄下==
==tar -xvf 打包名.tar -C 解壓到指定位置==
tar的選項說明

練習題:
練習一:
將 123.tar 解壓到當前目錄中
[root@node1 hello]# rm -rf 1.txt 2.txt 3.txt #將之前創建的三個檔案洗掉掉
[root@node1 hello]# ll
[root@node1 hello]# tar -xvf 123.tar #將123.tar中的三個檔案解壓到當前目錄中
[root@node1 hello]# ll
練習二:
將 ccc.tar 解壓到 /root/hello/bbb 目錄中
[root@node1 hello]# tar -xvf ccc.tar -C /root/hello/bbb #將ccc.tar解壓到/root/hello/bbb中
[root@node1 hello]# ll bbb/
5.3 壓縮和解壓
在Linux中,最常用的壓縮檔案格式是 ==XXX.tar.gz==
在 ==tar==命令中有一個選項 ==-z== 可以呼叫==gzip==,從而可以方便的實作壓縮和解壓縮的功能
命令格式:
壓縮檔案
==tar -zcvf 打包壓縮檔案名.tar.gz 被壓縮的檔案/目錄==
解壓縮檔案
==tar -zxvf 打包檔案.tar.gz ==
解壓縮到指定路徑
==tar -zxvf 打包檔案.tar.gz -C 目錄路徑==
tar的選項說明

練習題:
練習1: 將1.txt、2.txt、3.txt 打包壓縮成 123.tar.gz檔案(gzip壓縮格式)
(tar -cvf 123.tar 1.txt 2.txt 3.txt tar -zcvf 123.tar.gz 1.txt 2.txt 3.txt)

練習2: 將有內容的ccc目錄 打包成 ccc.tar.gz 檔案(gzip壓縮格式)

練習3: 將 123.tar.gz 解壓到 當前目錄中(gzip壓縮格式)

練習4: 將 ccc.tar.gz 解包到 /root/hello/bbb 目錄中(gzip壓縮格式)
06_檔案查找命令
6.1 find命令
find是linux中最常見的搜索命令, 用于查找符合條件的檔案.
find 命令在Linux系統的整個目錄結構中搜索檔案, 并對搜索結果執行指定的操作.
find的使用格式如下:
==find <指定目錄> <指定條件> <指定動作>==
-
<指定目錄>: 所要搜索的目錄及其所有的子目錄. 默認為當前目錄
-
<指定條件>: 所要搜索的檔案的特征
-
<指定動作>:對搜索的結果進行特定的處理
如果什么引數都不添加, find默認搜索當前目錄及其子目錄,并且不過濾任何結果 (也就是回傳所有的檔案),將他們全部顯示在螢屏上.
準備作業
# 新增目錄 且 切換目錄 且 新增檔案
mkdir -p /export/aaa/bbb/ccc/ddd/eee/
touch /export/aaa/bbb/ccc/ddd/eee/abc.txt
touch /export/aaa/123.txt
touch /export/aaa/312.txt
cd /export
6.1.1 find命令的基本使用
通過find命令在特定的目錄下(包括它的后代目錄) 搜索符合條件的檔案
find命令的基本使用格式:

說明:
-
如果省略路徑, 表示在當前檔案夾下查找
-
'*' 表示任意
示例1:搜索指定目錄下,檔案是 abc.txt的檔案
#方式1:指定全部錄
find /export/ -name 'abc.txt'
#方式2:當前目錄
find . -name 'abc.txt'
示例2:搜索指定目錄下,檔案名 包含 1 的檔案
# 創建測驗檔案
[root@node1 export]# touch /export/12.txt /export/616.txt /export/321.txt
# 實作
[root@node1 export]# find /export/ -name '*1*'
示例3:搜索指定目錄下,所有以 .txt 為擴展名的檔案
[root@node1 export]# find /export/ -name '*.txt'
示例:搜索指定目錄下,所有以數字1開頭的檔案
[root@node1 export]# find /export/ -name '1*'
6.1.2 find命令擴展
在根目錄下查找
find命令擴展
#在當前目錄查找以.log結尾的檔案, 并顯示詳細資訊
[root@node1 export]# find . -name '*.txt' -ls
#查找當前目錄以.log結尾的普通檔案
[root@node1 /]# find . -type f -name '*.log'
#查找當前目錄中大于10M的以.tar.gz結尾的檔案
[root@node1 /]# find . -type f -name '*.tar.gz' -size +1M
./root/dir/redis-3.2.8.tar.gz
6.2 grep命令
grep命令: 用于==搜索關鍵字==
grep命令的作用之一:grep搜索檔案中的關鍵字 (用于搜索檔案內容中的關鍵字)
示例1:搜索存在關鍵字的行
#語法:grep 關鍵字 檔案名
[root@node1 /]# grep of /etc/chrony.conf #在chrony.conf檔案中搜索關鍵字 of
示例2:搜索存在關鍵字的行且顯示行號
#語法:grep -n 關鍵字 檔案名
#-n number 顯示匹配行和行號
[root@node1 /]# grep -n of /etc/chrony.conf #在chrony.conf檔案中搜索關鍵字 of 并顯示行號
示例3:忽略大小寫 搜索 存在關鍵字 的行
#語法: grep -i 關鍵字 檔案名
#-i ignore-case 忽略大小寫
grep -i se /etc/chrony.conf
07_系統管理命令
7.1 ps命令
ps命令用來列出系統中當前正在運行的行程(process)
語法: ps [options]
示例: ps -ef #查看所有的行程

示例:
ps -u root #查看root用戶下所有行程

7.2 管道命令
管道是Linux命令中重要的一個概念,其作用是將一個命令的輸出用作另一個命令的輸入

管道命令格式: 命令1 | 命令2 | ... 管道符: |
示例:
#示例1:ps -ef 查詢所有正在運行的行程
#示例2:grep mysql 搜索關鍵字mysql
ps -ef | grep mysql #查詢行程中名字叫mysql的行程
7.3 kill命令
kill命令用于終止正在執行中的程式
語法:==kill pid(系統行程ID)==
示例:
[root@node1 /]# ps -ef | grep mysql 查看mysql的行程id
[root@node1 /]# kill 11266 #殺死行程為 1538 的行程
[root@node1 /]# kill -9 11266 #殺死行程為 1538的行程 數字9代表傳遞給kill的一個信號 告知強制殺死
08_用戶和權限
8.1基本概念
用戶是Linux系統作業中重要的一環,用戶管理包括==用戶與組管理==
在Linux系統中, 不論是由本地或者是遠程登錄系統, 都必須擁有一個賬號, 并且對于不同的系統資源擁有不同的使用權限
對檔案/目錄的權限包括:

為了方便用戶管理,Linux添加了組的概念
8.2 ls -l 擴展
ls -l 或 ll 可以查看檔案夾下檔案的詳細資訊,詳細資訊從左到右 依次是


8.3 用戶管理
8.3.1 用戶創建

示例
[root@node1 ~]# useradd itheima
[root@node1 ~]# passwd itheima
8.3.2 用戶洗掉

示例
[root@node1 ~]# userdel -r itheima
8.4 權限管理
8.4.1 用戶權限解讀

r: 對檔案,是指可讀取內容;對目錄,是可以ls
w: 對檔案,是指可修改檔案內容;對目錄,是指可以在其中創建或洗掉子節點(目錄或檔案)
x: 對檔案,是指是否可以運行這個檔案;對目錄,是指是否可以cd進入這個目錄
8.4.2 用戶權限修改
在linux中,修改用戶權限使用命令: ==chmod==
修改用戶權限方式1
chmod u+x 檔案|目錄 # + 表示新增權限 u表示user(屬主)
chmod u-wx 檔案|目錄 # - 表示洗掉權限
chmod -R u+wx 目錄 # R 表示權限會覆寫到當前目錄以及目錄下的子目錄及檔案
修改用戶權限方式2
# 精確到 擁有者|組|其他 權限
chmod u=rwx,g=wx,o=w 檔案|目錄
修改用戶權限方式3
chmod 755 檔案|目錄 # 7=4+2+1 rwx 5=4+1 rx 5=4+1 rx
chmod -R 755 目錄
09_網路和服務管理命令
9.1 網路命令
9.1.1 hostname命令
在linux中查看主機名, 使用命令hostname
[root@node1 hello]# hostname
修改主機名稱
修改方式一(臨時修改)
[root@node1 hello]# hostname itheima
修改方式二(永久修改)
[root@node1 hello]# vim /etc/hostname
注意:修改檔案中的主機名稱后, 需要重啟服務器
9.2 ifconfig命令
在Linux中查看主機IP地址 使用命令ifconfig
[root@node1 hello]# ifconfig
修改主機的ip地址:vim /etc/sysconfig/network-scripts/ifcfg-ens33
10_服務管理命令
service命令是用來控制系統服務的實用工具,它以啟動、停止、重新啟動和關閉系統服務,還可以顯示所有系統服務的當前狀態
service network status #查看網路服務狀態
service network stop #停止網路服務
service network start #啟動網路服務
service network restart #重啟網路服務
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/300579.html
標籤:其他
上一篇:2021隴劍杯網路安全大賽-簽到

