第三節課(linux150命令詳解)
這次學習並沒有佈置作業,而學習內容是第一節課作業,以及第二節課的作業集合。
老師們提示說,命令是linux一切的基礎,一定要多聯絡,每個命令最少聯絡20遍。
最少要熟練運用30個基礎命令.
我正在向這個靠攏,不知道學習進度對於其他網路教學怎麼樣,反正我覺得剛好,因為可能安排是4~5個月,1 3 5晚8點30-10點30。 有幾個月的時間,如果基礎學習不紮實, 怎麼學習更深的知識。
以下附上老師整理的命令150詳解
Linux150個基礎命令 |
作者:徐駿 歸檔:學習筆記 2017/8/14 |
快捷鍵: Ctrl + 1 標題1 Ctrl + 2 標題2 Ctrl + 3 標題3 Ctrl + 4 例項 Ctrl + 5 程式程式碼 Ctrl + 6 正文 |
格式說明: 藍色字型:註釋 黃色背景:重要 綠色背景:注意 |
老男孩教育教學核心思想6重:重目標、重思路、重方法、重實踐、重習慣、重總結
學無止境,老男孩教育成就你人生的起點!
聯絡方式:
網站運維QQ交流群: | |
Linux 385168604 | 架構師 390642196 |
Python 29215534 | 大資料 421358633 |
官方網站: |
1.mkdir 建立目錄 *
主要選項:-p 遞迴建立目錄
主要案列:mkdir /xujun
mkdir -p /xujun/oldboy
mkdir -p /xujun/oldboy{1,2} #建立多個目錄
2.cd 切換路徑 *
主要案例:cd或cd ~ #切換至家目錄
cd - #在上一個目錄和當前目錄來回切換
cd ~xujun #切換至某使用者的家目錄
cd .. #切換至上一級目錄
3.ls 檢視目錄或檔案資訊 *
主要選項:-l 列出目錄或者檔案的詳細資訊。比如許可權、修改時間等等
-a 列出當前目錄下所有檔案,包括隱藏檔案(已點開頭的都是隱藏檔案)
-A 列出除.和..之外的所有檔案
-h 已人類能檢視的方式,列出檔案的大小
-d 只列出目錄的詳細資訊
-F給不同檔案結尾加不同標識
-p給目錄結尾加斜線
-t按修改時間排序
-r反轉排序
-i檢視inode節點
--time-style=long-iso 格式化屬性時間
-R 遞迴
主要案例:1、ls -l #列出目錄或者檔案的詳細資訊
-rw-r--r-- 1 root root 1 Aug 5 21:24 xujun.txt
2、ls -la #列出當前目錄下所有檔案,包括隱藏檔案
-rw------- 1 root root 18029 Aug 11 22:05 .bash_history
-rw-r--r-- 1 root root 18 Dec 8 2016 .bash_logout
-rw-r--r-- 1 root root 176 Dec 8 2016 .bash_profile
3、ls -lh #已人類能檢視的方式,列出檔案的大小
-rw-r--r-- 1 root root 22K Dec 8 2016 install.log
4、ls -ld xujun #只列出目錄的詳細資訊
drwxr-xr-x 5 root root 4096 Aug 11 23:00 xujun
5、ls -lrt #已時間倒敘的方式來列出
-rw-r--r-- 1 root root 205 Feb 5 2017 xujun.txt.bz2
-rw-r--r-- 1 root root 1 Aug 5 21:24 xujun.txt
drwxr-xr-x 5 root root 4096 Aug 11 23:00 xujun
4.pwd 列出當前目錄 *
主要選項:-L 大寫的L,顯示的邏輯路徑 /etc/init.d
-P 大寫的P,顯示的是實際物理路徑 /etc/rc.d/init.d 這兩個引數瞭解即可
主要案例:[[email protected] ~]# pwd
/root
5.touch 建立一個空白檔案,假如當前目錄有同樣的檔案,則會更新檔案的時間戳 *
主要選項:-a 修改access(訪問)時間
-m 修改modify(修改)時間 這兩個引數瞭解即可
主要案例:touch xujun.txt
6.cat 檢視檔案 *
主要選項:-n 顯示行號
-b 只顯示非空行的內容(顯示行號)
-E 在每行結束處顯示$
-s 壓縮空行
-T 把tab鍵字元顯示為^I
主要案例:cat -n xujun.txt
cat -b xujun.txt
cat -E xujun.txt
cat -T xujun.txt
cat >>xujun.txt<<EOF #cat的高階用法,配合重定向
Xujun
Woaini
EOF
7.vi 簡單的編輯命令 *
主要案列:vi xujun.tx
8.vim 複雜的編輯器 *(使用方法參考linux基礎裡面的vim篇章)
使用方法同上
9.echo 列印檔案內容或編輯檔案內容 *
主要選項:-n 不換行輸出
-e 可以使用轉義字元(\n回車,\t tab鍵)
主要案列:echo “I am studying linux”>>xujun.txt 追加檔案尾部內容
echo $? 假如返回值為0的時候,表示上一次命令成功。假如是1到255的話,則是失敗
echo -e “wo\tshi\tshei”> xujun.txt
10.xargs 從標準輸入(管道或stdin、輸入重定向)獲取資料。並將資料轉換成命令列的引數 *
簡單理解就是find 管道|後面接檔案,就需要xargs。假如| 前面輸入的是文字,字串就不需要接xargs
主要選項:-n 數字分組
-i 將xargs的每項名稱,一行一行賦值給{},可以用{}代替
主要案列:xargs -n 2 < xujun.txt
find /etc -type f -name “*.txt”|xargs rm -f
find /etc -type f -name “*.txt”|xargs -i mv {} /tmp
11.cp 複製檔案或目錄 *
主要選項:-a 相當於-pdr
-f 強制複製,不提示
主要案列:cp -a xujun.txt /oldboy
簡寫方式 cp /etc/ssh/sshd_config {,orz}
cp -a {/root/xujun.txt,/tmp/1.txt}
12.mv 移動檔案或目錄,並且可以更改檔案或目錄的名字 *
主要選項:-f 強制移動,不提示
主要案列:mv xujun.txt /xujun xj.txt
13.rm 刪除檔案或者目錄,這個命令在日常工作中一定要慎用 *
主要選項:-r 遞迴刪除檔案或者目錄
-f 強制刪除不提示
主要案列:rm -f xujun.txt
14.find 詳細查詢檔案或者目錄 *****
主要選項:-type 檔案型別 f=檔案 d=目錄 c=字元型別 b=塊裝置型別
-name 檔名
-iname 檔名不區分大小寫
已天為單位:
-mtime 修改檔案內容 按修改時間查詢 +7 7天以前 7 第7天 -7 7天以內
-atime 根據訪問時間查詢
-ctime 根據建立時間查詢
已分鐘為單位:
-amin 根據訪問時間查詢
-mmin 根據修改時間查詢
-cmin 根據建立時間查詢
-user 根據使用者名稱查詢
-group 根據組使用者查詢
-uid 根據使用者的uid查詢檔案
-gid 根據使用者的gid查詢檔案
-size 根據檔案的大小來查詢檔案(預設單位:KB,MB,GB)
1024:什麼都不加,小於檔案大小-1或等於
+1024:大於等於檔案大小
-1024 小於等於檔案大小
-perm 根據許可權查詢
644:什麼都不加,精確檔案許可權匹配
/644: 任何一類使用者(u,g,o)的許可權中的任何一位(r,w,x)符合條件即滿足
-644: 每一類使用者(u,g,o)許可權中的每一位(r,w,x)同時符合條件即滿足
!取反
-o 或者
-exec COMMAND {} \; 對查詢到的每個檔案執行由COMMAND表示的命令
注意:find傳遞查詢到的檔案路徑至後面的命令時,是先查找出所有符合條件的檔案路徑,並一次性傳遞給後面的命令。但是有些命令不能接受過長的引數,此時命令執行會失敗。所以需要另一種方式來規避問題:find |xargs COMMAND
主要案例:find xujun/ -type f -name "*.txt" | xargs rm -f
find xujun/ -type f -name "xujun.txt" -exec rm {} \;
find xujun/ -type f -name "*txt" -mtime -7 | xargs rm -f
這條命令解析:查詢xujun目錄下的為檔案、名字為*txt、最近7天之內修改的檔案通過管道命令,再通過xargs排序 刪除檔案
find /xujun -type f -name "*.txt" | xargs sed -i s#xujun#momo#
或者sed -i "s#shei#xujun#g" $(find /oldboy/ -type f -name "*.txt")
再或者find /oldboy/ -type f -name "*.txt" -exec sed -i "s#shei#xujun#g" {} \;
find /xujun -type f -name "*.txt" -ok rm -f {} \;這種方式,當你刪除的時候,會詢問你是否需要刪除該檔案
find /backup -type f \( -name "*.log" -o -name "*.tar.gz" \) 同時查詢多個名字的檔案
find /data -type f -name “.txt” -mtime +7|xargs -i mv {} /tmp
15.grep 過濾器 *****
主要選項:-v 排除內容
-E 可以同時實現兩條命令的使用,當然也要加|
--color=auto 對過濾的字串加顏色
-i 不區分大小寫
-w 按單詞搜尋
-B 除了顯示匹配的一行之外,並顯示該行之前的N行
-A 除了顯示匹配的一行之外,並顯示該行之後的N行
-C 除了顯示匹配的一行之外,並顯示該行之前後各N行
-i 不區分大小寫
-o 只顯示匹配到的內容
-n 顯示行號
主要案列:grep -v old xujun.txt grep -Po '(?<=addr:)\S+' 取ip地址
grep -n “.*” xujun.txt grep -w “oldboy” xujun.txt
grep -E “root|nginx” /etc/passwd
16.egrep 支援擴充套件正則表示式的grep命令 *****
主要引數: -v 排除內容
--color=auto 對過濾的字串加顏色
-i 不區分大小寫
-o 只顯示匹配到的內容
-B 除了顯示匹配的一行之外,並顯示該行之前的N行
-A 除了顯示匹配的一行之外,並顯示該行之後的N行
-C 除了顯示匹配的一行之外,並顯示該行之前後各N行
主要案列:egrep -v old xujun.txt egrep -Po '(?<=addr:)\S+' 取ip地址
egrep -w “oldboy” xujun.txt
17.head 檢視檔案的前N行 *
主要選項:-n 後面接數字,表示檢視前幾行(也可以不加)
注意:head預設檢視10行
主要案列:head -5 /etc/passwd
head -10 /etc/passwd|tail -5 檢視passwd檔案中6到10行
18.tail 檢視檔案的後N行 *
主要選項:-n 後面接數字,表示檢視前幾行(也可以不加)
-f(迴圈讀取)監視filename檔案的尾部內容(預設10行,相當於增加引數-n 10)
重新整理顯示在螢幕上,退出按下ctrl+c
注意:tail預設檢視10行
主要案列:tail -5 /etc/passwd
19.alias 檢視和設定別名 *
主要案列:檢視別名,直接輸入alias。
設定別名:alias cp='cp -i'
alias rm='echo “this command does not allow to ues”'
別名的配置檔案:/etc/profile或者/etc/bashrc 全域性生效
~/.bashrc #當前使用者生效
20.unalias 取消別名
主要案例:unalias cp
21.seq 生成序列 *(編寫shell時需要)
主要選項:-s 指定分隔符
-w 輸出同寬數列,不足的位數用0補齊
主要案例:[[email protected] ~]# seq -s : 10
1:2:3:4:5:6:7:8:9:10
[[email protected] ~]# seq 100 >xujun.txt
[[email protected] ~]# cat xujun.txt
1
2
....100
22.sed 流編輯器,實現對檔案的增刪改查 *****
編輯命令:
d:刪除 #sed ‘2,3’d /etc/passwd
p:列印輸出
a:在行後面追加文字,支援使用\n實現多行追加
i:在行前面插入文字,支援使用\n實現多行插入
c:把匹配到的行替換為此處指定的文字
w:儲存模式空間匹配到的行至指定的檔案中
r:讀取指定檔案的內容至當前檔案被模式匹配到的行後面並且檔案合併
!:條件取反
s///:查詢替換,其分隔符可自行指定,常用的有[email protected]@@,s###等
替換標記:g 全域性替換
主要選項:-n 取消預設輸出,把我想輸出的內容輸出到螢幕上
-i 修改檔案內容並且會破壞軟連結和硬連結
-e 多項編輯
-f 每行一個編輯命令
-r 支援使用擴充套件正則表示式
主要案例:sed -n ‘20,30’p /etc/passwd
sed -i "s#xj#xujun1#g" xujun.txt
sed -nr '2s#^.*addr:(.*) Bca.*$#\1#gp' 取IP
sed -i '3a '$(sed -n '2p' 1.txt)'\n'$(sed -n '3p' 1.txt) 2.txt
注意:sed 's#內容#替換的內容#g xujun.txt 2.sed裡面有小p,前面必須接引數-n
23.awk 過濾,輸出內容 *****
區域:$就是取什麼什麼引用 $1 表示第一列,$2 第二列,依次類推。但是$0表示整行
FS==區域分隔符,預設是空格
RS==每個記錄讀入的時候的分隔符(行的結束標識)
NR==行號,記錄的數。
NF==NF表示記錄中的區域(列)數量,$NF表示取最後一列
awk預設已空格為分隔符
BEGIN模組在awk讀取檔案之前就執行,一般用來定義我們的內建變數(預定義變數:FS,RS)
END模組就是END在awk讀取完所有檔案的時候,再執行END模組,一般用來輸出一個結果(累加,陣列的結果)
awk程式設計思想:
1.先處理,最後再END模組輸出
2.BEGIN模組用於awk內建變數FS,RS的賦值,在awk執行前
3.END模組用來最後輸出,統計資訊
awk幾種運算表示式:a=a+1或者a++ a=a+2或者a+=2 a+=$0
主要引數:-F 指定分隔符 比如說指定:為分隔符,那麼:相當於一把菜刀,把資料切成一塊一塊,這個就是-F的作用
在linux裡面==等於等號。一個=在linux裡面相當於賦值
主要案例:awk 'NR>19 && NR<31' xujun.txt
awk 'NR==20,NR==30' xujun.txt
awk -F ":" 'NR==1 {print $6}' /etc/passwd
awk -F "[ :]+" '{print $3,$5,$7}' 加號表示取一個整體
cat /etc/passwd|awk -F "[ :]+" 'NR==10,NR==20 {print $3}'
awk 'BEGIN{RS=":"} {print NR,$0}' passwd
awk 'BEGIN{RS=":"} {print NR,$0}' passwd
awk 'BEGIN{RS="[:/0-9 |\n]+"}{print $0}' passwd | sort | uniq -c | sort -rn 統計單詞數
awk -F "[ /]+" '$1~/^(ftp|http|ssh)$/{print $1,$2}' /etc/services
awk -F "[:]+" '$3>15{a=a+1}END{print a}' awkfile.txt
awk 'BEGIN{oldboy["a"]="xujun";olboy["b"]="xiaoyu";oldboy["c"]="wo"
awk '{print NR,$0}' xujun.txt
>print oldboy["a"]
>print oldbot["b"]
>print oldboy["c"]}' 這個案列引用了陣列的概念:1.awk陣列的元素名(蘋果名)可以是字串
2.字串要使用雙引號引起來
echo oldboy{01..10}|xargs -n 1|awk '{print "echo "$0" >>/tmp/oldboy.txt && useradd "$0" && pa=$(mkpasswd|cut -c 1-5) && echo $pa|passwd --stdin "$0"|echo $pa >>/tmp/oldboy.txt"}'|bash 批量建立使用者和隨機密碼
awk -F "[: ]+" '/Dan/{print $5}' reg.txt 已Dan開頭的行,並且匹配第五列
awk -F "[ :]+" '$3~/^138/{print $1,$3}' reg.txt 已138開頭的手機號碼,取人的名字和號碼(這裡的~表示匹配的意思)
awk -F "[ :]+" '$3!~/^138/{print $1,$2":"$3}' reg.txt 匹配不已138開頭的手機號碼和人的名字
awk -F "[ :]+" '!/138/{print $1,$2":"$3}' reg.txt 匹配不已138開頭的手機號碼和人的名字
awk -F "[ :]+" '$1~/C|E/{print $1,$2}' reg.txt 已C或E開頭的人名
awk -F "[ :]+" '$3~/(1|5)$/{print $1,$2}' reg.txt 已結尾為1或者5的手機數字,然後取對應的人名
awk 'NR==2||NR==3||NR==9{print NR,$0}' xujun.txt或者awk 'NR==2;NR==3;NR==9{print NR,$0}'
xujun.txt
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin 取第二行,第三行,第九行
awk 'BEGIN{a="abcd";print a}' awk中字母會被認為是變數,如果真的要給一個變數賦值,使用雙引號
awk '/^$/{i=i+1}END{print i}' /etc/services 統計空行數量
seq 100|awk '{s=s+$0}'END'{print s}'
awk 'BEGIN{oldboy["a"]="oldgirl";oldboy["b"]="xujun";oldboy["c"]="oldbaby"
> for(police in oldboy)
> print police,oldboy[police]
> }'
a oldgirl
b xujun
c oldbaby (awk陣列)
awk -F "[/]+" '{ceshi[$2]=ceshi[$2]+1}'END'{for(police in ceshi)print police,ceshi[police]}' ceshi.txt (陣列)
mp3.etiantian.org 1
post.etiantian.org 2
www.etiantian.org 3
awk '{a[$1]+=$2}END{for(i in a)print i,a[i]}' shuzu.txt “a[$1]=a[$1]+$2”=”a[$1]+=$2”
awk小結:1.NR行號,存放著每個記錄的號,讀取新行時候自動+1
2.RS是輸入資料的記錄的分隔符,簡單理解就是可以指定每個記錄的結尾標誌
3.用RS替換\n
4.RS作用就是表示一個記錄的結束
5.FS標識著每個區域的結束
6.awk只有模式(條件)的時候,會預設輸出整行($0)
7.$1~/正則表示式-開始/,$3~/正則結束/ 行,記錄
8.awk中字母會被認為是變數,如果真的要給一個變數賦值,使用雙引號
24.rmdir 刪除空目錄
主要選項:-p 刪除某目錄後,如果其父目錄為空,則一併刪除
主要案列:rmdir /oldboy
25.tree 顯示目錄樹 *
主要選項:-a 顯示所有檔案和目錄
-d 只顯示目錄
-L 後面接上數字,表示只顯示幾層樹結構
-f 為每個檔案和目錄顯示完整的路徑
-F 可以用來區分檔案和目錄
-i 不以階梯狀列出檔案或目錄名稱
主要案例:[[email protected] ~]# tree -d -L 1 /application/
/application/
├── apache2.2.17
├── mysql -> /application/mysql-5.6.35/
└── mysql-5.6.35
3 directories
26.man 幫助命令 *
當要搜尋某個關鍵字的時候,輸入/,然後在輸入關鍵字搜尋
其中n這個快捷鍵是向下翻所查詢的關鍵字的內容,大寫N是向上查詢
主要案列:man cp
27.--help 簡單的幫助命令 *(外部命令)
主要案列:cp --help
28.uname 檢視系統 *
主要選項:-m 檢視系統是幾位作業系統
-r 檢視系統的核心版本
-a 檢視詳細的系統核心版本和系統的作業系統
主要案列:[[email protected] ~]# uname -a
Linux db02 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
29.stat 詳細檢視檔案和目錄的資訊 *
主要案例:[[email protected] ~]# stat xujun.txt
File: `xujun.txt'
Size: 310 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 916335 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2017-08-14 16:53:53.668136237 +0800
Modify: 2017-08-14 16:53:48.144137021 +0800
Change: 2017-08-14 16:53:48.144137021 +0800
30.rz 上傳命令 *
假如系統裡面沒有這個命令,則使用yum install lrzsz -y來安裝次命令
主要引數:-y 覆蓋
主要案例:直接輸入rz,就可以上傳檔案
注意:新版的xshell支援直接從windows把檔案拖進xshell裡,但是前提必須安裝了rz
31.sz 下載命令 *
主要引數:-y 覆蓋
主要案例:sz -y xujun.txt
注意:1.只能上傳檔案,目錄不行。假如一定要上傳目錄的話,可以打包上傳,但必須是zip格式
2.下載的檔案到linux中,是當前路徑
32.useradd 建立普通使用者 *
主要選項:-u 指定uid 列子:useradd -u 504 xujun (重要)
-c 新賬號password的說明欄
-d 設定新賬號每次登入時使用的家目錄
-e 賬號終止日期。日期格式為MM/DD/YY
-g 指定屬於的主組
-G 定義此使用者為多個不同的組成員,每個使用者組使用,逗號來分隔
-s 指定登入shell (重要)
-m 建立家目錄
-M 不建立使用者家目錄
-r 建立系統使用者
-D 顯示或修改使用者的預設配置 修改的結果儲存與/etc/default/useradd檔案中
主要案例:useradd -s /sbin/nologin -M xujun
useradd -u 504 xujun
注意:建立使用者時的諸多預設設定配置檔案為/etc/login.defs
/etc/default/useradd這個配置檔案,可以預設更改useradd的一些引數
33.passwd 建立使用者密碼或修改密碼 *
主要選項:--stdin 非互動式設定密碼
-n 指定最短使用期限
-x 最大使用期限
-w 提前多少天開始警告
-i 非活動期限
-e 過期期限
主要案例:echo “123456”|passwd --stdin xujun
34.su 切換使用者 *
主要選項:-c 變更賬號為USER的使用者,並執行指令後再變回原來的使用者
- 載入環境變數
主要案例:su - xujun
35.hostname 顯示和設定主機名 *
主要案列:hostname 直接輸入,顯示主機名
hostname xujun 更改xujun為主機名 但這個只是暫時的更改,重啟就沒有了
假如需要永久性的更改主機名,需要到配置檔案/etc/sysconfig/network
36.init 切換執行級別
主要案例:init 0 關機
init 1 單使用者
init 2 沒有NFS網路的多使用者模式
init 3 有NFS網路的多使用者模式
init 4 沒有使用者
init 5 x window
init 6 重啟
37.runlevel 檢視當前系統的執行級別
主要案例:直接輸入runlevel
38.shutdown 關機
主要選項:-h 關機
-r 重啟
-c 終止關機或重啟的動作
主要案例:shutdown -h now
shutdown -r now
39.reboot 重啟
主要案例:直接輸入reboot
40.history 檢視命令歷史記錄 *
登陸shell時,會讀取命令歷史檔案中記錄下的命令(~.bash_history)
登陸進shell後新執行的命令只會記錄在快取中,這些命令會使用者退出時追加至~.bash_history
!#:再一次執行歷史列表中的第#條命令
!!:再一次執行上一條命令
!STRING:再一次執行已STRING開頭的命令
控制命令歷史記錄的方式:HISTCONTROL=ignoredups(忽略重複的命令),ignorespace(忽略已空格開頭的命令),ignoreboth(以上兩者同時生效)
主要選項:-a 追加本次會話新執行的命令歷史列表至歷史檔案中
-c 清空所有
-d 刪除指定歷史內容
主要案例:如何呼叫歷史記錄,使用!後面接命令的字元 比如:!Touch
history -c
History -d 5 刪除指定歷史內容
41.mount 磁碟掛載 *
主要選項:-t 後面可以接檔案系統ext2 ext3等等
-r 只讀掛載
-L 掛載時以卷標的方式指明裝置
-U 掛載時以uuid的方式指明裝置
-a 可自動掛載定義在/etc/fstab檔案中的所支援自動掛載的裝置
-o 掛載選項:
sync/async:同步/非同步操作
atime/noatime:檔案或目錄在被訪問時是否更新其訪問時間戳
diratime/nodiratime:目錄在被訪問時是否更新其訪問時間戳
remount/:重新掛載
acl:支援使用訪問控制列表
dev/nodev:此裝置上是否允許建立裝置檔案
exec/noexec:是否允許允許此裝置上的程式檔案
user/nouser:是否允許普通使用者掛載此檔案系統
suid/nosuid:是否允許程式檔案上的suid和sgind特殊許可權生效
使用技巧:可以實現將目錄繫結至另一個目錄上,作為其臨時訪問入口
mount --bind 源目錄 目標目錄:mount --bind /etc /mnt
主要案列:mount -t ext3 /dev/cdrom /mnt
lsof /mnt 當umount /mnt無法解除安裝的時候,可以使用這個命令,來檢視是否有程序在使用中
42.which 詳細檢視命令的路徑 *
主要選項:--skip-alias 不顯示別名
主要案列:which ls
[[email protected] ~]# which --skip-alias ls
/bin/ls
43.dmesg 檢視系統的故障詳細情況
主要案例:dmesg
44.ifup和ifdown啟動和停止網絡卡,後面接網絡卡名 *
主要案例:ifdown eth0
ifup eth0
45.nl 顯示行號
主要案例:nl xujun.txt
46.less 檢視當前文件內容,相比cat,less的使用方式更加的靈活多變,它可以實現上下翻頁等功能 *
主要選項:-N 顯示行號
主要案列:less xujun.txt
47.more 按頁檢視,不能回退,靈活上不如less *
主要案例:more xujun.txt
48.wc 統計檔案的字數和行數,位元組數 *
主要選項:-l 顯示總行數,常用於檢視程序是否啟動
-L 顯示最長一行的字元數
-c 顯示位元組數
-m 顯示字元數
-w 顯示單詞數
主要案例:wc -l xujun.txt
[[email protected] ~]# ps -ef|grep "/sbin/nginx"|grep -v grep|wc -l
1 工作常用這個來檢視程序是否存在,假如為1,就是存在的。
要是0的話,就表示該程序不存在
49.chkconfig 設定開機自啟動 *
主要選項:--list 檢視啟動服務
--level 設定執行級別
--add 新增服務
--del 刪除服務
注意:正常級別下,最後啟動的一個服務S99local沒有連結至/etc/init.d/下的指令碼,而是連結了/etc/rc.d/rc.local指令碼。因此,不便或不需寫為服務指令碼的程式要想開機自啟動,則需要放置此檔案中即可。
主要案列:chkconfig --level 5 sshd off(on)
chkconfig --list sshd (檢視指定服務是否開啟還是關閉)
chkconfig --list|grep "3:on"|egrep -v "crond|sshd|network|rsyslog|sysstat"|awk '{print "chkconfig",$1,"off"}'|bash
假如我寫了一個指令碼(命令的集合),怎麼讓chkconfig管理並執行呢
1.指令碼必須放在/etc/init.d下
2.指令碼要有執行許可權(x)
3.指令碼的前幾行必須要有
#chkconfig:2345 08 92 #這個必須要有
#description:starts,stop and saves iptables firewall
4.通過chkconfig --add新增
50.dumpe2fs 顯示ext2/ext3/ext4檔案系統資訊
主要案列:dumpe2fs /dev/sda1
51.df 列出linux下所有的磁碟容量 *
主要選項:-h 已人類可讀的方式(MB,GB,KB)顯示出來
-i 列出inode剩餘的總量和使用量
-T 檢視當前掛載的檔案系統
-l 僅顯示本地檔案的相關資訊
主要案例:df -h
52.file 檢視檔案型別
主要案例:file xujun.txt
53.檢視使用者的最近登陸資訊,對應的資料檔案是/var/log/wtmp *
主要案例:[[email protected] yum.repos.d]# last
root pts/3 10.0.0.1 Fri Aug 18 11:19 still logged in
root pts/1 10.0.0.1 Mon Aug 14 22:37 - 13:15 (3+14:37)
root pts/4 10.0.0.1 Mon Aug 14 17:00 - 17:02 (00:02)
root pts/3 10.0.0.1 Fri Aug 11 22:56 - 19:40 (2+20:44)
54.lastlog:顯示最近登陸的所有使用者資訊。對應的資料檔案是/var/log/lastlog
主要案例:[[email protected] ~]# lastlog
Username Port From Latest
root pts/0 192.168.203.1 Tue Mar 14 22:12:43 +0800 2017
bin **Never logged in**
daemon **Never logged in**
adm **Never logged in**
lp **Never logged in**
sync **Never logged in**
55.ln 連結檔案 *
1.硬連結:可以看做是一種備份,當原檔案寫入,備份檔案也會自動寫入。當原檔案被刪除的時候,備份檔案還能繼續使用。
2.軟連結:可以看做是windows下的快捷方式。此連結方式的特點可以概括如下:原檔案刪除,備份檔案不能使用。
主要選項:-s 如果不加-s,就是硬連結。相反加了-s,就是軟連結
主要案例:ln -s