这篇随笔主要记录下Linux下的bc、man、shutdown等一些命令的用法及含义 一、bc (Linux系统下的一个简单计算器) 在windows系统里,里面自带了一个计算器的工具,我们可以用其进行各种计算,在Linux系统下也有一个简单的计算器功能,我们通过 bc 命令就可以用其来进行一些简单的计算。
[root@itnetcn ~]# bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
-->>> 这这里输入我们要进行的一些运算
此时我们就已经进入到了bc这个简单计算器的工作环境中了,在这个简单的计算器下我们可以进行如下的一些简单运算: + 加法、- 减法、* 乘法、/ 除法、^ 指数、% 余数 例如:
12+15+12
39
12*5
60
10^2
100
10%3
1
10/3
3 -->> 为什么这里只是显示3呢?那是因为bc默认输出的是整数,如果我们要输出小数,还需要执行一个scale命令,例如scale=3,则表示输出三位小数。
scale=3
10/3
3.333
quit -> 退出当前的bc计算器命令
这个简单的计算器功能就是这样,通过bc这个命令,我们就可以在Linux系统下进行一些简单的数据运算了。 二、man命令 Linux系统的命令非常非常的多,我们可以在bash下连续按两次[Tab]键,就可以查看当前Linux中所拥有的命令条数,如: [root@itnetcn ~]# Display all 4221 possibilities? (y or n) 我们看到,在我安装的CentOS6.4系统下,一共存在了4221条命令,所以这么多的命令我们都需要记住吗?当然不能这么傻了,就像java的API一样,那么多的类和方法,咱们不可能去每个都记住吧,所以我们如果需要使用某个命令时只需要google一下就行了。至于当我们拿到一个命令后,要如何使用它,这就需要问"男人"(man)了。我们在Linux里面流行了这样一句话,如果不清楚一个命令的具体用法,就要找男人(man)。当然这个man是manual(操作说明)的简写,比如说我们要查看date这个命令的用法,就可以输入 man date 这个命令来进行查看: [root@itnetcn ~]# man date DATE(1) User Commands DATE(1) NAME date - print or set the system date and time SYNOPSIS date [OPTION]... [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] DESCRIPTION Display the current time in the given FORMAT, or set the system date. -d, --date=STRING display time described by STRING, not ‘now’ -f, --file=DATEFILE like --date once for each line of DATEFILE -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug ..............................................此处省略几百字..................................................... DATE STRING The --date=STRING is a mostly free format human readable date string such as "Sun, 29 Feb 2004 16:21:42 -0800" or "2004-02-29 16:21:42" or even "next Thursday". A date string may contain items indicating cal- endar date, time of day, time zone, day of week, relative time, rela- tive date, and numbers. An empty string indicates the beginning of the day. The date string format is more complex than is easily documented here but is fully described in the info documentation. ENVIRONMENT TZ Specifies the timezone, unless overridden by command line param- eters. If neither is specified, the setting from /etc/localtime is used. AUTHOR Written by David MacKenzie. REPORTING BUGS Report date bugs to bug-coreutils@gnu.org GNU coreutils home page: <http://www.gnu.org/software/coreutils/> General help using GNU software: <http://www.gnu.org/gethelp/> Report date translation bugs to <http://translationproject.org/team/> COPYRIGHT Copyright © 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. SEE ALSO The full documentation for date is maintained as a Texinfo manual. If the info and date programs are properly installed at your site, the command info coreutils 'date invocation' should give you access to the complete manual. GNU coreutils 8.4 June 2012 DATE(1 这样的话我们就马上可以知道date命令的具体用法了,而且也知道了date这个命令可以添加的一些参数,以及这些参数的信息,对于这个界面,我们将其称作是man page(帮助页)。我们可以看到在输入 man date这个命令后第一行出现了 "DATE(1)",这里的DATE就是命令的名称,(1)在这里表示的是"一般用户可以使用的命令"。对于这个数字,在某些场合对我们还是很有帮助的,Linux的常见数字的含义如下: 常见数字的含义
在通过输入 man date 命令后,我们发现其输出信息有很多的字段,那么组成man page 的这些字段的含义又是代表什么意思呢? man page 的组成部分
我们通常需要关注的就是NAME、DESCRIPTION这两个字段,NAME就是代表了该命令的名称,DESCRIPTION就是该命令的一些常见参数及其所代表的意思。我们在man page这个页面进行命令的查询时,通常也有一些常用的按键可以帮助我们: man page 常用的按键
注意:这些常用的按键只能是在man page 这个页面下才能使用。 三、shutdown命令 在之前的随笔中就有记录下Linux系统的关机命令可以是 shutdown -h now ,重启命令可以是 shutdown -r now 或者 reboot,而且关机命令、重启命令只能是root才有权力执行。那么shutdown这个命令的具体语法规则是什么呢?shutdown命令可以实现什么呢?没错,咱们不知道就问 man [root@itnetcn ~]# man shutdown shutdown(8) //8就表示该命令是管理员才能执行的命令 shutdown(8) NAME shutdown - bring the system down SYNOPSIS shutdown [OPTION]... TIME [MESSAGE] OPTIONS -r Requests that the system be rebooted after it has been brought down. -h Requests that the system be either halted or powered off after it has been brought down, with the choice as to which left up to the system. -H Requests that the system be halted after it has been brought down. -P Requests that the system be powered off after it has been brought down. -c Cancels a running shutdown. TIME is not specified with this option, the first argument is MESSAGE. -k Only send out the warning messages and disable logins, do not actually bring the system down. shutdown命令的语法规则为: [root@itnetcn ~]# shutdown [-t 秒] [-arkhncfF] 时间 [警告信息] 选项与参数: -t sec : -t 后面加秒数,亦即『过几秒后关机』的意思 -k : 不要真的关机,只是发送警告信息出去! -r : 在将系统的服务停掉之后就重新启动(常用) -h : 将系统的服务停掉后,立即关机。 (常用) -n : 不经过 init 程序,直接以 shutdown 的功能来关机 -f : 关机并启动之后,强制略过 fsck 的磁盘检查 -F : 系统重新启动之后,强制进行 fsck 的磁盘检查 -c : 取消已经在进行的 shutdown 命令内容。 时间 : 这是一定要加入的参数!指定系统关机的时间!时间的范例底下会说明。 范例: [root@itnetcn ~]# shutdown -h 10 'I will shutdown after 10 mins' # 告诉大家,这部机器会在十分钟后关机!并且会显示在目前登陆者的屏幕前方! 如果我们需要关机时,比如设定某个时间关机,就必须要加入时间参数,否则此时会自动跳到1级运行级别(就是单用户登陆情况)。 [root@itnetcn ~]# shutdown -h now // 咱们平常关机最常用的一个命令 立刻关机,其中 now 相当于时间为 0 的状态 [root@itnetcn ~]# shutdown -h 23:25 系统在今天的 23:25 分会关机,若在23:50才下达此命令,则隔天才关机 [root@itnetcn ~]# shutdown -h +10 系统再过十分钟后自动关机 [root@itnetcn ~]# shutdown -r now 系统立刻重新启动 [root@itnetcn ~]# shutdown -r +30 'The system will reboot' 再过三十分钟系统会重新启动,并显示后面的信息给所有在在线的使用者 [root@itnetcn ~]# shutdown -k now 'This system will reboot' 仅发出警告信件的参数!系统并不会关机!但是会给出警告信息! shutdown命令有什么用呢?或者说shutdown命令可以做什么?
如果我们需要重启的话,就直接使用 reboot 命令或者 shutdown -r now 即可。 四、sync 命令 这个命令虽然简单,但是还是不得不记录一下。sync命令是将数据同步到磁盘上。 在Linux系统中,为了加快数据的读取速度,在默认的情况中, 某些已经加载内存中的数据将不会直接被写回硬盘,而是先缓存在内存当中,如此一来, 如果一个数据被你重复的改写,那么由于他尚未被写入硬盘中,因此可以直接由内存当中读取出来, 在速度上一定是快上相当多的! 不过,如此一来也造成些许的困扰,那就是万一你的系统因为某些特殊情况造成不正常关机 (例如停电或者是不小心踢到power)时,由于数据尚未被写入硬盘当中,哇!所以就会造成数据的升级不正常啦! 那要怎么办呢?这个时候就需要sync这个命令来进行数据的写入动作啦! 直接在文字接口下输入sync,那么在内存中尚未被升级的数据,就会被写入硬盘中!所以,这个命令在系统关机或重新启动之前, 很重要喔!最好多运行几次!该命令如下:
[root@itnetcn ~]# sync
所以为了保险起见,我们在进行系统关机或者重启之前,最好先多运行几次sync命令,将内存中的数据同步到硬盘中: [root@itnetcn ~]# sync [root@itnetcn ~]# sync [root@itnetcn ~]# sync [root@itnetcn ~]# shutdown -h now (责任编辑:IT) |