Linux课后练习 – Linux命令(一)

 

date命令

date命令是显示或设置系统时间与日期

 

用法:

date [选项]... [+格式]

 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

 

选项:

-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;

-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;

-u:显示GMT

--help:在线帮助;

--version:显示版本信息。

 

参数:

<+时间日期格式>:指定显示时使用的日期时间格式。

 

实例:

[root@promote ~]# date

2015 08 23星期日 01:54:01 CST

 

[root@promote ~]# date+"%Y-%m-%d"

2015-08-23

 

 

===================================================================================

hwclock命令

hwclock命令是一个硬件时钟访问工具,它可以显示当前时间、设置硬件时钟的时间和设置硬件时钟为系统时间,也可设置系统时间为硬件时钟的时间。

 

用法:

hwclock[功能] [选项...]

 

功能:

 -h, --help           显示此帮助并退出

 -r, --show           读取硬件时钟并打印结果

     --set            RTC 设置为 --date 指定的时间

 -s, --hctosys        从硬件时钟设置系统时间

 -w, --systohc        从当前系统时间设置硬件时钟

     --systz          基于当前时区设置系统时间

     --adjust         根据自上次时钟设置或调整后的系统漂移

                        来调整 RTC

 -c, --compare        定期将系统时钟与CMOS 时钟相比较

     --getepoch       打印内核的硬件时钟纪元(epoch)

     --setepoch       将内核的硬件时钟纪元(epoch)值设置为

                        --epoch 选项指定的值

     --predict        预测--date 选项所指定时刻读取到的RTC

 -V, --version        显示版本信息并退出

 

选项:

 -u, --utc            硬件时钟保持为UTC 时间

     --localtime      硬件时钟保持为本地时间

 -f, --rtc <文件>    代替默认文件的特殊/dev/... 文件

     --directisa      直接访问ISA 总线,而非/dev/rtc

     --badyear        忽略  RTC 年份(由于 BIOS 损坏)

     --date <时间>   指定要设置的硬件时钟时间

     --epoch <>    指定作为硬件纪元(epoch)值起始的年份

     --noadjfile      不访问/etc/adjtime;需要使用 --utc --localtime 选项

     --adjfile <文件> 指定调整文件的路径;

                        默认为 /etc/adjtime

     --test           不更新,只显示将进行什么操作

 -D, --debug          调试模式<+时间日期格式>:指定显示时使用的日期时间格式。

 

实例:

[root@promote~]# hwclock

20150823星期日 100529 -0.944157

 

[root@promote~]# hwclock -s –u

 

 

===================================================================================

cal命令

cal命令用于显示当前日历,或者指定日期的日历。

 

用法:

cal [选项] [[[]] ]

 

选项:

 -1, --one        只显示当前月份(默认)

 -3, --three      显示上个月、当月和下个月

 -s, --sunday     周日作为一周第一天

 -m, --monday     周一用为一周第一天

 -j, --julian     输出儒略日

 -y, --year       输出整年

 -V, --version    显示版本信息并退出

 -h, --help       显示此帮助并退出

 

实例:

[root@promote~]# cal -j

         八月2015        

            

                        213

214215 216 217 218 219 220

221222 223 224 225 226 227

228229 230 231 232 233 234

235236 237 238 239 240 241

242243

 

 

==============================================================

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@promote ~]# ls-a /var/

 

 

==============================================================

cd命令

cd命令用来切换工作目录至dirname其中dirName表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的homedirectory(也就是刚login时所在的目录)。另外,~也表示为home directory的意思,.则是表示目前所在的目录,..则表示目前目录位置的上一层目录。

 

用法:

       用法:cd[-L|[-P [-e]]] [dir]

 

实例:

cd    进入用户主目录;

cd~  进入用户主目录;

cd-  返回进入此目录之前所在的目录;

cd..  返回上级目录(若当前目录为“/“,则执行完后还在“/"".."为上级目录的意思);

cd../..  返回上两级目录;

cd!$  把上个命令的参数作为cd参数使用。

 

 

==============================================================

pwd命令

pwd命令以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称(从根目录)写入标准输出。全部目录使用/分隔。第一个/表示根目录,最后一个目录是当前目录。执行pwd命令可立刻得知您目前所在的工作目录的绝对路径名称。

 

用法:

pwd[-LP]

 

实例:

       [root@promote var]#pwd

/var

 

 

==============================================================

tty命令

显示出连接到当前标准输入的终端设备文件名。

 

用法:

tty [选项]...

 

实例:

       [root@promote~]# tty

/dev/pts/0

 

 

==============================================================

whereis命令

whereis命令用来定位指令的二进制程序、源代码文件和man手册页等相关文件的路径。

 

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。

 

find相比,whereis查找的速度非常快,这是因为linux系统会将系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找,效率自然会很高。但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereislocate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。

 

用法:

whereis[选项] 文件

 

选项:

 -b        只搜索二进制文件

 -B <目录定义二进制文件查找路径

 -m        只搜索 man 手册

 -M <目录定义man 手册查找路径

 -s        只搜索源代码

 -S <目录定义源代码查找路径

 -f        终止 <目录> 参数列表

 -u        搜索不常见记录

 -l        输出有效查找路径

 

实例:

       [root@promote~]# whereis ls

ls:/usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

 

 

==============================================================

which命令

which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

 

用法:

/usr/bin/which[options] [--] COMMAND [...]

 

选项:

-n<文件名长度>:制定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名;

-p<文件名长度>:与-n参数相同,但此处的<文件名长度>包含了文件的路径;

-w:指定输出时栏位的宽度;

-V:显示版本信息。

 

实例:

       [root@promote ~]#which cd

/usr/bin/cd

 

 

==============================================================

stat命令

stat命令用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细。

 

用法:

stat [选项]... 文件...

 

选项:

-L:支持符号连接;

-f:显示文件系统状态而非文件状态;

-t:以简洁方式输出信息;

--help:显示指令的帮助信息;

--version:显示指令的版本信息。

 

实例:

       [root@promote var]#stat db

  文件:"db"

  大小:32               块:0         IO 块:4096   目录

设备:803h/2051d       Inode67150911   硬链接:3

权限:(0755/drwxr-xr-x)  Uid(    0/   root)   Gid(   0/    root)

环境:system_u:object_r:var_t:s0

最近访问:2014-06-10 08:11:46.000000000 +0800

最近更改:2015-08-21 03:39:03.195007238 +0800

最近改动:2015-08-21 03:39:03.195007238 +0800

创建时间:-

 

 

==============================================================

echo命令

echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。linuxecho命令,在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的,因此有必要了解下echo的用法echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。

 

用法:

       echo(选项)(参数)

 

选项:

-e:激活转义字符。

使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

\a 发出警告声;

\b 删除前一个字符;

\c 最后不加上换行符号;

\f 换行但光标仍旧停留在原来的位置;

\n 换行且光标移至行首;

\r 光标移至行首,但不换行;

\t 插入tab

\v \f相同;

\\ 插入\字符;

\nnn 插入nnn(八进制)所代表的ASCII字符;

 

实例:

       [root@promote var]#echo -e "\e[1;31mThis is red text\e[0m"

This is redtext

 

 

==============================================================

shutdown命令

shutdown命令用来系统关机命令。shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。

 

用法:

shutdown[OPTIONS...] [TIME] [WALL...]

 

选项:

-c:当执行“shutdown -h 11:50”指令时,只要按+键就可以中断关机的指令;

-f:重新启动时不执行fsck

-F:重新启动时执行fsck

-h:将系统关机;

-k:只是送出信息给所有用户,但不会实际关机;

-n:不调用init程序进行关机,而由shutdown自己进行;

-rshutdown之后重新启动;

-t<秒数>:送出警告信息和删除信息之间要延迟多少秒。

 

实例:

[root@promotevar]# shutdown +120 "System will shutdown after 120 minutes"

Shutdownscheduled for 2015-08-23 12:49:58 CST, use 'shutdown -c' to cancel.

 

 

==============================================================

halt命令

halt命令用来关闭正在运行的Linux操作系统。halt命令会先检测系统的runlevel,若runlevel06,则关闭系统,否则即调用shutdown来关闭系统。

 

用法:

       halt [OPTIONS...]

 

选项:

-d:不要在wtmp中记录;

-f:不论目前的runlevel为何,不调用shutdown即强制关闭系统;

-i:在halt之前,关闭全部的网络界面;

-n:halt前,不用先执行sync;

-p:halt之后,执行poweroff;

-w:仅在wtmp中记录,而不实际结束系统。

 

实例:

       halt -p     //关闭系统后关闭电源。

halt-d     //关闭系统,但不留下纪录。

 

 

==============================================================

reboot命令

reboot命令用来重新启动正在运行的Linux操作系统

用法:

       reboot [OPTIONS...]

 

选项:

-d:重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有“-n”参数效果;

-f:强制重新开机,不调用shutdown指令的功能;

-i:在重开机之前,先关闭所有网络界面;

-n:重开机之前不检查是否有未结束的程序;

-w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。

实例:

       reboot        //重开机。

reboot-w     //做个重开机的模拟(只有纪录并不会真的重开机)。

 

 

==============================================================

poweroff命令

poweroff命令用来关闭计算机操作系统并且切断系统电源。

用法:

       poweroff [OPTIONS...]

 

选项:

-n:关闭操作系统时不执行sync操作;

-w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中;

-d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录;

-f:强制关闭操作系统;

-i:关闭操作系统之前关闭所有的网络接口;

-h:关闭操作系统之前将系统中所有的硬件设置为备用模式。

实例:

       poweroff

 

 

==============================================================

who命令

who命令是显示目前登录系统的用户信息。执行who命令可得知目前有那些用户登入系统,单独执行who命令会列出登入帐号,使用的终端机,登入时间以及从何处登入或正在使用哪个X显示器。

 

用法:

       who [选项]... [ 文件 | 参数1 参数2 ]

 

选项:

-a, --all        等于-b -d--login -p -r -t -T -u 选项的组合

  -b, --boot       上次系统启动时间

  -d, --dead       显示已死的进程

  -H, --heading    输出头部的标题列

  -l,--login      显示系统登录进程

      --lookup         尝试通过 DNS 查验主机名

  -m          只面对和标准输入有直接交互的主机和用户

  -p, --process    显示由 init 进程衍生的活动进程

  -q, --count      列出所有已登录用户的登录名与用户数量

  -r, --runlevel   显示当前的运行级别

  -s, --short      只显示名称、线路和时间(默认)

  -T, -w, --mesg   用+,- 或 ? 标注用户消息状态

  -u, --users      列出已登录的用户

      --message    等于-T

      --writable   等于-T

      --help       显示此帮助信息并退出

      --version        显示版本信息并退出

实例:

       [root@promote var]#who

tgy      :0           2015-08-23 01:36 (:0)

root     pts/1        2015-08-23 01:37 (192.168.1.101)

root     pts/0        2015-08-23 10:26 (192.168.1.101)

 

 

==============================================================

w命令

w命令用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。执行这个命令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w命令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。

 

用法:

       w [options]

 

选项:

-h:不打印头信息;

-u:当显示当前进程和cpu时间时忽略用户名;

-s:使用短输出格式;

-f:显示用户从哪登录;

-V:显示版本信息。

 

实例:

[root@promotevar]# w

11:02:16up  1:34, 3 users,  load average: 0.00,0.01, 0.05

USER     TTY     FROM             LOGIN@   IDLE  JCPU   PCPU WHAT

tgy      :0      :0               01:36   ?xdm?  2:54   0.37s gdm-session-worker[pam

root     pts/1   192.168.1.101    01:37   38:00  0.41s  0.26s bash

root     pts/0   192.168.1.101    10:26    0.00s 0.35s  0.03s w36 (:0)

root     pts/1        2015-08-23 01:37 (192.168.1.101)

root     pts/0        2015-08-23 10:26 (192.168.1.101)

 

 

==============================================================

whoami命令

显示与当前的有效用户ID 相关联的用户名。

id -un 相同。

 

用法:

       whoami [选项]...

 

选项:

 

实例:

[root@promotevar]# whoami

root