Linux命令列操作基礎練習
linux是支援多國語言的,terminal在預設的情況下,無法支援以中文編碼輸出資料的.這個時候,我們就得將支援語系改為英文,才能以英文顯示出正確的訊息
1,顯示目前所支援的語系
[[email protected] ~]$ locale LANG=zh_TW.utf8 # 語言語系的輸出 LC_CTYPE="zh_TW.utf8" # 下面為許多資訊的輸出使用的特別語系 LC_NUMERIC=zh_TW.UTF-8 LC_TIME=zh_TW.UTF-8 # 時間方面的語系資料 LC_COLLATE="zh_TW.utf8"
LC_ALL= # 全部的資料同步更新的設定值
2,修改語系為英文語系
$ LANG=en_US.utf-8 $ export LC_ALL=en_US.utf-8 # LANG 只與輸出訊息有關,若需要更改其他不同的資訊,要同步更新 LC_ALL才行
顯示日期與時間的指令: date
顯示日曆的指令: cal
簡單好用的計算機: bc
[[email protected] ~]$ date Fri May 29 14:32:01 CST 2015
date的格式化輸出
$ date +%Y/%m/%d 2018/07/08 $ date +%H:%M 18:14
顯示日曆的指令: cal
[[email protected] ~]$ cal May 2015 Su Mo Tu We Th Fr Sa1 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 31
cal 2015 會顯示正年的日曆
cal [month] [year] 檢視某年某月的月曆
計算機: bc
[[email protected] ~]$ bc bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. _ <==這個時候,游標會停留在這裡等待你的輸入
[[email protected] ~]$ bc bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 1+2+3+4 <==只有加法時 107-8+3 210*52 520 10%3 <==計算“餘數” 110^2 100 10/100 <==這個最奇怪!不是應該是 0.1 嗎? 0quit <==離開 bc 這個計算器計算機
bc預設僅輸出整數,如果要輸出小數點下位數,那麼就必須要執行scale=number,那個number就是小數點的位數
scale=3 <==沒錯!就是這裡!! 1/3 .333 340/2349 .144 quit
幾個重要的熱鍵[Tab], [ctrl]-c, [ctrl] - d
[Tab]: 命令補全功能與檔案補齊,雙擊[Tab]會顯示可以操作的命令
在這一版的 CentOS 7.x 當中,由於多了一個名為 bash_completion 的軟體,這個軟體會主動的去偵測“各個指令可以下達的選項與參
數”等行為, 因此,那個“檔案補齊”的功能可能會變成“選項、引數補齊”的功能,不一定會主動補齊檔名了喔
View Code
[ctrl]-c: 終止正在執行的命令
[ctrl]-d: 離開命令,代替exit
[shift]+{[pageup]|[pagedown]} : 翻頁
Linux系統的線上求助man page與info page
指令的 --help求助說明
[[email protected] ~]# date --help Usage: date [OPTION]... [+FORMAT] # 這裡有基本語法 or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] # 這是設定時間的語法 Display the current time in the given FORMAT, or set the system date. # 下面是主要的選項說明 Mandatory arguments to long options are mandatory for short options too. -d, --date=STRING display time described by STRING, not 'now' -f, --file=DATEFILE like --date once for each line of DATEFILE ....(中間省略).... -u, --utc, --universal print or set Coordinated Universal Time (UTC) --help 顯示此求助說明並離開 --version 顯示版本資訊並離開 # 下面則是重要的格式 (FORMAT) 的主要專案 FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) %A locale's full weekday name (e.g., Sunday) ....(中間省略).... # 下面是幾個重要的範例 (Example) Examples: Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' ....(下面省略)....--help
man page
[[email protected] ~]$ LANG="en_US.utf8" # 還記得這個咚咚的用意吧?前面提過了,是為了“語系”的需要啊!下達過一次即可! [[email protected] ~]$ man date DATE(1) User Commands DATE(1) # 請注意上面這個括號內的數字 NAME <==這個指令的完整全名,如下所示為date且說明簡單用途為設定與顯示日期/時間 date - print or set the system date and time SYNOPSIS <==這個指令的基本語法如下所示 date [OPTION]... [+FORMAT] <==第一種單純顯示的用法 date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] <==這種可以設定系統時間的用法 DESCRIPTION <==詳細說明剛剛語法談到的選項與引數的用法 Display the current time in the given FORMAT, or set the system date. Mandatory arguments to long options are mandatory for short options too. -d, --date=STRING <==左邊-d為短選項名稱,右邊--date為完整選項名稱 display time described by STRING, not 'now' -f, --file=DATEFILE like --date once for each line of DATEFILE -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format. TIMESPEC='date' for date only (the default), 'hours', 'minutes', 'seconds', or 'ns' for date and time to the indicated precision. ....(中間省略).... # 找到了!下面就是格式化輸出的詳細資料! FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) %A locale's full weekday name (e.g., Sunday) ....(中間省略).... ENVIRONMENT <==與這個指令相關的環境引數有如下的說明 TZ Specifies the timezone, unless overridden by command line parameters. If neither is specified, the setting from /etc/localtime is used. EXAMPLES <==一堆可用的範本 Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' ....(中間省略).... DATE STRING <==上面曾提到的 --date 的格式說明! The --date=STRING is a mostly free format human readable date string such as "Sun, 29 Feb 2004 16:21:42 -0800" or "2004-02-29 16:21:42" or even "next Thursday". A date string may contain items indicating calendar date, time of day, time zone, day of AUTHOR <==這個指令的作者啦! Written by David MacKenzie. COPYRIGHT <==受到著作權法的保護!用的就是 GPL 了! Copyright © 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WAR‐ RANTY, to the extent permitted by law. SEE ALSO <==這個重要,你還可以從哪裡查到與date相關的說明文件之意 The full documentation for date is maintained as a Texinfo manual. If the info and date programs are properly installed at your site, the command info coreutils 'date invocation' should give you access to the complete manual. GNU coreutils 8.22 June 2014 DATE(1)man page
代號的不同含義
代號 | 代表內容 |
1* | 使用者在shell環境中可以操作的指令或可可執行檔案 |
2 | 系統核心可呼叫的函式與工具等 |
3 | 一些常用的函式(function)與函式庫(library),大部分為c的函式庫(libc) |
4 | 裝置檔案的說明 |
5* | 配置檔案或者是某些檔案的格式 |
6 | 遊戲 |
7 | 慣例與協定等,例如Linux檔案系統,網路協定,asciicode等等說明 |
8* | 系統管理員可用的管理指令 |
9 | 跟kernel有關的檔案 |
NAME : 簡短的指令,資料名稱說明
SYNOPSIS : 簡短的指令下達語法(syntax)簡介
DESCRIPTION : 較為完整的說明,這部分最好仔細看看
OPTIONS : 針對SYNOPSIS部分中,有例舉的所有可用的選項說明
COMMANDS : 當這個程式(軟體)在執行的時候,可以再次程式(軟體)中下達命令
FILFES : 這個程式或資料所是用或引數或連線到的某個檔案
SEE ALSO : 可以參考的,跟這個指令或資料有相關的其他說明
EXAMPLE : 一些可以參考的範例
date的說明
輸入/可以開始輸入搜尋字串
按鍵 | 進行工作 |
空白鍵 | 向下翻一頁 |
[pgDn] | 一行一行的 |
[pgUp] | 同上 |
[Home] | 第一頁 |
[end] | 最後一頁 |
/string | 向下搜尋string這個字串 |
?string | 向上搜尋string這個字串 |
n,N | 繼續下一個或者反向查詢 |
q | 退出page |
搜尋特定指令/檔案的manpage說明文件
man -f man
獲取更多的man相關的資訊
man -k man
獲取有man這個關鍵字的所有
其他有用的檔案(document)
目錄: /usr/share/doc
資料同步寫入磁碟: sync
su - 切換使用者
shutdown 關機的一些引數
[[email protected] ~]# /sbin/shutdown [-krhc] [時間] [警告訊息] 選項與引數: -k : 不要真的關機,只是傳送警告訊息出去! -r : 在將系統的服務停掉之後就重新開機(常用) -h : 將系統的服務停掉後,立即關機。 (常用) -c : 取消已經在進行的 shutdown 指令內容。 時間 : 指定系統關機的時間!時間的範例下面會說明。若沒有這個專案,則預設 1 分鐘後自動進行。shutdown引數
[[email protected] ~]# shutdown -h now 立刻關機,其中 now 相當於時間為 0 的狀態 [[email protected] ~]# shutdown -h 20:25 系統在今天的 20:25 分會關機,若在21:25才下達此指令,則隔天才關機 [[email protected] ~]# shutdown -h +10 系統再過十分鐘後自動關機 [[email protected] ~]# shutdown -r now 系統立刻重新開機 [[email protected] ~]# shutdown -r +30 'The system will reboot' 再過三十分鐘系統會重新開機,並顯示後面的訊息給所有在線上的使用者 [[email protected] ~]# shutdown -k now 'This system will reboot' 僅發出警告信件的引數!系統並不會關機啦!嚇唬人!例項
重新開機,關機: reboot,halt,poweroff
上面的halt,poweroff,reboot,shutdown等都是呼叫這個systemctl指令
systemctl [指令]
halt : 進入系統停止的模式,螢幕可能會保留一些訊息
poweroff : 進入系統關機模式.直接關機沒有提供電力
reboot : 直接重新開機
suspend : 進入休眠模式
wget命令
wget命令用於在終端中下載網路檔案,格式為“wget [引數] 下載地址”。
如果您沒有Linux系統的管理經驗,當前只需瞭解一下wget命令的引數以及作用,然後看一下下面的演示實驗即可,切記不要急於求成。後面章節將逐步講解Linux系統的配置管理方法,可以等您掌握了網絡卡的配置方法後再來進行這個實驗操作。表2-5所示為wget命令的引數以及引數的作用。
Linux的檔案許可權與目錄配置
-b 後臺下載 -p 下載到指定目錄 -t 最大的嘗試次數 -c 斷電續傳 -P 下載頁面內所有資源,包括圖片,視訊等 -r 遞迴下載
ps命令
檢視系統中的程序狀態
-a 顯示所有程序 -u 使用者以及其他詳細資訊 -x 顯示沒有控制終端的程序
Linux系統中時刻執行著許多程序,如果能夠合理地管理它們,則可以優化系統的效能。在Linux系統中,有5種常見的程序狀態,分別為執行、中斷、不可中斷、僵死與停止,其各自含義如下所示。
R(執行):程序正在執行或在執行佇列中等待。
S(中斷):程序處於休眠中,當某個條件形成後或者接收到訊號時,則脫離該 狀態。
D(不可中斷):程序不響應系統非同步訊號,即便用kill命令也不能將其中斷。
Z(僵死):程序已經終止,但程序描述符依然存在, 直到父程序呼叫wait4()系統函式後將程序釋放。
T(停止):程序收到停止訊號後停止執行。
top命令
動態的監視程序活動與系統負載等資訊,格式為top
第1行:系統時間、執行時間、登入終端數、系統負載(三個數值分別為1分鐘、5分鐘、15分鐘內的平均值,數值越小意味著負載越低)。
第2行:程序總數、執行中的程序數、睡眠中的程序數、停止的程序數、僵死的程序數。
第3行:使用者佔用資源百分比、系統核心佔用資源百分比、改變過優先順序的程序資源百分比、空閒的資源百分比等。其中資料均為CPU資料並以百分比格式顯示,例如“97.1 id”意味著有97.1%的CPU處理器資源處於空閒。
第4行:實體記憶體總量、記憶體使用量、記憶體空閒量、作為核心快取的記憶體量。
第5行:虛擬記憶體總量、虛擬記憶體使用量、虛擬記憶體空閒量、已被提前載入的記憶體量。
pidof命令
查詢某個指定服務程序的PID,格式為pidof [引數] [服務名稱]
kill命令
終止某個指定PID的服務程序
killall命令
終止某個指定服務所對應的全部服務
系統狀態檢測命令
ifconfig命令
獲取網絡卡配置與網路狀態資訊
uname命令
檢視系統核心與系統版本等資訊
一般與-a引數完成檢視當前核心名稱,主機名,核心發行版本,節點名,系統時間,硬體名稱,硬體平臺,處理器型別以及作業系統名稱等資訊
uptime命令
檢視系統傅在資訊
free命令
顯示系統中記憶體的使用量資訊, free -h
who命令
檢視當前登入主機的使用者終端資訊
last命令
檢視系統登陸記錄
history命令
顯示歷史執行過的命令,格式為history -c
sosreport命令
收集系統配置及架構資訊並輸出診斷文件
工作目錄切換命令
pwd命令
顯示使用者當前所處的工作的目錄
cd命令
切換檔案路徑
ls命令 ls -al
檢視命令
文字檔案編輯命令
cat命令
參看純文字檔案 -n顯示行數
more命令
檢視純文字檔案,(內容較多)
head命令
顯示純文字文件的前N行
tail命令
純文字文件的後N行或持續重新整理內容
tr命令
替換檔案中的字元 cat test | tr [原字元] [目標字元]
wc命令
統計指定文字的行數,字數,位元組數,格式為 wc [引數] 文字
-l 只顯示行數 -w 只顯示單詞書 -c 只顯示位元組數
start命令
檢視檔案儲存資訊和時間等資訊
cut命令
按"列"提取文字字元,格式為 cut [引數] 文字
diff命令
比較多個檔案的差異
檔案目錄管理命令
touch命令
建立空白檔案或設定檔案的時間
mkdir命令
建立空白的目錄
cp命令
複製檔案或目錄, cp[選項] 原始檔 目標檔案
如果目標檔案是目錄,則會把原始檔複製到該目錄中;
如果目標檔案也是普通檔案,則會詢問是否要覆蓋它;
如果目標檔案不存在,則執行正常的複製操作。
-p 保留原始檔的屬性 -d 若物件為連結檔案,則保留該連線檔案的屬性 -r 遞迴持續複製 -i 若檔案存在則詢問是否覆蓋 -a 相當於-pdr
mv命令
剪下檔案或將檔案重新命名
rm命令
刪除檔案或目錄
rm命令用於刪除檔案或目錄,格式為“rm [選項] 檔案”。
在Linux系統中刪除檔案時,系統會預設向您詢問是否要執行刪除操作,如果不想總是看到這種反覆的確認資訊,可在rm命令後跟上-f引數來強制刪除。另外,想要刪除一個目錄,需要在rm命令後面一個-r引數才可以,否則刪除不掉。
dd命令
按照指定大小和個數的資料塊來複制檔案或轉換檔案
file命令
檢視檔案型別
tar命令
tar命令用於開啟檔案進行打包壓縮或解壓
-c 建立壓縮檔案 -x 解開壓縮檔案 -t 檢視壓縮包內有哪些檔案 -z 有Gzip壓縮或解壓 -j 用bzip2壓縮或解壓 -v 顯示壓縮或解壓的過程 -f 目標檔名 -P 保留原始的許可權與屬性 -p 使用絕對的路徑來壓縮 -C 指定解壓的目錄
grep命令
用於關鍵詞搜尋,並顯示匹配的結果
-b 將可執行檔案(binary)當作檔案(text)來搜尋 -c 僅顯示找到的行數 -i 忽略大小寫 -n 顯示行號 -v 反向選擇-僅列出沒有"關鍵詞"的行
find命令 find [查詢路徑] 尋找條件 操作
按照指定條件來查詢檔案
-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 …… {}\; 後面可跟用於進一步處理搜尋結果的命令(下文會有演示)
-iname 不區分大小寫
loacte命令
locate命令要比find快得多,原因在於它不搜尋,原因在於它不搜尋具體目錄,而是所有一個數據庫(/var/lib/locatedb),這個資料庫中含有本地所有檔案資訊.Linux系統自動建立這個資料庫,並且每天自動更新一次,所以使用loacte命令查不到最新變動過的檔案,為了避免這種情況,可以再使用locate之前,顯示用updatedb命令,手動更新資料庫
locate 命令的使用例項: $locate /etc/sh 搜尋etc目錄下所有sh開頭的檔案 $locate ~/m 搜尋使用者主目錄下,所有m開頭的檔案 $locate -i ~/m 搜尋使用者主目錄下,所有以m開頭的檔案,並且忽略大小寫.
whereis
whereis命令只能用於程式名的搜尋,而且只搜尋二進位制檔案(引數-b), man說明檔案(引數-m)和原始檔(引數-s).如果省略引數,則返回所有資訊
whereis命令的使用例項
$whereis grep
which
which命令的作用是,再PATH變數指定的路徑中,搜尋某個系統命令的位置,並且返回第一個搜尋結果,也就是說,使用which命令,就可以看到某個系統命令是否存在,以執行的到底是哪一個位置命令.
which命令的使用:
$which grep
yum命令
yum repolist all 列出所有倉庫 yum list all 列出倉庫中所有的軟體 yum info 軟體名稱 檢視軟體包資訊 yum install 軟體名稱 安裝軟體包 yum reinstall 軟體名稱 重新安裝軟體包 yum update 軟體名稱 升級軟體包 yum clean all 移除軟體包 yum check-update 檢查可更新的軟體包 yum grouplist 檢視系統中已經按安裝的軟體包組 yum groupinstall 軟體包組 安裝指定的軟體包組 yum groupremove 軟體包組 移除指定的軟體包組 yum groupinfo 軟體包組 查詢指定的軟體包組資訊
systemd初始化程序
RHEL 7 系統選擇 systemd 初始化程序服務已經是一個既定事實,因此也沒有 了“執行級別”這個概念,Linux 系統在啟動時要進行大量的初始化工作,比如掛載檔案系統 和交換分割槽、啟動各類程序服務等,這些都可以看作是一個一個的單元(Unit),systemd 用目 標(target)代替了 System V init 中執行級別的概念,這兩者的區別如下
systemd 與 system V init 的區別以及作用
執行級別 systemd目標名稱 作用 0 runleve10.target, poweroff.target 關機 1 runlevel1.target, rescue.target 單使用者模式 2 runlevel2.target, multi-user.target 等同於級別3 3 runlevel3.target, multi-user.target 多使用者的文字介面 4 runlevel4.target, multi-user.target 等同於等級3 5 runlevel5.target, graphical.target 多使用者的圖形介面 6 runlevel6.target, reboot.target 重啟 emergency emergency.target 緊急shell
修改系統預設的執行級別
init 3
如果想將系統預設的執行目標修改為"多使用者, 無圖形"模式,可直接用ln命令把多使用者模式目標檔案連線到/etc/systemd/system/目錄:
# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
systemctl 管理服務的啟動,重啟,停止,過載,檢視狀態等常用命令
systemctl start foo.service 啟動服務 systemctl restart foo.service 重啟服務 systemctl stop foo.service 停止服務 systemctl reload foo.service 重新載入配置檔案(不執行服務) systemctl status foo.service 檢視服務狀態
systemctl設定服務開機啟動,不啟動,檢視各級別下服務啟動狀態等常用命令
systemctl enable foo.service 開機自動啟動 systemctl disable foo.service 開機不自動啟動 systemctl is-enabled foo.service 檢視特定服務是否為開機自動啟動 systemctl list-unit-files --type=service 檢視各個級別下服務的啟動與禁用情況
網路相關的命令
write 給使用者傳送訊息 ctrl+D儲存傳送
wall write all 傳送所有資訊
ping -c 指定傳送次數
ifconfig interface configure 檢視當前網路
eth0 本機的真實網絡卡
lo 迴環網絡卡
mail 檢視傳送的電子郵件
last 統計使用者登陸時間
netstart 顯示網路相關資訊
-t tcp協議
-u udp協議
-l 監聽
-r 路由(閘道器)
-n 顯示ip地址和埠號
範例:
netstat -tlun 檢視本機監聽的埠
netstat -an 檢視本機所有的網路連線
netstat -rn 檢視本機路由表
setup 配置網路
掛在命令
mount mount -t 檔案系統 裝置檔名掛在點
mount -t iso9660 /dev/sr0/mnt/cdrom
關機命令
shutdown -r now/可以指定時間(推薦使用)
-c 取消前一個關機命令
-h 關機
-r 重啟
1,顯示目前所支援的語系
[[email protected] ~]$ locale LANG=zh_TW.utf8 # 語言語系的輸出 LC_CTYPE="zh_TW.utf8" # 下面為許多資訊的輸出使用的特別語系 LC_NUMERIC=zh_TW.UTF-8 LC_TIME=zh_TW.UTF-8 # 時間方面的語系資料 LC_COLLATE="zh_TW.utf8"
LC_ALL= # 全部的資料同步更新的設定值
2,修改語系為英文語系
$ LANG=en_US.utf-8 $ export LC_ALL=en_US.utf-8 # LANG 只與輸出訊息有關,若需要更改其他不同的資訊,要同步更新 LC_ALL才行
顯示日期與時間的指令: date
顯示日曆的指令: cal
簡單好用的計算機: bc
[[email protected] ~]$ date Fri May 29 14:32:01 CST 2015
date的格式化輸出
$ date +%Y/%m/%d 2018/07/08 $ date +%H:%M 18:14
顯示日曆的指令: cal
[[email protected] ~]$ cal May 2015 Su Mo Tu We Th Fr Sa 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 31
cal 2015 會顯示正年的日曆
cal [month] [year] 檢視某年某月的月曆
計算機: bc
[[email protected] ~]$ bc bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. _ <==這個時候,游標會停留在這裡等待你的輸入
[[email protected] ~]$ bc bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 1+2+3+4 <==只有加法時 107-8+3 210*52 520 10%3 <==計算“餘數” 110^2 100 10/100 <==這個最奇怪!不是應該是 0.1 嗎? 0quit <==離開 bc 這個計算器計算機
bc預設僅輸出整數,如果要輸出小數點下位數,那麼就必須要執行scale=number,那個number就是小數點的位數
scale=3 <==沒錯!就是這裡!! 1/3 .333 340/2349 .144 quit
幾個重要的熱鍵[Tab], [ctrl]-c, [ctrl] - d
[Tab]: 命令補全功能與檔案補齊,雙擊[Tab]會顯示可以操作的命令
在這一版的 CentOS 7.x 當中,由於多了一個名為 bash_completion 的軟體,這個軟體會主動的去偵測“各個指令可以下達的選項與參
數”等行為, 因此,那個“檔案補齊”的功能可能會變成“選項、引數補齊”的功能,不一定會主動補齊檔名了喔
View Code
[ctrl]-c: 終止正在執行的命令
[ctrl]-d: 離開命令,代替exit
[shift]+{[pageup]|[pagedown]} : 翻頁
Linux系統的線上求助man page與info page
指令的 --help求助說明
[[email protected] ~]# date --help Usage: date [OPTION]... [+FORMAT] # 這裡有基本語法 or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] # 這是設定時間的語法 Display the current time in the given FORMAT, or set the system date. # 下面是主要的選項說明 Mandatory arguments to long options are mandatory for short options too. -d, --date=STRING display time described by STRING, not 'now' -f, --file=DATEFILE like --date once for each line of DATEFILE ....(中間省略).... -u, --utc, --universal print or set Coordinated Universal Time (UTC) --help 顯示此求助說明並離開 --version 顯示版本資訊並離開 # 下面則是重要的格式 (FORMAT) 的主要專案 FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) %A locale's full weekday name (e.g., Sunday) ....(中間省略).... # 下面是幾個重要的範例 (Example) Examples: Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' ....(下面省略)....--help
man page
[[email protected] ~]$ LANG="en_US.utf8" # 還記得這個咚咚的用意吧?前面提過了,是為了“語系”的需要啊!下達過一次即可! [[email protected] ~]$ man date DATE(1) User Commands DATE(1) # 請注意上面這個括號內的數字 NAME <==這個指令的完整全名,如下所示為date且說明簡單用途為設定與顯示日期/時間 date - print or set the system date and time SYNOPSIS <==這個指令的基本語法如下所示 date [OPTION]... [+FORMAT] <==第一種單純顯示的用法 date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] <==這種可以設定系統時間的用法 DESCRIPTION <==詳細說明剛剛語法談到的選項與引數的用法 Display the current time in the given FORMAT, or set the system date. Mandatory arguments to long options are mandatory for short options too. -d, --date=STRING <==左邊-d為短選項名稱,右邊--date為完整選項名稱 display time described by STRING, not 'now' -f, --file=DATEFILE like --date once for each line of DATEFILE -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format. TIMESPEC='date' for date only (the default), 'hours', 'minutes', 'seconds', or 'ns' for date and time to the indicated precision. ....(中間省略).... # 找到了!下面就是格式化輸出的詳細資料! FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) %A locale's full weekday name (e.g., Sunday) ....(中間省略).... ENVIRONMENT <==與這個指令相關的環境引數有如下的說明 TZ Specifies the timezone, unless overridden by command line parameters. If neither is specified, the setting from /etc/localtime is used. EXAMPLES <==一堆可用的範本 Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' ....(中間省略).... DATE STRING <==上面曾提到的 --date 的格式說明! The --date=STRING is a mostly free format human readable date string such as "Sun, 29 Feb 2004 16:21:42 -0800" or "2004-02-29 16:21:42" or even "next Thursday". A date string may contain items indicating calendar date, time of day, time zone, day of AUTHOR <==這個指令的作者啦! Written by David MacKenzie. COPYRIGHT <==受到著作權法的保護!用的就是 GPL 了! Copyright © 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WAR‐ RANTY, to the extent permitted by law. SEE ALSO <==這個重要,你還可以從哪裡查到與date相關的說明文件之意 The full documentation for date is maintained as a Texinfo manual. If the info and date programs are properly installed at your site, the command info coreutils 'date invocation' should give you access to the complete manual. GNU coreutils 8.22 June 2014 DATE(1)man page
代號的不同含義
代號 | 代表內容 |
1* | 使用者在shell環境中可以操作的指令或可可執行檔案 |
2 | 系統核心可呼叫的函式與工具等 |
3 | 一些常用的函式(function)與函式庫(library),大部分為c的函式庫(libc) |
4 | 裝置檔案的說明 |
5* | 配置檔案或者是某些檔案的格式 |
6 | 遊戲 |
7 | 慣例與協定等,例如Linux檔案系統,網路協定,asciicode等等說明 |
8* | 系統管理員可用的管理指令 |
9 | 跟kernel有關的檔案 |
NAME : 簡短的指令,資料名稱說明
SYNOPSIS : 簡短的指令下達語法(syntax)簡介
DESCRIPTION : 較為完整的說明,這部分最好仔細看看
OPTIONS : 針對SYNOPSIS部分中,有例舉的所有可用的選項說明
COMMANDS : 當這個程式(軟體)在執行的時候,可以再次程式(軟體)中下達命令
FILFES : 這個程式或資料所是用或引數或連線到的某個檔案
SEE ALSO : 可以參考的,跟這個指令或資料有相關的其他說明
EXAMPLE : 一些可以參考的範例
date的說明
輸入/可以開始輸入搜尋字串
按鍵 | 進行工作 |
空白鍵 | 向下翻一頁 |
[pgDn] | 一行一行的 |
[pgUp] | 同上 |
[Home] | 第一頁 |
[end] | 最後一頁 |
/string | 向下搜尋string這個字串 |
?string | 向上搜尋string這個字串 |
n,N | 繼續下一個或者反向查詢 |
q | 退出page |
搜尋特定指令/檔案的manpage說明文件
man -f man
獲取更多的man相關的資訊
man -k man
獲取有man這個關鍵字的所有
其他有用的檔案(document)
目錄: /usr/share/doc
資料同步寫入磁碟: sync
su - 切換使用者
shutdown 關機的一些引數
[[email protected] ~]# /sbin/shutdown [-krhc] [時間] [警告訊息] 選項與引數: -k : 不要真的關機,只是傳送警告訊息出去! -r : 在將系統的服務停掉之後就重新開機(常用) -h : 將系統的服務停掉後,立即關機。 (常用) -c : 取消已經在進行的 shutdown 指令內容。 時間 : 指定系統關機的時間!時間的範例下面會說明。若沒有這個專案,則預設 1 分鐘後自動進行。shutdown引數
[[email protected] ~]# shutdown -h now 立刻關機,其中 now 相當於時間為 0 的狀態 [[email protected] ~]# shutdown -h 20:25 系統在今天的 20:25 分會關機,若在21:25才下達此指令,則隔天才關機 [[email protected] ~]# shutdown -h +10 系統再過十分鐘後自動關機 [[email protected] ~]# shutdown -r now 系統立刻重新開機 [[email protected] ~]# shutdown -r +30 'The system will reboot' 再過三十分鐘系統會重新開機,並顯示後面的訊息給所有在線上的使用者 [[email protected] ~]# shutdown -k now 'This system will reboot' 僅發出警告信件的引數!系統並不會關機啦!嚇唬人!例項
重新開機,關機: reboot,halt,poweroff
上面的halt,poweroff,reboot,shutdown等都是呼叫這個systemctl指令
systemctl [指令]
halt : 進入系統停止的模式,螢幕可能會保留一些訊息
poweroff : 進入系統關機模式.直接關機沒有提供電力
reboot : 直接重新開機
suspend : 進入休眠模式
wget命令
wget命令用於在終端中下載網路檔案,格式為“wget [引數] 下載地址”。
如果您沒有Linux系統的管理經驗,當前只需瞭解一下wget命令的引數以及作用,然後看一下下面的演示實驗即可,切記不要急於求成。後面章節將逐步講解Linux系統的配置管理方法,可以等您掌握了網絡卡的配置方法後再來進行這個實驗操作。表2-5所示為wget命令的引數以及引數的作用。
Linux的檔案許可權與目錄配置
-b 後臺下載 -p 下載到指定目錄 -t 最大的嘗試次數 -c 斷電續傳 -P 下載頁面內所有資源,包括圖片,視訊等 -r 遞迴下載
ps命令
檢視系統中的程序狀態
-a 顯示所有程序 -u 使用者以及其他詳細資訊 -x 顯示沒有控制終端的程序
Linux系統中時刻執行著許多程序,如果能夠合理地管理它們,則可以優化系統的效能。在Linux系統中,有5種常見的程序狀態,分別為執行、中斷、不可中斷、僵死與停止,其各自含義如下所示。
R(執行):程序正在執行或在執行佇列中等待。
S(中斷):程序處於休眠中,當某個條件形成後或者接收到訊號時,則脫離該 狀態。
D(不可中斷):程序不響應系統非同步訊號,即便用kill命令也不能將其中斷。
Z(僵死):程序已經終止,但程序描述符依然存在, 直到父程序呼叫wait4()系統函式後將程序釋放。
T(停止):程序收到停止訊號後停止執行。
top命令
動態的監視程序活動與系統負載等資訊,格式為top
第1行:系統時間、執行時間、登入終端數、系統負載(三個數值分別為1分鐘、5分鐘、15分鐘內的平均值,數值越小意味著負載越低)。
第2行:程序總數、執行中的程序數、睡眠中的程序數、停止的程序數、僵死的程序數。
第3行:使用者佔用資源百分比、系統核心佔用資源百分比、改變過優先順序的程序資源百分比、空閒的資源百分比等。其中資料均為CPU資料並以百分比格式顯示,例如“97.1 id”意味著有97.1%的CPU處理器資源處於空閒。
第4行:實體記憶體總量、記憶體使用量、記憶體空閒量、作為核心快取的記憶體量。
第5行:虛擬記憶體總量、虛擬記憶體使用量、虛擬記憶體空閒量、已被提前載入的記憶體量。
pidof命令
查詢某個指定服務程序的PID,格式為pidof [引數] [服務名稱]
kill命令
終止某個指定PID的服務程序
killall命令
終止某個指定服務所對應的全部服務
系統狀態檢測命令
ifconfig命令
獲取網絡卡配置與網路狀態資訊