第 1 章 Linux入門
1.1 概述
1.2 Linux和Windows區別
第 2 章 VMware、Ubuntu、Xshell和Xftp安裝
第 3 章 Linux文件與目錄結構
3.1 Linux文件
Linux系統中一切皆文件。
3.2 Linux目錄結構
? /bin
是Binary的縮寫, 這個目錄存放著最經常使用的命令的可執行文件,本質是/usr/bin的軟鏈接。
? /sbin
s就是Super User的意思,這里存放的是系統管理員使用的系統管理程序,本質是/usr/sbin的軟鏈接。
? /home
存放普通用戶的主目錄,在Linux中每個用戶都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的。
? /root
該目錄為系統管理員,也稱作超級權限者的用戶主目錄。
? /lib
系統開機所需要最基本的動態連接共享庫,其作用類似于Windows里的DLL文件。幾乎所有的應用程序都需要用到這些共享庫。
? /etc
所有的系統管理所需要的環境配置文件和子目錄。
? /usr
這是一個非常重要的目錄,用戶的很多應用程序和文件都放在這個目錄下,類似于windows下的Program Files目錄。
? /boot
這里存放的是啟動Linux時使用的一些核心文件,包括一些連接文件以及映射文件,自己的安裝別放這里。
? /run
系統運行產生和需要的一些重要文件。
? /proc
這個目錄是一個系統中運行的進程的虛擬映射的目錄,我們可以通過直接訪問這個目錄來獲取系統信息。
? /srv
service縮寫,此目錄用于存放系統運行時數據,特別是那些由系統上運行的服務所產生的數據。默認是空的。
? /sys
這是linux2.6內核的一個很大的變化。該目錄下安裝了2.6內核中新出現的一個文件系統。
? /tmp
這個目錄是用來存放一些臨時文件的,過一段時間就會自動清除。
? /dev
類似于windows的設備管理器,把所有的硬件用文件的形式存儲。
? /media
linux系統會自動識別一些設備,例如音響、耳機等等,當識別后,linux會把識別的設備掛載到這個目錄下。
? /mnt
系統提供該目錄是為了讓用戶臨時掛載別的文件系統的,我們可以將外部的存儲(U盤、移動硬盤)掛載在/mnt/上,然后進入該目錄就可以查看里的內容了。默認是空的。
? /opt
主要用于安裝可選的或第三方應用程序。比如你安裝一個mysql數據庫則就可以放到這個目錄下。默認是空的。
/var
這個目錄中存放著在不斷擴充著的東西,我們習慣將那些經常被修改的目錄放在這個目錄下。包括各種日志文件。
第 4 章 遠程登錄
通常在工作過程中,公司中使用的真實服務器或者是云服務器,都不允許除運維人員之外的員工直接接觸,因此就需要通過遠程登錄的方式來操作。所以,遠程登錄工具就是必不可缺的,目前,比較主流的有Xshell,SSH Secure Shell,SecureCRT,FinalShell等,同學們可以根據自己的習慣自行選擇。
第 5 章 APT軟件包管理器
APT(Advanced Packaging Tools)是Debian及其派生Linux的軟件包管理器,可以自動下載,配置,安裝二進制或者源代碼格式的軟件包,因此簡化了Unix系統上管理軟件的過程。
APT常用命令:
用法: apt [選項] 命令
命令行軟件包管理器 apt 提供軟件包搜索,管理和信息查詢等功能。
它提供的功能與其他 APT 工具相同(像 apt-get 和 apt-cache),
但是默認情況下被設置得更適合交互。
常用命令:
list - 根據名稱列出軟件包
search - 搜索軟件包描述
show - 顯示軟件包細節
install - 安裝軟件包
reinstall - 重新安裝軟件包
remove - 移除軟件包
autoremove - 卸載所有自動安裝且不再使用的軟件包
update - 更新可用軟件包列表
upgrade - 通過 安裝/升級 軟件來更新系統
full-upgrade - 通過 卸載/安裝/升級 來更新系統
edit-sources - 編輯軟件源信息文件
satisfy - 使系統滿足依賴關系字符串
1)更新可用軟件包列表
zxf@ubuntu:~/桌面$ sudo apt update
2)使用APT安裝軟件包
net-tools是一個網絡相關的工具包,比如提供ifconfig命令查看ip
zxf@ubuntu:~/桌面$ sudo apt install net-tools
常用參數:-y 不確認直接安裝
3)使用APT卸載軟件包
zxf@ubuntu:~/桌面$ sudo apt remove net-tools
常用參數:-y 不確認直接卸載
4)使用APT搜索軟件包
zxf@ubuntu:~/桌面$ sudo apt search net-tools
第 6 章 常用基本命令
6.1 幫助命令
6.1.1 Manual Packages
1)查看手冊頁說明文檔的方式
zxf@ubuntu:~/桌面$ man man
2)手冊頁簡介
(1)名稱
man - 系統參考手冊的接口
(2)概述
man [man 選項] [[章節] 頁 …] …
man -k [apropos 選項] 正則表達式 …
man -K [man 選項] [章節] 關鍵詞 …
man -f [whatis 選項] 頁 …
man -l [man 選項] 文件 …
man -w|-W [man 選項] page …
(3)描述
手冊頁(Manual Packages),簡稱“man pages”,是Unix和類Unix系統(包括Linux和macOS)上提供程序、函數、命令及文件格式文檔的一種方式。手冊頁是用戶和管理員獲取命令用法、程序功能、配置文件規范和某些API函數描述的重要資源。
手冊的章節號(頁)及其包含的手冊類型對應關系如下。
? 1-可執行程序或shell命令:包含了絕大多數用戶級別的外部命令或程序的文檔,這些命令通常位于用戶的PATH環境變量指定的目錄下,如/bin、/usr/bin等。
? 2-系統調用(內核提供的函數):提供了內核提供的系統調用的文檔,系統調用是應用程序與操作系統內核之間進行交互的接口。
? 3-庫調用(程序庫中的函數):包括標準C庫函數和其他庫函數的文檔,這些庫函數提供了執行特定任務(如字符串處理、文件操作)的編程接口。
? 4-特殊文件(通常位于/dev):涉及到系統上的特殊文件,如設備文件的說明。
? 5-文件格式和規范,如/etc/passwd:描述了各種文件格式和配置文件的結構,比如/etc/passwd或/etc/shadow文件的格式。
? 6-游戲和屏保:有些系統會在這一節中提供游戲和屏保程序的文檔。
? 7-雜項(包括宏包和規范):包含了一些雜項文檔,如宏包、約定等。如man(7),groff(7),man-pages(7)。
? 8-系統管理命令(通常只針對root用戶):提供了系統管理員級別的命令或程序的文檔,這些命令通常位于/sbin、/usr/sbin等目錄。
? 9-內核例程(并非所有的發行版都有):某些系統會提供內核級別函數和例程的文檔。
我們常用的文檔位于第1、2、3、7頁。
(4)手冊頁引用格式
執行man man命令,進入手冊頁瀏覽模式,左上角會顯示MAN(1),這就是手冊頁引用格式或man引用格式,括號前面是命令(或系統調用等)的名稱,括號內是命令所在的手冊頁編號。
當存在多個同名但功能不同的命令或調用時,可以通過頁編號區分。如:用戶命令write位于第一頁,用write(1)表示,系統調用write位于第2頁,用write(2)表示。
6.1.2 man獲得幫助信息
1)基本語法
man [頁編號] [命令或配置文件] (功能描述:獲得幫助信息)
2)顯示說明
信息 功能
NAME 命令的名稱和單行描述
SYNOPSIS 怎樣使用命令
DESCRIPTION 命令功能的深入討論
EXAMPLES 怎樣使用命令的例子
SEE ALSO 相關主題(通常是手冊頁)
3)案例實操
(1)查看ls命令的幫助信息
zxf@ubuntu:~/桌面$ man ls
(2)查看用戶命令write的幫助信息
zxf@ubuntu:~/桌面$ man write
(3)查看系統調用write的幫助信息
zxf@ubuntu:~/桌面$ man 2 write
在第 2 節中沒有關于 write 的手冊條目
默認的手冊頁不完整,需要下載最新的手冊頁包
zxf@ubuntu:~/桌面$ sudo apt install manpages manpages-dev
6.1.3 help獲取shell內建命令的幫助信息
1)shell內建命令
shell內建命令是shell的一部分,他們沒有單獨的可執行文件或手冊頁,這類命令的文檔通過help命令訪問。
2)查看所有內建命令
zxf@ubuntu:~/桌面$ help
3)查看內建命令的幫助信息
help 命令 (功能描述:獲得shell內建命令的幫助信息)
4)案例實操
(1)查看cd命令的幫助信息
zxf@ubuntu:~/桌面$ help cd
6.1.4 常用快捷鍵
常用快捷鍵 功能
Ctrl + L 清屏;徹底清屏是:clear
Ctrl + C 或 Q 停止進程 / 退出
TAB鍵(一次或二次) 提示(更重要的是可以防止敲錯)
上下鍵 查找執行過的命令
Ctrl + U 清除當前敲的命令
6.2 文件目錄類
6.2.1 pwd 顯示當前工作目錄的絕對路徑
pwd: 打印工作目錄(print work directory)
1)基本語法
pwd (功能描述:顯示當前工作目錄的絕對路徑)
2)案例實操
(1)顯示當前工作目錄的絕對路徑
zxf@ubuntu:~/桌面$ pwd
/home/zxf/桌面
6.2.2 ls 列出目錄的內容
ls: 列出目錄內容(list)
1)基本語法
ls [選項] [目錄或是文件]
2)選項說明
選項 功能
-a 全部的文件,連同隱藏檔(開頭為 . 的文件) 一起列出來(常用)
-l 長數據串列出,包含文件的屬性與權限等等數據;(常用)
-R 遞歸(recursion)列出目錄下所有子目錄及文件
3)顯示說明
每行列出的信息依次是:文件類型與權限 鏈接數 文件屬主 文件屬組 文件大小(字節) 建立或最近修改的時間(月、日、時分) 名稱
4)案例實操
(1)查看當前目錄的所有內容信息
zxf@ubuntu:~/桌面$ ls -al
總用量 44
drwx------. 5 zxf zxf 4096 5月 27 15:15 .
drwxr-xr-x. 3 root root 4096 5月 27 14:03 …
drwxrwxrwx. 2 root root 4096 5月 27 14:14 hello
-rwxrw-r–. 1 zxf zxf 34 5月 27 14:20 test.txt
(2)ubuntu中ll是ls -al的別名,我們可以使用ll查看目錄下的所有文件
zxf@ubuntu:~/桌面$ ll
總用量 44
drwx------. 5 zxf zxf 4096 5月 27 15:15 .
drwxr-xr-x. 3 root root 4096 5月 27 14:03 …
drwxrwxrwx. 2 root root 4096 5月 27 14:14 hello
-rwxrw-r–. 1 zxf zxf 34 5月 27 14:20 test.txt
6.2.3 cd 切換目錄
cd: 切換路徑(Change Directory)
1)基本語法
cd [參數]
2)參數說明
參數 功能
cd 絕對路徑 切換路徑
cd相對路徑 切換路徑
cd ~或者cd 回到自己的家目錄
cd - 回到上一次所在目錄
cd … 回到當前目錄的上一級目錄
cd -P 跳轉到實際物理路徑,而非快捷方式路徑
3)案例實操
(1)使用絕對路徑切換到根目錄下的bin目錄
zxf@ubuntu:~$ cd /bin/
zxf@ubuntu:/bin$
(2)使用相對路徑切換到“公共的”目錄
zxf@ubuntu:~$ cd 公共的/
zxf@ubuntu:~/公共的$
(3)表示回到自己的家目錄,亦即是/home/zxf這個目錄
zxf@ubuntu:~/公共的$ cd
zxf@ubuntu:~$
(4)cd- 回到上一次所在目錄
zxf@ubuntu:~$ cd -
/home/zxf/公共的
zxf@ubuntu:~/公共的$
(5)表示回到當前目錄的上一級目錄,亦即是 “/root/公共的”的上一級目錄的意思;
zxf@ubuntu:~/公共的$ cd …
zxf@ubuntu:~$
6.2.4 mkdir 創建一個新的目錄
mkdir: 創建目錄(Make directory)
1)基本語法
mkdir [選項] 要創建的目錄
2)選項說明
選項 功能
-p 創建多層目錄 (目標目錄及其父目錄)
3)案例實操
(1)創建一個目錄
zxf@ubuntu:~/桌面$ mkdir test
zxf@ubuntu:~/桌面$ mkdir test/a
(2)創建一個多級目錄
zxf@ubuntu:~/桌面$ mkdir -p test/b/bb/bbb
6.2.5 touch 創建空文件
1)基本語法
touch 文件名稱
2)案例實操
zxf@ubuntu:~/桌面$ touch test/a/note.txt
6.2.6 cp復制文件或目錄
cp: 復制文件或目錄(copy)
1)基本語法
cp [選項] source dest (功能描述:復制source文件到dest)
2)選項說明
選項 功能
-r 遞歸復制整個文件夾
3)參數說明
參數 功能
source 源文件
dest 目標文件
4)案例實操
(1)復制文件
zxf@ubuntu:~/桌面$ cp test/a/note.txt test/b/
(2)遞歸復制整個文件夾
zxf@ubuntu:~/桌面$ cp -r test/b/ ./
6.2.7 rm 刪除文件或目錄
rm: 刪除文件或目錄(remove)
1)基本語法
rm [選項] deleteFile (功能描述:刪除指定目錄或文件)
2)選項說明
選項 功能
-r 遞歸刪除目錄及其中所有內容 (默認只能刪除文件)
-f 強制執行刪除操作,而不提示用于進行提示確認。
-v 顯示指令的詳細執行過程
3)案例實操
(1)刪除目錄中的內容
zxf@ubuntu:~/桌面$ rm b/note.txt
(2)遞歸刪除目錄中所有內容
zxf@ubuntu:~/桌面$ rm -r b/
6.2.8 mv 移動文件與目錄或重命名
mv: 移動文件或目錄(move)
1)基本語法
(1)mv oldNameFile newNameFile (功能描述:重命名)
(2)mv /xxx/movefile /targetFolder (功能描述:移動文件)
2)案例實操
(1)重命名
zxf@ubuntu:~/桌面$ mv test/a/note.txt test/a/note2.txt
(2)移動文件
zxf@ubuntu:~/桌面$ mv test/a/note2.txt ./
6.2.9 cat查看文件內容
cat: 查看文件內容(catenate 連接)
1)基本語法
cat [選項] 要查看的文件
2)選項說明
選項 功能描述
-n 顯示所有行的行號,包括空行。
3)經驗技巧
一般查看比較小的文件,一屏幕能顯示全的。
4)案例實操
查看文件內容并顯示行號
zxf@ubuntu:~/桌面$ cat -n /etc/password
6.2.10 tail 輸出文件尾部內容
tail用于輸出文件中尾部的內容,默認情況下tail指令顯示文件的后10行內容。
1)基本語法
(1)tail 文件 (功能描述:查看文件尾部10行內容)
(2)tail -n 5 文件 (功能描述:查看文件尾部5行內容,5可以是任意行數)
(3)tail -F 文件 (功能描述:實時追蹤該文檔的所有更新)
2)選項說明
選項 功能
-n<行數> 輸出文件尾部n行內容
-F 顯示文件最新追加的內容,監視文件變化
3)案例實操
(1)查看文件尾2行內容(默認10)
zxf@ubuntu:~/桌面$ tail -n 2 /etc/password
(2)實時追蹤該檔的所有更新
zxf@ubuntu:~/桌面$ touch note.txt
zxf@ubuntu:~/桌面$ tail -F note.txt // 修改note.txt實時顯示
6.2.11 echo 輸出內容
echo:輸出內容到控制臺(回聲、再現)
1)基本語法
echo [選項] [輸出內容]
選項:
? -e:支持反斜線控制的字符轉換
控制字符 作用
\ 輸出\本身
\n 換行符
\t 制表符,也就是Tab鍵
2)案例實操
zxf@ubuntu:~/桌面$ echo helloworld
helloworld
zxf@ubuntu:~/桌面$ echo “hello world”
hello world
zxf@ubuntu:~/桌面$ echo “hello\nworld”
hello\tworld
zxf@ubuntu:~/桌面$ echo -e “hello\nworld”
hello
world
6.2.12 >和>> 輸出重定向
1)基本語法
(1)ls -a > 文件 (功能描述:列表的內容覆蓋寫入文件a.txt中)
(2)ls -al >> 文件 (功能描述:列表的內容追加到文件aa.txt的末尾)
(3)cat 文件1 > 文件2 (功能描述:將文件1的內容覆蓋到文件2)
(4)echo “內容” >> 文件
2)案例實操
(1)將ls查看信息覆蓋寫入到文件中
zxf@ubuntu:~/桌面$ ls -l>note.txt
(2)將ls查看信息追加到文件中
zxf@ubuntu:~/桌面$ ls -l>>note.txt
(3)采用echo將hello單詞追加到文件中
zxf@ubuntu:~/桌面$ echo hello>>note.txt
6.2.13 ln 軟鏈接
軟鏈接也成為符號鏈接,類似于windows里的快捷方式,有自己的數據塊,主要存放了鏈接其他文件的路徑。
ln: 創建軟鏈接(Link)
1)基本語法
ln -s [原文件或目錄] [軟鏈接名] (功能描述:給原文件創建一個軟鏈接)
2)經驗技巧
刪除軟鏈接: rm 軟鏈接名,或者:unlink 軟鏈接名
查詢:通過ll就可以查看,列表屬性第1位是l,尾部會有位置指向。
3)案例實操
(1)創建軟連接
zxf@ubuntu:~/桌面$ mv note.txt test/a/
zxf@ubuntu:~/桌面$ ln -s test/a/note.txt ./
zxf@ubuntu:~/桌面$ ln -s test/b ./
zxf@ubuntu:~/桌面$ ll
lrwxrwxrwx 1 zxf zxf 6 7月 19 09:27 b -> test/b/
lrwxrwxrwx 1 zxf zxf 15 7月 19 09:14 note.txt -> test/a/note.txt
(2)刪除軟連接
zxf@ubuntu:~/桌面$ rm note.txt
zxf@ubuntu:~/桌面$ rm a
注意:rm -rf a/ 這樣刪是刪不掉的 不能在軟連接后面加 /
(3)進入文件夾軟連接的實際物理路徑
zxf@ubuntu:~/桌面$ ln -s test/a ./
zxf@ubuntu:~/桌面$ cd -P a
zxf@ubuntu:~/桌面/test/a$
6.2.14 history 查看已經執行過歷史命令
1)基本語法
history (功能描述:查看已經執行過歷史命令)
2)案例實操
(1)查看已經執行過的歷史命令
zxf@ubuntu:~/桌面$ history
6.3 VI/VIM編輯器
6.3.1 vi/vim是什么
VI是Unix操作系統和類Unix操作系統中最通用的文本編輯器。
VIM編輯器是從VI發展出來的一個性能更強大的文本編輯器。可以主動的以字體顏色辨別語法的正確性,方便程序設計。VIM與VI編輯器完全兼容。
在終端中執行以下命令安裝vim
zxf@ubuntu:~/桌面$ sudo apt install vim
6.3.2 測試數據準備
(1)拷貝/etc/profile 數據到當前目錄下
zxf@ubuntu:~/桌面$ cp /etc/profile ./
6.3.3 一般模式
以vim打開一個檔案就直接進入一般模式了(這是默認的模式)。在這個模式中, 你可以使用『上下左右』按鍵來移動光標,你可以使用『刪除字符』或『刪除整行』來處理檔案內容, 也可以使用『復制、貼上』來處理你的文件數據。
1)常用語法
語法 功能描述
yy 復制光標當前一行
y數字y 復制一段(從光標當前行到后n行)
p 箭頭移動到目的行粘貼
u 撤銷上一步
dd 刪除光標當前行
d數字d 刪除光標(含)后多少行
x 剪切一個字母(當前光標),相當于del
X 剪切一個字母(當前光標的前一個),相當于Backspace
yw 復制一個詞
dw 刪除一個詞
shift+6(^) 移動到行頭
shift+4($) 移動到行尾
1+shift+g 移動到頁頭,數字
shift+g 移動到頁尾
數字N+shift+g 移動到目標行
2)vi/vim鍵盤圖
6.3.4 編輯模式
在一般模式中可以進行刪除、復制、粘貼等的動作,但是卻無法編輯文件內容的!要等到你按下『i, I, o, O, a, A』等任何一個字母之后才會進入編輯模式。
注意了!通常在Linux中,按下這些按鍵時,在畫面的左下方會出現『INSERT或 REPLACE』的字樣,此時才可以進行編輯。而如果要回到一般模式時, 則必須要按下『Esc』這個按鍵即可退出編輯模式。
1)進入編輯模式
常用語法
按鍵 功能
i 當前光標前
a 當前光標后
o 當前光標行的下一行
I 光標所在行最前
A 光標所在行最后
O 當前光標行的上一行
2)退出編輯模式
按『Esc』鍵
6.3.5 命令模式
在一般模式當中,輸入『 : / ?』3個中的任何一個按鈕,就可以將光標移動到最底下那一行。
在這個模式當中, 可以提供你『搜尋資料』的動作,而讀取、存盤、大量取代字符、離開 vi 、顯示行號等動作是在此模式中達成的!
1)基本語法
命令 功能
:w 保存
:q 退出
:! 強制執行
/要查找的詞 n 查找下一個,N 往上查找
:noh 取消高亮顯示
:set nu 顯示行號
:set nonu 關閉行號
:%s/old/new/g 替換內容 /g global替換匹配到的所有內容
2)案例實操
(1)保存退出
對于有寫權限的文件,修改后,保存并退出。
:wq
(2)直接退出
沒有修改文件內容,直接退出。
:q
(3)強制退出
修改了文件內容,但是不想保存,此時需要強制退出。
:q!
(4)強制保存退出
對于沒有寫權限的文件,修改后,必須強制保存退出方可保留更改。
:wq!
6.3.6 模式間轉換
6.4 用戶管理命令
6.4.1 root用戶
root 用戶是具有最高權限的超級用戶
1)root 用戶特點
root 用戶擁有系統的所有權限,可以對系統進行任何操作,包括修改系統關鍵配置文件、安裝和卸載系統級軟件、管理用戶賬戶等。但由于其權限過大,不當操作可能會導致系統出現嚴重問題,甚至無法正常運行。
2)默認情況
Ubuntu 默認情況下,root 用戶是被鎖定的,沒有設置默認密碼。這是為了提高系統的安全性,鼓勵用戶使用普通用戶賬戶,并通過 sudo 命令來臨時獲取 root 權限執行需要高權限的操作。
3)為 root 用戶設置密碼
如果確實需要使用root用戶登錄或執行操作,可以通過以下步驟為root用戶設置密碼。
? 以普通用戶身份登錄到 Ubuntu 系統。
? 打開終端,輸入以下命令:----這里設置密碼為atguigu123
atguigu@ubuntu-1:~$ sudo passwd root
新的密碼:
重新輸入新的密碼:
passwd:已成功更新密碼
atguigu@ubuntu-1:~$
? 系統會提示你輸入當前普通用戶的密碼,輸入正確后按回車鍵。
? 接著會要求你設置 root 用戶的新密碼,輸入兩次相同的新密碼后,root 用戶的密碼就設置完成了。
4)切換root用戶
? su 用戶名稱 (功能描述:切換用戶,只能獲得用戶的執行權限,不能獲得環境變量)
? su - 用戶名稱 (功能描述:切換到用戶并獲得該用戶的環境變量及執行權限)
? 如果需要一個完整的 root 用戶環境,例如執行需要特定環境變量支持的腳本,或者進行系統管理操作時依賴 root 用戶的環境配置,建議使用 su -。而如果只是臨時需要以 root 身份執行一兩個命令,并且希望保持當前的工作環境,那么使用 su root 更合適。
5)退出root用戶
exit
6)使用sudo替代root用戶操作
雖然可以使用root用戶登錄并操作,但更推薦使用sudo命令。sudo 允許普通用戶在需要時以 root 權限執行特定的命令,而不需要一直以 root 用戶身份登錄。
在需要執行的命令前加上 sudo,例如要安裝軟件包:
sudo apt install package_name
系統會提示你輸入當前普通用戶的密碼,輸入正確后命令將以 root 權限執行。
7)鎖定和解鎖 root 用戶
? 鎖定 root 用戶:如果你想再次鎖定 root 用戶,使其無法登錄,可以使用以下命令:
sudo passwd -l root
? 解鎖 root 用戶:若要解鎖 root 用戶,可以使用以下命令:
sudo passwd -u root
6.4.2 useradd 添加新用戶
1)基本語法
? useradd 用戶名 (功能描述:添加新用戶)
? useradd -g 組名 用戶名 (功能描述:添加新用戶到某個組)
? 可以在useradd后面加-m指定是否創建用戶目錄
2)案例實操
切換root用戶,添加一個用戶
atguigu@ubuntu-1:~$ su –
root@ubuntu-1:~# ll /home/
總計 12
drwxr-xr-x 3 root root 4096 2月 17 23:20 ./
drwxr-xr-x 20 root root 4096 2月 17 23:19 …/
drwxr-x— 17 atguigu atguigu 4096 3月 3 10:53 atguigu/
root@ubuntu-1:~# useradd -m tangseng
root@ubuntu-1:~# ll /home/
總計 16
drwxr-xr-x 4 root root 4096 3月 3 11:08 ./
drwxr-xr-x 20 root root 4096 2月 17 23:19 …/
drwxr-x— 17 atguigu atguigu 4096 3月 3 10:53 atguigu/
drwxr-x— 2 tangseng tangseng 4096 3月 3 11:08 tangseng/
6.4.3 passwd設置用戶密碼
1)基本語法
passwd 用戶名 (功能描述:設置用戶密碼)
2)案例實操
設置用戶的密碼
root@ubuntu-1:~# passwd tangseng
6.4.4 id查看用戶是否存在
1)基本語法
id 用戶名
2)案例實操
查看用戶是否存在
root@ubuntu-1:~# id tangseng
uid=1001(tangseng) gid=1001(tangseng) 組=1001(tangseng)
6.4.5 cat /etc/passwd 查看創建了哪些用戶
1)基本語法
root@ubuntu-1:~# cat /etc/passwd
6.4.6 userdel 刪除用戶
1)基本語法
? userdel 用戶名 (功能描述:刪除用戶但保存用戶主目錄)
? userdel -r 用戶名 (功能描述:用戶和用戶主目錄,都刪除)
2)選項說明
選項 功能
-r 刪除用戶的同時,刪除與用戶相關的所有文件。
3)案例實操
root@ubuntu-1:~# ll /home/
總計 16
drwxr-xr-x 4 root root 4096 3月 3 11:08 ./
drwxr-xr-x 20 root root 4096 2月 17 23:19 …/
drwxr-x— 17 atguigu atguigu 4096 3月 3 10:53 atguigu/
drwxr-x— 2 tangseng tangseng 4096 3月 3 11:08 tangseng/
root@ubuntu-1:~# userdel -r tangseng
root@ubuntu-1:~# ll /home/
總計 12
drwxr-xr-x 3 root root 4096 3月 3 11:27 ./
drwxr-xr-x 20 root root 4096 2月 17 23:19 …/
drwxr-x— 17 atguigu atguigu 4096 3月 3 10:53 atguigu/
6.4.7 sudo設置普通用戶具有root權限
1)添加testu用戶,并對其設置密碼。
root@ubuntu-1:~#useradd testu
root@ubuntu-1:~#passwd testu
2)修改配置文件
atguigu@ubuntu-1:~$vi /etc/sudoers
修改 /etc/sudoers 文件,在root下面添加一行,如下所示:
Allow root to run any commands anywhere
root ALL=(ALL) ALL
testu ALL=(ALL) ALL
或者配置成采用sudo命令時,不需要輸入密碼
Allow root to run any commands anywhere
root ALL=(ALL) ALL
testu ALL=(ALL) NOPASSWD:ALL
修改完畢,通過:wq!退出編輯,然后可以用testu帳號登錄,用命令 sudo ,即可獲得root權限進行操作。不需要多次輸入密碼。
6.4.8 usermod 修改用戶
1)基本語法
? usermod -l 新用戶名 老用戶名
? usermod -d /home/新目錄名 -m新用戶名
2)選項說明
選項 功能
-l 改變用戶名
-d 修改家目錄
3)案例實操
改變用戶名
root@ubuntu-1:~# usermod -l pengyuyan huge
root@ubuntu-1:~# usermod -d /home/huge -m huge
6.5 用戶組管理命令
每個用戶都有一個用戶組,系統可以對一個用戶組中的所有用戶進行集中管理。不同Linux 系統對用戶組的規定有所不同。
如Linux下的用戶屬于與它同名的用戶組,這個用戶組在創建用戶時同時創建。
用戶組的管理涉及用戶組的添加、刪除和修改。組的增加、刪除和修改實際上就是對/etc/group文件的更新。
6.5.1 groupadd 新增組
1)基本語法
groupadd 組名
2)案例實操
添加一個xitianqujing組
root@ubuntu-1:~# groupadd xitianqujing
6.5.2 groupdel 刪除組
1)基本語法
groupdel 組名
2)案例實操
刪除xitianqujing組
root@ubuntu-1:~# groupdel xitianqujing
6.5.3 groupmod 修改組
1)基本語法
groupmod -n 新組名 老組名
2)選項說明
選項 功能描述
-n<新組名> 指定工作組的新組名
3)案例實操
修改xitianqujing組名稱為xitian。
root@ubuntu-1:~# groupadd xitianqujing
root@ubuntu-1:~# groupmod -n xitian xitianqujing
6.5.4 usermod 修改用戶組
1)基本語法
usermod -g 組名 用戶名
2)選項說明
選項 功能描述
-g 指定用戶需要加入的用戶組 得寫id
3)案例實操
將用戶切換一個組。
root@ubuntu-1:~# useradd zhubajie
root@ubuntu-1:~# id zhubajie
uid=1002(zhubajie) gid=1003(zhubajie) 組=1003(zhubajie)
root@ubuntu-1:~# usermod -g xitian zhubajie
root@ubuntu-1:~# id zhubajie
uid=1002(zhubajie) gid=1002(xitian) 組=1002(xitian)
6.5.5 cat /etc/group 查看創建了哪些組
1)基本操作
root@ubuntu-1:~# cat /etc/group
6.6 文件權限類
6.6.1 文件屬性
能力越大,責任越大。權限越小,責任越小。
Linux系統是一種典型的多用戶系統,不同的用戶處于不同的地位,擁有不同的權限。為了保護系統的安全性,Linux系統對不同的用戶訪問同一文件(包括目錄文件)的權限做了不同的規定。在Linux中我們可以使用ll或者ls -l命令來顯示一個文件的屬性以及文件所屬的用戶和組。
1)文件屬性:從左到右的10個字符表示
如果沒有權限,就會出現減號[ - ]而已。從左至右用0-9這些數字來表示:
(1)0首位表示類型
在Linux中第一個字符代表這個文件是目錄、文件或鏈接文件等等
- 代表文件
d 代表目錄
l 鏈接文檔(link file);
(2)第1-3位確定屬主(該文件的所有者)擁有該文件的權限。—User
(3)第4-6位確定屬組(所有者的同組用戶)擁有該文件的權限,—Group
(4)第7-9位確定其他用戶擁有該文件的權限 —Other
2)rwx作用文件和目錄的不同解釋
(1)作用到文件:
? [ r ]代表可讀(read): 可以讀取,查看
? [ w ]代表可寫(write): 可以修改,但是不代表可以刪除該文件,
? 刪除一個文件的前提條件是對該文件所在的目錄有寫權限,才能刪除該文件.
? [ x ]代表可執行(execute):可以被系統執行
(2)作用到目錄:0
? [ r ]代表可讀(read): 可以讀取,ls查看目錄內容
? [ w ]代表可寫(write): 可以修改,目錄內創建+刪除+重命名目錄
? [ x ]代表可執行(execute):可以進入該目錄
圖標:
代表不可讀
鎖代表不可寫
3)案例實操
zxf@ubuntu:~/桌面$ ll
總計 16
drwxr-xr-x 3 zxf zxf 4096 7月 24 14:58 ./
drwxr-x— 16 zxf zxf 4096 7月 24 14:47 …/
-rw-r–r-- 1 zxf zxf 3007 7月 24 14:58 passwd
drwxrwxr-x 3 zxf zxf 4096 7月 24 14:41 test/
(1)文件基本屬性介紹
6.6.2 chmod 改變權限
1)基本語法
(1)第一種方式變更權限
chmod [{ugoa}{±=}{rwx}] 文件或目錄
(2)第二種方式變更權限
chmod [mode=421 ] [文件或目錄]
2)經驗技巧
u:所有者 g:所有組 o:其他人 a:所有人(u、g、o的總和)
r=4 w=2 x=1 rwx=4+2+1=7
3)案例實操
(1)修改文件使其所屬主用戶具有執行權限
zxf@ubuntu:~/桌面$ chmod u+x passwd
(2)修改文件使其所屬組用戶具有執行權限
zxf@ubuntu:~/桌面$ chmod g+x passwd
(3)修改文件所屬主用戶執行權限,并使其他用戶具有執行權限
zxf@ubuntu:~/桌面$ chmod u-x,o+x passwd
(4)采用數字的方式,設置文件所有者、所屬組、其他用戶都具有可讀可寫可執行權限。
zxf@ubuntu:~/桌面$ chmod 765 passwd
(5)修改整個文件夾里面的所有文件的所有者、所屬組、其他用戶都具有可讀可寫可執行權限。
zxf@ubuntu:~/桌面$ chmod -R 777 test
6.6.3 chown改變所有者
chown: 改變所有者(change owner)
1)基本語法
chown [選項] [最終用戶] [文件或目錄] (功能描述:改變文件或者目錄的所有者)
2)選項說明
選項 功能
-R 遞歸操作
3)案例實操
(1)修改文件所有者
zxf@ubuntu:~/桌面$ sudo chown root note.txt
zxf@ubuntu:~/桌面$ ll
…
-rwxrwxrwx 1 root zxf 367 3月 6 15:44 note.txt
…
(2)遞歸改變文件所有者和所有組
zxf@ubuntu:~/桌面$ ll -R test/
test:
總計 16
drwxrwxr-x 4 zxf zxf 4096 8月 12 21:25 ./
drwxr-xr-x 4 zxf zxf 4096 8月 12 23:00 …/
drwxrwxr-x 2 zxf zxf 4096 8月 12 21:34 a/
drwxrwxr-x 3 zxf zxf 4096 8月 12 21:29 b/
test/a:
總計 12
drwxrwxr-x 2 zxf zxf 4096 8月 12 21:34 ./
drwxrwxr-x 4 zxf zxf 4096 8月 12 21:25 …/
-rw-rw-r-- 1 zxf zxf 12 8月 12 21:34 note.txt
test/b:
總計 12
drwxrwxr-x 3 zxf zxf 4096 8月 12 21:29 ./
drwxrwxr-x 4 zxf zxf 4096 8月 12 21:25 …/
drwxrwxr-x 2 zxf zxf 4096 8月 12 21:29 bb/
test/b/bb:
總計 8
drwxrwxr-x 2 zxf zxf 4096 8月 12 21:29 ./
drwxrwxr-x 3 zxf zxf 4096 8月 12 21:29 …/
-rw-rw-r-- 1 zxf zxf 0 8月 12 21:26 note2.txt
zxf@ubuntu:~/桌面$ sudo chown -R root:root test/
zxf@ubuntu:~/桌面$ ll -R test/
test:
總計 16
drwxrwxr-x 4 root root 4096 8月 12 21:25 ./
drwxr-xr-x 4 zxf zxf 4096 8月 12 23:00 …/
drwxrwxr-x 2 root root 4096 8月 12 21:34 a/
drwxrwxr-x 3 root root 4096 8月 12 21:29 b/
test/a:
總計 12
drwxrwxr-x 2 root root 4096 8月 12 21:34 ./
drwxrwxr-x 4 root root 4096 8月 12 21:25 …/
-rw-rw-r-- 1 root root 12 8月 12 21:34 note.txt
test/b:
總計 12
drwxrwxr-x 3 root root 4096 8月 12 21:29 ./
drwxrwxr-x 4 root root 4096 8月 12 21:25 …/
drwxrwxr-x 2 root root 4096 8月 12 21:29 bb/
test/b/bb:
總計 8
drwxrwxr-x 2 root root 4096 8月 12 21:29 ./
drwxrwxr-x 3 root root 4096 8月 12 21:29 …/
-rw-rw-r-- 1 root root 0 8月 12 21:26 note2.txt
6.6.4 chgrp 改變所屬組
chgrp: 改變所屬組(change group)
1)基本語法
chgrp [最終用戶組] [文件或目錄] (功能描述:改變文件或者目錄的所屬組)
2)案例實操
(1)修改文件的所屬組
zxf@ubuntu:~/桌面$ ll
…
-rwxrwxrwx 1 root root 0 8月 12 22:53 tt.txt
…
zxf@ubuntu:~/桌面$ sudo chgrp zxf tt.txt
zxf@ubuntu:~/桌面$ ll
…
-rwxrwxrwx 1 root zxf 0 8月 12 22:53 tt.txt
…
6.7 搜索查找類
6.7.1 find查找文件或者目錄
(1)find指令將從指定目錄向下遞歸地遍歷其各個子目錄,將滿足條件的文件顯示在終端。
2)基本語法
find [搜索范圍] [選項]
3)選項說明
選項 功能
-name <文件名> 按照指定的文件名查找模式查找文件(模式必須用引號包含)
-user <用戶名> 查找屬于指定用戶名所有文件
-size <文件大小> 按照指定的文件大小查找文件,單位為:
b —— 塊(512字節)
c —— 字節
w —— 字(2字節)
k —— 千字節
M —— 兆字節
G —— 吉字節
4)案例實操
(1)按文件名:根據名稱查找當前目錄下所有以.txt結尾的文件。
zxf@ubuntu:~/桌面$ find ./ -name “*.txt”
(2)按擁有者:查找當前目錄下,用戶名稱的文件
zxf@ubuntu:~/桌面$ find ./ -user “zxf”
(3)按文件大小:在當前目錄下查找大于200字節的文件(+n 大于 -n小于 n等于)
zxf@ubuntu:~/桌面$ find ./ -size “+200c”
6.7.2 grep與“|”管道符的過濾查找
管道符,“|”,表示將前一個命令的處理結果輸出傳遞給后面的命令處理。
Grep(Global Regular Expression Print),用于對指定文本根據正則表達式(特定規則)搜索匹配并輸出到終端。一般與管道符進行配合使用。
1)基本語法
grep 選項 查找內容 源文件
2)選項說明
選項 功能
-n 顯示匹配行及行號。
3)案例實操
(1)查找某文件在第幾行
zxf@ubuntu:~/桌面$ find ./ -size “-200c” |grep a
zxf@ubuntu:~/桌面$ ll |grep -n zx
zxf@ubuntu:~/桌面$ cat passwd |grep -n wu
6.8 壓縮和解壓類
6.8.1 tar 打包
1)基本語法
tar [選項] XXX.tar.gz 將要打包進去的內容(功能描述:打包目錄,壓縮后的文件格式.tar.gz)
2)選項說明
選項 功能
-c 產生.tar打包文件
-v 顯示詳細信息
-f 指定壓縮后的文件名
-z 打包同時壓縮
-x 解包.tar文件
3)案例實操
(1)壓縮多個文件
zxf@ubuntu:~/桌面$ touch tt2.txt
zxf@ubuntu:~/桌面$ tar -zcvf tt.tar.gz tt.txt tt2.txt
zxf@ubuntu:~/桌面$ ll
…
-rw-rw-r-- 1 zxf zxf 164 8月 13 00:10 tt.tar.gz
…
(2)壓縮目錄
zxf@ubuntu:~/桌面$ tar -zcvf b.tar.gz test/
test/
test/a/
test/a/note.txt
test/b/
test/b/bb/
test/b/bb/note2.txt
zxf@ubuntu:~/桌面$ ll
…
-rw-rw-r-- 1 zxf zxf 231 8月 13 00:23 test.tar.gz
…
(3)解壓到當前目錄
zxf@ubuntu:~/桌面$ rm -r test
zxf@ubuntu:~/桌面$ tar -zxvf test.tar.gz
test/
test/a/
test/a/note.txt
test/b/
test/b/bb/
test/b/bb/note2.txt
zxf@ubuntu:~/桌面$ ll
…
drwxrwxr-x 4 zxf zxf 4096 8月 12 21:25 test/
…
(4)解壓到指定目錄
zxf@ubuntu:~/桌面$ mkdir work
zxf@ubuntu:~/桌面$ tar -zxvf test.tar.gz -C ./work
zxf@ubuntu:~/桌面$ ls work/
test
6.9 磁盤類
6.9.1 df 查看磁盤空間使用情況
df: disk free 空余硬盤
1)基本語法
df 選項 (功能描述:列出文件系統的整體磁盤使用量,檢查文件系統的磁盤空間占用情況)
2)選項說明
選項 功能
-h 以人們較易閱讀的 GBytes, MBytes, KBytes 等格式自行顯示;
3)案例實操
查看磁盤使用情況。
atguigu@ubuntu-1:~$ df -h
文件系統 大小 已用 可用 已用% 掛載點
tmpfs 790M 2.0M 788M 1% /run
/dev/sda3 49G 21G 26G 44% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
/dev/sda2 512M 6.1M 506M 2% /boot/efi
tmpfs 790M 104K 790M 1% /run/user/1000
6.9.2 du 文件和目錄的磁盤使用空間
1)基本語法
du 目錄/文件(功能描述:顯示每個文件和目錄的磁盤使用空間)
2)選項說明
選項 功能
-a 顯示當前目錄下所有的文件目錄及子目錄大小
3)案例實操
查看目錄的空間使用情況
atguigu@ubuntu-1:~$ du -a /opt/software/Anaconda3-2024.10-1-Linux-x86_64.sh
1076660 /opt/software/Anaconda3-2024.10-1-Linux-x86_64.sh
6.10 網絡類
6.10.1 ifconfig
1)基本語法
ifconfig (功能描述:顯示所有網絡接口的配置信息)
2)案例實操
查看當前網絡IP
atguigu@ubuntu-1:~$ ifconfig
6.10.2 ping 測試主機之間網絡連通性
1)基本語法
ping 目的主機 (功能描述:測試當前服務器是否可以連接目的主機)
2)案例實操
測試當前服務器是否可以連接百度
atguigu@ubuntu-1:~$ ping www.baidu.com
6.10.3 修改主機名稱
1)基本語法
hostname (功能描述:查看當前服務器的主機名稱)
2)案例實操
(1)查看當前服務器主機名稱。
atguigu@ubuntu-1:~$ hostname
(2)如果感覺此主機名不合適,我們可以進行修改。編輯/etc/hostname文件。
atguigu@ubuntu-1:~KaTeX parse error: Expected 'EOF', got '#' at position 1: #? vi /etc/hostna… ps -aux
(2)查看進程的父進程ID
zxf@ubuntu:~/桌面$ ps -ef
6.11.2 kill 終止進程
1)基本語法
kill [選項] 進程號 (功能描述:通過進程號殺死進程)
killall 進程名稱 (功能描述:通過進程名稱殺死進程,也支持通配符,這在系統因負載過大而變得很慢時很有用)
2)選項說明
選項 功能
-9 表示強迫進程立即停止
3)案例實操
(1)開啟多個終端
在XShell中雙擊開啟的標簽,即可打開新的終端。
準備兩個終端。
(2)監控houge.txt
在其中一個終端中執行以下命令。
zxf@ubuntu:~/桌面$ tail -F houge.txt
(3)查看tail進程號
在另一個終端中查看進程號。
zxf@ubuntu:~/桌面$ ps -ef | grep tail
zxf 3976 3660 0 00:56 pts/2 00:00:00 tail -F houge.txt
(4)殺死tail進程
zxf@ubuntu:~/桌面$ kill -9 3976
此時,另一個終端可以看到提示,進程已被殺死,如下圖所示。
(5)通過名稱殺死進程
killall命令可以根據名稱殺死進程,此處的進程名稱是精確匹配。通常進程名稱為啟動命令中可執行文件的名稱。對于tail -F houge.txt啟動的進程,其進程名稱為tail。
再開啟一個終端,在其中兩個終端中執行以下命令。
zxf@ubuntu:~/桌面$ tail -F houge.txt
在最后一個終端中執行以下命令。
zxf@ubuntu:~/桌面$ killall tail
可以看到另外兩個終端的tail進程均被殺死。
6.11.3 free查看服務器總體內存
1)基本語法
free -m (功能描述:查看服務器總體內存)
2)案例實操
zxf@ubuntu:~/桌面$ free -m
total used free shared buff/cache available
Mem: 3934 543 2879 12 511 3093
Swap:4095 0 4095
6.11.4 top查看系統健康狀態
1)基本命令
top [選項]
2)選項說明
選項 功能
-d 秒數 指定top命令每隔幾秒更新。
-i 使top不顯示任何閑置或者僵死進程。
-p 通過指定監控進程ID來僅僅監控某個進程的狀態。
3)操作說明
操作 功能
P 以CPU使用率排序,默認就是此項
M 以內存的使用率排序
N 以PID排序
q 退出top
4)查詢結果字段解釋
(1)第一行信息為任務隊列信息
內容 說明
12:26:46 系統當前時間
up 1 day, 13:32 系統的運行時間,本機已經運行1天
13小時32分鐘
2 users 當前登錄了兩個用戶
load average: 0.00, 0.00, 0.00 系統在之前1分鐘,5分鐘,15分鐘的平均負載。一般認為小于1時,負載較小。如果大于1,系統已經超出負荷。
(2)第二行為進程信息
Tasks: 95 total 系統中的進程總數
1 running 正在運行的進程數
94 sleeping 睡眠的進程
0 stopped 正在停止的進程
0 zombie 僵尸進程。如果不是0,需要手工檢查僵尸進程
(3)第三行為CPU信息
Cpu(s): 0.1%us 用戶模式占用的CPU百分比
0.1%sy 系統模式占用的CPU百分比
0.0%ni 改變過優先級的用戶進程占用的CPU百分比
99.7%id 空閑CPU的CPU百分比
0.1%wa 等待輸入/輸出的進程的占用CPU百分比
0.0%hi 硬中斷請求服務占用的CPU百分比
0.1%si 軟中斷請求服務占用的CPU百分比
0.0%st st(Steal time)虛擬時間百分比。就是當有虛擬機時,虛擬CPU等待實際CPU的時間百分比。
(4)第四行為物理內存信息
Mem: 625344k total 物理內存的總量,單位KB
571504k used 已經使用的物理內存數量
53840k free 空閑的物理內存數量,我們使用的是虛擬機,總共只分配了628MB內存,所以只有53MB的空閑內存了
65800k buffers 作為緩沖的內存數量
(5)第五行為交換分區(swap)信息
Swap: 524280k total 交換分區(虛擬內存)的總大小
0k used 已經使用的交互分區的大小
524280k free 空閑交換分區的大小
409280k cached 作為緩存的交互分區的大小
5)案例實操
zxf@ubuntu:~/桌面$ top -d 1
zxf@ubuntu:~/桌面$ top -p 3933
6.11.5 netstat顯示網絡統計信息和端口占用情況
1)基本語法
? netstat -anp |grep 進程號 (功能描述:查看該進程網絡信息)
? netstat -nlp |grep 端口號 (功能描述:查看網絡端口號占用情況)
2)選項說明
選項 功能
-n 拒絕顯示別名,能顯示數字的全部轉化成數字
-l 僅列出有在listen(監聽)的服務狀態
-p 表示顯示哪個進程在調用
3)案例實操
(1)查看某端口號是否被占用。
atguigu@ubuntu-1:~$ sudo netstat -nlp | grep 進程號
(2)通過進程號查看該進程的網絡信息。
atguigu@ubuntu-1:~$ netstat -anp | grep進程號
6.12 路徑類
6.12.1 basename
1)基本語法
basename [string / pathname] [suffix] (功能描述:basename命令會刪掉所有的前綴包括最后一個(‘/’)字符,然后將字符串顯示出來。
basename可以理解為取路徑里的文件名稱。
選項:
suffix為后綴,如果suffix被指定了,basename會將pathname或string中的suffix去掉。
2)案例實操
截取該/home/zxf/banzhang.txt路徑的文件名稱。
zxf@ubuntu:~$ basename /home/zxf/note.txt
note.txt
zxf@ubuntu:~$ basename /home/zxf/tt.txt .txt
tt
6.12.2 dirname
1)基本語法
dirname 文件絕對路徑 (功能描述:從給定的包含絕對路徑的文件名中去除文件名(非目錄的部分),然后返回剩下的路徑(目錄的部分)。)
dirname 可以理解為取文件路徑的絕對路徑名稱。
2)案例實操
獲取banzhang.txt文件的路徑。
zxf@ubuntu:~$ dirname /home/zxf/banzhang.txt
/home/zxf
6.13 crontab系統定時任務
6.13.1 crontab服務管理
重新啟動crontab服務
atguigu@ubuntu-1:~$ sudo systemctl restart cron
atguigu@ubuntu-1:~$ systemctl status cron
6.13.2 crontab 定時任務設置
1)基本語法
crontab [選項]
2)選項說明
選項 功能
-e 編輯crontab定時任務
-l 查詢crontab任務
-r 刪除當前用戶所有的crontab任務
3)參數說明
進入crontab編輯界面。會打開vim編輯你的工作。首次使用該命令時,系統會提示你選擇一個文本編輯器,選擇你熟悉的編輯器即可。
atguigu@ubuntu-1:~$ crontab -e
(1)* * * * * 執行的任務,的含義
項目 含義 范圍
第一個“” 一小時當中的第幾分鐘 0-59
第二個“” 一天當中的第幾小時 0-23
第三個“” 一個月當中的第幾天 1-31
第四個“” 一年當中的第幾月 1-12
第五個“” 一周當中的星期幾 0-7(0和7都代表星期日)
(2)特殊符號
特殊符號 含義
- 代表任何時間。比如第一個“*”就代表一小時中每分鐘都執行一次的意思。
, 代表不連續的時間。比如“0 8,12,16 * * * 命令”,就代表在每天的8點0分,12點0分,16點0分都執行一次命令
- 代表連續的時間范圍。比如“0 5 * * 1-6命令”,代表在周一到周六的凌晨5點0分執行命令
/n 代表每隔多久執行一次。比如“/10 * * * * 命令”,代表每隔10分鐘就執行一遍命令
(3)特定時間執行命令
時間 含義
45 22 * * * 命令 在22點45分執行命令
0 17 * * 1 命令 每周1 的17點0分執行命令
0 5 1,15 * * 命令 每月1號和15號的凌晨5點0分執行命令
40 4 * * 1-5 命令 每周一到周五的凌晨4點40分執行命令
*/10 4 * * * 命令 每天的凌晨4點,每隔10分鐘執行一次命令
0 0 1,15 * 1 命令 每月1號和15號,每周1的0點0分都會執行命令。注意:星期幾和幾號最好不要同時出現,因為他們定義的都是天。非常容易讓管理員混亂。
4)案例實操
每隔1分鐘,向/opt/module/bailongma.txt文件中添加一個11的數字
*/1 * * * * /bin/echo ”11” >> /opt/module/bailongma.txt