8.20作业 之一些Linux基础命令学习
本文主要针对linux初学者对一些基础的linux命令的学习,所涉及到的命令有:date,clock,hwclock,cal,ls,cd,pwd,tty,whereis,which,stat,echo,shutdown,hat,reboot,poweroff,who,w,whoami.
命令:date
date命令的功能是显示和设置系统日期和时间。
用法:
date [OPTION]... [+FORMAT] date [选项]... [+格式]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 以给定的格式显示当前时间,或是设置系统日期
命令参数:
参数 |
描述 |
常用使用示列(左为命令行输入,右突出显示文本为输出结果) |
-d |
显示字符串描述的时间 |
[root@localhost ~]#date �Cd 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 �Cu 2015年08月22日 星期六 22时20分44秒 -0.549116 seconds |
--help |
显示date命令的帮助信息 |
[root@localhost ~]# date �Chelp 用法:date [选项]... [+格式] 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]。。。 |
--version |
显示date命令的版本信息 |
[root@localhost ~]# date �Cversion 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时钟的系统时钟 |
|
--getepoch |
打印出内核硬件时钟的值 |
|
--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命令
Shell内建命令
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