日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

linux基礎命令運用

作者:清風自來86 更新時間: 2022-07-10 編程語言

目錄

一、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

欄目分類
最近更新