linux 基础常用命令集
這里寫自定義目錄標題
- RHCSA 學習筆記
- 系統組成
- 常用的目錄結構:
- shell解釋器
- bash的優點
- BASH快捷鍵操作:
- 路徑
- 常用簡單基礎命令
- BASH的高級應用
- 管理用戶和組
- 管理文檔的權限
- 特殊權限(附加權限)
RHCSA 學習筆記
系統組成
Linux系統=內核+shell解釋器+文件系統+(應用程序)
常用的目錄結構:
/boot 存放系統內核、各種系統引導所必須的文件、驅動、啟動配置
/bin 用于存放系統的命令的程序文件
/dev 用于存放設備文件
/etc 用于存放各種系統軟件以及自安裝應用軟件的配置文件
/tmp 用于存放系統運行過程中產生的臨時文件
/var 存放日志文件、郵箱郵件等經常發生變化的文件
/home&/root /root管理員的家目錄,/home用于存放普通用戶的家目錄
/proc 特殊,大多數都是內存的映射數據,不占用硬盤空間
shell解釋器
把用戶輸入的命令翻譯成內核所認識的二進制指令(0/1)
RHEL8中默認的shell是:/bin/bash
其它shell:/bin/sh,/sbin/nologin
bash的優點
①提供相對較完整的tab命令補全
②具有較為完整的終端提示符信息
[root@localhost ~]#
[當前登錄的用戶@當前使用的計算機的主機名 當前目錄的名稱]
@=at介詞,在…
~當前用戶的家目錄
#當前登錄用戶是管理員用戶root身份
$當前登錄用戶是普通用戶身份
③具有強大的批處理腳本、實用的環境變量功能
④可以通過上下方向鍵來調取過往執行過的Linux命
BASH快捷鍵操作:
ctrl + c 廢棄當前編輯的命令行(結束正在運行的命令)
Esc+.或Alt+. 粘貼上一條命令的最后一個參數
ctrl+l 清空整個屏幕
ctrl+w 刪除一個單詞(以空格為界限)
ctrl+u 從光標開始,清空至行首
以下快捷鍵原生圖形界面才適用:
ctrl+shift+t 新開一個終端標簽
ctrl_shift_+ 放大字體
ctrl_- 縮小字體
搜索模式: /關鍵詞,回車,n下一個,N上一個
路徑
絕對路徑:以根(/)開始的路徑
相對路徑:不以根(/)開始的路徑,以當前所在路徑作為參照
命令:命令字 [選項] 參數
命令字:命令的程序
選項:一般是執行命令時去指定的這個命令的特定功能
參數:一般是命令執行的對象,也可以是指定一些命令執行的功能
常用簡單基礎命令
date [選項] [參數]
作用:查看修改時間及日期
date +%F 查看日期
date +%R 查看時間
date +’%Y-%m-%d %H:%M:%S’ 自定義格式查看時間日期
自定義:
%Y:年
%m:月
%d:日
%H:時
%M:分
%S:秒
date -s ‘年-月-日 時:分:秒’ 修改時間
cal [選項]
作用:在屏幕上打印出日歷
常用用法:
cal 顯示當前月份
cal -3 顯示這個月、上個月和下個月
cal -m 顯示時,周一作為一周的第一天
cal -y 顯示一整年
pwd
作用:顯示用戶當前所在的工作目錄
wc [選項] 文本
作用:統計指定文本的行數、字數、字節數
常用選項:
-l 統計文本的行數
-w 統計文本單詞數(以空格為界限)
-c 統計字節數
例:[root@localhost ~]# wc -l /etc/passwd
關機重啟
reboot:重啟(常用用法:reboot -f 強制重啟)
poweroff:關機(常用用法:poweroff -f 強制關機)
shutdown:(關機、重啟、計劃時間關機、重啟)
常用用法:
shutdown -h now 立即關機
shutdown -h 10:10 10:10關機
shutdown -h +10 10分鐘后關機
shutdown -r now 立即重啟
運行級別(RHEL6)
0:關機
1:單用戶模式(修復模式/破解密碼模式)
2:字符界面(不支持網絡)
3:字符界面(支持網絡)
4:未定義
5:圖形界面(支持網絡)
6:重啟
切換運行級別:init 運行級別
文檔管理基礎命令
ls [選項] [文檔路徑]
作用:列出文檔的信息
###############################################
可以通過顏色來區分文檔的類型
白色:文本文件
藍色:目錄
綠色:可執行文件(程序或腳本)
紅色:壓縮包(同時包含:軟件包,iso鏡像文件)
藍綠色:快捷方式
###############################################
常用選項
-l 以長格式顯示詳細屬性信息
-h 與-l一起用,用易讀的單位顯示文檔大小
-d 與-l一起用,查看目錄本身(而不是目錄的子文檔)的詳細屬性信息
-A 顯示目錄所有內容,包括以.開頭的隱藏文檔
cd [目錄路徑]
作用:用于切換工作路徑
其它常用用法:
cd或cd ~:切換到當前用戶的家目錄
cd …:切換到當前目錄的上一級目錄(…父目錄(上一級目錄) | .當前目錄)
cd -:切換到上一次所在的目錄
cp [選項] 源文檔路徑 目標路徑
作用:復制文檔到目標路徑
常用選項:
-r:遞歸,復制目錄時必須要有,除了復制目錄本身,還會復制目錄的子文檔
cp命令常見用法
1.忽略復制時詢問是否覆蓋
\cp -r /etc/ /mnt/
2.復制時多個參數:多個參數時,永遠把最后一個參數作為目標路徑
cp /etc/fstab /etc/shadow /opt/(把/etc/fstab和/etc/shadow復制到/opt)
3.復制時與.連用
[root@localhost ~]# cp -r /etc/ .
4.復制時可以重命名
[root@localhost ~]# cp [-r] /路徑/源文檔名稱 /目標路徑/新名稱
注意:新名稱不可以是目標路徑下已存在的文檔名稱,否則:
情況1:如果重復同名的是目錄,則會把文檔復制到這個目錄里面去
情況2:如果重復同名的是文件,則會詢問是否覆蓋
mv 源文件路徑 目標路徑
作用:移動(windows-剪切)
常用用法
重命名:路徑不變的移動
例:[root@localhost ~]# mv /root/Desktop/101.txt /root/Desktop/202.txt
rm [選項] 文檔路徑
作用:刪除文檔
//出現提示:y回車為是,n回車為否,直接回車默認否
常用選項:
-r 遞歸刪除(目錄),刪除目錄時必須要有
-f 強制刪除(不出現提示,直接刪除)
注意:rm命令屬于危險操作,三思而行
cat [選項] [文件]
作用:查看文本內容較少的文件(一個屏幕能夠顯示完整)
常用選項:
-n 添加行號
less 文件
作用:查看文本內容較多的文件(一個屏幕不夠顯示完整)
touch /文件存放路徑/文件名稱
作用:創建一個空白文件
mkdir /目錄存放路徑/目錄名稱
作用:創建一個空白目錄
常用用法:遞歸創建子目錄
例:mkdir -p /a/b/c/d
獲取Linux幫助:
①–help選項
②man幫助手冊
Vim編輯器的基本使用
作用:Linux命令行的文本剪輯器,不支持所有鼠標操作
格式:vim /路徑/文本文件
情況1:該文件已存在,打開并編輯
情況2:該文件不存在,創建并編輯
命----------------------------->插入模式(編輯模式,輸入模式)【按Esc鍵回到命令模式】
令
模 按:鍵
式----------------------------->末行模式【按Esc鍵回到命令模式】
保存并退出::wq
不保存強制退出::q!
BASH的高級應用
(1)通配符
①*:代表任意個數(0,1,n)的任意字符
[root@localhost ~]# ls /boot/vm* 查看/boot目錄下以vm開頭的文檔
[root@localhost ~]# ls /etc/tab 查看/etc目錄下以tab結尾的文檔
[root@localhost ~]# ls /etc/ta 查看/etc目錄下包含ta的文檔
[root@localhost ~]# ls /etc/fb 查看/etc以f開頭且以b結尾的文檔
②?:代表1個任意字符
[root@localhost ~]# ls /dev/tty?
[root@localhost ~]# ls /dev/tty??
③[a-b]:區間(支持字母和數字,數字只支持0-9,兩位數或以上會錯亂)
[root@localhost ~]# ls /dev/tty[4-6]
④{值1,值2…}:集合
[root@localhost ~]# ls /dev/tty{1,2,3,11,23}
思考題:
列出/dev/tty20至/dev/tty30之間所有設備文件?
ls /dev/tty{2[0-9],30}
(2)管道符 |:管道符后面的命令僅支持單參數的命令
作用:把管道符前面命令的執行結果作為管道符后面命令的執行對象
補充:
查看文本的頭n行:head -n 文本
查看文本的尾n行:tail -n 文本
【-n選項可以省略,若省略-n則默認n=10】
[root@localhost ~]# head -3 /etc/passwd
思考題:
①查看/etc/passwd文件中的8-12行
[root@localhost ~]# head -12 /etc/passwd | tail -5
②查看/etc/passwd文件中的8-12行,并把8-12的行號顯示出來
[root@localhost ~]# cat -n /etc/passwd | head -12 | tail -5
(3)重定向:把原來按照標準輸出應該輸出到屏幕上的內容重新定向到一個文件中存儲
①標準輸出:輸出內容到屏幕上
1.正確輸出:正常執行一條命令,獲得想要的輸出結果
2.錯誤輸出:執行命令過程中報錯的內容
②標準輸入:從鍵盤獲取輸入內容
③輸出重定向:
1.正確輸出重定向:>:覆蓋重定向,>>:追加重定向
2.錯誤輸出重定向:2>:覆蓋重定向,2>>:追加重定向
3.正確與錯誤輸出重定向:&>:覆蓋重定向,&>>:追加重定向
補充:echo ‘字符串’:在屏幕上打印’字符串’
(4)grep文本過濾:按照條件過濾輸出包含匹配過濾條件的行
grep [選項] [條件] 文本
常用條件:
關鍵詞 匹配過濾輸出包含關鍵詞的行
^關鍵詞 匹配過濾輸出以關鍵詞開頭的行
關鍵詞$ 匹配過濾輸出以關鍵詞結尾的行
^$ 匹配空行
常用選項:
-n 輸出行號
-v 取反
-i 忽略大小寫
-c 統計行數
[root@localhost ~]# grep root /etc/passwd
[root@localhost ~]# grep ^root /etc/passwd
[root@localhost ~]# grep bash$ /etc/passwd
[root@localhost ~]# grep ^$ /etc/chrony.conf
思考題:過濾出/etc/chrony.conf文件中的有效配置信息(不包含空行和以#開頭的注釋信息),并重定向到文件/root/101.txt文件中
[root@localhost ~]# grep -v ^$ /etc/chrony.conf | grep -v ^# > /root/101.txt
(5)find查找系統文檔:遞歸查找,除了查找目標路徑還會查找目標路徑的子文檔
find 查詢路徑 查找條件1 [-a/-o 查找條件2 查找條件3…]
-a 邏輯和 -o 邏輯或
常用查找條件選項:
-type 按文檔類型查找(f文件,d目錄,l快捷方式)
[root@localhost ~]# find /root/ -type d
-name或-iname 按文檔名稱查找(支持通配符)
[root@localhost ~]# find /root -name Dow*
-size 按文檔的大小查找(+大于,-小于,容量單位:k,m,G)
[root@localhost ~]# find /boot/ -size +30M
-user 按所有者查找
[root@localhost ~]# find / -user student
-group 按所屬組查找
[root@localhost ~]# find / -group student
-mtime 按修改時間查找
(+N:N天之前,-N:N天之內,N:第N天)
管理用戶和組
用戶:用于登錄系統的賬號和身份
組:為了方便批量管理一些用戶的權限,一般可以把想要具有相同權限的用戶加到同一個組
組的分類:
基本組:在創建用戶的時候,會自動創建一個與用戶名同名的組并自動加入
附加組:除了基本組,每個用戶還能加入到其它的組,這些組我們把它稱之為附加組
組的gid:每一個組都會有一個唯一標識這個組的編號
用戶的uid:每一個用戶都會有一個唯一標識這個用戶的編號
管理員root的uid永遠為:0
系統自帶用戶的uid為:1-999
普通用戶的uid默認為:1000開始,按順序排列下去
/sbin/nologin解釋器:用于禁止該用戶登錄
添加用戶:useradd [-選項 參數] 用戶名
[root@localhost ~]# useradd zhyx001
[root@localhost ~]# tail -1 /etc/passwd
常用選項與參數:
-u uid 用于指定用戶的uid
[root@localhost ~]# useradd -u 10086 zgyd
-d 家目錄的路徑 用于指定用戶的家目錄
[root@localhost ~]# useradd -d /home/haha test01
-s shell的路徑 用于指定用戶登錄的shell解釋器
[root@localhost ~]# useradd -s /sbin/nologin jzdl
-G 附加組名稱 用于指定用戶的附加組
[root@localhost ~]# useradd -G student tom
查看用戶信息:
id 用戶名
grep ^用戶名 /etc/passwd
[root@localhost ~]# grep ^zgyd /etc/passwd
zgyd?10086:10086::/home/zgyd:/bin/bash
用戶名:密碼占位符:uid:基本組gid:描述信息(可以為空):用戶的家目錄:用戶登錄的默認shell
臨時切換用戶:管理員使用這個命令不需要輸入用戶密碼
su - 用戶名
管理員設置用戶密碼:
交互式:passwd 用戶名
非交互式:echo 密碼 | passwd --stdin 用戶名
[root@localhost ~]# passwd root
Changing password for user root.
New password: 新密碼
BAD PASSWORD: The password is shorter than 8 characters提示密碼短于8位,忽略
Retype new password: 確認密碼
passwd: all authentication tokens updated successfully.密碼修改成功
[root@localhost ~]# echo 123 | passwd --stdin zhyx001
***查看歷史命令:[root@localhost ~]# history
/etc/shadow文件:
root:$67FV0YRelWRxajcvp7FV0YRelWRxajcvp7FV0YRelWRxajcvpnBCG3xBBHYhBbCiMI0pU.NHie23tipW9f2Ix.j2F
Rz3TNIgGOFMAu40BokVqLmeEJZ6J15xS4qcEcUSrS7vhC0:18406:0:99999:7:::
用戶名:加密后的密碼:上一次修改密碼的時間(時間戳:自1970年1月1日開始經過的天數)
修改用戶屬性:mod:摩的=修改
usermod [-選項 參數] 用戶名(命令的本質是修改passwd文件中的內容)
常用選項與參數:
-u uid 用于修改用戶的uid
-d 家目錄的路徑 用于修改用戶的家目錄(需要手動創建對應目錄)
-s shell的路徑 用于修改用戶登錄的shell解釋器
刪除用戶:
userdel [-r] 用戶名
-r:在刪除用戶的同時刪除用戶的家目錄,一般不用,普通用戶權限較低,一般數據都存在家目錄
組的管理:
創建組:groupadd [-g gid] 組名
[root@localhost ~]# groupadd -g 10010 zgdx
把用戶添加到組:gpasswd -a 用戶名 組名
把用戶從組刪除:gpasswd -d 用戶名 組名
[root@localhost ~]# gpasswd -a zglt zgdx
[root@localhost ~]# gpasswd -d zglt zgdx
刪除組:groupdel 組名
[root@localhost ~]# groupdel zgdx
/etc/group文件:存放組的屬性信息
[root@localhost ~]# grep ^student /etc/group
student?1000:tom,zhyx001,test02,jzdl
組名:密碼占位符:組的gid:組成員列表,可以為空,也可以是多個(以,分隔)
管理文檔的權限
基本權限的類別:
r:讀:(文件:查看文件的內容,目錄:瀏覽目錄)
w:寫(文件:修改文件內容,目錄:創建,刪除,復制…目錄內容)
x:執行(文件:可執行文件:程序或腳本,目錄:cd進入目錄)
權限的使用對象:
u:所有者:文檔的主人
g:所屬組:文檔的屬組
o:其它用戶:既不是所有者,也不是所屬組的成員
ls -l 或ls -ld
[root@localhost ~]# ls -l /var/mail/student
-rw-rwx—. 1 student mail 0 May 24 05:52 /var/mail/student
①-:文件,d:目錄,l:快捷方式
②rw-rwx—:所有者,所屬組和其它用戶的權限
③1:如果是文件:文件的硬鏈接個數;如果是目錄:子文檔的個數
④student mail:文檔的所有者和所屬組
⑤0:文檔的大小
⑥May 24 05:52:文檔的修改時間
⑦/var/mail/student文檔的絕對路徑
判斷權限:
第一步:判斷用戶對于這個文檔來說,屬于什么身份
ls -ld或ls -l命令查看文檔的所有者和所屬組,對比該用戶是否為所有者或所屬組,如果都不是,那么該用戶為其它用戶(原則:按照所有者>所屬組>其它用戶的優先級進行判斷,遵循匹配即停止的原則:按照優先級,一旦匹配上,立即停止匹配)
第二步:判斷所擁有的權限是什么
rw- | rwx | —
所有者 所屬組 其它用戶
第三步:得出結論
所有者擁有讀、寫的權限
設置權限:chmod [-R] 421權限或描述權限 /文檔路徑
-R選項:遞歸修改權限,除了設置目標目錄的權限,還會設置子文檔的權限
方法1:421權限
4:讀
2:寫
1:執行
例題1:為/test目錄設置權限:要求目錄的所有者擁有讀寫執行的權限,目錄的所屬組成員擁有只讀的權限,其它用戶擁有讀寫的權限
u=4+2+1=7;g=4=4;o=4+2=6
chmod 746 /test
方法2:描述權限
+:添加權限
-:刪除權限
=:設置權限
r:讀
w:寫
x:執行
-:取消權限
u:所有者
g:所屬組
o:其他用戶
例題2:把/test目錄的所有者的權限修改為只讀
chmod u=r /test
設置歸屬關系
同時修改文檔的所有者和所屬組:chown [-R] 所有者:所屬組 /文檔路徑
只修改所有者:chown [-R] 所有者 /文檔路徑
只修改所屬組:chown [-R] :所屬組 /文檔路徑
-R:遞歸修改,除了修改目標目錄的歸屬關系還修改子目錄的歸屬關系
注意:
①所有普通用戶沒有權限執行chmod和chown命令,僅限管理員使用
②必須要對文檔的父目錄擁有權限,否則只對子文檔擁有權限也沒有意義
特殊權限(附加權限)
1.Set GID
chmod g+s或g-s /路徑/目錄
附加在所屬組的執行權限x位上,所屬組的權限標識會變成s或S
(s代表所屬組的執行權限為x,S代表所屬組的執行權限為-)
適用范圍:目錄
作用:讓新創建的子文檔自動繼承父目錄的所屬組
2.Set UID
chmod u+s或u-s /路徑/可執行文件
附加在所有者的執行權限位x上,所有者的權限標識會變成s或S
(s代表所有者的執行權限為x,S代表所有者的執行權限為-)
適用范圍:適用于可執行文件
功能:傳遞所有者身份,用戶在執行腳本的時候可以暫時擁有所有者的權限
3.Sticky Bit
chmod o+t或o-t /路徑/文檔
附加在其他用戶的執行權限x位上,其他人的權限標識會變成t或T
(t代表其他用戶的執行權限為x,T代表其他用戶的執行權限為-)
適用范圍:適用于開放w權限的目錄
功能:可以防止用戶濫用w權限(禁止用戶操作別人的文檔)
#文檔所有者才能操作自己的文檔,其他人無法操作
acl訪問控制列表
作用:可以針對某一個文檔為某個用戶或組單獨設置權限
設置acl:setfacl [-R] -m u或g:用戶名或組名:權限列表 /文檔路徑
例:setfacl -m u:ceo:r-- /cw/cw001file
-R選項:遞歸修改:除了為目標目錄設置acl還同時設置其子目錄的acl
刪除acl:setfacl -x u:用戶名或g:組名 /文檔路徑
刪除某個文檔的所有acl:setfacl -b /文檔路徑
查看acl:getfacl /文檔路徑
總結
以上是生活随笔為你收集整理的linux 基础常用命令集的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 旷世天才:尼古拉·特斯拉
- 下一篇: Linux杂谈之jq命令