Linux基礎命令(二)

萱蘇的運維日常 2024-03-27 15:12:42

本文繼續對linux常用命令進行介紹。

權限管理

權限管理介紹

[root@aliyun ~]# ls -l install.log-rw-r--r--. 1 root root 24772 1 月 14 18:17 install.log

第 1 位代表文件類型。

“-”:普通文件。

“b”:塊設備文件。這是一種特殊設備文件,存儲設備都是這種文件,如分區文件/dev/sda1就是這種文件。

“c”:字符設備文件。這也是特殊設備文件,輸入設備一般都是這種文件,如鼠標、鍵盤等。

“d”:目錄文件。Linux 中一切皆文件,所以目錄也是文件的一種。

“l”:軟鏈接文件。

“p”:管道符文件。這是一種非常少見的特殊設備文件。

“s”:套接字文件。這也是一種特殊設備文件,一些服務支持 Socket 訪問,就會産生這樣的文件。

第 2~4 位代表文件所有者的權限。

r:代表 read,是讀取權限。

w:代表 write,是寫權限。

x:代表 execute,是執行權限。

如果有字母,則代表擁有對應的權限;如果是“-”,則代表沒有對應的權限。 第 5~7 位代表文件所屬組的權限,同樣擁有“rwx”權限。 第 8~10 位代表其他人的權限,同樣擁有“rwx”權限。

基本權限作用

首先,讀、寫、執行權限對文件和目錄的作用是不同的。

權限對文件的作用

讀(r):對文件有讀(r)權限,代表可以讀取文件中的數據。如果把權限對應到命令上,那麽一旦對文件有讀(r)權限,就可以對文件執行 cat、more、less、head、tail 等文件查看命令。

寫(w):對文件有寫(w)權限,代表可以修改文件中的數據。如果把權限對應到命令上,那麽一旦對文件有寫(w)權限,就可以對文件執行 vim、echo 等修改文件數據的命令。注意:對文件有寫權限,是不能刪除文件本身的,只能修改文件中的數據。如果要想刪除文件,則需要對文件的上級目錄擁有寫權限。

執行(x):對文件有執行(x)權限,代表文件擁有了執行權限,可以運行。在 Linux 中,只要文件有執行(x)權限,這個文件就是執行文件了。只是這個文件到底能不能正確執行,不僅需要執行(x)權限,還要看文件中的代碼是不是正確的語言代碼。對文件來說,執行(x)權限是最高權限。

權限對目錄的作用

讀(r):對目錄有讀(r)權限,代表可以查看目錄下的內容,也就是可以查看目錄下有哪些子文件和子目錄。如果把權限對應到命令上,那麽一旦對目錄擁有了讀(r)權限,就可以在目錄下執行 ls 命令,查看目錄下的內容了。

寫(w):對目錄有寫(r)權限,代表可以修改目錄下的數據,也就是可以在目錄中新建、刪除、複制、剪切子文件或子目錄。如果把權限對應到命令上,那麽一旦對目錄擁有了寫(w)權限,就可以在目錄下執行 touch、rm、cp、mv 命令。對目錄來說,寫(w)權限是最高權限。 執行(x):目錄是不能運行的,那麽對目錄擁有執行(x)權限,代表可以進入目錄。如果把權限對應到命令上,那麽一旦對目錄擁有了執行(x)權限,就可以對目錄執行 cd 命令,進入目錄。

目錄的可用權限

目錄的可用權限其實只有以下幾個。

0:任何權限都不賦予。

5:基本的目錄浏覽和進入權限。

7:完全權限

基本命令

chmod:修改文件或目錄權限

[root@aliyun ~]# chmod [選項] 權限模式 文件名

-c 若該文件權限確實已經更改,才顯示其更改動作

-f 若該文件權限無法被更改也不顯示錯誤訊息

-v 顯示權限變更的詳細資料

-R 對目前目錄下的所有文件與子目錄進行相同的權限變更(即以遞回的方式逐個變更)

用戶身份。

u:代表所有者(user)

g:代表所屬組(group)

o:代表其他人(other)

a:代表全部身份(all)

賦予方式。

+:加入權限

-:減去權限

=:設置權限

權限。

r:讀取權限(read)

w:寫權限(write)

x:執行權限(execute)

數字權限

4:代表“r”權限

2:代表“w”權限

1:代表“x”權限

chown:改變文件或目錄的用戶和用戶組

[root@aliyun ~]# chown [選項] 所有者:所屬組 文件名

-R 對目前目錄下的所有文件與目錄進行相同的變更

-c 顯示所屬信息變更信息

-f 若該文件擁有者無法被更改也不要顯示錯誤

-h 只對于鏈接文件進行變更,而非真正指向的文件

-v 顯示擁有者變更的詳細資料

--help 顯示輔助說明

--version 顯示版本

chgrp:更改文件用戶組

[root@aliyun ~]# chgrp [選項] 文件名

-c 效果類似”-v”參數,但僅回報更改的部分

-f 不顯示錯誤信息

-h 對符號連接的文件作修改,而不更動其他任何相關文件

-R 遞歸處理,將指定目錄下的所有文件及子目錄一並處理

-v 顯示指令執行過程

--reference 把指定文件或目錄的所屬群組全部設成和參考文件或目錄的所屬群組相同

幫助

man

[root@aliyun ~]# man [選項] 命令

-a 在所有的man幫助手冊中搜索

-d 檢查新加入的文件是否有錯誤

-f 顯示給定關鍵字的簡短描述信息

-p 指定內容時使用分頁程序

-M 指定man手冊搜索的路徑

-w 顯示文件所在位置

快捷鍵

q 退出

Enter 按行下翻

Space 按頁下翻

b 上翻一頁

/字符串 在手冊頁中查找字符串

help

[root@aliyun ~]# help [選項] 命令

-d 輸出每個命令的簡短描述

-s 輸出短格式的幫助信息

-m 以man手冊的格式顯示幫助信息

info

[root@aliyun ~]# info [選項] 命令

-w 顯示info文檔的物理位置

-f 指定要訪問的info文件

-n 在首個浏覽過info文件中指定節點

-O 跳轉至命令行選項節點

查找

whereis:顯示命令及相關文件的路徑

[root@aliyun ~]# whereis [選項] 命令

-b 查找二進制程序或命令

-B 從指定目錄下 查找二進制程序或命令

-m 查找man手冊文件

-M 從指定目錄下 查找man手冊文件

-s 只查找源代碼文件

-S 從指定目錄下 查找源代碼文件

which:查找命令文件

[root@aliyun ~]# which [選項] 命令

-n 指定文件名長度(不含路徑)

-p 指定文件名長度(含路徑)

-w 指定輸出時欄位的寬度

-V 顯示版本信息

locate:快速查找文件或目錄

locate命令的功能是用于快速查找文件或目錄。與find命令進行全局搜索不同,locate命令是基于了數據文件(/var/lib/locatedb)進行的定點查找,由于縮小了搜索範圍,因此快速快很多。Linux系統需定期執行下updatedb命令對數據庫文件進行更新,然後再使用locate命令進行查找,這樣才會更加准確。

[root@aliyun ~]# locate [選項] 命令

-d 指定數據庫所在的目錄

--help 顯示幫助

--version 顯示版本信息

[rootelocalhost ~]# cat /etc/updatedb.conf

PRUNE BIND MOUNTS ="yes"  #開啓搜索限制,也就是讓這個配置文件生效

PRUNEFS=      #在locate執行搜索時,禁止搜索這些文件系統類型

PRUNENAMES=   #在locate執行搜索時,禁止搜索帶有這些擴展名的文件

PRUNEPATHS=  #在locate執行搜索時,禁止搜索這些系統目錄

find:根據路徑和條件搜索

[root@aliyun ~]# locate 路徑 [選項] 查找內容

-name 匹配名稱

-perm 匹配權限(mode爲完全匹配,-mode爲包含即可)

-user 匹配所有者

-group 匹配所有組

-mtime -n +n 匹配修改內容的時間(-n指n天以內,+n指n天以前)

-atime -n +n 匹配訪問文件的時間(-n指n天以內,+n指n天以前)

-ctime -n +n 匹配修改文件權限的時間(-n指n天以內,+n指n天以前)

-nouser 匹配無所有者的文件

-nogroup 匹配無所有組的文件

-newer f1 !f2 匹配比文件f1新但比f2舊的文件

-type b/d/c/p/l/f 匹配文件類型(後面的字幕字母依次表示塊設備、目錄、字符設備、管道、鏈接文件、文本文件)

-size 匹配文件的大小(+50KB爲查找超過50KB的文件,而-50KB爲查找小于50KB的文件)

-prune 忽略某個目錄

-exec …… {}\; 後面可跟用于進一步處理搜索結果的命令

-a 邏輯與

-o 邏輯或

-not 邏輯非

grep:強大的文檔搜索命令

[root@aliyun ~]# grep [選項] 查找內容 文檔

-i 忽略大小寫

-c 只輸出匹配行的數量

-l 只列出符合匹配的文件名,不列出具體的匹配行

-n 列出所有的匹配行,顯示行號

-h 查詢多文件時不顯示文件名

-s 不顯示不存在、沒有匹配文本的錯誤信息

-v 顯示不包含匹配文本的所有行

-w 匹配整詞

-x 匹配整行

-r 遞歸搜索

-q 禁止輸出任何結果,已退出狀態表示搜索是否成功

-b 打印匹配行距文件頭部的偏移量,以字節爲單位

-o 與-b結合使用,打印匹配的詞據文件頭部的偏移量,以字節爲單位

-F 匹配固定字符串的內容

-E 支持擴展的正則表達式

alias:命令別命名

[root@aliyun ~]# alisas [選項] [命令=別名]

-p 打印已經設置的命令別名

這樣定義的別名是臨時生效,如果需要永久生效,請放入環境變量配置文件(~/.bashrc)

壓縮和解壓縮

zip

[root@aliyun ~]# zip [選項] 壓縮包名 源文件

-q 不顯示指令執行過程

-r 遞歸處理,將指定目錄下的所有文件和子目錄一並處理

-z 替壓縮文件加上注釋

-v 顯示指令執行過程或顯示版本信息

-d 更新壓縮包內文件

-n<字尾字符串> 不壓縮具有特定字尾字符串的文件

gzip:不會打包

[root@aliyun ~]# gzip [選項] 壓縮包名 源文件

-a 使用ASCII文字模式

-d 解開壓縮文件

-f 強行壓縮文件

-k 保留原文件

-l 列出壓縮文件的相關信息

-c 把壓縮後的文件輸出到標准輸出設備,不去更動原始文件

-r 遞歸處理,將指定目錄下的所有文件及子目錄一並處理

-q 不顯示警告信息

tar:不會壓縮

[root@aliyun ~]# tar [選項] 壓縮包名 源文件

-A 新增文件到以存在的備份文件

-B 設置區塊大小

-c 建立新的備份文件

-C <目錄> 僅壓縮指定目錄裏的內容或解壓縮到指定目錄

-d 記錄文件的差別

-x 從歸檔文件中提取文件

-t 列出備份文件的內容

-z 通過gzip指令壓縮/解壓縮文件,文件名最好爲*.tar.gz

-Z 通過compress指令處理備份文件

-f<備份文件> 指定備份文件

-v 顯示指令執行過程

-r 添加文件到已經壓縮的文件

-u 添加改變了和現有的文件到已經存在的壓縮文件

-j 通過bzip2指令壓縮/解壓縮文件,文件名最好爲*.tar.bz2

-v 顯示操作過程

-l 文件系統邊界設置

-k 保留原有文件不覆蓋

-m 保留文件不被覆蓋

-w 確認壓縮文件的正確性

-p 保留原來的文件權限與屬性

-P 使用文件名的絕對路徑,不移除文件名稱前的“/”號

-N <日期格式> 只將較指定日期更新的文件保存到備份文件裏

-- -exclude=<範本樣式> 排除符合範本樣式的文件

-- -remove-files 歸檔/壓縮之後刪除源文件

bzip2

[root@aliyun ~]# bzip2 [選項] 源文件

-c 將壓縮與解壓縮的結果送到標准輸出

-d 執行解壓縮

-f bzip2在壓縮或解壓縮時,若輸出文件與現有文件同名,預設不會覆蓋現有文件。若要覆蓋,請使用此參數

-k bzip2在壓縮或解壓縮後,會刪除原始的文件。若要保留原始文件,請使用此參數

-s 降低程序執行時內存的使用量

-t 測試.bz2壓縮文件的完整性

-v 壓縮或解壓縮文件時,顯示詳細的信息

z 強制執行壓縮

關機 or 重啓

sync:刷新文件系統緩沖區

[root@aliyun ~]# sync [選項]

--help 顯示命定詳細幫助信息

--version 顯示版本號

shutdown:關閉服務器的系統

[root@aliyun ~]# shutdown [選項] [時間] [警告信息]

-f 重新啓動時不執行fsck

-F 重新啓動時執行fsck

-h 將系統關機

-c 取消關機任務

-k 發送信息給所有用戶

-n 不調用init程序進行關機

-r 將系統重啓

-t 送出警告信息和刪除信息之間要延遲多少秒

reboot:重啓

[root@aliyun ~]# reboot [選項]

-n 直接重啓系統,不保存當前資料

-w 模擬重啓過程,將過程寫入到日志中

-d 重啓系統但不將過程寫入到日志中

-f 強制重啓系統

-i 關閉所有的網絡服務,然後重啓系統

halt:關閉服務器

[root@aliyun ~]# halt [選項]

-w 模擬關機,把過程寫入到日志文件

-d 不寫入日志紀錄

-f 強制關機或重啓

-i 關機或重啓前關掉所有的網絡服務

poweroff:關閉服務器且切斷電源

[root@aliyun ~]# poweroff [選項]

-n 關閉操作系統時不執行sync操作

-w 不真正關閉操作系統,僅在日志文件“/var/log/wtmp”中

-d 關閉操作系統時,不將操作寫入日志文件“/var/log/wtmp”中添加相應的記錄

-f 強制關閉操作系統

-i 關閉操作系統之前關閉所有的網絡接口

-h 關閉操作系統之前將系統中所有的硬件設置爲備用模式

init:切換系統運行級別

[root@aliyun ~]# init [選項]

0 關機

1 單用戶

2 多用戶

3 完全多用戶模式

5 圖形界面

6 重啓

常用網絡相關

ipconfig:顯示網絡配置信息

[root@aliyun ~]# ipconfig [選項] [網卡設備]

add<地址> 設置網絡設備IPv6的IP地址

del<地址> 刪除網絡設備IPv6的IP地址

down 關閉指定的網絡設備

up 啓動指定的網絡設備

IP地址 指定網絡設備的IP地址

ip:查看網絡相關信息

centos7 默認安裝,若無該命令則可執行yum install iproute -y命令安裝

[root@aliyun ~]# ip [選項] [對象] [操作]

選項:

-V:顯示指令版本信息;

-s:輸出更詳細的信息;

-f:強制使用指定的協議族;

-4:指定使用的網絡層協議是IPv4協議;

-6:指定使用的網絡層協議是IPv6協議;

-0:輸出信息每條記錄輸出一行,即使內容較多也不換行顯示;

-r:顯示主機時,不使用IP地址,而使用主機的域名。

對象:

link:網絡設備

addr:設備的協議地址

route:路由表

rule:策略路由表

neigh:arp或ndiso緩存表

tunnel:IP通道

maddr:多播地址

mroute:多播路由緩存表

monitor:監視

各個對象支持的操作:

link支持的命令:set、show

addr支持的命令:add、del、flus、show

route支持的命令:list、flush、get、add、del、change、append、replace、monitor

rule支持的命令:list、add、del、flush

neigh支持的命令:add、del、change、replace、show、flush

tunnel支持的命令:add、change、del、show

maddr支持的命令:add、del

mroute支持的命令:show

netstat:顯示網絡狀態

[root@aliyun ~]# netstat [選項]

-a 顯示所有連線中的Socket

-p 顯示正在使用Socket的程序識別碼和程序名稱

-l 僅列出在監聽的服務狀態

-t 顯示TCP傳輸協議的連線狀況

-u 顯示UDP傳輸協議的連線狀況

-i顯示網絡界面信息表單

-r 顯示路由表信息

-n 直接使用IP地址,不通過域名服務器

write:向其他用戶發送信息

[root@aliyun ~]# write [選項]

用戶 指定要接受信息的登錄用戶

登陸終端 指定接收信息的用戶的登錄終端

wall:發送信息給所有登錄者

[root@aliyun ~]# wall message

mail:發送或接收郵件

注:安裝mail 命令 yum -y install mailx,需要在/etc/mail.rc 配置發送郵箱

# 1.編輯mail.rc文件vim /etc/mail.rc# 配置/etc/mail.rc,使用外部smtp服務發送郵件。在文件的未尾添加如下數據行:set from=mr_xuansu@163.com # 發送郵件源郵箱set smtp=smtp.163.com # smtp 服務的服務商地址set smtp-auth-user=mr_xuansu@163.com # 能使用 smtp 服務的合法用戶賬號,與from一致set smtp-auth-password=授權碼 # 在郵件服務商的網站上可以設置,類似從第三方登錄郵件服務的密碼。# 2.編輯host文件vim /etc/hosts# 添加以下內容IP hostname

[root@aliyun ~]# mail [選項]

-s 給郵件追加主題

-a 添加郵件附件

-b 指定密件抄送的收信人地址

-c 指定抄送的收信人地址

系統痕迹

w:顯示已登錄用戶

[root@aliyun ~]# w [選項]

-h/--no-header 不打印頭信息

-u/--no-current 當顯示當前進程和cpu時間時忽略用戶名

-s/--short 使用短輸出格式

-f/--from 顯示用戶從哪登錄

-o/--old-style 老式輸出

-i/--ip-addr 顯示IP地址而不是主機名(如果可能)

--help 顯示此幫助並退出

-V/--version 顯示版本信息

who:查看當前登錄的用戶信息

[root@aliyun ~]# who [選項]

-a 全面信息

-b 系統最近啓動時間

-d 死掉的進程

-l 系統登錄進程

-H 帶有列標題打印用戶名,終端和時間

-t 系統上次鎖定時間

-u 已登錄用戶列表

last:顯示用戶曆史登錄情況

[root@aliyun ~]# last [選項]

-n 顯示行數

-a 將來源終端信息項放置放到最後

-R 省略來源終端

-d 將IP地址轉換成主機名稱

-f 指定記錄文件

-x 顯示系統開關機等信息

lastlog:顯示用戶最近一次登錄信息

[root@aliyun ~]# lastlog [選項]

-b <天數> 顯示指定天數前的登錄信息

-t <天數> 顯示指定天數以來的登錄信息

-u <用戶名> 顯示指定用戶的最近登錄信息

-h 顯示召集令的幫助信息

lastb:記錄登錄失敗的用戶信息

[root@aliyun ~]# lastb [選項]

-a 把從何處登入系統的主機名稱或ip地址顯示在最後一行

-d 將IP地址轉換成主機名稱

-f 指定記錄文件

-n 設置列出名單的顯示列數

-R 不顯示登入系統的主機名稱或IP地址

-x 顯示系統關機,重新開機,以及執行等級的改變等信息

問題反饋

若對文中有任何的疑問,或者需要幫助可以通過以下方式進行反饋

直接進行評論或者單獨私聊

發送郵件到:mr_xuansu@163.com

0 阅读:16