8.20做業 之一些Linux基礎命令學習php
本文主要針對linux初學者對一些基礎的linux命令的學習,所涉及到的命令有:date,clock,hwclock,cal,ls,cd,pwd,tty,whereis,which,stat,echo,shutdown,hat,reboot,poweroff,who,w,whoami.html
命令:datenode
date命令的功能是顯示和設置系統日期和時間。mysql
用法:linux
date [OPTION]... [+FORMAT] date [選項]... [+格式]nginx
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 以給定的格式顯示當前時間,或是設置系統日期sql
命令參數: shell
參數數據庫 |
描述編程 |
經常使用使用示列(左爲命令行輸入,右突出顯示文本爲輸出結果) |
-d |
顯示字符串描述的時間 |
[root@localhost ~]#date –d now 2015年 08月 22日 星期六 20:50:49 CST [root@localhost ~]# date -d "next monday" 2015年 08月 24日 星期一 00:00:00 CST [root@localhost ~]# date -d yesterday +%Y%m%d 20150821 |
-f |
顯示DATEFILE文件中的每行時間 |
|
-r |
顯示文件的最後修改時間 |
[root@localhost ~]# date -r install.log 2015年 08月 20日 星期四 07:23:04 CST |
-R |
以RFC-2822兼容日期格式顯示時間 |
|
-rfc-2822 |
以RFC-2822兼容日期格式顯示時間 |
|
-s |
設置時間爲string |
[root@localhost ~]# date -s 21:55:59 2015年 08月 22日 星期六 21:55:59 CST [root@localhost ~]# date -s "2015-08-22 22:16:40" 2015年 08月 22日 星期六 22:16:40 CST |
-u |
顯示或設定爲Coordinated Universal Time時間格式 |
[root@localhost ~]# clock –u 2015年08月22日 星期六 22時20分44秒 -0.549116 seconds |
--help |
顯示date命令的幫助信息 |
[root@localhost ~]# date –help 用法:date [選項]... [+格式] 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]。。。 |
--version |
顯示date命令的版本信息 |
[root@localhost ~]# date –version date (GNU coreutils) 8.4 |
Format參數格式:
參數 |
描述 |
經常使用使用示列(左爲命令行輸入,右突出顯示文本爲輸出結果) |
%% |
顯示字符% |
[root@localhost ~]# date +%% % |
%a |
星期幾的縮寫(Sun..Sat) |
[root@localhost ~]# date +%a 六 |
%A |
星期幾的完整名稱(Sunday...Saturday) |
[root@localhost ~]# date +%A 星期六 |
%b |
月份的縮寫(Jan..Dec) |
[root@localhost ~]# date +%b 8月 |
%B |
月份的完整名稱(January..December) |
[root@localhost ~]# date +%B 八月 |
%c |
日期與時間。只輸入date指令也會顯示一樣的結果 |
[root@localhost ~]# date +%c 2015年08月22日 星期六 22時33分46秒 |
%C |
世紀(年份除100後去整) [00-99] |
[root@localhost ~]# date +%C 20 |
%d |
日期(以01-31來表示)。 |
[root@localhost ~]# date +%d 22 |
%D |
日期(含年月日)。 |
[root@localhost ~]# date +%D 08/22/15 |
%e |
一個月的第幾天 ( 1..31) |
[root@localhost ~]# date +%e 22 |
%F |
日期,同%Y-%m-%d |
[root@localhost ~]# date +%F 2015-08-22 |
%g |
年份(yy) |
[root@localhost ~]# date +%g 15 |
%G |
年份(yyyy) |
[root@localhost ~]# date +%G 2015 |
%h |
同%b |
[root@localhost ~]# date +%h 8月 |
%H |
小時(00..23) |
[root@localhost ~]# date +%H 22 |
%I |
小時(01..12) |
[root@localhost ~]# date +%I 10 |
%j |
一年的第幾天(001..366) |
[root@localhost ~]# date +%j 234 |
%k |
小時( 0..23) |
[root@localhost ~]# date +%k 22 |
%l |
小時( 1..12) |
[root@localhost ~]# date +%l 10 |
%m |
月份(01..12) |
[root@localhost ~]# date +%m 08 |
%M |
分鐘(00..59) |
[root@localhost ~]# date +%M 44 |
%n |
換行 |
|
%N |
納秒(000000000..999999999) |
[root@localhost ~]# date +%N 028609470 |
%p |
AM or PM |
[root@localhost ~]# date +%p 下午 |
%P |
am or pm |
[root@localhost ~]# date +%P 下午 |
%r |
12小時制時間(hh:mm:ss [AP]M) |
[root@localhost ~]# date +%r下午 10時48分30秒 |
%R |
24小時制時間(hh:mm) |
[root@localhost ~]# date +%R 22:48 |
%s |
從00:00:00 1970-01-01 UTC開始的秒數 |
[root@localhost ~]# date +%s 1440254968 |
%S |
秒(00..60) |
[root@localhost ~]# date +%S 56 |
%t |
製表符 |
|
%T |
24小時制時間(hh:mm:ss) |
[root@localhost ~]# date +%T 22:51:34 |
%u |
一週的第幾天(1..7); 1 表示星期一 |
[root@localhost ~]# date +%u 6 |
%U |
一年的第幾周,週日爲每週的第一天(00..53) |
[root@localhost ~]# date +%U 33 |
%V |
一年的第幾周,週一爲每週的第一天 (01..53) |
[root@localhost ~]# date +%V 34 |
%w |
一週的第幾天 (0..6); 0 表明週日 |
[root@localhost ~]# date +%w 6 |
%W |
一年的第幾周,週一爲每週的第一天(00..53) |
[root@localhost ~]# date +%W 33 |
%x |
日期(mm/dd/yy) |
[root@localhost ~]# date +%x 2015年08月22日 |
%X |
時間(%H:%M:%S) |
[root@localhost ~]# date +%X 23時11分04秒 |
%y |
年份(00..99) |
[root@localhost ~]# date +%y 15 |
%Y |
年份 (1970…) |
[root@localhost ~]# date +%Y 2015 |
%z |
RFC-2822 風格數字格式時區(-0500) |
[root@localhost ~]# date +%z +0800 |
%Z |
時區(e.g., EDT), 沒法肯定時區則爲空 |
[root@localhost ~]# date +%Z CST |
命令:clock | hwclock clock等同於hwclock,clock是hwclock的軟連接
hwclock命令是一個硬件時鐘訪問工具,它能夠顯示當前時間、設置硬件時鐘的時間和設置硬件時鐘爲系統時間,也可設置系統時間爲硬件時鐘的時間。
在Linux中有硬件時鐘與系統時鐘等兩種時鐘。硬件時鐘是指主機板上的時鐘設備,也就是一般可在BIOS畫面設定的時鐘。系統時鐘則是指kernel中的時鐘。當Linux啓動時,系統時鐘會去讀取硬件時鐘的設定,以後系統時鐘即獨立運做。全部Linux相關指令與函數都是讀取系統時鐘的設定。
hwclock命令的功能是設置或者顯示硬件時間的近似值
用法:
hwclock [function] [options...] hwclock [功能] [選項...]
功能參數:
參數 |
描述 |
經常使用使用示列 |
-h | --help |
顯示hwclock的幫助文件 |
[root@localhost ~]# clock --help |
-r | --show |
讀取硬件時鐘和打印結果 |
|
-r | --set |
設置RTC的日期時間 |
|
-s | --hctosys |
從硬件時鐘設置系統時間 |
|
-w | --systohc |
將硬件時鐘設置爲當前的系統 |
|
--systz |
基於當前時區設置系統時間 |
|
--adjust |
可以使hwclock根據先前的記錄來估算硬件時鐘的誤差,並用來校訂目前的硬件時鐘 |
|
-c | --compare |
按期比較CMOS時鐘的系統時鐘 |
|
打印出內核硬件時鐘的值 |
||
--setepoch |
設置內核硬件時鐘的值 |
|
-v | --version |
打印出hwclock的版本到標準輸出 |
經常使用示例:
命令cal
cal命令用於顯示當前日曆,或者指定日期的日曆。
語法:cal(選項)(參數)
選項
-l:顯示單月輸出;
-3:顯示臨近三個月的日曆;
-s:將星期日做爲月的第一天;
-m:將星期一做爲月的第一天;
-j:顯示「julian」日期;
-y:顯示當前年的日曆。
經常使用示例:
1.輸出當前日曆
2.輸出指定月份日曆
3.顯示2015年的日曆
[root@localhost ~]# cal -y 2015
4.顯示自1月1日的天數
5.星期一顯示在第一列
6.顯示近三個月的日曆
ls命令
ls命令用來顯示目標列表,在Linux中是使用率較高的命令。ls命令的輸出信息能夠進行彩色加亮顯示,以分區不一樣類型的文件。
語法
ls(選項)(參數)
選項
-a:顯示全部檔案及目錄(ls內定將檔案名或目錄名稱爲「.」的視爲影藏,不會列出);
-A:顯示除影藏文件「.」和「..」之外的全部文件列表;
-C:多列顯示輸出結果。這是默認選項;
-l:與「-C」選項功能相反,全部輸出信息用單列格式輸出,不輸出爲多列;
-F:在每一個輸出項後追加文件的類型標識符,具體含義:「*」表示具備可執行權限的普通文件,「/」表示目錄,「@」表示符號連接,「|」表示命令管道FIFO,「=」表示sockets套接字。當文件爲普通文件時,不輸出任何標識符;
-b:將文件中的不可輸出的字符以反斜線「」加字符編碼的方式輸出;
-c:與「-lt」選項連用時,按照文件狀態時間排序輸出目錄內容,排序的依據是文件的索引節點中的ctime字段。與「-l」選項連用時,則排序的一句是文件的狀態改變時間;
-d:僅顯示目錄名,而不顯示目錄下的內容列表。顯示符號連接文件自己,而不顯示其所指向的目錄列表;
-f:此參數的效果和同時指定「aU」參數相同,並關閉「lst」參數的效果;
-i:顯示文件索引節點號(inode)。一個索引節點表明一個文件;
--file-type:與「-F」選項的功能相同,可是不顯示「*」;
-k:以KB(千字節)爲單位顯示文件大小;
-l:以長格式顯示目錄下的內容列表。輸出的信息從左到右依次包括文件名,文件類型、權限模式、硬鏈接數、全部者、組、文件大小和文件的最後修改時間等;
-m:用「,」號區隔每一個文件和目錄的名稱;
-n:以用戶識別碼和羣組識別碼替代其名稱;
-r:以文件名反序排列並輸出目錄內容列表;
-s:顯示文件和目錄的大小,以區塊爲單位;
-t:用文件和目錄的更改時間排序;
-L:若是遇到性質爲符號連接的文件或目錄,直接列出該連接所指向的原始文件或目錄;
-R:遞歸處理,將指定目錄下的全部文件及子目錄一併處理;
--full-time:列出完整的日期與時間;
--color[=WHEN]:使用不一樣的顏色高亮顯示不一樣類型的。
參數
目錄:指定要顯示列表的目錄,也能夠是具體的文件。
實例
顯示當前目錄下非影藏文件與目錄
[root@localhost ~]# ls
anaconda-ks.cfg install.log install.log.syslog satools
顯示當前目錄下包括影藏文件在內的全部文件列表
[root@localhost ~]# ls -a
. anaconda-ks.cfg .bash_logout .bashrc install.log .mysql_history satools .tcshrc .vimrc
.. .bash_history .bash_profile .cshrc install.log.syslog .rnd .ssh .viminfo
輸出長格式列表
[root@localhost ~]# ls -1
anaconda-ks.cfg
install.log
install.log.syslog
satools
顯示文件的inode信息
索引節點(index inode簡稱爲「inode」)是Linux中一個特殊的概念,具備相同的索引節點號的兩個文本本質上是同一個文件(除文件名不一樣外)。
[root@localhost ~]# ls -i -l anaconda-ks.cfg install.log
2345481 -rw------- 1 root root 859 Jun 11 22:49 anaconda-ks.cfg
2345474 -rw-r--r-- 1 root root 13837 Jun 11 22:49 install.log
水平輸出文件列表
[root@localhost /]# ls -m
bin, boot, data, dev, etc, home, lib, lost+found, media, misc, mnt, opt, proc, root, sbin, selinux, srv, sys, tmp, usr, var
修改最後一次編輯的文件
最近修改的文件顯示在最上面。
[root@localhost /]# ls -t
tmp root etc dev lib boot sys proc data home bin sbin usr var lost+found media mnt opt selinux srv misc
顯示遞歸文件
[root@localhost ~]# ls -R
.:
anaconda-ks.cfg install.log install.log.syslog satools
./satools:
black.txt freemem.sh iptables.sh lnmp.sh mysql php502_check.sh ssh_safe.sh
打印文件的UID和GID
[root@localhost /]# ls -n
total 254
drwxr-xr-x 2 0 0 4096 Jun 12 04:03 bin
drwxr-xr-x 4 0 0 1024 Jun 15 14:45 boot
drwxr-xr-x 6 0 0 4096 Jun 12 10:26 data
drwxr-xr-x 10 0 0 3520 Sep 26 15:38 dev
drwxr-xr-x 75 0 0 4096 Oct 16 04:02 etc
drwxr-xr-x 4 0 0 4096 Jun 12 10:26 home
drwxr-xr-x 14 0 0 12288 Jun 16 04:02 lib
drwx------ 2 0 0 16384 Jun 11 22:46 lost+found
drwxr-xr-x 2 0 0 4096 May 11 2011 media
drwxr-xr-x 2 0 0 4096 Nov 8 2010 misc
drwxr-xr-x 2 0 0 4096 May 11 2011 mnt
drwxr-xr-x 2 0 0 4096 May 11 2011 opt
dr-xr-xr-x 232 0 0 0 Jun 15 11:04 proc
drwxr-x--- 4 0 0 4096 Oct 15 14:43 root
drwxr-xr-x 2 0 0 12288 Jun 12 04:03 sbin
drwxr-xr-x 2 0 0 4096 May 11 2011 selinux
drwxr-xr-x 2 0 0 4096 May 11 2011 srv
drwxr-xr-x 11 0 0 0 Jun 15 11:04 sys
drwxrwxrwt 3 0 0 98304 Oct 16 08:45 tmp
drwxr-xr-x 13 0 0 4096 Jun 11 23:38 usr
drwxr-xr-x 19 0 0 4096 Jun 11 23:38 var
列出文件和文件夾的詳細信息
[root@localhost /]# ls -l
total 254
drwxr-xr-x 2 root root 4096 Jun 12 04:03 bin
drwxr-xr-x 4 root root 1024 Jun 15 14:45 boot
drwxr-xr-x 6 root root 4096 Jun 12 10:26 data
drwxr-xr-x 10 root root 3520 Sep 26 15:38 dev
drwxr-xr-x 75 root root 4096 Oct 16 04:02 etc
drwxr-xr-x 4 root root 4096 Jun 12 10:26 home
drwxr-xr-x 14 root root 12288 Jun 16 04:02 lib
drwx------ 2 root root 16384 Jun 11 22:46 lost+found
drwxr-xr-x 2 root root 4096 May 11 2011 media
drwxr-xr-x 2 root root 4096 Nov 8 2010 misc
drwxr-xr-x 2 root root 4096 May 11 2011 mnt
drwxr-xr-x 2 root root 4096 May 11 2011 opt
dr-xr-xr-x 232 root root 0 Jun 15 11:04 proc
drwxr-x--- 4 root root 4096 Oct 15 14:43 root
drwxr-xr-x 2 root root 12288 Jun 12 04:03 sbin
drwxr-xr-x 2 root root 4096 May 11 2011 selinux
drwxr-xr-x 2 root root 4096 May 11 2011 srv
drwxr-xr-x 11 root root 0 Jun 15 11:04 sys
drwxrwxrwt 3 root root 98304 Oct 16 08:48 tmp
drwxr-xr-x 13 root root 4096 Jun 11 23:38 usr
drwxr-xr-x 19 root root 4096 Jun 11 23:38 var
列出可讀文件和文件夾詳細信息
[root@localhost /]# ls -lh
total 254K
drwxr-xr-x 2 root root 4.0K Jun 12 04:03 bin
drwxr-xr-x 4 root root 1.0K Jun 15 14:45 boot
drwxr-xr-x 6 root root 4.0K Jun 12 10:26 data
drwxr-xr-x 10 root root 3.5K Sep 26 15:38 dev
drwxr-xr-x 75 root root 4.0K Oct 16 04:02 etc
drwxr-xr-x 4 root root 4.0K Jun 12 10:26 home
drwxr-xr-x 14 root root 12K Jun 16 04:02 lib
drwx------ 2 root root 16K Jun 11 22:46 lost+found
drwxr-xr-x 2 root root 4.0K May 11 2011 media
drwxr-xr-x 2 root root 4.0K Nov 8 2010 misc
drwxr-xr-x 2 root root 4.0K May 11 2011 mnt
drwxr-xr-x 2 root root 4.0K May 11 2011 opt
dr-xr-xr-x 235 root root 0 Jun 15 11:04 proc
drwxr-x--- 4 root root 4.0K Oct 15 14:43 root
drwxr-xr-x 2 root root 12K Jun 12 04:03 sbin
drwxr-xr-x 2 root root 4.0K May 11 2011 selinux
drwxr-xr-x 2 root root 4.0K May 11 2011 srv
drwxr-xr-x 11 root root 0 Jun 15 11:04 sys
drwxrwxrwt 3 root root 96K Oct 16 08:49 tmp
drwxr-xr-x 13 root root 4.0K Jun 11 23:38 usr
drwxr-xr-x 19 root root 4.0K Jun 11 23:38 var
顯示文件夾信息
[root@localhost /]# ls -ld /etc/
drwxr-xr-x 75 root root 4096 Oct 16 04:02 /etc/
按時間列出文件和文件夾詳細信息
[root@localhost /]# ls -lt
total 254
drwxrwxrwt 3 root root 98304 Oct 16 08:53 tmp
drwxr-xr-x 75 root root 4096 Oct 16 04:02 etc
drwxr-x--- 4 root root 4096 Oct 15 14:43 root
drwxr-xr-x 10 root root 3520 Sep 26 15:38 dev
drwxr-xr-x 14 root root 12288 Jun 16 04:02 lib
drwxr-xr-x 4 root root 1024 Jun 15 14:45 boot
drwxr-xr-x 11 root root 0 Jun 15 11:04 sys
dr-xr-xr-x 232 root root 0 Jun 15 11:04 proc
drwxr-xr-x 6 root root 4096 Jun 12 10:26 data
drwxr-xr-x 4 root root 4096 Jun 12 10:26 home
drwxr-xr-x 2 root root 4096 Jun 12 04:03 bin
drwxr-xr-x 2 root root 12288 Jun 12 04:03 sbin
drwxr-xr-x 13 root root 4096 Jun 11 23:38 usr
drwxr-xr-x 19 root root 4096 Jun 11 23:38 var
drwx------ 2 root root 16384 Jun 11 22:46 lost+found
drwxr-xr-x 2 root root 4096 May 11 2011 media
drwxr-xr-x 2 root root 4096 May 11 2011 mnt
drwxr-xr-x 2 root root 4096 May 11 2011 opt
drwxr-xr-x 2 root root 4096 May 11 2011 selinux
drwxr-xr-x 2 root root 4096 May 11 2011 srv
drwxr-xr-x 2 root root 4096 Nov 8 2010 misc
按修改時間列出文件和文件夾詳細信息
[root@localhost /]# ls -ltr
total 254
drwxr-xr-x 2 root root 4096 Nov 8 2010 misc
drwxr-xr-x 2 root root 4096 May 11 2011 srv
drwxr-xr-x 2 root root 4096 May 11 2011 selinux
drwxr-xr-x 2 root root 4096 May 11 2011 opt
drwxr-xr-x 2 root root 4096 May 11 2011 mnt
drwxr-xr-x 2 root root 4096 May 11 2011 media
drwx------ 2 root root 16384 Jun 11 22:46 lost+found
drwxr-xr-x 19 root root 4096 Jun 11 23:38 var
drwxr-xr-x 13 root root 4096 Jun 11 23:38 usr
drwxr-xr-x 2 root root 12288 Jun 12 04:03 sbin
drwxr-xr-x 2 root root 4096 Jun 12 04:03 bin
drwxr-xr-x 4 root root 4096 Jun 12 10:26 home
drwxr-xr-x 6 root root 4096 Jun 12 10:26 data
dr-xr-xr-x 232 root root 0 Jun 15 11:04 proc
drwxr-xr-x 11 root root 0 Jun 15 11:04 sys
drwxr-xr-x 4 root root 1024 Jun 15 14:45 boot
drwxr-xr-x 14 root root 12288 Jun 16 04:02 lib
drwxr-xr-x 10 root root 3520 Sep 26 15:38 dev
drwxr-x--- 4 root root 4096 Oct 15 14:43 root
drwxr-xr-x 75 root root 4096 Oct 16 04:02 etc
drwxrwxrwt 3 root root 98304 Oct 16 08:54 tmp
按照特殊字符對文件進行分類
[root@localhost nginx-1.2.1]# ls -F
auto/ CHANGES CHANGES.ru conf/ configure* contrib/ html/ LICENSE Makefile man/ objs/ README src/
列出文件並標記顏色分類
[root@localhost nginx-1.2.1]# ls --color=auto
auto CHANGES CHANGES.ru conf configure contrib html LICENSE Makefile man objs README src
cd命令
cd命令用來切換工做目錄至dirname。 其中dirName表示法可爲絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的home directory(也就是剛login時所在的目錄)。另外,~也表示爲home directory的意思,.則是表示目前所在的目錄,..則表示目前目錄位置的上一層目錄。
語法
cd (選項) (參數)
選項
-p 若是要切換到的目標目錄是一個符號鏈接,直接切換到符號鏈接指向的目標目錄
-L 若是要切換的目標目錄是一個符號的鏈接,直接切換到字符鏈接名錶明的目錄,而非符號鏈接所指向的目標目錄。
- 當僅實用"-"一個選項時,當前工做目錄將被切換到環境變量"OLDPWD"所表示的目錄。
實例
cd 進入用戶主目錄;
cd ~ 進入用戶主目錄;
cd - 返回進入此目錄以前所在的目錄;
cd .. 返回上級目錄(若當前目錄爲「/「,則執行完後還在「/";".."爲上級目錄的意思);
cd ../.. 返回上兩級目錄;
cd !$ 把上個命令的參數做爲cd參數使用。
pwd命令
pwd命令以絕對路徑的方式顯示用戶當前工做目錄。命令將當前目錄的全路徑名稱(從根目錄)寫入標準輸出。所有目錄使用/分隔。第一個/表示根目錄,最後一個目錄是當前目錄。執行pwd命令可馬上得知您目前所在的工做目錄的絕對路徑名稱。
語法
pwd(選項)
選項
--help:顯示幫助信息;
--version:顯示版本信息。
實例
[root@localhost ~]# pwd
/root
tty命令
cd命令
cd命令用來切換工做目錄至dirname。 其中dirName表示法可爲絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的home directory(也就是剛login時所在的目錄)。另外,~也表示爲home directory的意思,.則是表示目前所在的目錄,..則表示目前目錄位置的上一層目錄。
語法
cd (選項) (參數)
選項
-p 若是要切換到的目標目錄是一個符號鏈接,直接切換到符號鏈接指向的目標目錄
-L 若是要切換的目標目錄是一個符號的鏈接,直接切換到字符鏈接名錶明的目錄,而非符號鏈接所指向的目標目錄。
- 當僅實用"-"一個選項時,當前工做目錄將被切換到環境變量"OLDPWD"所表示的目錄。
實例
cd 進入用戶主目錄;
cd ~ 進入用戶主目錄;
cd - 返回進入此目錄以前所在的目錄;
cd .. 返回上級目錄(若當前目錄爲「/「,則執行完後還在「/";".."爲上級目錄的意思);
cd ../.. 返回上兩級目錄;
cd !$ 把上個命令的參數做爲cd參數使用。
pwd命令
pwd命令以絕對路徑的方式顯示用戶當前工做目錄。命令將當前目錄的全路徑名稱(從根目錄)寫入標準輸出。所有目錄使用/分隔。第一個/表示根目錄,最後一個目錄是當前目錄。執行pwd命令可馬上得知您目前所在的工做目錄的絕對路徑名稱。
語法
pwd(選項)
選項
--help:顯示幫助信息;
--version:顯示版本信息。
實例
[root@localhost ~]# pwd
/root
whereis命令
whereis命令用來定位指令的二進制程序、源代碼文件和man手冊頁等相關文件的路徑。
whereis命令只能用於程序名的搜索,並且只搜索二進制文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s)。若是省略參數,則返回全部信息。
和find相比,whereis查找的速度很是快,這是由於linux系統會將 系統內的全部文件都記錄在一個數據庫文件中,當使用whereis和下面即將介紹的locate時,會從數據庫中查找數據,而不是像find命令那樣,通 過遍歷硬盤來查找,效率天然會很高。 可是該數據庫文件並非實時更新,默認狀況下時一星期更新一次,所以,咱們在用whereis和locate 查找文件時,有時會找到已經被刪除的數據,或者剛剛創建文件,卻沒法查找到,緣由就是由於數據庫文件沒有被更新。
語法
whereis(選項)(參數)
選項
-b:只查找二進制文件;
-B<目錄>:只在設置的目錄下查找二進制文件;
-f:不顯示文件名前的路徑名稱;
-m:只查找說明文件;
-M<目錄>:只在設置的目錄下查找說明文件;
-s:只查找原始代碼文件;
-S<目錄>只在設置的目錄下查找原始代碼文件;
-u:查找不包含指定類型的文件。
參數
指令名:要查找的二進制程序、源文件和man手冊頁的指令名。
實例
將相關的文件都查找出來
[root@localhost ~]# whereis tomcat
tomcat:
[root@localhost ~]# whereis svn
svn: /usr/bin/svn /usr/local/svn /usr/share/man/man1/svn.1.gz
說明:tomcat沒安裝,找不出來,svn安裝找出了不少相關文件
只將二進制文件查找出來
[root@localhost ~]# whereis -b svn
svn: /usr/bin/svn /usr/local/svn
[root@localhost ~]# whereis -m svn
svn: /usr/share/man/man1/svn.1.gz
[root@localhost ~]# whereis -s svn
svn:
說明:whereis -m svn查出說明文檔路徑,whereis -s svn找source源文件。
which命令
which命令用於查找並顯示給定命令的絕對路徑,環境變量PATH中保存了查找命令時須要遍歷的目錄。which指令會在環境變量$PATH設置的目錄裏查找符合條件的文件。也就是說,使用which命令,就能夠看到某個系統命令是否存在,以及執行的究竟是哪個位置的命令。
語法
which(選項)(參數)
選項
-n<文件名長度>:制定文件名長度,指定的長度必須大於或等於全部文件中最長的文件名;
-p<文件名長度>:與-n參數相同,但此處的<文件名長度>包含了文件的路徑;
-w:指定輸出時欄位的寬度;
-V:顯示版本信息。
參數
指令名:指令名列表。
實例
查找文件、顯示命令路徑:
[root@localhost ~]# which pwd
/bin/pwd說明:which是根據使用者所配置的 PATH 變量內的目錄去搜尋可運行檔的!因此,不一樣的 PATH 配置內容所找到的命令固然不同的!
[root@localhost ~]# which adduser
/usr/sbin/adduser
stat命令
stat命令用於顯示文件的狀態信息。stat命令的輸出信息比ls命令的輸出信息要更詳細。
語法
stat(選項)(參數)
選項
-L:支持符號鏈接;
-f:顯示文件系統狀態而非文件狀態;
-t:以簡潔方式輸出信息;
--help:顯示指令的幫助信息;
--version:顯示指令的版本信息。
參數
文件:指定要顯示信息的普通文件或者文件系統對應的設備文件名。
實例
[root@localhost ~]# ls -l myfile
-rw-r--r-- 1 root root 0 2010-10-09 myfile
[root@localhost ~]# stat myfile
file: 「myfile」
Size: 0 Blocks: 8 IO Block: 4096 通常空文件
Device: fd00h/64768d Inode: 194805815 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2010-12-12 12:22:35.000000000 +0800
Modify: 2010-10-09 20:44:21.000000000 +0800
Change: 2010-10-09 20:44:21.000000000 +0800
[root@localhost ~]# stat -f myfile
File: "myfile"
id: 0 Namelen: 255 type: ext2/ext3
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 241555461 free: 232910771 Available: 220442547
Inodes: Total: 249364480 Free: 249139691
[root@localhost ~]# stat -t myfile
myfile 0 8 81a4 0 0 fd00 194805815 1 0 0 1292127755 1286628261 1286628261 4096
echo命令
echo命令用於在shell中打印shell變量的值,或者直接輸出指定的字符串。linux的echo命令,在shell編程中極爲經常使用, 在終端下打印變量value的時候也是經常用到的,所以有必要了解下echo的用法echo命令的功能是在顯示器上顯示一段文字,通常起到一個提示的做用。
語法
echo(選項)(參數)
選項
-e:激活轉義字符。
使用-e選項時,若字符串中出現如下字符,則特別加以處理,而不會將它當成通常文字輸出:
參數
變量:指定要打印的變量。
實例
用echo命令打印帶有色彩的文字:
文字色:
echo -e "\e[1;31mThis is red text\e[0m"
This is red text
顏色碼:重置=0,黑色=30,紅色=31,綠色=32,×××=33,藍色=34,洋紅=35,青色=36,白色=37
背景色:
echo -e "\e[1;42mGreed Background\e[0m"
Greed Background
顏色碼:重置=0,黑色=40,紅色=41,綠色=42,×××=43,藍色=44,洋紅=45,青色=46,白色=47
文字閃動:
echo -e "\033[37;31;5mMySQL Server Stop...\033[39;49;0m"
紅色數字處還有其餘數字參數:0 關閉全部屬性、1 設置高亮度(加粗)、4 下劃線、5 閃爍、7 反顯、8 消隱
shutdown命令
shutdown命令用來系統關機命令。shutdown指令能夠關閉全部程序,並依用戶的須要,進行從新開機或關機的動做。
語法
shutdown(選項)(參數)
選項
-c:當執行「shutdown -h 11:50」指令時,只要按+鍵就能夠中斷關機的指令;
-f:從新啓動時不執行fsck;
-F:從新啓動時執行fsck;
-h:將系統關機;
-k:只是送出信息給全部用戶,但不會實際關機;
-n:不調用init程序進行關機,而由shutdown本身進行;
-r:shutdown以後從新啓動;
-t<秒數>:送出警告信息和刪除信息之間要延遲多少秒。
參數
實例
指定如今當即關機:
shutdown -h now
指定5分鐘後關機,同時送出警告信息給登入用戶:
shutdown +5 "System will shutdown after 5 minutes"
halt命令
halt命令用來關閉正在運行的Linux操做系統。halt命令會先檢測系統的runlevel,若runlevel爲0或6,則關閉系統,不然即調用shutdown來關閉系統。
語法
halt(選項)
選項
-d:不要在wtmp中記錄;
-f:不論目前的runlevel爲什麼,不調用shutdown即強制關閉系統;
-i:在halt以前,關閉所有的網絡界面;
-n:halt前,不用先執行sync;
-p:halt以後,執行poweroff;
-w:僅在wtmp中記錄,而不實際結束系統。
實例
halt -p //關閉系統後關閉電源。
halt -d //關閉系統,但不留下紀錄。
reboot命令
reboot命令用來從新啓動正在運行的Linux操做系統。
語法
reboot(選項)
選項
-d:從新開機時不把數據寫入記錄文件/var/tmp/wtmp。本參數具備「-n」參數效果;
-f:強制從新開機,不調用shutdown指令的功能;
-i:在重開機以前,先關閉全部網絡界面;
-n:重開機以前不檢查是否有未結束的程序;
-w:僅作測試,並不真正將系統從新開機,只會把重開機的數據寫入/var/log目錄下的wtmp記錄文件。
實例
reboot //重開機。
reboot -w //作個重開機的模擬(只有紀錄並不會真的重開機)。
poweroff命令
poweroff命令用來關閉計算機操做系統而且切斷系統電源。
語法
poweroff(選項)
選項
-n:關閉操做系統時不執行sync操做;
-w:不真正關閉操做系統,僅在日誌文件「/var/log/wtmp」中;
-d:關閉操做系統時,不將操做寫入日誌文件「/var/log/wtmp」中添加相應的記錄;
-f:強制關閉操做系統;
-i:關閉操做系統以前關閉全部的網絡接口;
-h:關閉操做系統以前將系統中全部的硬件設置爲備用模式。
實例
若是確認系統中已經沒有用戶存在且全部數據都已保存,須要當即關閉系統,可使用poweroff命令。
使用poweroff當即關閉系統:
poweroff
who命令
who命令是顯示目前登陸系統的用戶信息。執行who命令可得知目前有那些用戶登入系統,單獨執行who命令會列出登入賬號,使用的終端機,登入時間以及從何處登入或正在使用哪一個X顯示器。
語法
who(選項)(參數)
選項
-H或--heading:顯示各欄位的標題信息列;
-i或-u或--idle:顯示閒置時間,若該用戶在前一分鐘以內有進行任何動做,將標示成"."號,若是該用戶已超過24小時沒有任何動做,則標示出"old"字符串;
-m:此參數的效果和指定"am i"字符串相同;
-q或--count:只顯示登入系統的賬號名稱和總人數;
-s:此參數將忽略不予處理,僅負責解決who指令其餘版本的兼容性問題;
-w或-T或--mesg或--message或--writable:顯示用戶的信息狀態欄;
--help:在線幫助;
--version:顯示版本信息。
參數
文件:指定查詢文件。
實例
[root@localhost ~]# who
root pts/0 2013-08-19 15:04 (192.168.0.134)
root pts/1 2013-12-20 10:37 (180.111.155.40)
[root@localhost ~]# who -q
root root
# users=2
[root@localhost ~]# who -H
NAME LINE time COMMENT
root pts/0 2013-08-19 15:04 (192.168.0.134)
root pts/1 2013-12-20 10:37 (180.111.155.40)
[root@localhost ~]# who -w
root + pts/0 2013-08-19 15:04 (192.168.0.134)
root + pts/1 2013-12-20 10:37 (180.111.155.40)
w命令
w命令用於顯示已經登錄系統的用戶列表,並顯示用戶正在執行的指令。執行這個命令可得知目前登入系統的用戶有那些人,以及他們正在執行的程序。單獨執行w命令會顯示全部的用戶,您也可指定用戶名稱,僅顯示某位用戶的相關信息。
語法
w(選項)(參數)
選項
-h:不打印頭信息;
-u:當顯示當前進程和cpu時間時忽略用戶名;
-s:使用短輸出格式;
-f:顯示用戶從哪登陸;
-V:顯示版本信息。
參數
用戶:僅顯示指定用戶。
實例
w
20:39:37 up 136 days, 3:58, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM login@ IDLE JCPU PCPU WHAT
root pts/0 222.94.97.122 20:39 1.00s 0.00s 0.00s w
whoami命令
whoami命令用於打印當前有效的用戶名稱,至關於執行id -un命令。
語法
whoami(選項)
選項
--help:在線幫助;
--version:顯示版本信息。
實例
[root@localhost ~]# whoami
root
[root@localhost ~]# id -un
root