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

简介:

在写这篇随笔时,翻看了一下上一篇随笔的写作日期,发现已经是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

相关文章
|
24天前
|
Linux 网络安全
Centos 防火墙端口控制命令
Centos 防火墙端口控制命令
29 3
|
25天前
|
Linux
Linux中centos桌面消失网络图标
Linux中centos桌面消失网络图标
13 0
|
1月前
|
Linux 网络安全 数据安全/隐私保护
如何在 VM 虚拟机中安装 CentOS Linux 9 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 CentOS Linux 9 操作系统保姆级教程(附链接)
170 0
|
1月前
|
存储 JavaScript Linux
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
|
17天前
|
关系型数据库 MySQL Linux
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
22 0
|
1月前
|
网络协议 Linux API
Linux网络编程:shutdown() 与 close() 函数详解:剖析 shutdown()、close() 函数的实现原理、参数说明和使用技巧
Linux网络编程:shutdown() 与 close() 函数详解:剖析 shutdown()、close() 函数的实现原理、参数说明和使用技巧
89 0
|
1月前
|
Java Linux
Flume【环境搭建 01】CentOS Linux release 7.5 安装配置 apache-flume-1.9.0 并验证
【2月更文挑战第16天】Flume【环境搭建 01】CentOS Linux release 7.5 安装配置 apache-flume-1.9.0 并验证
34 0
|
1月前
|
分布式计算 关系型数据库 MySQL
Sqoop【部署 01】CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
【2月更文挑战第8天】Sqoop CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
100 1
|
13天前
|
Linux Windows
|
17天前
|
缓存 Linux
linux centos7 挂载本地iso yum源
linux centos7 挂载本地iso yum源
73 0

热门文章

最新文章