且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Linux学习之CentOS(十五)--Linux常用命令之bc、man、shutdown...

更新时间:2022-10-08 13:15:35

在写这篇随笔时,翻看了一下上一篇随笔的写作日期,发现已经是4月8号了,时间已经过了11天了!!!过了这么久没有更新Linux学习系列的随笔了,是因为我又松懈了Linux的学习了吗?不是的!!!是因为最近这段日子真的是发生了很多事。。。。

造成许久没有更新Linux学习系列随笔的原因:

4.15-5.3这段时间报名参加了广交会的实习,一共分为三期,基本每期都是工作4天,然后休息4天。。。所以基本只能在放假那几天挤出时间来学习了

电脑用的太久,里面囤下了太多的灰尘,导致电脑散热非常差,基本上每天开机后不怎么用都会在1小时左右自动关机,不过今天已经将笔记本整个清洁了一次,电脑也终于正常工作了

最近腾讯开始招聘2013实习生岗位,自己也投递了简历,参加了笔试以及今天上午进行的一面。。。总结一点,自己还真的差很多啊!!!

综合上述原因,使得自己这段时间没有系统的学习Linux,所以Linux学习系列的随笔也就没有更新了,不过现在已经空下来了时间,趁着广交会第一期放假这几天,自己得抓紧时间多学一下,不能松懈了Linux的学习!!!!

纵观之前的14篇Linux学习系列随笔,基本上是学习了Linux的一些常用命令,以及如何在Linux下进行j2ee环境搭建等知识,应该说并没有深入到Linux的学习当中,也没有找一本Linux的书籍来细看,所以从这篇随笔开始,自己准备好好地跟着Linux的书籍或者其他资料来深入的了解、学习Linux。为此,特地从图书馆借来了一本书,这本书应该也是Linux学习的入门书籍了--《鸟哥的Linux私房菜--基础学习篇》,现在就先从基础学习篇开始学习啦,后续还会继续学习服务器篇。。。

所以从本随笔开始,基本上就是通过细读《鸟哥的Linux私房菜--基础学习篇》这本书,来记录下自己学习的一些点点滴滴以及一些心得,如有错误或者好的学习建议,还希望大家能够指出来。。。

这篇随笔主要记录下Linux下的bc、man、shutdown等一些命令的用法及含义

一、bc (Linux系统下的一个简单计算器)

在windows系统里,里面自带了一个计算器的工具,我们可以用其进行各种计算,在Linux系统下也有一个简单的计算器功能,我们通过 bc 命令就可以用其来进行一些简单的计算。

[root@xiaoluo ~]# bcbc 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=310/3
3.333
quit -> 退出当前的bc计算器命令

这个简单的计算器功能就是这样,通过bc这个命令,我们就可以在Linux系统下进行一些简单的数据运算了。

二、man命令

Linux系统的命令非常非常的多,我们可以在bash下连续按两次[Tab]键,就可以查看当前Linux中所拥有的命令条数,如:

[root@xiaoluo ~]# 
Display all 4221 possibilities? (y or n)

我们看到,在我安装的CentOS6.4系统下,一共存在了4221条命令,所以这么多的命令我们都需要记住吗?当然不能这么傻了,就像java的API一样,那么多的类和方法,咱们不可能去每个都记住吧,所以我们如果需要使用某个命令时只需要google一下就行了。至于当我们拿到一个命令后,要如何使用它,这就需要问"男人"(man)了。我们在Linux里面流行了这样一句话,如果不清楚一个命令的具体用法,就要找男人(man)。当然这个man是manual(操作说明)的简写,比如说我们要查看date这个命令的用法,就可以输入 man date 这个命令来进行查看:

[root@xiaoluo ~]#  )                          User Commands                         DATE( - print or set the system  and  [OPTION]... [+ [-u|--utc|--  the given FORMAT, or set the system -d, --=-f, --=-- once -r, --reference= modification -R, --rfc-  and   RFC  format.  Example: Mon, --=STRING is a mostly  format human  readable     or .  A   may contain items indicating  cal-,   of day,  zone, day of week, relative , rela-, and numbers.  An empty   format is  the -/etc/ bugs to bug-<http:
       General help using GNU software: <http:
       Report  translation bugs to <http: Free Software Foundation, Inc.   License  GPLv3+ or later <http:
       This  is    software:  you  are    and   coreutils                   June                            DATE(

这样的话我们就马上可以知道date命令的具体用法了,而且也知道了date这个命令可以添加的一些参数,以及这些参数的信息,对于这个界面,我们将其称作是man page(帮助页)。我们可以看到在输入 man date这个命令后第一行出现了 "DATE(1)",这里的DATE就是命令的名称,(1)在这里表示的是"一般用户可以使用的命令"。对于这个数字,在某些场合对我们还是很有帮助的,Linux的常见数字的含义如下:

                                  常见数字的含义

代号 代表内容
1 使用者在shell环境中可以操作的命令或可运行文件
2 系统核心可呼叫的函数与工具等
3 一些常用的函数(function)与函式库(library),大部分为C的函式库(libc)
4 装置文件的说明,通常在/dev下的文件
5 配置文件或者是某些文件的格式
6 游戏(games)
7 惯例与协议等,例如Linux文件系统、网络协议、ASCII code等等的说明
8 系统管理员可用的管理命令
9 跟kernel有关的文件

在通过输入 man date 命令后,我们发现其输出信息有很多的字段,那么组成man page 的这些字段的含义又是代表什么意思呢?

                                man page 的组成部分

代号 内容说明
NAME 简短的命令、数据名称说明
SYNOPSIS 简短的命令下达语法(syntax)简介
DESCRIPTION 较为完整的说明,这部分***仔细看看!
OPTIONS 针对 SYNOPSIS 部分中,有列举的所有可用的选项说明
COMMANDS 当这个程序(软件)在运行的时候,可以在此程序(软件)中下达的命令
FILES 这个程序或数据所使用或参考或连结到的某些文件
SEE ALSO 可以参考的,跟这个命令或数据有相关的其他说明!
EXAMPLE 一些可以参考的范例
BUGS 是否有相关的错误!

我们通常需要关注的就是NAME、DESCRIPTION这两个字段,NAME就是代表了该命令的名称,DESCRIPTION就是该命令的一些常见参数及其所代表的意思。我们在man page这个页面进行命令的查询时,通常也有一些常用的按键可以帮助我们:

                                man page 常用的按键

 

按键 进行工作
空格键 向下翻一页
[Page Down] 向下翻一页
[Page Up] 向上翻一页
[Home] 去到第一页
[End] 去到最后一页
/string 向『』搜寻 string 这个字符串,如果要搜寻 date 的话,就输入 /date
?string 向『』搜寻 string 这个字符串
n, N 利 用 / 或 ? 来搜寻字符串时,可以用 n 来继续下一个搜寻 (不论是 / 或 ?) ,可以利用 N 来进行『反向』搜寻。举例来说,我如果以 /date 搜寻 date 字符串, 那么可以 n 继续往下查询,用 N 往上查询。若以 ?date 向上查询 date 字符串, 那我可以用 n 继续『向上』查询,用 N 反向查询。

q

结束这次的 man page

注意:这些常用的按键只能是在man page 这个页面下才能使用。

三、shutdown命令

在之前的随笔中就有记录下Linux系统的关机命令可以是 shutdown -h now ,重启命令可以是 shutdown -r now 或者 reboot,而且关机命令、重启命令只能是root才有权力执行。那么shutdown这个命令的具体语法规则是什么呢?shutdown命令可以实现什么呢?没错,咱们不知道就问 man

[root@xiaoluo ~]# 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@xiaoluo ~]# shutdown [-t 秒] [-arkhncfF] 时间 [警告信息] 
选项与参数: 
-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思 
-k     : 不要真的关机,只是发送警告信息出去! 
-r     : 在将系统的服务停掉之后就重新启动(常用) 
-h     : 将系统的服务停掉后,立即关机。 (常用) -n     : 不经过 init 程序,直接以 shutdown 的功能来关机 
-f     : 关机并启动之后,强制略过 fsck 的磁盘检查 
-F     : 系统重新启动之后,强制进行 fsck 的磁盘检查 
-c     : 取消已经在进行的 shutdown 命令内容。 
时间   : 这是一定要加入的参数!指定系统关机的时间!时间的范例底下会说明。 
范例: 
[root@xiaoluo ~]# shutdown -h 10 'I will shutdown after 10 mins' # 告诉大家,这部机器会在十分钟后关机!并且会显示在目前登陆者的屏幕前方!

如果我们需要关机时,比如设定某个时间关机,就必须要加入时间参数,否则此时会自动跳到1级运行级别(就是单用户登陆情况)。

[root@xiaoluo ~]# shutdown -~]# shutdown -h ::~]# shutdown -h +~]# shutdown -~]# shutdown -r + ~]# shutdown -k now

shutdown命令有什么用呢?或者说shutdown命令可以做什么?

  • 可以***选择关机模式:是要关机、重新启动或进入单用户操作模式均可;

  • 可以配置关机时间: 可以配置成现在立刻关机, 也可以配置某一个特定的时间才关机。

  • 可以自定义关机信息:在关机之前,可以将自己配置的信息传送给在线 user 。

  • 可以仅发出警告信息:有时有可能你要进行一些测试,而不想让其他的使用者干扰, 或者是明白的告诉使用者某段时间要注意一下!这个时候可以使用 shutdown 来吓一吓使用者,但却不是真的要关机啦!

  • 可以选择是否要 fsck 检查文件系统 。

如果我们需要重启的话,就直接使用 reboot 命令或者 shutdown -r now 即可。

四、sync 命令

这个命令虽然简单,但是还是不得不记录一下。sync命令是将数据同步到磁盘上。

在Linux系统中,为了加快数据的读取速度,在默认的情况中, 某些已经加载内存中的数据将不会直接被写回硬盘,而是先缓存在内存当中,如此一来, 如果一个数据被你重复的改写,那么由于他尚未被写入硬盘中,因此可以直接由内存当中读取出来, 在速度上一定是快上相当多的!

不过,如此一来也造成些许的困扰,那就是万一你的系统因为某些特殊情况造成不正常关机 (例如停电或者是不小心踢到power)时,由于数据尚未被写入硬盘当中,哇!所以就会造成数据的升级不正常啦! 那要怎么办呢?这个时候就需要sync这个命令来进行数据的写入动作啦! 直接在文字接口下输入sync,那么在内存中尚未被升级的数据,就会被写入硬盘中!所以,这个命令在系统关机或重新启动之前, 很重要喔!***多运行几次!该命令如下:

[root@xiaoluo ~]# sync

所以为了保险起见,我们在进行系统关机或者重启之前,***先多运行几次sync命令,将内存中的数据同步到硬盘中:

[root@xiaoluo ~]# sync[root@xiaoluo ~]# sync[root@xiaoluo ~]# sync[root@xiaoluo ~]# shutdown -h now

 

本篇随笔主要记录了自己深入学习Linux的一些心得以及体会,后续学习中将会继续记录下自己的学习心得!!!

本文转自sandshell博客51CTO博客,原文链接http://blog.51cto.com/sandshell/1947758如需转载请自行联系原作者


sandshell