Linux入门07-Linux基础之命令规范

程序的组成部分:二进制程序文件、库文件、配置文件、帮助文件

    二进制文件、库文件:可执行文件

库文件:不能独立执行,只能被调用执行

配置文件、帮助文件:可被查看其内容的文件

Linux文件:

1、文件名严格区分字符大小写;file1, File1, FILE1是不同的文件;

2、文件名可使用除/以外的任意字符,不建议使用特殊字符;

/: 根目录,路径分隔符;

3、文件名长度最长不能超过255个字符;

4、所以.开头的文件,均为隐藏文件;

路径:

绝对路径:从根目录起始的路径;

相对路径:对当前位置起始的路径;

当前位置的表示方式:

(1) ./: ./sysconfig/network-scripts

(2) 省略上述符号: sysconfig/network-scripts

..:表示当前目录的上一级目录

当前目录:current directory, 也称作working directory;

pwd: printing working directory

LSB: Linux Standard Base

命令总结:ls, cd, type, tty, cat, which, whereis, pwd, echo

命令:

(1) 文件系统相关:

目录管理

文件管理

文件查看

文件编辑

(2) 系统管理相关:

终端:

用户与主机交互,必然用到的设备;

物理终端:直接接入本机的显示器和键盘设备;/dev/console

虚拟终端:附加在物理终端之上的以软件方式虚拟实现的终端,CentOS 6默认启动6个虚拟终端

Ctrl+Alt+F#: [1,6]

图形终端:附加在物理终端之上的以软件方式虚拟实现的终端,但额外会提供桌面环境;

设备文件路径:/dev/tty#

模拟终端:

图形界面下打开的命令行接口,基于ssh协议或telnet协议等远程打开的界面

设备文件:/dev/pts/#    [0,oo)

查看当前的终端设备:tty

交互式接口:启动终端后,在终端设备附加一个交互式应用程序

GUI:

X protocol, window manager, desktop

Desktop:

GNOME (C, gtk)

KDE  (C++, qt)

XFCE  (轻量级桌面)

CLI:

shell程序:

sh (bourn)

csh

tcsh

ksh (korn)

bash (bourn again shell), GPL

zsh

显示当前使用的shell:

# echo ${SHELL}

显示当前系统使用的所有shell:

# cat /etc/shells

命令提示符:prompt

[root@localhost ~]#

[root@localhost ~]:PS1

prompt:

管理员:#

普通用户:$

命令:

输入命令,回车:

发起一命令:请求内核将某个二进制程序运行为一个进程

提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来;

表现为一个或多个进程;

  由程序态---->进程

  静态---->动态(有生命周期)

  命令本身是一个可执行程序文件:二进制格式的文件,有可能会调用共享库文件

  多数程序文件都存放在:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin

在shell中可执行的命令有两类:

内建命令:由shell自带的,而且通过某命令形式提供;

外部命令:在当前系统的某文件系统路径下有对应的可执行程序文件;

which,whereis

区别内部或外部命令:

# type COMMAND

Shell程序是独特的程序,负责解析用户提供的命令

shell程序搜寻可执行程序文件的路径定义在PATH环境变量中;

# echo $PATH

注意:自左至右

        库文件:

运行命令时如需调用标准库或者其他库,库文件需调入内存内。

库文件就是公共功能性程序,不能独立执行。多数存放在/lib,/lib/64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64

        Linux的可执行文件:ELF文件

        通过 file命令查看文件类型

运行命令:

命令格式:

COMMAND [OPTIONS...] [ARGUMENTS...]


选项:指定目录运行特性;

短选项:-c, 例如:-l, -h (有些选项没有-)

多个短选项可命令使用,例如-l -h, 可写作-lh;

长选项:--word,例如:--long, --human-readable

长选项不能合并

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

参数:命令的作用对象

向命令提供数据;

不同命令的参数格式不一样

多个参数要用空格分开

注意:

1、多选项,以及多参数和命令之间都应该使用空白字符分隔

2、取消命令执行:Ctrl+c

Linux命令帮助的获取

外部命令:都有一个可执行程序,位于文件系统某目录下;

which, whereis

      内部命令帮助:

# help COMMAND

hash命令:

shell搜寻到的外部命令的路径结果会缓存至kv(key-value)存储中;

history命令:

作用是什么?相关的环境变量是什么?有用的选项?

管理命令历史;

登录shell时,会读取命令历史文件中记录下的命令:~/.bash_history

登录进shell后新执行的命令只会记录在缓存中;这些命令会用户退出时“追加”至命令历史文件中;

history:

-a: 追加本次会话新执行的命令历史列表至历史文件中;

-d: 删除历史中指定的命令;

-c: 清空命令历史;

快捷操作:

!#: 调用历史中第#条命令;

!string:调用历史中最近一个以string开头的命令;

!!: 上一条命令

外部命令帮助获取:

(2) man COMMAND

    使用手册:压缩格式的文件,有章节之分

手册页:/usr/share/man

man1 ... man8

man1: 用户命令

man2: 系统调用

man3: C库调用

man4: 设备文件及特殊文件

man5: 配置文件格式

man6: 游戏使用帮助

man7: 杂项

man8: 管理工具

注意:有些关键在不止一个章节中存在帮助手册;

要查看指定章节中的手册:man # COMMAND

查看命令有哪些章节的帮助;whatis COMMAND (其执行过程是查询数据库进行的)

手动更新数据库;makewhatis

man命令的配置文件:/etc/man.config

MANPATH /PATH/TO/SOMEWHERE: 指明新的手册文件搜索位置

# man -M /PATH/TO/SOMEWHERE COMMAND: 到指定位置下搜索COMMAND命令的手册页并显示之;

帮助手册中的段落说明:

NAME 功能性说明

SYNOPSIS 语法格式

DESCRIPTION 描述

OPTIONS 选项

EXAMPLES 使用示例

AUTHOR 作者

REPORTING BUGS 报告程序BUG的方式

SEE ALSO 参考

SYNOPSIS:

[]:可选内容

<>: 必选内容

a|b:二选一

...: 同一内容可出现多次


man命令打开手册以后的操作方法:

空格, : 向文件尾翻屏;

b, : 向文件首部翻屏;

Ctrl+d, : 向文件尾部翻半屏;

Ctrl+u, : 向文件首部翻半屏;

回车键: 向文件尾部翻一行;

Ctrl+k:向文件首部翻一行;

q: 退出;

#:跳转至第#行;

1G: 回到文件首部

G:翻至文件尾部

文本搜索:

/KEYWORD:

以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索;不区分字符大小写;

n: 跟搜索命令同方向

N:跟搜索命令反方向

?KEYWORD:

以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜索;不区分字符大小写;

n: 跟搜索命令同方向

N:跟搜索命令反方向

(3) info 获取命令在在线文档

info COMMAND

(4) 程序自身的帮助文档

/usr/share/doc/COMMAND-VERSION

  README:程序的相关信息

  INSTALL:安装帮助

  CHANGES:版本迭代时的改动信息


(5) 程序官方文档

    官方站点上的“Document”

(6) 发行版的官方文档

http://www.redhat.com/docs

(7) 搜索引擎 Google

(8) slideshare

http://www.slideshare.net/

    推荐的出版社:

o`Reiley

Wrox

机械工业出版社

电子工业出版社

清华大学出版社

你可能感兴趣的:(Linux入门07-Linux基础之命令规范)