網站首頁 編程語言 正文
目錄
一、Shell
二、LINUX命令的分類
1、內部命令與外部命令的區別
三、linux基礎應用
1、切換用戶
2、查看當前主機的完整名稱
3、臨時設置主機名
4、永久設置主機名
5、查看當前系統版本信息
6、查看當前內核版本
7、臨時修改網卡IP
8、永久修改網卡IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33
9、重啟網卡
10、查看網卡地址
11、重啟系統
12、關機
13、關閉防火墻軟件
四、linux常用命令
1、內部命令
2、命令行格式
?3、Linux命令行的輔助操作
4、獲得命令幫助的方法
5、查看當前工作目錄:pwd
6、切換工作目錄:cd (相對路徑、絕對路徑)
7、ls——列表顯示目錄內容(常用選項、可結合通配符)
1.顯示目錄中內容,包括子目錄和文件相關屬性信息
2.常用選項l、-a、-A、-d、-h、-R、–color
3.結合通配符
4.ls的常用選項
8、擴充
9、設置別名-alias
10、統計目錄及文件空間占用-du
11、創建新目錄mkdir
12、創建空文件-touch
13、創建鏈接文件-ln(軟鏈接、硬鏈接)
14、復制文件或目錄-cp
15、刪除文件或目錄-rm
16、移動文件或目錄/改名mv
17、查找命令/文件存放目錄which
18、查找文件或目錄-find
18.1 Find工具-name參數案列:
18.2 Find工具-size參數案列
18.3Find工具-type參數案列:
18.4 查找存在的用戶的文件
一、Shell
●Linux系統中運行的一種特殊程序
●在用戶和內核之間充當“翻譯官”
●用戶登錄linux系統時,自動加載一個Shell程序
●Bash是Linux系統中默認使用的Shell程序
???? 文件位于/bin/bash
???? 接收用戶輸入的命令
???? 解釋命令
???? 傳遞給系統內核執行
二、LINUX命令的分類
1、內部命令與外部命令的區別
內部命令 |
外部命令 |
集成于Shell解釋器程序內部的一些特殊指令,也稱為內建(Built-in)指令 |
Linux系統中能夠完成特定功能的腳本文件或二進制程序 |
屬于Shell的一部分 |
屬于Shell解釋器程序之外的命令 |
沒有單獨對應的系統文件 |
每個外部命令對應了系統中的一個文件 |
自動載入內存,可以直接使用 |
必須知道其對應的文件位置,由Shell加載后才能執行/bin,/usr/bin,/usr/local/bin等 |
區別
1、內部命令屬于shell的一部分,外部命令屬于shell程序之外的命令。內部命令直接調用,外部命令會調用一個獨立文件,內部命令比外部命令快
2、內部命令屬于shell的一部分(/bin/bash)沒有單獨的文件,外部命令一般由腳本文件或者二進制文件組成。
3、內部命令自動加載,可以直接使用,外部命令系統必須要知道對應的文件位置(命令的環境變量),由shell進行加載后,系統才能識別該命令
?
三、linux基礎應用
[root@localhost ~]#
[當前登錄系統的用戶@主機名稱 當前所在的目錄]#
# 表示為管理員登錄
$ 表示為普通用戶登錄
1、切換用戶
su 用戶名??????????? #切換后所在目錄不變
su - 用戶名???????? #切換后所在目錄變成用戶家目錄
2、查看當前主機的完整名稱
hostname
3、臨時設置主機名
hostname 主機名
4、永久設置主機名
hostnamectl set-hostname 主機名
5、查看當前系統版本信息
cat /etc/redhat-release
cat /etc/*release
6、查看當前內核版本
uname -r
7、臨時修改網卡IP
ifconfig ens33 192.168.80.3/24
ifconfig ens33 192.168.80.3 netmask 255.255.255.0
8、永久修改網卡IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet???????????? #設置網卡類型,“Ethernet”表示以太網
DEVICE=ens33????????????? #設置網卡的名稱
ONBOOT=yes??????????????? #設置網卡是否在 Linux 操作系統啟動時激活
BOOTPROTO=static????????? #設置網卡的配置方式,“static”表示使用靜態IP地址
“dhcp”時表示動態獲取地址
IPADDR=192.168.80.3?????? #設置網卡的 IP 地址
NETMASK=255.255.255.0?? #設置網卡的子網掩碼
GATEWAY=192.168.80.2???? #設置網卡的默認網關地址
DNS1=114.114.114.114? ? ?#設置DNS服務器的 IP 地址
9、重啟網卡
systemctl restart network?????????? #重啟所有的網卡
ifdown ens33???????????????????????????? #關閉某個網卡
ifup ens33??????????????????????????????????????? #啟動某個網卡
ifconfig ens33 down???????????????????????? #臨時禁用某個網卡
ifconfig ens33 up?????????????????????? #重新激活某個網卡(不會更新IP地址)
10、查看網卡地址
Ifconfig-a?? (查看當前系統中所有狀態的網卡系統)
或
ip a?? 【ip address】查看活躍網卡
11、重啟系統
reboot??????????
init 6
shutdown -r now
12、關機
poweroff
init 0
shutdown -h now
shutdown -c
13、關閉防火墻軟件
1. 臨時關閉命令: systemctl stop firewalld.service
2. 查看服務狀態?:systemctl status firewalld.service
3. 永久關閉(下次開機不自啟動): systemctl disable firewalld.service
Stenforce 0 核心防護關閉
四、linux常用命令
1、內部命令
type #查詢內部外部指令
enable-n + 指令 #禁用內部指令
enable + 指令 #開啟指令
help #幫助
? ? ls --help #外部命令查詢幫助
? ? help cd #內部命令查詢幫助
echo #shell內嵌/也可以是外部指令(給出具體命令所在)
hash #可以直接調取緩存中的指令
which + 指令 #查詢指令所在路徑與別名
?
2、命令行格式
命令字? ? ?選項? ? ?參數
命令字:唯一確定一條指令,是整條命令中最關鍵的部分
選項:長格式:使用“- -”符號引導;短格式:使用“-”符號引導
參數:用來處理對象;可以是文件名、目錄(路徑)名或者用戶名等內容;個數可以是0到多個
?3、Linux命令行的輔助操作
1.Tab鍵:自動補齊/按兩下幫忙查詢相同前綴的目錄或文件(cd會顯示目錄,vim會顯示文件)
2.反斜杠“\”強制換行(在長命令的情況下使用便于排錯,更加工整)
3.Ctrl+U組合鍵:清空至行首
4.Ctrl+K組合鍵:清空至行尾
?5.Ctrl+L組合鍵:清屏,或者clear
6.Ctrl+C組合鍵:取消本次命令編輯
7.Ctrl+A組合鍵:切換到行首
8.Ctrl+E組合鍵:切換到行尾
?
4、獲得命令幫助的方法
命令幫助help
顯示命令的幫助信息,命令的參數和用法等
命令“-help”選項
適用與大多數的Linux的外部命令
man命令的使用
- 可以使用方向鍵滾動文本
- 使用Page Up和Page Down鍵翻頁
- 按Q或q鍵退出閱讀環境
- 按“\”鍵查找內容
例如:lman ls | col -b > lshelp.txt
在這個例子中,col 是一個命令程序,用于過濾文本中的一些特殊控制字符;另外還使 用了“|”和“>”符號,這是 Shell 環境中的兩種特殊功能應用,分別稱為管道、重定向輸出。其 含義及作用如下所述。 ?
管道:用豎杠符號“|”表示,用于將前面命令的屏幕輸出結果作為后面命令的操作對 象(輸入)。就好像一根管道一樣,從這頭塞入內容,從另一頭出來。 ?
重定向輸出:用大于符號“>”表示,前面的命令成功執行以后,其屏幕輸出結果將 保存到“>”號后邊指定的文件中,而不是直接輸出到屏幕,因此稱為重定向。
5、查看當前工作目錄:pwd
[root@localhost ~]# pwd? ? #顯示用戶當前所在工作目錄位置
/root
6、切換工作目錄:cd (相對路徑、絕對路徑)
cd /home??? #后面跟絕對路徑,切換到home目錄
cd ./home?? #后面跟相對路徑,切換到home目錄
cd ~? ? ? ? ? ? #切換到當前用戶的家目錄
cd? ? ? ? ? ? ? ?#切換到當前用戶的家目錄
cd ~user? ? ?#切換到某一個用戶的家目錄,只有root才行,別的用戶只能在自己家
cd -? ? ? ? ? ? ?#切換到上一次執行操作的目錄
cd ..? ? ? ? ? ? #切換到上一層目錄(父目錄)
絕對路徑:以根開頭的都是絕對路徑 (/home/etc)
相對路徑:以非根開頭的都是相對路徑?
7、ls——列表顯示目錄內容(常用選項、可結合通配符)
1.顯示目錄中內容,包括子目錄和文件相關屬性信息
ls【文件】【文件或目錄…】
2.常用選項
l、-a、-A、-d、-h、-R、–color
3.結合通配符
“?”:代表任意一個字符,且至少一個
“*”:代表任意數個字符,可以是0個或者1個或者多個
4.ls的常用選項
-l #將文件信息屬性詳細列出,通常直接使用ll,因為設置了別名
-R #遞歸顯示,比如一個目錄下還有文件,則把那個文件也一起列出
-d #查看目錄本身信息,不顯示目錄下的內容
-i #顯示inode值
-h #友好顯示文件大小
-a #遍歷所有文件及目錄(ls內定將文件名或目錄名稱開頭為""的視為隱藏檔,不會列出)
-A #跟-a唯一的不同是不列出當前目錄和上一層目錄
顏色區別
白色:? ?數據文件 txt
深藍色:目錄
白色(黑色):一般文件
綠色:? ?可執行的文件(腳本/程序)
黃色:? ?塊設備文件
紅色:? ??壓縮包
淡藍色:鏈接文件/快捷方式
8、擴充
? ?普通文件
d 目錄文件 directory
b 塊設備文件block
p 管道文件pipe
s 套接字文件 socket
l 符號鏈接文件link
9、設置別名-alias
通過別名機制簡化常用的、比較長的命令
alias 命名別名 = 命令
alias dh=‘du-sh’
命令:
alias #查看系統當前所有可用別名
alias ll=‘ls-lt’#設置別名
unalias #刪除別名
vim /root/.bash 永久生效
10、統計目錄及文件空間占用-du
統計指定目錄(或文件)所占用磁盤空間的大小
du [選項] [文件或目錄…]
常用選項
-a :統計磁盤空間占用時包括所有的文件,而不僅僅只統計目錄
-h:以更人性化的方式(默認以KB計數,但不顯示單位)顯示出統計結果
-s:只統計所占用空間總的大小,而不是統計每個子目錄、文件的大小
示例:
統計出/var/log目錄所占用空間的大小
du - sh /var/log/
?
11、創建新目錄mkdir
mkdir /opt/sj??? #創建目錄,注意:父目錄必須存在
-p:創建一個已有的目錄會報錯,加-p則不會報錯/當父目錄不存在時,遞歸創建
rmdir 刪除一個空目錄
12、創建空文件-touch
①文件存在:修改文件或者目錄的時間屬性,包括存取時間和更改時間。
②文件不存在:創建新文件
touch [文件名]
touch? [文件名] [文件名]? ?創建兩個文件
13、創建鏈接文件-ln(軟鏈接、硬鏈接)
ln 命令用于為文件或目錄建立鏈接文件(類似于 Windows 系統中的快捷方式)
鏈接文件包括軟鏈接和硬鏈接兩種類型,其中軟鏈接又稱為符號鏈接。無論是訪問軟鏈接還是硬鏈接,與直接訪問原始文件的效果基本相同
ln -s? 創建軟鏈接,相當于創建一個快捷方式
ln???? 創建硬鏈接,相當于復制了一份副本
硬軟鏈接的區別
硬鏈接不能跨分區建立連接 無法對文件夾創建
刪除硬件連接可以繼續訪問硬鏈接
軟連接可以跨設備 可以支持文件夾
軟連接刪除源文件不能訪問
注:相對路徑與絕對路徑? 建議絕對路徑
例:root@localhost ~]# mkdir /bin/wx
?[root@localhost ~]# ln -s /bin/bzip2 /bin/wx/
?[root@localhost ~]# ls -lh /bin/wx/bzip2
14、復制文件或目錄-cp
將需要復制的文件或目錄(源)重建一份,并保存為新的文件或目錄...
-p:連屬性一起復制
-a:保留權限,復制軟鏈接本身,遞歸復制
-r:遞歸復制
-f:強制復制,不與用戶交互
-i:提醒覆蓋
cp的高級用法:cp? -v? file1.txt{,.bak}常用于備份
15、刪除文件或目錄-rm
刪除指定的文件或目錄
rm【選項】要刪除的文件或目錄
常用選項
-f:刪除文件或目錄時不進行提醒,而直接強制刪除
-i:刪除文件或目錄時提醒用戶確認
-r:刪除目錄時必須使用此選項,表示遞歸刪除整個目錄樹(應謹慎使用)。
常見用法:rm -rf? /? ?
刪除空目錄:rmdir
16、移動文件或目錄/改名mv
用法:mv [文件名] [目錄名]
? ? ? ? ? ?mv [文件名] [文件名]
-i:若指定目錄已有同名文件,則先詢問是否覆蓋舊文件
-f:在 mv 操作要覆蓋某已有的目標文件時不給任何指示
當在同一目錄下用mv就是改名,如果是跨目錄使用mv的話就是移動,相當于剪切的操作
17、查找命令/文件存放目錄which
which 命令用于查找 Linux 命令程序并顯示所在的具體位置,其搜索范圍主要由用戶的環境變量 PATH 決定(可以執行“echo $PATH”命令查看),這個范圍也是 Linux 操作系統在執行命令或程序時的默認搜索路徑。
which 命令|程序名 #默認當查找到第一個目標后不再繼續查找
which -a 命令|程序名 #在所有搜索路徑中查找
示例
which is
which cd
18、查找文件或目錄-find
采用遞歸方式,根據目標的名稱、類型、大小等不同屬性進行精細查找
不設置任何參數,則 find 命令將在當前目錄下查找子目錄與文件。并且將查找到的子目錄和文件全部進行顯示
-name 按名稱查找:
-size 按大小查找:
-user 按文件屬主:
-type 按類型查找:普通文件(f)、目錄(d)、塊設備文件(b)、字符設備文件(c)、鏈接(l)
多條件查找
-a表示 而且(and)
-o表示 或者 (or)
設置find命令的查找條件時,若需要使用或通配符,最好將文件名用雙引號括起來
find /boot -size+1024k-a/-o-name"vmlinuz*"
使用"-a”-o”組合兩個條件,前者表示兩個條件必須同時滿足,后者表示只需滿足其中任何一個條件即可
?
18.1 Find工具-name參數案列:
find /etc -name "resol*.conf"
find?? /data/??? -name?? "*.txt"????? #查找/data/目錄以.txt結尾的文件;
find?? /data/??? -name?? "[A-Z]*"???? #查找/data/目錄以大寫字母開頭的文件;
find?? /data/??? -name?? "test*"????? #查找/data/目錄以test開頭的文件;
18.2 Find工具-size參數案列
find?? /data/??? -size?? +1M????????????? #查文件大小大于1Mb的文件;
find?? /data/??? -size? ?10M?????????????? #查文件大小為10M的文件;
find?? /data/??? -size?? -1M???????????? #查文件大小小于1Mb的文件;
-size +4M??? 表示4M 以上?? 不包括 4M
-size? 4M??? 表示3M? 到4M? 且不包括3M??
-size -4M??? 表示3M? 以內? 包括3M
1G? 1024 代表1023M - 1024M? 不包括1023M
18.3Find工具-type參數案列:
find?? /data/??? -type d? ? ? ? ? ?#查找/data/目錄下的文件夾;
find?? /data/??? !?? -type?? d???? #查找/data/目錄下的非文件夾;
find?? /data/??? -type? l? ? ? ? ? ? #查找/data/目錄下的鏈接文件。
find? /data/ -type d|xargs chmod 755 -R #查目錄類型并將權限設置為755;
find? /data/ -type f|xargs chmod 644 -R #查文件類型并將權限設置為644;
18.4 查找存在的用戶的文件
find /home -user 用戶名
find /home -user 用戶名? -group 組名
擴展? xargs
可以和管道配合
find ./ -maxdepth 1 -type f -print0 | xargs -0 ls -lh-atime? -- 訪問時間
Linux中日志放在/var/log sylog
?-mtime? -- 文件內容修改時間
?-ctime? -- 文件屬性修改時間?
? ctime?? ##以天為單位
? cmin??? ##以分鐘為單位?
find ./ -name "syslog.*.gz" -mtime -5 -exec ls -lh {} \;????
# +5是五天以前????? #-5天以內
在當前目錄下(包含子目錄),刪除所有txt文件
find ./ -name "*.txt" -exec rm {} \;
在當前目錄下(包含子目錄),查找所有txt文件并找出含有字符串"bin"的行
find ./ -name "*.txt" -exec grep "bin" {} \;
原文鏈接:https://blog.csdn.net/weixin_71438279/article/details/125477378
- 上一篇:linux 目錄和文件管理
- 下一篇:docker的安裝及常用命令
相關推薦
- 2022-08-06 詳解C++圖搜索算法之雙端隊列廣搜_C 語言
- 2022-08-06 Qt實現簡單折線圖表_C 語言
- 2023-01-02 Android?數據結構全面總結分析_Android
- 2023-05-06 如何設置docker開機自啟動,并設置容器自動重啟_docker
- 2022-09-27 如何在Python中利用matplotlib.pyplot畫出函數圖詳解_python
- 2023-04-22 Python中DataFrame與內置數據結構相互轉換的實現_python
- 2022-05-06 Pandas?DataFrame數據修改值的方法_python
- 2022-12-11 React高級特性Context萬字詳細解讀_React
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支