目錄
- Linux
- 檔案結構
- 一、linux作業系統管理常用命令
- 1.1 Linux常用命令
- 1.2 命令高級操作
- 命令補全
- 使用歷史命令
- 輸入/輸出重定向
- 管道功能
- 1.3 檔案操作命令
- ls命令
- cd命令
- cat命令
- more命令
- head命令
- tail命令
- cp命令(copy)
- mv命令(move file)
- rm命令(remove)
- touch命令
- file命令
- find命令
- grep命令
- sort命令
- mkdir命令
- rmdir命令
- 二、VI/VIM編譯器
- 2.1是什么?
- 2.2一般模式
- 2.3編輯模式
- 2.4指令模式
- 關機重啟命令
- 三、用戶與組命令管理
- useradd命令
- passwd命令
- userdel命令
- usermod命令
- **groupadd 新增組**
- **groupdel 洗掉組**
- **groupmod 修改組**
- 四、檔案權限類命令
- 更改權限 chmod
- 五、磁盤磁區類命令
- **df 查看磁盤空間使用情況**
- 1.基本語法
- 2.選項說明
- 3.案例實操
- **fdisk 查看磁區**
- 1.基本語法
- 2.選項說明
- 3.經驗技巧
- 4.功能說明
- 5.案例實操
- 六、行程執行緒類命令
- **ps** **查看當前系統行程狀態**
- 1.基本語法
- 2.選項說明
- 3.功能說明
- 4.經驗技巧
- 5.案例實操
- **kill 終止行程**
- 1.基本語法
- 2.選項說明
- 3.案例實操
- **pstree 查看行程樹**
- 1.基本語法
- 2.選項說明
- 3.案例實操
- top 查看系統健康狀態**
- 1.基本命令
- 2.選項說明
- 3.操作說明
- 4.查詢結果欄位解釋
- 5.案例實操
- 七、系統定時任務
- **crond 服務管理**
- 1.重新啟動crond服務
- 1.基本語法
- 2.選項說明
- 3.引數說明
- (1)進入crontab編輯界面,會打開vim編輯你的作業,
- (2)特殊符號
- (3)特定時間執行命令
- 4.案例實操
- 八、軟體包管理
- 8.1RPM
- RPM概述:
- **RPM查詢命令(rpm -qa)**
- 1.基本語法
- 2.經驗技巧
- 3.案例實操
- **RPM卸載命令(rpm -e)**
- 1.基本語法
- 2.選項說明
- 3.案例實操
- **RPM安裝命令(rpm -ivh)**
- 1.基本語法
- 2.選項說明
- 3.案例實操
- 8.2**YUM倉庫配置**
- **YUM概述**
- **YUM的常用命令**
- 1.基本語法
- 2.選項說明
- 3.引數說明
- 4.案例實操實操
- **8.2.3** **修改網路YUM源**
- 1.前期檔案準備
- 2.替換本地yum檔案
- 3.安裝命令
- 4.測驗
Linux
檔案結構
/bin
是Binary的縮寫,這個目錄存放著最經常使用的命令,
/sbin
s就是super的意思,這里存放的是系統管理員使用的系統管理程式,
/home
存放普通用戶的主目錄,在Linux中每個用戶都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的.
/root
該目錄Wie系統管理員,也稱作超級權限者的用戶主目錄,
/lib
系統開機所需要的最基本的動態連接共享庫,其作用類似于Windows里的DLL檔案,幾乎所有的應用程式都需要用到這些共享庫,
/lost+found
這個目錄一般情況下是空的,當系統非法關機之后,這里就存放了一些檔案
/etc
所有的心跳管理者所需要的組態檔和子目錄
/usr
用戶的很多應用程式和檔案都是放在這個目錄下,類似于Windows下的Programfiles目錄
/boot
這里存放的是啟動linux的一些核心檔案,也包括一些連接檔案以及鏡像檔案,自己的安裝別放這里,
/proc
這個目錄是一個虛擬的目錄,他是系統記憶體的映射,我們可以通過直接訪問這個目錄來獲取系統資訊
/srv
service縮寫,該目錄存放一些服務器啟動之后需要提取的資料
/sys
這是linux2.6內核的一個很大的變化,該目錄下安裝了2.6內核中新出現的一個檔案系統sysfs
/temp
這個目錄是用來存放一些臨時檔案的
/dev
類似于windows的設備管理器,把所有的硬體用檔案的形式存盤
/media
linuix系統會自動識別一些設備,例如U盤等
識別后,linux會把是別的設備掛載到這個目錄下
/mnt
系統提供該目錄是為了讓用戶臨時掛載別的檔案系統的,我們可以將外部的存盤掛載在/mnt/上,然后進入目錄就可以查看里面的內容了,
/opt
這是給主機額外安裝軟體所擺放的目錄
/var
這個目錄存放著不斷擴充的東西,我們習慣剪那些經常被修改的目錄放在這個目錄下
/selinux
是一種安全子系統,他能控制程式只能訪問特定檔案
一、linux作業系統管理常用命令
1.1 Linux常用命令
date命令:
date命令用于顯示系統當前的日期和時間:
[root@localhost ~]# date
2021年 04月 11日 星期日 18:03:03 CST
pwd命令:
pwd命令用于顯示當前作業路徑:
[root@localhost ~]# pwd
/root
cd命令:
cd命令用于切換當前路徑:
[root@localhost ~]# cd /mnt
[root@localhost mnt]# pwd
/mnt
cal命令:
用于顯示日歷,可顯示公元1~9999年中某年某月的日歷,不帶引數顯示當前月份的日歷,或帶引數顯示指定年份、月份的日歷:
[root@localhost mnt]# cal
四月 2021
日 一 二 三 四 五 六
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
who命令
who命令用于顯示當前已經登錄到系統的所有用戶名、登錄終端以及登陸時間:
[root@localhost mnt]# who
root tty1 2021-04-11 17:38 (:0)
root pts/0 2021-04-11 17:53 (:0.0)
root pts/1 2021-04-11 18:02 (:0.0)
wc命令:
wc命令用于統計給定檔案的行數、字數、字符數
格式:
wc [- l,w,c] 檔案名
-l 表示統計行數
-w 表示統計單詞數
-c 表示統計字符數
uname命令:
uname命令用于顯示作業系統當前資訊,可帶有多個選項,
clear命令
clear命令用于重繪螢屏,清空螢屏上的所有字符,
logout命令:
用于注銷登錄資訊,直接退出系統,回到登錄前的界面
shutdown命令
用于執行后關閉作業系統
1.2 命令高級操作
命令補全
用戶在終端輸入命令時,不用輸入完整的命令,只要輸入命令的前幾個字符,按下Tab鍵,如果有唯一的命令或檔案名與其匹配,系統會自動補全后面的字符;如果有多個命令或檔案與之匹配,系統會列出所有與之匹配的命令或檔案名
按一次會自動補全
兩次會將所有以ma開頭的命令顯示出來
[root@localhost ~]# ma
magnifier mailx mako-render mapfile
mail make man mapscrn
mailq makedumpfile man2html matchpathcon
mailq.postfix makewhatis manpath mattrib
[root@localhost ~]# ma
使用歷史命令
用戶在使用Linux系統的程序中,輸入的所有命令都會被系統自動記錄下來,如果后期需要使用前面使用過的命令,可以通過上下箭頭來選擇最近使用過的命令,也可以使用history命令查看所有歷史命令,
輸入/輸出重定向
Linux作業系統默認的輸入設備是鍵盤,輸出設備是顯示幕
輸入·重定向功能可以讓用戶將某個檔案作為輸入設備,輸出重定向功能可以把某個檔案作為輸出設備,從而使系統的使用更加靈活,
輸入重定向符號:“<”,執行該命令,“<”后面的檔案代替用戶從鍵盤輸入的內容
管道功能
Linux系統中,命令執行完畢會有輸出資訊,使用管道功能可以把一個命令的輸出資訊作為另一個命令的輸入資訊,從而將兩個或另個以上的簡單命令連接在一起,實作復雜的功能
管道功能通過管道線“|”實作,管道線“|”前面命令的輸出資訊是管道線后面指令的輸入資訊
[root@localhost ~]# ls 顯示檔案和目錄
anaconda-ks.cfg install.log.syslog 模板 圖片 下載 桌面
install.log 公共的 視頻 檔案 音樂
[root@localhost ~]# ls | wc -w 統計檔案和目錄的數量
11
1.3 檔案操作命令
ls命令
ls命令用來顯示檔案串列:
ls [選項] [目錄或檔案名]
命令選項:
-a:顯示所有檔案及目錄,目錄中以“.”開頭的檔案時隱藏檔案,普通ls命令不會列出,只有帶“-a”引數才能顯示出來
-l:以長格式顯示目錄下的內容串列,輸出的資訊從左到右依次包括檔案名,檔案型別,權限模式,硬鏈接數,所有者,組,檔案大小和檔案最后的修改時間等
-i:顯示檔案索引節點號(inode),一個索引節點代表一個檔案
-r:以檔案名反序排列并輸出目錄內容串列
-t:用檔案和目錄的更改時間排序
-m:用**”,“**號隔絕每個檔案和目錄的名稱
-R/r:遞回顯示指定目錄下的所有檔案及子目錄
[root@localhost 桌面]# ls
test test1 tet vmware-tools-distrib
test~ test2 VMwareTools-10.0.5-3228253.tar.gz 櫻(堀與宮村).jpg
[root@localhost 桌面]# ls -l
總用量 71008
-rw-r–r--. 1 root root 180 4月 12 12:30 test
-rw-r–r--. 1 root root 0 4月 12 10:02 test~
-rw-r–r--. 1 root root 0 4月 12 13:03 test1
drwxr-xr-x. 2 root root 4096 4月 12 13:20 test2
-rw-r–r--. 1 root root 0 4月 12 12:31 tet
-rw-r–r--. 1 root root 72270857 11月 11 2015 VMwareTools-10.0.5-3228253.tar.gz
drwxr-xr-x. 9 root root 4096 11月 11 2015 vmware-tools-distrib
-rwxrw-rw-. 1 root root 422056 4月 4 19:23 櫻(堀與宮村).jpg
[root@localhost 桌面]#
cd命令
cd命令用來切換作業目錄至指定目錄,可以用絕對路徑或相對路徑表示指定目錄,若目錄名稱省略,則變換至使用者的home的目錄,另外“~”也表示家目錄的意思;“.”則是表示當前目錄;“…”則表示目前目錄位置的上一層目錄,
[root@localhost ~]# cd /home
[root@localhost home]# pwd
/home
[root@localhost home]# cd
[root@localhost ~]# pwd
/root
[root@localhost ~]#
cat命令
cat命令用來顯示檔案的內容,還可以利用輸入輸出重定向功能建立小型檔案或將兩個檔案連接起來,
當檔案較大時,cat命令顯示的檔案內容在螢屏上迅速閃過(滾屏)
Ctrl+S 停止滾屏
Ctrl+Q 恢復滾屏
Ctrl+C 中斷該命令的執行
cat [選項] [檔案名]
cat命令的常用選項是 -n,顯示檔案時在每行前面加行號
[root@localhost 桌面]# cat test
hello linux
this is a new
四月 2021
日 一 二 三 四 五 六
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30[root@localhost 桌面]# cat -n test
1 hello linux
2 this is a new
3 四月 2021
4 日 一 二 三 四 五 六
5 1 2 3
6 4 5 6 7 8 9 10
7 11 12 13 14 15 16 17
8 18 19 20 21 22 23 24
9 25 26 27 28 29 30
10
[root@localhost 桌面]#
more命令
more命令用來分屏顯示大檔案,
[root@localhost ~]# more /etc/passwd
root?0:0:root:/root:/bin/bash
bin?1:1:bin:/bin:/sbin/nologin
daemon?2:2:daemon:/sbin:/sbin/nologin
adm?3:4:adm:/var/adm:/sbin/nologin
lp?4:7:lp:/var/spool/lpd:/sbin/nologin
sync?5:0:sync:/sbin:/bin/sync
shutdown?6:0:shutdown:/sbin:/sbin/shutdown
halt?7:0:halt:/sbin:/sbin/halt
mail?8:12:mail:/var/spool/mail:/sbin/nologin
uucp?10:14:uucp:/var/spool/uucp:/sbin/nologin
operator?11:0:operator:/root:/sbin/nologin
games?12💯games:/usr/games:/sbin/nologin
gopher?13:30:gopher:/var/gopher:/sbin/nologin
ftp?14:50:FTP User:/var/ftp:/sbin/nologin
nobody?99:99:Nobody:/:/sbin/nologin
dbus?81:81:System message bus:/:/sbin/nologin
usbmuxd?113:113:usbmuxd user:/:/sbin/nologin
rpc?32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
rtkit?499:499:RealtimeKit:/proc:/sbin/nologin
avahi-autoipd?170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
vcsa?69:69:virtual console memory owner:/dev:/sbin/nologin
abrt?173:173::/etc/abrt:/sbin/nologin
rpcuser?29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
–More–(66%)
head命令
前10行:
[root@localhost ~]# head /etc/passwd
root?0:0:root:/root:/bin/bash
bin?1:1:bin:/bin:/sbin/nologin
daemon?2:2:daemon:/sbin:/sbin/nologin
adm?3:4:adm:/var/adm:/sbin/nologin
lp?4:7:lp:/var/spool/lpd:/sbin/nologin
sync?5:0:sync:/sbin:/bin/sync
shutdown?6:0:shutdown:/sbin:/sbin/shutdown
halt?7:0:halt:/sbin:/sbin/halt
mail?8:12:mail:/var/spool/mail:/sbin/nologin
uucp?10:14:uucp:/var/spool/uucp:/sbin/nologin
[root@localhost ~]#
tail命令
后10行:
[root@localhost ~]# tail /etc/passwd
nfsnobody?65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
haldaemon?68:68:HAL daemon:/:/sbin/nologin
ntp?38:38::/etc/ntp:/sbin/nologin
apache?48:48:Apache:/var/www:/sbin/nologin
saslauth?498:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin
postfix?89:89::/var/spool/postfix:/sbin/nologin
gdm?42:42::/var/lib/gdm:/sbin/nologin
pulse?497:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
sshd?74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump?72:72:😕:/sbin/nologin
[root@localhost ~]#
cp命令(copy)
將一個或多個源檔案或目錄復制到指定的目標目錄中,
cp [選項] 源檔案或目錄 目標檔案或目錄
選項串列:
-d:當復制符號連接時,把目標檔案或目錄也建立為符號連接,并指向與源檔案或目錄連接的原石檔案或目錄
-f:強行復制檔案
-i:覆寫既有檔案之前先詢問用戶(y/n)
-l:對源檔案建立硬鏈接,而不是復制
-s:對源檔案建立符號連接,而非復制檔案
-u:使用這項引數后只會在源檔案的更改時間較目標檔案更新時或是名稱相互對應的目標檔案并不存在時,才會復制檔案
-R/r:遞回處理,將制定目錄下的所有檔案與子目錄一并處理
mv命令(move file)
將檔案從一個目錄移到另一個目錄中,或對檔案或目錄重新命名
mv [options] source dest
mv [options] source... directory
- -b: 當目標檔案或目錄存在時,在執行覆寫前,會為其創建一個備份,
- -i: 如果指定移動的源目錄或檔案與目標的目錄或檔案同名,則會先詢問是否覆寫舊檔案,輸入 y 表示直接覆寫,輸入 n 表示取消該操作,
- -f: 如果指定移動的源目錄或檔案與目標的目錄或檔案同名,不會詢問,直接覆寫舊檔案,
- -n: 不要覆寫任何已存在的檔案或目錄,
- -u:當源檔案比目標檔案新或者目標檔案不存在時,才執行移動操作,
rm命令(remove)
洗掉一個或多個檔案或目錄,如果洗掉的是鏈接檔案,鏈接檔案對應的源檔案保持不變
rm [options] name...
- -i 洗掉前逐一詢問確認,
- -f 即使原檔案屬性設為唯讀,亦直接洗掉,無需逐一確認,
- -r 將目錄及以下之檔案亦逐一洗掉,
touch命令
創建新的空檔案或者改變已有檔案的時間標簽
touch [-acfm][-d<日期時間>][-r<參考檔案或目錄>] [-t<日期時間>][--help][--version][檔案或目錄…]
- a 改變檔案的讀取時間記錄,
- m 改變檔案的修改時間記錄,
- c 假如目的檔案不存在,不會建立新的檔案,與 --no-create 的效果一樣,
- f 不使用,是為了與其他 unix 系統的相容性而保留,
- r 使用參考檔的時間記錄,與 --file 的效果一樣,
- d 設定時間與日期,可以使用各種不同的格式,
- t 設定檔案的時間記錄,格式與 date 指令相同,
- –no-create 不會建立新檔案,
- –help 列出指令格式,
- –version 列出版本訊息,
file命令
file命令用來識別檔案型別,也可以用來辨別一些檔案的編碼格式
file [-bcLvz][-f <名稱檔案>][-m <魔法數字檔案>...][檔案或目錄...]
- -b 列出辨識結果時,不顯示檔案名稱,
- -c 詳細顯示指令執行程序,便于排錯或分析程式執行的情形,
- -f<名稱檔案> 指定名稱檔案,其內容有一個或多個檔案名稱時,讓file依序辨識這些檔案,格式為每列一個檔案名稱,
- -L 直接顯示符號連接所指向的檔案的類別,
- -m<魔法數字檔案> 指定魔法數字檔案,
- -v 顯示版本資訊,
- -z 嘗試去解讀壓縮檔案的內容,
- [檔案或目錄…] 要確定型別的檔案串列,多個檔案之間使用空格分開,可以使用shell通配符匹配多個檔案,
[root@localhost 桌面]# file test
test: UTF-8 Unicode text
find命令
在檔案系統中查找指定的檔案,可以根據檔案的名稱、大小、建立時間等資訊查找檔案,
find [目錄串列] [檔案的匹配標準]
-mount, -xdev : 只檢查和指定目錄在同一個檔案系統下的檔案,避免列出其它檔案系統中的檔案
-amin n : 在過去 n 分鐘內被讀取過
-anewer file : 比檔案 file 更晚被讀取過的檔案
-atime n : 在過去n天內被讀取過的檔案
-cmin n : 在過去 n 分鐘內被修改過
-cnewer file :比檔案 file 更新的檔案
-ctime n : 在過去n天內被修改過的檔案
-empty : 空的檔案-gid n or -group name : gid 是 n 或是 group 名稱是 name
-ipath p, -path p : 路徑名稱符合 p 的檔案,ipath 會忽略大小寫
-name name, -iname name : 檔案名稱符合 name 的檔案,iname 會忽略大小寫
-size n : 檔案大小 是 n 單位,b 代表 512 位元組的區塊,c 表示字元數,k 表示 kilo bytes,w 是二個位元組,
-type c : 檔案型別是 c 的檔案,
d: 目錄
c: 字型裝置檔案
b: 區塊裝置檔案
p: 具名貯列
f: 一般檔案
l: 符號連結
s: socket
grep命令
在指定檔案中檢索匹配關鍵字資訊
- -a 或 --text : 不要忽略二進制的資料,
- -A<顯示行數> 或 --after-context=<顯示行數> : 除了顯示符合范本樣式的那一列之外,并顯示該行之后的內容,
- -b 或 --byte-offset : 在顯示符合樣式的那一行之前,標示出該行第一個字符的編號,
- -B<顯示行數> 或 --before-context=<顯示行數> : 除了顯示符合樣式的那一行之外,并顯示該行之前的內容,
- -c 或 --count : 計算符合樣式的列數,
- -C<顯示行數> 或 --context=<顯示行數>或-<顯示行數> : 除了顯示符合樣式的那一行之外,并顯示該行之前后的內容,
- -d <動作> 或 --directories=<動作> : 當指定要查找的是目錄而非檔案時,必須使用這項引數,否則grep指令將回報資訊并停止動作,
- -e<范本樣式> 或 --regexp=<范本樣式> : 指定字串做為查找檔案內容的樣式,
- -E 或 --extended-regexp : 將樣式為延伸的正則運算式來使用,
- -f<規則檔案> 或 --file=<規則檔案> : 指定規則檔案,其內容含有一個或多個規則樣式,讓grep查找符合規則條件的檔案內容,格式為每行一個規則樣式,
- -F 或 --fixed-regexp : 將樣式視為固定字串的串列,
- -G 或 --basic-regexp : 將樣式視為普通的表示法來使用,
- -h 或 --no-filename : 在顯示符合樣式的那一行之前,不標示該行所屬的檔案名稱,
- -H 或 --with-filename : 在顯示符合樣式的那一行之前,表示該行所屬的檔案名稱,
- -i 或 --ignore-case : 忽略字符大小寫的差別,
- -l 或 --file-with-matches : 列出檔案內容符合指定的樣式的檔案名稱,
- -L 或 --files-without-match : 列出檔案內容不符合指定的樣式的檔案名稱,
- -n 或 --line-number : 在顯示符合樣式的那一行之前,標示出該行的列數編號,
- -o 或 --only-matching : 只顯示匹配PATTERN 部分,
- -q 或 --quiet或–silent : 不顯示任何資訊,
- -r 或 --recursive : 此引數的效果和指定"-d recurse"引數相同,
- -s 或 --no-messages : 不顯示錯誤資訊,
- -v 或 --invert-match : 顯示不包含匹配文本的所有行,
- -V 或 --version : 顯示版本資訊,
- -w 或 --word-regexp : 只顯示全字符合的列,
- -x --line-regexp : 只顯示全列符合的列,
- -y : 此引數的效果和指定"-i"引數相同,
[root@localhost 桌面]# grep root /etc/passwd
root?0:0:root:/root:/bin/bash
operator?11:0:operator:/root:/sbin/nologin
sort命令
將檔案排序
- -b 忽略每行前面開始出的空格字符,
- -c 檢查檔案是否已經按照順序排序,
- -d 排序時,處理英文字母、數字及空格字符外,忽略其他的字符,
- -f 排序時,將小寫字母視為大寫字母,
- -i 排序時,除了040至176之間的ASCII字符外,忽略其他的字符,
- -m 將幾個排序好的檔案進行合并,
- -M 將前面3個字母依照月份的縮寫進行排序,
- -n 依照數值的大小排序,
- -u 意味著是唯一的(unique),輸出的結果是去完重了的,
- -o<輸出檔案> 將排序后的結果存入指定的檔案,
- -r 以相反的順序來排序,
- -t<分隔字符> 指定排序時所用的欄位分隔字符,
- +<起始欄位>-<結束欄位> 以指定的欄位來排序,范圍由起始欄位到結束欄位的前一欄位,
- –help 顯示幫助,
- –version 顯示版本資訊,
mkdir命令
創建目錄
mkdir [選項] 目錄串列
-m:建立目錄的同時設定目錄的權限
`-p: 若想要建立的目錄的·上層命令還沒有建立,則會一并建立上層目錄
rmdir命令
洗掉空目錄
-r:強行洗掉命令及目錄中的檔案和子目錄
-p:洗掉指定目錄后,若該目錄的上層目錄已變成空目錄,則將其一并洗掉
二、VI/VIM編譯器
2.1是什么?
VI是Unix作業系統和類Unix作業系統中最通用的文本編輯器,
VIM編輯器是從VI發展出來的一個性能更強大的文本編輯器,可以主動的以字體顏色辨別語法的正確性,方便程式設計,VIM與VI編輯器完全兼容,
2.2一般模式
以vi打開一個檔案就直接進入一般模式了,這是默認的模式
| 語法 | 功能描述 |
|---|---|
| yy | 復制游標當前一行 |
| y數字y | 復制一段(從第幾行到第幾行) |
| p | 箭頭移動到目的行粘貼 |
| u | 撤銷上一步 |
| dd | 洗掉游標當前行 |
| d數字d | 洗掉游標(含)后多少行 |
| x | 洗掉一個字母,相當于del,向后刪 |
| X | 洗掉一個字母,相當于Backspace,向前刪 |
| yw | 復制一個詞 |
| dw | 洗掉一個詞 |
| shift+^ | 移動到行頭 |
| shift+$ | 移動到行尾 |
| gg或者1+G | 移動到頁頭 |
| G | 移動到頁尾 |
| 數字+G(先輸入數字,在按G) | 移動到目標行 |
2.3編輯模式
在一般模式中可以進行洗掉、復制、粘貼等動作,但是無法編輯檔案內容,需要按下【i,I,o,O,a,A,r,R】等任何一個字母之后才會進入編輯模式(Esc可退出編輯模式)
| 按鍵 | 功能 |
|---|---|
| i | 當前游標前 |
| a | 當前游標后 |
| o | 當前游標行的下一行 |
| I | 游標所在行最前 |
| A | 游標所在行最后 |
| O | 當前游標行的上一行 |
2.4指令模式
在一般模式中輸入【: / ?】三個中任何一個,可以將游標移動到最底下那一行,
在這個模式中,可以提供:
| 命令 | 功能 |
|---|---|
| :w | 保存 |
| :q | 退出 |
| :! | 強制執行 |
| / 要查找的詞 | n 查找下一個,N 往上查找 |
| ? 要查找的詞 | n是查找上一個,N是往下查找 |
| :set nu | 顯示行號 |
| :set nonu | 關閉行號 |
| ZZ(shift+zz) | 沒有修改檔案直接退出,如果修改了檔案保存后退出 |
強制退出:
:wq!
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-YESooOFV-1618727352525)(D:\scala\030_Scala\4.視頻\編輯模式-一般模式-指令模式.jpg)]
關機重啟命令
正確關機流程為:sync>shutdown>reboot>halt
基本語法:
1》sync (功能描述:將資料由記憶體同步到硬碟中)
2》halt (功能描述:關閉系統,等同于 shutdown -h now 和 poweroff)
3》reboot (功能描述:就是重啟 等同于 shutdown -r now)
shutdown [選項] 時間
| 選項 | 功能 |
|---|---|
| -h | -h=halt關機 |
| -r | -r=reboot重啟 |
| 引數 | 功能 |
|---|---|
| now | 立刻關機 |
| 時間 | 等待多久后關機(時間單位是分鐘), |
案例實操
(1)將資料由記憶體同步到硬碟中
[root@hadoop100桌面]#sync
(2)重啟
[root@hadoop100桌面]# reboot
(3)關機
[root@hadoop100桌面]#halt
(4)計算機將在1分鐘后關機,并且會顯示在登錄用戶的當前螢屏中
[root@hadoop100桌面]#shutdown -h 1 ‘This server will shutdown after 1 mins’
(5)立馬關機(等同于 halt)
[root@hadoop100桌面]# shutdown -h now
(6)系統立馬重啟(等同于 reboot)
[root@hadoop100桌面]# shutdown -r now
三、用戶與組命令管理
Linux是一個多用戶,多任務的作業系統,每個使用作業系統的人員必須先得到一個用戶賬號,通過賬號和密碼進行身份驗證,
cat /ect/passwd
查看檔案內容,每行文字對應一個用戶,格式為:
用戶名:口令:用戶ID:組ID:注釋性描述:主目錄:登錄shell
useradd命令
| 命令選項 | 含義 |
|---|---|
| -d | 指定用戶登錄時的起始目錄 |
| -c | 給用戶加上備注文子 |
| -e | 指定賬號的有效期限 |
| -f | 指定密碼過期后多少天即關閉該賬號 |
| -g | 指定用戶所屬的群組 |
| -s | 指定用戶登錄后所使用的shell |
| -u | 指定用戶ID |
passwd命令
| 命令選項 | 含義 |
|---|---|
| -l | 鎖定密碼,使用戶無法登陸系統 |
| -d | 洗掉密碼 |
| -s | 顯示密碼資訊 |
| -u | 啟用已被停止的賬戶 |
| -f | 強制執行 |
userdel命令
| 選項 | 功能 |
|---|---|
| -r | 洗掉用戶的同時,洗掉與用戶相關的所有檔案, |
usermod命令
| 選項 | 功能 |
|---|---|
| -g | 修改用戶的初始登錄組,給定的組必須存在 |
[root@hadoop101 opt]#usermod -g root zhubajie
groupadd 新增組
1.基本語法
groupadd 組名
2.案例實操
? (1)添加一個xitianqujing組
[root@hadoop101 opt]#groupadd xitianqujing
groupdel 洗掉組
1.基本語法
groupdel 組名
2.案例實操
? (1)洗掉xitianqujing組
[root@hadoop101 opt]# groupdel xitianqujing
groupmod 修改組
1.基本語法
groupmod -n 新組名 老組名
2.選項說明
| 選項 | 功能描述 |
|---|---|
| -n<新組名> | 指定作業組的新組名 |
3.案例實操
? (1)修改atguigu組名稱為atguigu1
[root@hadoop101 ~]#groupadd xitianqujing
[root@hadoop101 ~]# groupmod -n xitian xitianqujing
四、檔案權限類命令
在linux系統中,出于安全的考慮,對檔案的訪問權限進行了嚴格的限制,規定用戶對自己的檔案進行權限設定,其他用戶只能在權限許可的情況下進行訪問,
linux將用戶分為3中不同型別,分別是檔案所有者、同組用戶和其他用戶,
每一檔案或目錄的訪問權限都有3組,每組用3位表示:
- 檔案屬主的讀權限、寫權限、執行權限
- 和屬主同組的用戶的讀權限、寫權限、執行權限
- 系統中其他用戶的讀權限、寫權限、執行權限
可以用ls -l查看檔案的訪問權限
[root@hadoop101 ~]# ll
總用量 104
-rw-------. 1 root root 1248 1月 8 17:36 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 1月 12 14:02 dssz
lrwxrwxrwx. 1 root root 20 1月 12 14:32 houzi -> xiyou/dssz/houge.tx
更改權限 chmod
chmod [who] [+|-|=] [mode] 檔案名
r,w,x屬于mode中的,
| u | 表示用戶,即檔案或目錄的所有者 |
|---|---|
| g | 表示同組用戶,即和檔案屬主用相同組ID的所有用戶 |
| o | 其他用戶 |
| a | 所有用戶 |
| + | 添加權限 |
| - | 洗掉權限 |
| = | 賦予制定權限并取消其他所有權限 |
| r | 可讀 |
| w | 可寫 |
| x | 可執行 |
五、磁盤磁區類命令
df 查看磁盤空間使用情況
df: disk free 空余硬碟
1.基本語法
? df 選項 (功能描述:列出檔案系統的整體磁盤使用量,檢查檔案系統的磁盤空間占用情況)
2.選項說明
| 選項 | 功能 |
|---|---|
| -h | 以人們較易閱讀的 GBytes, MBytes, KBytes 等格式自行顯示; |
3.案例實操
? (1)查看磁盤使用情況
[root@hadoop101 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 15G 3.5G 11G 26% /
tmpfs 939M 224K 939M 1% /dev/shm
/dev/sda1 190M 39M 142M 22% /boot
fdisk 查看磁區
1.基本語法
? fdisk -l (功能描述:查看磁盤磁區詳情)
2.選項說明
| 選項 | 功能 |
|---|---|
| -l | 顯示所有硬碟的磁區串列 |
3.經驗技巧
該命令必須在root用戶下才能使用
4.功能說明
? (1)Linux磁區
Device:磁區序列
Boot:引導
Start:從X磁柱開始
End:到Y磁柱結束
Blocks:容量
Id:磁區型別ID
System:磁區型別
5.案例實操
? (1)查看系統磁區情況
[root@hadoop101 /]# fdisk -l
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005e654
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 1332 10485760 83 Linux
/dev/sda3 1332 1593 2097152 82 Linux swap / Solaris
六、行程執行緒類命令
行程:在linux作業系統中,行程是作業系統調度的基本單位,創建行程的目的就是可以使多個程式并發的執行,從而可以提高系統的資源利用率和吞吐量,
ps 查看當前系統行程狀態
ps:process status 行程狀態
1.基本語法
? ps aux | grep xxx (功能描述:查看系統中所有行程)
? ps -ef | grep xxx (功能描述:可以查看子父行程之間的關系)
2.選項說明
| 選項 | 功能 |
|---|---|
| -a | 選擇所有行程 |
| -u | 顯示所有用戶的所有行程 |
| -x | 顯示沒有終端的行程 |
3.功能說明
? (1)ps aux顯示資訊說明
? USER:該行程是由哪個用戶產生的
? PID:行程的ID號
%CPU:該行程占用CPU資源的百分比,占用越高,行程越耗費資源;
%MEM:該行程占用物理記憶體的百分比,占用越高,行程越耗費資源;
VSZ:該行程占用虛擬記憶體的大小,單位KB;
RSS:該行程占用實際物理記憶體的大小,單位KB;
TTY:該行程是在哪個終端中運行的,其中tty1-tty7代表本地控制臺終端,tty1-tty6是本地的字符界面終端,tty7是圖形終端,pts/0-255代表虛擬終端,
STAT:行程狀態,常見的狀態有:R:運行、S:睡眠、T:停止狀態、s:包含子行程、+:位于后臺
START:該行程的啟動時間
TIME:該行程占用CPU的運算時間,注意不是系統時間
COMMAND:產生此行程的命令名
(2)ps -ef顯示資訊說明
UID:用戶ID
PID:行程ID
PPID:父行程ID
C:CPU用于計算執行優先級的因子,數值越大,表明行程是CPU密集型運算,執行優先級會降低;數值越小,表明行程是I/O密集型運算,執行優先級會提高
STIME:行程啟動的時間
TTY:完整的終端名稱
TIME:CPU時間
CMD:啟動行程所用的命令和引數
4.經驗技巧
? 如果想查看行程的CPU占用率和記憶體占用率,可以使用aux;
如果想查看行程的父行程ID可以使用ef;
5.案例實操
[root@hadoop101 datas]# ps aux
查看行程的CPU占用率和記憶體占用率
[root@hadoop101 datas]# ps -ef
kill 終止行程
1.基本語法
? kill [選項] 行程號 (功能描述:通過行程號殺死行程)
? killall 行程名稱 (功能描述:通過行程名稱殺死行程,也支持通配符,這在系統因負載過大而變得很慢時很有用)
2.選項說明
| 選項 | 功能 |
|---|---|
| -9 | 表示強迫行程立即停止 |
3.案例實操
? (1)殺死瀏覽器行程
[root@hadoop101 桌面]# kill -9 5102
? (2)通過行程名稱殺死行程
[root@hadoop101 桌面]# killall firefox
pstree 查看行程樹
1.基本語法
? pstree [選項]
2.選項說明
| 選項 | 功能 |
|---|---|
| -p | 顯示行程的PID |
| -u | 顯示行程的所屬用戶 |
3.案例實操
? (1)顯示行程pid
[root@hadoop101 datas]# pstree -p
? (2)顯示行程所屬用戶
[root@hadoop101 datas]# pstree -u
top 查看系統健康狀態**
1.基本命令
? top [選項]
2.選項說明
| 選項 | 功能 |
|---|---|
| -d 秒數 | 指定top命令每隔幾秒更新,默認是3秒在top命令的互動模式當中可以執行的命令: |
| -i | 使top不顯示任何閑置或者僵死行程, |
| -p | 通過指定監控行程ID來僅僅監控某個行程的狀態, |
3.操作說明
| 操作 | 功能 |
|---|---|
| P | 以CPU使用率排序,默認就是此項 |
| M | 以記憶體的使用率排序 |
| N | 以PID排序 |
| q | 退出top |
4.查詢結果欄位解釋
第一行資訊為任務佇列資訊
| 內容 | 說明 |
|---|---|
| 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,系統已經超出負荷, |
第二行為行程資訊
| Tasks: 95 total | 系統中的行程總數 |
|---|---|
| 1 running | 正在運行的行程數 |
| 94 sleeping | 睡眠的行程 |
| 0 stopped | 正在停止的行程 |
| 0 zombie | 僵尸行程,如果不是0,需要手工檢查僵尸行程 |
第三行為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的時間百分比, |
第四行為物理記憶體資訊
| Mem: 625344k total | 物理記憶體的總量,單位KB |
|---|---|
| 571504k used | 已經使用的物理記憶體數量 |
| 53840k free | 空閑的物理記憶體數量,我們使用的是虛擬機,總共只分配了628MB記憶體,所以只有53MB的空閑記憶體了 |
| 65800k buffers | 作為緩沖的記憶體數量 |
第五行為交換磁區(swap)資訊
| Swap: 524280k total | 交換磁區(虛擬記憶體)的總大小 |
|---|---|
| 0k used | 已經使用的互動磁區的大小 |
| 524280k free | 空閑交換磁區的大小 |
| 409280k cached | 作為快取的互動磁區的大小 |
5.案例實操
[root@hadoop101 atguigu]# top -d 1
[root@hadoop101 atguigu]# top -i
[root@hadoop101 atguigu]# top -p 2575
執行上述命令后,可以按P、M、N對查詢出的行程結果進行排序,
七、系統定時任務
crond 服務管理
1.重新啟動crond服務
[root@hadoop101 ~]# service crond restart
crontab 定時任務設定
1.基本語法
crontab [選項]
2.選項說明
| 選項 | 功能 |
|---|---|
| -e | 編輯crontab定時任務 |
| -l | 查詢crontab任務 |
| -r | 洗掉當前用戶所有的crontab任務 |
3.引數說明
[root@hadoop101 ~]# crontab -e
(1)進入crontab編輯界面,會打開vim編輯你的作業,
* * * * * 執行的任務
| 專案 | 含義 | 范圍 |
|---|---|---|
| 第一個“*” | 一小時當中的第幾分鐘 | 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)每隔1分鐘,向/root/bailongma.txt檔案中添加一個11的數字
*/1 * * * * /bin/echo ”11” >> /root/bailongma.txt
格式為五個*符號
用自己選擇的字串替換相應位置的*號,
八、軟體包管理
8.1RPM
RPM概述:
RPM(RedHat Package Manager),RedHat軟體包管理工具,類似window里面的setup.exe是linux這系列作業系統里面的打包安裝工具,他雖然是RedHat的標志,但理念是通用的,
RPM包的名稱格式
Apache-1.3.23-11.i386.rpm
- “apache” 軟體名稱
- “1.3.23-11”軟體的版本號,主版本和此版本
- “i386”是軟體所運行的硬體平臺,Intel 32位微處理器的統稱
- “rpm”檔案擴展名,代表RPM包
RPM查詢命令(rpm -qa)
1.基本語法
rpm -qa (功能描述:查詢所安裝的所有rpm軟體包)
2.經驗技巧
由于軟體包比較多,一般都會采取過濾,rpm -qa | grep rpm軟體包
3.案例實操
? (1)查詢firefox軟體安裝情況
[root@hadoop101 Packages]# rpm -qa |grep firefox
firefox-45.0.1-1.el6.centos.x86_64
RPM卸載命令(rpm -e)
1.基本語法
(1)rpm -e RPM軟體包
(2) rpm -e --nodeps 軟體包
2.選項說明
表1-50
| 選項 | 功能 |
|---|---|
| -e | 卸載軟體包 |
| –nodeps | 卸載軟體時,不檢查依賴,這樣的話,那些使用該軟體包的軟體在此之后可能就不能正常作業了, |
3.案例實操
? (1)卸載firefox軟體
[root@hadoop101 Packages]# rpm -e firefox
RPM安裝命令(rpm -ivh)
1.基本語法
? rpm -ivh RPM包全名
2.選項說明
表1-51
| 選項 | 功能 |
|---|---|
| -i | -i=install,安裝 |
| -v | -v=verbose,顯示詳細資訊 |
| -h | -h=hash,進度條 |
| –nodeps | –nodeps,不檢測依賴進度 |
3.案例實操
? (1)安裝firefox軟體
[root@hadoop101 Packages]# pwd
/media/CentOS_6.8_Final/Packages
[root@hadoop101 Packages]# rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm
warning: firefox-45.0.1-1.el6.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing… ########################################### [100%]
1:firefox ########################################### [100%]
8.2YUM倉庫配置
YUM概述
YUM(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟體包管理器,基于RPM包管理,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝
YUM的常用命令
1.基本語法
? yum [選項] [引數]
2.選項說明
表1-52
| 選項 | 功能 |
|---|---|
| -y | 對所有提問都回答“yes” |
3.引數說明
| 引數 | 功能 |
|---|---|
| install | 安裝rpm軟體包 |
| update | 更新rpm軟體包 |
| check-update | 檢查是否有可用的更新rpm軟體包 |
| remove | 洗掉指定的rpm軟體包 |
| list | 顯示軟體包資訊 |
| clean | 清理yum過期的快取 |
| deplist | 顯示yum軟體包的所有依賴關系 |
4.案例實操實操
? (1)采用yum方式安裝firefox
[root@hadoop101 ~]#yum -y install firefox.x86_64
8.2.3 修改網路YUM源
默認的系統YUM源,需要連接國外apache網站,網速比較慢,可以修改關聯的網路YUM源為國內鏡像的網站,比如網易163,
1.前期檔案準備
(1)前提條件linux系統必須可以聯網
(2)在Linux環境中訪問該網路地址:http://mirrors.163.com/.help/centos.html,在使用說明中點擊CentOS6->再點擊保存
(3)查看檔案保存的位置
?
在打開的終端中輸入如下命令,就可以找到檔案的保存位置,
[atguigu@hadoop101 下載]$ pwd
/home/atguigu/下載
2.替換本地yum檔案
? (1)把下載的檔案移動到/etc/yum.repos.d/目錄
[root@hadoop101 下載]# mv CentOS6-Base-163.repo /etc/yum.repos.d/
? (2)進入到/etc/yum.repos.d/目錄
[root@hadoop101 yum.repos.d]# pwd
/etc/yum.repos.d
? (3)用CentOS6-Base-163.repo替換CentOS-Base.repo
[root@hadoop101 yum.repos.d]# mv CentOS6-Base-163.repo CentOS-Base.repo
3.安裝命令
(1)[root@hadoop101 yum.repos.d]#yum clean all
(2)[root@hadoop101 yum.repos.d]#yum makecache
yum makecache就是把服務器的包資訊下載到本地電腦快取起來
4.測驗
[root@hadoop101 yum.repos.d]#yum list | grep firefox
[root@hadoop101 ~]#yum -y install firefox.x86_64
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/277773.html
標籤:其他
