• Linux常用命令之bc、man、shutdown...


    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 ~]# 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@xiaoluo ~]# 
    Display all 4221 possibilities? (y or n)

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

    复制代码
    [root@xiaoluo ~]# 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的常见数字的含义如下:

                                      常见数字的含义

    代号 代表内容
    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 -h now // 咱们平常关机最常用的一个命令
    立刻关机,其中 now 相当于时间为 0 的状态 
    [root@xiaoluo
    ~]# shutdown -h 23:25 系统在今天的 23:25 分会关机,若在23:50才下达此命令,则隔天才关机
    [root@xiaoluo
    ~]# shutdown -h +10 系统再过十分钟后自动关机
    [root@xiaoluo
    ~]# shutdown -r now 系统立刻重新启动
    [root@xiaoluo
    ~]# shutdown -r +30 'The system will reboot' 再过三十分钟系统会重新启动,并显示后面的信息给所有在在线的使用者
    [root@xiaoluo
    ~]# shutdown -k now 'This system will reboot' 仅发出警告信件的参数!系统并不会关机!但是会给出警告信息!
    复制代码

    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的一些心得以及体会,后续学习中将会继续记录下自己的学习心得!!!

     
    摘要: 纵观之前的14篇Linux学习系列随笔,基本上是学习了Linux的一些常用命令,以及如何在Linux下进行j2ee环境搭建等知识,应该说并没有深入到Linux的学习当中,也没有找一本Linux的书籍来细看,所以从这篇随笔开始,自己准备好好地跟着Linux的书籍或者其他资料来深入的了解、学习Linux。为此,特地从图书馆借来了一本书,这本书应该也是Linux学习的入门书籍了--《鸟哥的Linux私房菜--基础学习篇》,现在就先从基础学习篇开始学习啦,后续还会继续学习服务器篇。。。阅读全文
    posted @ 2013-04-20 00:27 xiaoluo501395377 阅读(256) | 评论 (0) 编辑
     
    摘要: SSH(Secure Shell的缩写),由 IETF 的网络工作小组(Network Working Group)所制定。ssh协议目前有SSH1和SSH2,SSH2协议兼容SSH1。目前实现SSH1和SSH2协议的主要软件有OpenSSH和SSH Communications Security Corporation 公司的SSH Communications 软件。前者是OpenBSD组织开发的一款免费的SSH软件,后者是商业软件,因此在linux、FreeBSD、OpenBSD、NetBSD等免费类UNIX系统种,通畅都使用OpenSSH作为SSH协议的实现软件。阅读全文
    posted @ 2013-04-08 21:58 xiaoluo501395377 阅读(554) | 评论 (2) 编辑
     
    摘要: 说到数据库,我们大多想到的是关系型数据库,比如mysql、oracle、sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱不得不首先推荐的是mysql数据库了,而且Mysql数据库的第一个版本就是发行在Linux系统上的。阅读全文
    posted @ 2013-04-07 00:51 xiaoluo501395377 阅读(810) | 评论 (0) 编辑
     
    摘要: crontab命令常见于Unix和Linux的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行。 在Linux系统中,Linux任务调度的工作主要分为以下两类: 1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存 2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置阅读全文
    posted @ 2013-04-06 16:41 xiaoluo501395377 阅读(702) | 评论 (3) 编辑
     
    摘要: 这篇随笔真是让我折腾了2天2夜才敢下笔写!!!为什么呢?之前是通过去Samba的官网下载的源码包,也就是.tar.gz来进行安装配置,不过这个让我折腾来折腾去就是没折腾出结果,还花了我整整1天1夜的时间,最后实在是熬不住了,想通过yum来重新进行Samba服务器的安装与配置,但是要使用yum首先必须是CentOS要联网,而我又没有找到Samba的rpm包,而之前一直没有搞定在虚拟机中的CentOS上网的问题,所以新的纠结又开始了。。。。。。阅读全文
    posted @ 2013-04-06 00:57 xiaoluo501395377 阅读(580) | 评论 (1) 编辑
     
    摘要: 这篇随笔应该说跟CentOS的学习关系不是很大,但是却关系到了我接下来的CentOS学习。。。。。。阅读全文
    posted @ 2013-04-05 19:43 xiaoluo501395377 阅读(669) | 评论 (0) 编辑
     
    摘要: Linux下对网络环境进行配置的三种方法阅读全文
    posted @ 2013-04-05 15:37 xiaoluo501395377 阅读(634) | 评论 (2) 编辑
     
    摘要: 硬盘的分区主要分为基本分区(Primary Partion)和扩展分区(Extension Partion)两种,基本分区和扩展分区的数目之和不能大于四个。且基本分区可以马上被使用但不能再分区。扩展分区必须再进行分区后才能使用,也就是说 它必须还要进行二次分区。那么由扩展分区再分下去的是什么呢?它就是逻辑分区(Logical Partion),况且逻辑分区没有数量上限制。阅读全文
    posted @ 2013-04-03 00:13 xiaoluo501395377 阅读(833) | 评论 (2) 编辑
     
    摘要: 因为是做j2ee后台开发的,所以在Linux上搭建j2ee环境是每一个java程序员所需要掌握的。所以这篇随笔主要记录一下j2ee环境搭建过程,包括jdk、tomcat、eclipse的安装,(对于mysql数据库的安装,将会在后面的随笔中记录)。阅读全文
    posted @ 2013-04-01 22:47 xiaoluo501395377 阅读(806) | 评论 (3) 编辑
     
    摘要: VMware-Tools 主要的功能就是让用户在虚拟机和真实系统之间实现无缝切换,这个功能很方便。当然VMware-Tools最主要是实现linux和windows的文件共享。阅读全文
    posted @ 2013-04-01 20:26 xiaoluo501395377 阅读(121) | 评论 (0) 编辑
     
    摘要: 在Linux系统中,如果要使用硬盘、光盘、软盘或MO盘等存储设备,必须先进行挂装(Mount)。当存储设备挂装完成之后,就可以将其作为一个目录来进行访问了。阅读全文
    posted @ 2013-04-01 11:28 xiaoluo501395377 阅读(185) | 评论 (2) 编辑
     
    摘要: 对于绝大多数Linux程序员来说,进入Linux系统后一般看到的是黑乎乎的界面(开发模式),因为系统如果启动选择开发模式,会减少启动时间,优化内存等。但是通常我们刚安装完Linux系统,然后进去以后是图形的界面,(如果要切换到开发模式,使用快捷键Ctrl + F2即可),从开发模式返回到图形界面则使用快捷键(Ctrl + F1),或者在命令行里输入命令 startx 命令就可以切换到图形界面。阅读全文
    posted @ 2013-04-01 09:36 xiaoluo501395377 阅读(605) | 评论 (0) 编辑
     
    摘要: 文件系统是Linux系统中最基础的一环,但是又是学习Linux系统必学的。。。阅读全文
    posted @ 2013-04-01 00:47 xiaoluo501395377 阅读(694) | 评论 (0) 编辑
     
    摘要: linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。阅读全文
    posted @ 2013-03-31 23:12 xiaoluo501395377 阅读(945) | 评论 (2) 编辑
     
    摘要: CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。阅读全文
    posted @ 2013-03-31 19:10 xiaoluo501395377 阅读(1091) | 评论 (10) 
     
    分类: Linux
    标签: linuxCentOS
  • 相关阅读:
    面向对象案例
    Leetcode--9. 回文数
    调试seanbell/intrinsic遇到的坑
    Ubuntu16.04OPENGL初体验
    Ubuntu16.04重装NVIDIA驱动
    C++之封装继承和多态
    CMKAE简单实用指南
    【学习笔记】C/C++
    C++之重载覆盖和隐藏
    C++之指针和引用
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3032866.html
Copyright © 2020-2023  润新知