Linux基礎命令學習

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

換行

clip_image002(輸出結果爲換行)

%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

製表符

clip_image004(輸出結果爲製表符)

%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

讀取硬件時鐘和打印結果

clip_image006

-r | --set

設置RTC的日期時間

 

-s | --hctosys

從硬件時鐘設置系統時間

clip_image008

-w | --systohc

將硬件時鐘設置爲當前的系統

clip_image010

--systz

基於當前時區設置系統時間

clip_image012

--adjust

可以使hwclock根據先前的記錄來估算硬件時鐘的誤差,並用來校訂目前的硬件時鐘

clip_image014

-c | --compare

按期比較CMOS時鐘的系統時鐘

clip_image016

--getepoch

打印出內核硬件時鐘的值

clip_image018

--setepoch

設置內核硬件時鐘的值

clip_image020

-v | --version

打印出hwclock的版本到標準輸出

clip_image022

經常使用示例:

設置硬件時鐘的操做:
clip_image024

命令cal

cal命令用於顯示當前日曆,或者指定日期的日曆。

語法:cal(選項)(參數)

選項

-l:顯示單月輸出;

-3:顯示臨近三個月的日曆;

-s:將星期日做爲月的第一天;

-m:將星期一做爲月的第一天;

-j:顯示「julian」日期;

-y:顯示當前年的日曆。

經常使用示例:

1.輸出當前日曆

clip_image026

2.輸出指定月份日曆

clip_image028

3.顯示2015年的日曆

[root@localhost ~]# cal -y 2015

4.顯示自1月1日的天數

clip_image030

5.星期一顯示在第一列

clip_image032

6.顯示近三個月的日曆

clip_image034

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命令

clip_image036

clip_image038

實例 :clip_image040

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命令

Shell內建命令

echo命令用於在shell中打印shell變量的值,或者直接輸出指定的字符串。linux的echo命令,在shell編程中極爲經常使用, 在終端下打印變量value的時候也是經常用到的,所以有必要了解下echo的用法echo命令的功能是在顯示器上顯示一段文字,通常起到一個提示的做用。

語法

echo(選項)(參數)

選項

-e:激活轉義字符。

使用-e選項時,若字符串中出現如下字符,則特別加以處理,而不會將它當成通常文字輸出:

  • \a 發出警告聲;
  • \b 刪除前一個字符;
  • \c 最後不加上換行符號;
  • \f 換行但光標仍舊停留在原來的位置;
  • \n 換行且光標移至行首;
  • \r 光標移至行首,但不換行;
  • \t 插入tab;
  • \v 與\f相同;
  • \\ 插入\字符;
  • \nnn 插入nnn(八進制)所表明的ASCII字符;

參數

變量:指定要打印的變量。

實例

用echo命令打印帶有色彩的文字:

文字色:

echo -e "\e[1;31mThis is red text\e[0m"

This is red text

  • \e[1;31m 將顏色設置爲紅色
  • \e[0m 將顏色從新置回

顏色碼:重置=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指令;
  • [警告信息]:要傳送給全部登入用戶的信息。

實例

指定如今當即關機:

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

相關文章
相關標籤/搜索