获取命令使用帮助详解

Linux基础知识

命令的语法通用格式:
# COMMAND OPTIONS ARGUMENTS
发起命令:请求内核将某个二进制程序运行为一个进程:
程序 -> 进程
静态 -> 动态(有生命周期)

命令本身是一个可执行的程序文件:二进制格式的文件,有可能会调用共享库文件:
多数系统程序文件都存放在:/bin,/sbin,/usr/sbin,/usr/local/bin,/usr/local/sbin

普通命令:/bin,/usr/bin,/usr/local/bin
管理命令:/sbin,/usr/sbin,/usr/local/sbin

共享库:/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64

32bits的库:/lib,/usr/lib,/usr/local/lib
64bits的库:/lib64,/usr/lib64,/usr/local/lib64

注意:并非所有的命令都有一个在某目录与之对应的可执行程序文件

命令必须遵循特定格式规范:exe,msi,ELF(Linux)
~]# file /bin/ls

命令分为两类:
1. 由shell程序的自带的命令:内置命令(builtin)
2. 独立的可执行程序文件,文件名即命令名:外部命令

shell程序是独特的程序,负责解析用户提供的命令:
环境变量:
PATH:从哪些路径中查找用户键入的命令字符串所对应的命令文件:

~]# echo $PATH
查找次序:自左而右

查看命令类型:

type COMMAND

OPTIONS
指定命令的运行特性:

选项有两种表现形式:
1. 短选项:-C, 例如-l,-d
注意:有些命令的选项没有-
如果同一命令同时使用多个短选项,多数可合并:-l -d = -ld
2. 长选项: –word,例如–help, –human-readable
注意:长选项不能合并

注意:有些选项可以带参数,此称为选项参数

ARGUMENTS
命令的作用对象:命令对什么生效
注意:不同的命令的参数:有些命令可同时带多个参数,多个之间以空白字符分隔
例如:ls -ld /var /etc

获取命令的使用帮助:

内部命令:
help COMMAND
外部命令:
1. 命令自带简要格式的使用帮助
# COMMAND --help
2. 使用手册:manual
位置:/usr/share/man
# man COMMAND

SECTION

NAME:功能性说明
SYNOPSIS:语法格式
DESCRIPTION:描述
OPTIONS:选项
EXAMPLES:使用示例
AUTHOR:作者
BUGS:报告程序bug的方式
SEE ALSO:参考

SYNOPSIS

[]:可选内容
<>:必须提供的内容
a|b|c:多选一
…:同类内容可出现多个

使用手册:压缩格式的文件,有章节之分:
/usr/share/man
man1,man2…

  1. 用户命令
  2. 系统调用
  3. C库调用
  4. 设备文件及特殊文件
  5. 文件格式(配置文件格式)
  6. 游戏使用帮助
  7. 杂项
  8. 管理工具及守护进程

~]# man CHAPTER COMMAND
注意:并非每个COMMAND在所有章节下都有手册
查看:
~]# whatis COMMAND
注意:其执行过程是查询数据库进行的:
手动更新数据库:
~]# makewhatis

man命令打开手册以后的操作方法:
翻屏
空格键:向文件尾部翻一屏
b:向文件首部翻一屏
Ctrl+d:向文件尾部翻半屏
Ctrl+u:向文件首部翻半屏
回车键:向文件尾部翻一行
k:向文件首部翻一行
G:跳转至最后一行
#G:跳转至指定行
1G:跳转至文件首部
文本搜索
/keyword:从文件首部向文件尾部依次查找,不区分字符大小写
?keyword:从文件尾部向文件首部依次查找

n:与查找命令方向相同
N:与查找命令方向相反
退出
q:quit
选项
-M /PATH/TO/SOMEDIR:到指定目录下查找命令手册并打开

练习:获取useradd命令的用法
(1)添加用户gentoo

    # useradd gentoo
    # id gentoo //验证是否添加成功

(2)添加用户slackware,要求指定其所用的shell为/bin/tcsh

    # useradd -s /bin/tcsh slackware
    # tail -1 /etc/passwd

(3)info COMMAND

获取命令的在线文档

(4)很多应用程序会自带帮助文档

/usr/share/doc/APP-VERSION
README:程序的相关的信息
INSTALL:安装帮助
CHANGES:版本迭代时的改动信息

(5)[主流发行版官方文档](http://www.redhat.com/doc)

(6)程序官方的文档

官方站点上的“Document”

(7)搜索引擎

keyword filetype:pdf
keyword site:domain.tld

Linux文件系统初步

一、终端设备:terminal

多任务、多用户

1.物理终端/控制台(console)
2.虚拟终端(tty)

最多六个
切换:Command+Option+F[1-6]

3.图像终端

CentOS 6:
Command+Option+F7
CentOS 7:
在哪个虚拟终端启动,即位于哪个虚拟终端

4.串行终端(ttyS)
5.伪终端(pty)
题外话:Linux哲学思想之一:一切皆文件

表现之一:硬件设备也通过文件表示。
物理终端:/dev/console
虚拟终端:/dev/tty#[1,6]
串行终端:/dev/ttyS#
伪终端:/dev/pts/#

注意:在启动设备之后,在其上关联一个用户接口程序,即可实现与用户交互:
    #查看终端设备:
    ~]# tty
    #查看接口程序:
    ~]# echo $SHELL
    #启动GUI,在某一虚拟终端接口运行命令:
    startx &

二、CLI接口

命令行接口:
[root@node1 ~]# COMMAND
prompt:
  • root:当前登录用户
  • node1:当前主机的主机名
  • ~:用户当前所在的目录(current directory),也称为工作目录(working directory)。
  • # :命令提示符

    #:管理员账号,为root;用于最高权限,能执行所有操作。
    $:普通用户,非root用户;不具有管理权限,不能执行系统管理类操作。

    注意:建议使用非管理员账号登录。执行管理操作临时切换至管理员,操作完成即退回。

三、几个基础命令

tty:查看当前的终端设备
ifconfigip addr list:查看活动接口的ip地址
echo:回显
ping:探测网络的目标主机与当前主机的连通性

关机/重启命令:

#CentOS 7
~]# systemctl poweroff 
~]# systemctl reboot

#所有
~]# poweroff 
~]# reboot 

四、Stallman:

自由含义:自由学习和修改;自由使用;自由分发;自由创建衍生版

五、Linux哲学思想

  1. 一切皆文件:把几乎所有资源统统抽象为文件形式,包括硬件设备,甚至通信接口等。
  2. 由众多功能单一的程序组成:一个程序只做一件事,并且做好,组合小程序完成复杂任务。
  3. 尽量避免和用户交互。目标:易于以编程的方式实现自动化任务。
  4. 使用文本文件保存配置信息。

六、文件系统

层级结构,有索引:

/:原初起点,倒置树形结构。
/dev/pts/2
最左侧/:表示根目录
其他的/:表示路径分隔符
Linux的路径分隔符是/
Windows的是\

文件的路径表示:

绝对路径:从根开始表示出的路径
相对路径:从当前位置开始表示出的路径

文件名使用法则:

严格区分字符大小写;
目录也是文件,在同一路径下,两个文件不能同名;
支持使用除/以外的任意字符;
最长不能超过255个字符;

用户有家目录(home):

用户的起始目录,普通用户管理文件的位置

工作目录:

/etc/sysconfig/network-scripts/ifcfg-eno123456
basename:最右侧的文件或目录名
dirname:basename左侧的路径

# 命令:
~]# basename /PATH/TO/SOMEFILE
    SOMEFILE
~]# dirname /PATH/TO/SOMEFILE
    /PATH/TO

一个由真实事件改编的电影,看完让人心情沉重

今天推荐一个韩国老电影,2012年上映第一周就荣登票房冠军的桂冠,由真实事件改编的《共谋者》。该片讲述的是在中韩两国往返的邮轮上发生人体买卖和器官拆除的故事。开篇就是触目惊心的一场打斗,也为后面的剧情做了解释和铺垫。

gongmouzhe1

剧情不断反转,紧扣人心

本片展示了人体贩卖滴水不漏的一条龙作案方式,在当事人浑然不知的情况下取走器官,并且毁尸灭迹可以说天衣无缝。再加上与海关、医院等相互勾结,让出关到送入手术台都异常顺利。故事中后部分发生的剧情反转十分抓紧人心,激烈的故事情节也展示了正邪间的较量。片中反派BOSS的两句话让人印象深刻并值得反思。

6c699d3df8dcd100cf6e38b0738b4710bb122fdb.jpg

“只要死了一个人,就能救活一群人”,“只要卑劣一小下,这世界就会比较好过一点。”

这貌似可以作为一个命题,不光是这个电影,在很多情况下都有这样的选择,听起来不无道理,可是如果这份利益是建立在剥夺一个人生命为前提的话那就冲破了人心中的底线,泯灭了良知。结局可能也不是大家所希望的,这很符合韩国电影的风格,比较写实。在现实中,我们也经常会固执的做着本不该坚持的事,就如“英奎”没能拒绝“甜食”的诱惑,做了本不该做的“买卖“,或者像“尚浩“那样践踏爱情和婚姻,谋取自己的利益而丢失了最珍贵的东西。

屏幕快照 2017-06-23 下午1.51.06

有人说结局悖逆了人性的最初美好,我倒觉得这样更值得我们反思,也让观众对这个电影印象更为深刻。现实本来就有美好和丑陋的,刻意美化反倒对现实产生恐惧和憎恶,把握住自己的底线用平常心来看待这个世界!

观看地址