首先需要明確的是:
Linux中無論是指令還是選項或者參數,請認真對待字母大小寫。
Linux中通用的命令使用方式是:命令 [選項] [參數]
1. pwd
pwd:print name of current/working directory,即打印當前的目錄(工作目錄),光桿處于哪個目錄下就會在終端上輸出當前路徑的絕對路徑。
用法示例:
[lantian@localhost ~]$ pwd
/home/lantian
這個指令在日常使用中一般不會帶其它選項,注意pwd指令沒有參數。
2. cd
cd:change directory,改變目錄。
用法示例:
-
切換至指定目錄,如切換至/var/log目錄:
[lantian@localhost ~]$ cd /var/log/
[lantian@localhost log]$ pwd
/var/log
-
切換至上一層目錄:
[lantian@localhost opt]$ cd ..
[lantian@localhost var]$ pwd
/var
-
切換至當前用戶的家目錄:
[lantian@localhost var]$ cd ~
[lantian@localhost ~]$ pwd
/home/lantian
或者
[lantian@localhost var]$ cd
[lantian@localhost ~]$ pwd
/home/lantian
-
切換至上一次執行cd指令時所處的目錄:
[lantian@localhost ~]$ cd /var/log
[lantian@localhost log]$ cd /opt
[lantian@localhost opt]$ cd -
/var/log
3. ls
ls:列出目錄的內容,即列出目錄所包含的各種類型的文件以及目錄。
常用選項:
-l 列出文件或目錄的詳細屬性信息(權限、大小、最后的修改日期)
-r 以逆序進行排列
-R 遞歸列出子目錄下的所有文件名
-h 將文件大小以人類可讀的形式顯示
-d 僅列出目錄名而列出文件名
-a 列出所有文件及目錄包含隱藏文件
-A 顯示除隱藏文件"."和".."之外的所有文件
-t 用文件和目錄的更改時間排序
用法示例:
-
列出目錄下所有文件及目錄不包含隱藏文件并顯示詳細屬性信息,以文件和目錄的更改時間進行逆序排序,文件大小人類可讀:
-
同時列出多個不同路徑下的文件列表
-
列出指定目錄下的所有文件及目錄包含子目錄及其文件
4. echo
echo:回顯指令,在終端中顯示指定的文本。
常用用法:
-
顯示一段指定的文本:
[lantian@localhost log]$ echo 'hello World!'
hello World!
如果文本中沒有引入其它變量,建議使用單引號即可,因為在shell中單引號會忽略引用內容中的所有特殊字符,如果需要在引用中再次引入變量,則需要使用雙引號。
如下所示:
[lantian@localhost log]$ person=lantian
[lantian@localhost log]$ echo 'Hello $person'
Hello $person
[lantian@localhost log]$ echo "Hello $person"
Hello lantian
-
將字符串分行顯示:
[lantian@localhost log]$ echo -e "Hello \n$person"
Hello
lantian
5. clock = hwclock
clock:查看或者設置主機硬件時鐘,它通常保存于主機的BIOS中。
-
查看主機硬件時鐘:
需要注意的是要使用這個命令查看主機時鐘,默認需要root賬號權限。
[lantian@localhost log]$ clock
clock: Cannot access the Hardware Clock via any known method.
clock: Use the --debug option to see the details of our search for an access method.
[lantian@localhost log]$ hwclock
hwclock: Cannot access the Hardware Clock via any known method.
hwclock: Use the --debug option to see the details of our search for an access method.
根據以上提示信息,使用debug選項進一步查看原因,可荻知是由于文件權限問題所致:[lantian@localhost log]$ clock --debug
clock from util-linux 2.23.2
clock: cannot open /dev/rtc: Permission denied
No usable clock interface found.
clock: Cannot access the Hardware Clock via any known method.
切換至root賬號,即可使用clock或者hwclock指令查看硬件時鐘。[root@localhost ~]# clock
Sun 30 Oct 2016 02:35:28 PM CST -0.759522 seconds
[root@localhost ~]# hwclock
Sun 30 Oct 2016 02:35:32 PM CST -0.827415 seconds
-
設置主機硬件時鐘:
查看硬件時鐘與系統時鐘是否一致
[root@localhost ~]# clock
Sun 30 Oct 2016 02:39:44 PM CST -0.324487 seconds
[root@localhost ~]# date
Sun Oct 30 02:27:48 CST 2016
以上信息可以看出系統時鐘與硬件時鐘不一致,查看北京時間獲知硬件時鐘準確,所以此時可以使用-s功能讓系統時鐘以硬件時鐘為準進行同步。 [root@localhost ~]# clock -s
[root@localhost ~]# clock
Sun 30 Oct 2016 02:40:10 PM CST -0.585457 seconds
[root@localhost ~]# date
Sun Oct 30 14:40:12 CST 2016
若系統時鐘更準確,也可以使用-w功能讓硬件時鐘以系統時鐘為準進行同步,指令格式和-s一致。
6. date
date:查看系統時鐘,包含日期和時間。它有非常豐富的格式化選項,將時間和日期按特定的格式進行輸出。常用的主要有:
%T 將時間按hour:minute:second的方式輸出
%Y 顯示年
%m 顯示月
%d 顯示日
%H 顯示時
%M 顯示分
%S 顯示秒
-
如將日期時間以“年月日-時分秒”的形式顯示出來:
[lantian@localhost log]$ date +%Y%m%d-%H%M%S
20161030-150640
-
設置系統時間及日期:
注意需要以root賬戶進行系統時間及日期的設置。[root@localhost ~]# date 103020022015.30
Fri Oct 30 20:02:30 CST 2015
7. cal
cal:查看日歷。常用方式: cal [[[day] month] year],直接輸入cal會顯示當月的日歷。
如查看2016年11月份的日歷:
8. cat
cat:查看文本文件的內容,從第一行往最后一行輸出。
常用方式:
-
顯示文本的行號,使用-n選項:
-
顯示文本中的隱藏字符: 在shell中處理文本文件時,有時候會遇到特殊字符的問題,使用-A選項可以看到文本中的特殊字符。
-
與cat類似的指令:tac
它是將文本文件的內容從最后一行往最開始的一行輸出。
8. file
file: 用于查看文件的類型,前面已提到文本文件,那如何判斷一個文件是否是文本文件呢,就可以使用file指令。 示例如下:
[root@localhost log]# file messages
messages: ASCII text
如上所示顯示為ASCII text的即為一個文本文件。
查看系統指令文件類型,為ELF:
[root@localhost log]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped
9. type
type:查看指令的類型,是屬于內置命令還是外部命令。
示例如下:
[root@localhost log]# type cd
cd is a shell builtin
[root@localhost log]# type pwd
pwd is a shell builtin
[root@localhost log]# type cat
cat is hashed (/bin/cat)
[root@localhost log]# type ls
ls is aliased to
ls –color=auto[root@localhost log]# type echo
echo is a shell builtin
10. tty
tty:顯示當前用戶所使用的終端編號及類型。
示例如下:
[root@localhost log]# tty
/dev/pts/2
11. poweroff,shutdown,reboot,halt
這幾個指令都需要root權限才能夠執行。 poweroff:立即關閉計算機。 shutdown:不加任何選項時等同于poweroff,會立即關閉計算機,它可以指定時間,并發送通知消息給登錄用戶。如計劃10分鐘后關機,并給用戶發送消息“test”:
根據 上面的提示信息也可以看到,如果要取消已經計劃的關機任務,可以使用shutdown -c
,shutdown -r
可以執行重啟操作,等同于reboot
指令。
reboot、halt、poweroff三者操作方法類似。
12. ifconfig
ifconfig: 網絡接口狀態查看、配置指令。
-
查看系統中所有已激活的網絡接口包含處于Down狀態的
-
關閉某塊網卡
ifconfig [interface] down
-
打開某塊網卡
ifconfig [interface] up
-
判斷網卡是否處于UP狀態
在ifconfig中輸出有RUNNING字樣的網卡都處于UP狀態,沒有即處于Link Down狀態。
13. export
export指令:查看或設置環境變量。如當我們要執行一個命令時,但這個命令的執行文件不在當前目錄,這樣在使用這個命令時,每次都需要指定執行文件的目錄。這時在寫shell腳本時,用export指令先告訴程序執行某個指令時去到這個目錄中查找。這樣子就不必每次執行命令時都需要輸入完事的目錄。export的時效只限于當次登錄操作。 使用方法: export $PATH="路徑"
14. history
history:這個命令用以查看當前用戶歷史執行的指令,包含執行不成功的指令。當忘記某些指令的用法但記得之前執行過,可以使用這一指令將原來執行過的指令找出來。它默認按照時間從遠到近的順序輸出。
常用方式:
-
history -c : 清空命令歷史
-
history -d offset: 刪除指定命令歷史
-
history -r:從文件讀取命令歷史至歷史列表中
-
history -w :把歷史列表中的命令追加至歷史文件中
-
history # :顯示最近的#個命令
!# :再一次執行歷史列表中的第#條命令
!! :再一次執行上一條命令
!STRING:再一次執行命令歷史列表中最近一個以STRING開頭的命令
15. which
which:查找當前用戶的shell指令所在的路徑。
如查找ifconfig指令,root用戶和非root用戶所找出來的指令可執行文件路徑就不一樣,因為它是根據當前用戶的PATH這個環境變量所設定的路徑去尋找這個指令的執行文件。
16. whereis
whereis:用來查看某個文件所在的路徑。當在執行某個指令時提示找不到指令,可以先使用whichis來查找這個指令所對應的執行文件所在的路徑,然后看看這一路徑是否并沒有在當前用戶的PATH環境變量中。
[lantian@localhost ~]$ whereis reboot
reboot: /usr/sbin/reboot /usr/share/man/man8/reboot.8.gz
17. who
who: 查看當前有哪些用戶登錄上來,可以看到其登錄的終端及源ip地址。可以查看系統是何時開機啟動的。
-
查看有哪些用戶登錄上來:
[root@localhost ~]# who
lantian tty1 2016-10-29 22:10
lantian pts/0 2016-10-30 16:39 (192.168.249.1)
-
查看系統是何時開機啟動的:
[root@localhost ~]# who -b
system boot 2016-10-29 22:10
18. w
w:查看哪些用戶登錄上來,系統當前時間及CPU平均負荷情況。
使用示例:
19. man
man: 系統各種指令的詳細使用說明手冊。當不清楚某一指令的用法時,可以使用man COMMAND
來獲取幫助。多看就能夠通過man獲得非常有用的幫助信息。多練習就能夠熟記常用指令的用法。
原創文章,作者:N24_lantian,如若轉載,請注明出處:http://www.www58058.com/56109
總結的不錯,希望你能熟知這些基礎的知識,加油!