首页 » 技术分享 » 4-首次登入与在线求助

4-首次登入与在线求助

 

Please indicate the source:http://blog.csdn.net/gaoxiangnumber1

Welcome to my github:https://github.com/gaoxiangnumber1

4.2文本模式下指令的下达

4.2.1开始下达指令

xiang :~ $    command -options        parameter1  parameter2 ...
            指令      选项      参数(1)       参数(2)
  • 一行指令中第一个输入的是指令(command)或可执行文件(例如批次脚本,script)。command为指令的名称;
  • 加入选项设定时,通常选项前会带“-”号;有时候会使用选项的完整全名,则选项前带有“–”符号,例如 –help;
  • parameter1 parameter2… 为在选项后面的参数,或者是 command 的参数;
  • 指令、选项、参数中间以空格来区分,不论空几格,shell 都视为一格。
  • 按下[Enter]键后,该指令就立即执行。指令太长的时候,可以使用反斜杠()来跳脱[Enter]符号,使指令连续到下一行。只有反斜杠后立刻接特殊字符,才能跳脱。
  • 英文大小写字母是不一样的。

语系的支援

  • 显示目前所支持的语系
xiang :~ $ locale
LANG=en_US.UTF-8 #语言语系的输出
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8" # 底下为许多信息的输出使用的特别语系
LC_NUMERIC=zh_CN.UTF-8
LC_TIME=zh_CN.UTF-8 # 时间方面的语系数据
LC_COLLATE="en_US.UTF-8"
...
LC_IDENTIFICATION=zh_CN.UTF-8
LC_ALL= # 全部的数据同步更新的设定值
  • 修改语系成为英文语系
xiang :~ $ LANG=en_US.utf8
xiang :~ $ export LC_ALL=en_US.utf8 #LANG只与输出讯息有关,若需要更改
                                     #其他不同的信息,要同步更新LC_ALL才行。
xiang :~ $ locale
LANG=en_US.utf8
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
...
LC_ALL=en_US.utf8
  • 注意LANG=en_US.utf8是连续输入的,等号两边没有空格。

4.2.2 基础指令的操作

显示日期的指令:date

xiang :~ $ date
20161006日 星期四 13:08:00 CST
xiang :~ $ date +%Y/%m/%d
2016/10/06
xiang :~ $ date +%H:%M
13:09
  • 指令之后的选项除了前面带有“-”外,某些特殊情况下,选项或参数前面也会带有“+”的情况。

显示日历的指令:cal

xiang :~ $ cal
      十月 2016         
日 一 二 三 四 五 六  
                   1  
 2  3  4  5  6  7  8  
 9 10 11 12 13 14 15  
16 17 18 19 20 21 22  
23 24 25 26 27 28 29  
30 31                 
xiang :~ $ cal 2016
                            2016
         一月                    二月                    三月           
日 一 二 三 四 五 六  日 一 二 三 四 五 六  日 一 二 三 四 五 六  
                1  2      1  2  3  4  5  6         1  2  3  4  5  
 3  4  5  6  7  8  9   7  8  9 10 11 12 13   6  7  8  9 10 11 12  
10 11 12 13 14 15 16  14 15 16 17 18 19 20  13 14 15 16 17 18 19  
17 18 19 20 21 22 23  21 22 23 24 25 26 27  20 21 22 23 24 25 26  
24 25 26 27 28 29 30  28 29                 27 28 29 30 31        
31                                                                
...
xiang :~ $ cal 2 2017
      二月 2017         
日 一 二 三 四 五 六  
          1  2  3  4  
 5  6  7  8  9 10 11  
12 13 14 15 16 17 18  
19 20 21 22 23 24 25  
26 27 28

简单好用的计算器:bc

    • 加法、- 减法、* 乘法、/ 除法、^ 指数、% 余数
  • bc预设仅输出整数,如果要输出小数点下位数,那么就必须要执行scale=number,number就是小数点位数。
  • 要离开bc回到命令提示符时,务必要输入quit来离开 bc的软件环境。
xiang :~ $ 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'. 
71*88
6248
71/88
0
scale=10
71/88
.8068181818
quit
  • 下达指令时,会有两种主要情况:

    1. 该指令会直接显示结果然后回到命令提示字符等待下一个指令的输入。
    2. 进入该指令的环境,直到结束该指令才回到命令提示字符的环境。

4.2.3 重要的几个热键[Tab],[ctrl]-c,[ctrl]-d

[Tab]按键

  • 有命令补全与文件补齐的功能。
xiang :~ $ ca[tab][tab] #所有以ca为开头的指令都被显示出来
cabextract                       canonical-driver-test-suite-cli
cal                              capinfos
calendar                         capsh
calibrate_ppa                    captoinfo
caller                           case
xiang :~ $ ls -al ~/.bash[tab][tab]
#该目录下所有以`.bash`为开头的文件名都被显示出来
.bash_history   .bash_history~  .bash_logout    .bashrc         
  • [Tab]接在指令的第一个字后面,为命令补全;
    [Tab]接在指令的第二个字以后时,为文件补齐。在某些指令下,文件补齐可能会变成参数/选项补齐。
xiang :~ $ date --[tab][tab]
--date        --help        --reference=  --rfc-3339=   --universal   
--date=       --iso-8601    --rfc-2822    --set=        --version     

[Ctrl+c按键

  • 如果想让当前的程序停掉,输入:[Ctrl]+c。
xiang :~ $ find /
...
#按下[ctrl]-c
xiang :~ $ #提示字符回来了,find程序被中断。

[Ctrl]+d按键

  • 代表键盘输入结束(End Of File,EOF)。也可以用来取代exit的输入。

[shift]+{[Page UP]|[Page Down]}按键

  • 使用[Shift]+[Page Up]往前翻页,使用[Shift]+[Page Down]往后翻页。

4.2.4 错误讯息的察看

  • 出现command not found的可能原因为:

    1. 该软件没有安装。解决方法是安装该软件。
    2. 用户没有将指令所在的目录加入指令搜寻路径中(第十章bash- PATH)。
    3. 打错字。

4.3 Linux系统的在线求助 man page与 info page

4.3.1 指令的 –help 求助说明

  • 几乎所有指令的--help选项都能够将该指令的用法作一个大致的理解。

4.3.2 man page

  • man是manual(操作说明)的简写。
  • DATE(1)的(1)代表一般用户可使用的指令。常见数字的意义(man man):
    1 用户在shell中可以操作的指令或可执行文件
    2 系统核心可呼叫的函数与工具等
    3 函数(function)与函式库(library),大部分为C函式库(libc)
    4 装置文件说明,通常在/dev下的文件
    5 配置文件或者是某些文件的格式
    6 游戏(games)
    7 惯例与协议等,如Linux文件系统、网络协议等等的说明
    8 系统管理员可用的管理指令
    9 跟kernel有关的文件
  • man page大致分成底下这几个部分:
    NAME 简短的指令、数据名称说明
    SYNOPSIS 简短的指令下达语法(syntax)简介
    DESCRIPTION 较为完整的说明,这部分最好仔细看看。
    OPTIONS 针对SYNOPSIS部分中,有列举的所有可用的选项说明
    COMMANDS 当该程序/软件在执行时,可以在此程序/软件中下达的指令
    FILES 这个程序或数据所使用或参考或连结到的某些文件
    SEE ALSO 可以参考的,跟这个指令或数据有相关的其他说明。
    EXAMPLE 可以参考的范例
    Authors 作者
    Copyright 版权
  • 常用按键:
    空格键 向下翻一页
    [Page Down] 向下翻一页
    [Page Up] 向上翻一页
    [Home] 去第一页
    [End] 去最后一页
    /string 向下搜寻string字符串
    ?string 向上搜寻string字符串。
    q 退出man page
  • 利用/或?搜寻字符串时,用n来继续下一个搜寻(对/是向下;对?是向上),用N进行反向搜寻。
  • man page的数据通常放在/usr/share/man中,我们也可以修改/etc/manpath.config来修改man page搜寻路径。

搜寻特定指令/文件的man page说明文件

  • man -f string: Lookup the manual pages referenced by string and print out the short descriptions of any found.
xiang :~ $ man -f man
man (1)              - an interface to the on-line reference manuals
man (7)              - macros to format man pages

xiang :~ $ man 1 man #这里是用man(1)的文件数据
xiang :~ $ man 7 man #这里是用man(7)的文件数据
  • 输入man man时,取出的数据跟搜寻的顺序有关(记录在/etc/manpath.config中),先搜寻到的说明档,就会先被显示出来。通常会先找到数字较小的那个。
  • -f输出:
    1. 左边:指令(或文件)以及该指令所代表的意义(数字);
    2. 右边:这个指令的简易说明。
      当使用man -f时,man只会找数据左边那个指令(或文件)的完整名称,全部相同才可以。
  • man -k string: Search the short descriptions and manual page names for the keyword string as regular expression. Print out any matches.
xiang :~ $ man -k man
fallocate (2)   - manipulate file space
zshall (1)  - the Z shell meta-man page
...
  • man -k同时找两个地方的内容,只要该内容有关键词存在,不需要完全相同的指令(或文件)就能够找到。
xiang :~ $ whatis [指令或者是数据] #相当于 man -f [指令或者是数据]
xiang :~ $ apropos [指令或者是数据] #相当于 man -k [指令或者是数据]

4.3.3 info page

  • 所有的Unix系统中,都可以用man查询指令或者是相关文件的用法;在Linux中额外提供了info。
  • 与man page输出所有信息不同,info page将文件拆成一个个段落,每个段落用自己的页面来撰写,并且在各个页面中还有超链接来跳到不同的页面中,每个独立的页面也被称为一个节点(node)。
  • 要查询的目标数据的说明文件必须以info的格式来写,才能够使用info的特殊功能(例如超链接)。支持info指令的文件默认是放在/usr/share/info/中。
xiang :~ $ info info
File: info.info, Node: Top, Next: Getting Started, Up: (dir)
Info: An Introduction

*********************

The GNU Project distributes most of its on-line manuals in the "Info
....(中间省略)....
* Menu:
* Getting Started:: Getting started using an Info reader.
* Advanced:: Advanced Info commands.
* Expert Info:: Info commands for experts.
* Index:: An index of topics, commands, and variables.
--zz-Info: (info.info.gz)Top, 52 lines --Bot------------------------------------------
  • 第一行的数据意义为:
    File 代表这个info page的资料是来自info.info文件提供的。
    Node 代表目前这个页面属于Top节点。意思是info.info内含有很多信息,而 Top仅是info.info文件内的一个节点内容。
    Next 下一个节点的名称为Getting Started,按N到下一个节点。
    Up 回到上一层的节点总揽画面,按U到上一层的节点。
    Prev 前一个节点,按P到上一个节点。由于Top是info.info的第一个节点, 所以上面没有前一个节点的信息。
  • Menu底下共分为四小节,分别是Getting Started等等,我们可以使用上下左右按键来将光标移动到该文字或者*上面,按下 Enter,就可以前往该小节了。也可以按下[Tab]按键,就可以快速的将光标在上表的画面中的 node间移动。
  • 在info page中可以使用的按键:
    空格键 向下翻一页
    [Page Down] 向下翻一页
    [Page Up] 向上翻一页
    [tab] 在node间移动,有node的地方,通常会以*显示。
    [Enter] 当光标在node上时,按下Enter可进入该node。
    b 移动光标到该info中的第一个node处
    e 移动光标到该info中的最后一个node处
    n 前往下一个node
    p 前往上一个node
    u 向上移动一层
    s(/) 在info page中进行搜寻
    h/? 显示求助选单
    q 退出info page

4.3.4 其他有用的文件(documents)

  • 很多软件安装的时候,都会有一些安装须知、未来规划等,这些文件都放置在/usr/share/doc中。/usr/share/doc下的数据主要是以套件(packages)为主的,如gcc软件的相关信息在/usr/share/doc/gcc-xxx(xxx表示版本)。
  • 总结三个(man,info,/usr/share/doc/),请记住:
    1. 如果知道某个指令,但忘记相关选项/参数,先用–help查询相关信息。
    2. 当有任何不知道的指令或文件格式,使用man或info来查询。
    3. 如果想架设服务,或想利用一整组软件来达成某项功能,到/usr/share/doc下查找该服务的说明档。

4.5 正确的关机方法

数据同步写入磁盘:sync

  • 在Linux中,为了加快数据的读取速度,在默认情况下,某些已经加载内存的数据不会直接被写回硬盘,而是先暂存在内存中。万一系统不正常关机,由于数据尚未被写入硬盘,会造成数据的更新不正常。
  • sync指令进行数据的写入动作。输入sync,那么在内存中尚未被更新的数据,就会被写入硬盘中。shutdown/reboot/halt 等指令均已经在关机前进行了sync。
xiang :~ $ su -i #这个指令让你的身份变成root。底下输入密码。
Password#输入安装时设定的密码。
root :~ # sync
  • 一般账号用户使用sync更新的硬盘数据仅有自己的数据,root可以更新整个系统中的数据了。

惯用的关机指令:shutdown

  • shutdown指令会通知系统内的各个程序(processes),并且将通知系统中的一些服务来关闭。语法规则为:
    root :~ # /sbin/shutdown [-krhc] [时间] [警告讯息]
    -k 只发送警告,不关机。
    -r 将系统的服务停掉后,重新启动(常用)
    -h 将系统的服务停掉后,立即关机(常用)
    -c 取消已经在进行的shutdown指令内容
    时间:指定系统关机的时间。若没有,默认1分钟后自动进行。
root :~ # shutdown -h 10 'I will shutdown after 10 mins'
Broadcast message from root (Tue 2015-06-02 10:51:34 CST):
I will shutdown after 10 mins
The system is going down for power-off at Tue 2015-06-02 11:01:34 CST。
  • 执行shutdown后,系统会将讯息显示在登入者的屏幕前方,告诉大家机器会在十分钟后关机。
  • 输入shutdown -c取消关机指令。
  • 如果没有加参数,单纯shutdown后,系统默认会在1分钟后关机。
root :~ # shutdown -h now  #立刻关机,now相当于时间为0
root :~ # shutdown -h 20:25
#在今天20:25关机;若在20:25才下达此指令,则隔天才关机
root :~ # shutdown -h +10      #系统再过十分钟后关机
root :~ # shutdown -r now      #系统立刻重新启动
root :~ # shutdown -r +30 'The system will reboot'
#再过三十分钟系统会重新启动,并显示后面的讯息给所有在在线的使用者
root :~ # shutdown -k now 'This system will reboot'
#仅发出警告的参数。系统不会关机。

重新启动,关机:reboot,halt,poweroff

  • reboot,halt,poweroff可以进行重新启动与关机的任务。一般在重新启动时,都会下达如下指令:root :~ # sync; reboot;
  • 这些指令都会完成一样的工作,全部的动作都是去呼叫systemctl。所以只要记一个就好。
root :~ # halt         #系统停止,屏幕可能会保留系统已经停止的讯息。
root :~ # poweroff #系统关机,所以没有提供额外的电力,屏幕空白。

实际使用管理工具 systemctl 关机

  • halt/poweroff/reboot/shutdown都是呼叫systemctl指令。这个指令的关机语法:
    root :~ # systemctl [指令]
    指令项目包括如下:
    halt 进入系统停止模式,屏幕可能会保留信息(与电源管理模式有关)
    poweroff 进入系统关机模式,直接关机。
    reboot 直接重新启动
    suspend 进入休眠模式

Please indicate the source:http://blog.csdn.net/gaoxiangnumber1

Welcome to my github:https://github.com/gaoxiangnumber1

转载自原文链接, 如需删除请联系管理员。

原文链接:4-首次登入与在线求助,转载请注明来源!

0