linux命令格式,获取帮助及其目录结构简要理解

我们都知道,一台计算机要是没通电,和一堆废铁没什么区别。那么,通电开机进入系统后,会进入交互界面,等待用户操作,人与计算机交互界面有两种:

GUI:图形用户接口。如我们平时使用的Windows  ,linux的X window,有KDE和GOME.

 

CLI:命令行接口,使用的SHELL类型有bash ,csh,tcshell,zshell等。

例如:[root@dxlcentOS ~]# commandbin

root:当前登录的用户名。

dxlcentOS:当前主机的主机名。@是一个分隔符号,把root和后面的主机名分开,

~:是当前用户所在的工作目录

#:表示为当前登录的为管理员账号root

$:表示为当前登录的为非root用户,是普通用户,不具有管理权限,不能操作系统管理类命令。

 

命令语法通用格式

# COMMAND  PTIONS  ARGUMENTS(命令作用对象)

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

程序由静态文件变成动态的进程,有生命周期。

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

多数系统程序文件都存放在这些目录下面:/bin, /sbin, /usr/bin, /usr/sbin,/usr/local/bin, /usr/local/sbin

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

命令运行时会调用许多库文件,我们称之为共享库。库是一种二进制格式文件保存在磁盘,不能单独运行。

  • 32bits的库保存目录:/lib, /usr/lib, /usr/local/lib
  • 64bits的库保存目录:/lib64, /usr/lib64, /usr/local/lib64

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

命令必须遵循特定格式规范命:如Windows的可执行文件格式是exe, msi。   Linux是ELF。

Linux命令分类

  • 内部命令:由shell程序的自带的命令:内置命令(builtin)。

例如 :~]# type cd

cd is a shell builtin

  • 外部命令:独立的可执行程序文件,文件名即命令名。

例如 ~]# type man

man is /usr/bin/man

查看命令类型:~]# type command

OPTIONS:

指定命令的运行特性;选项有两种表现形式:

  • 短选项:-C, 例如-l, -d。注意:有些命令的选项没有-;如果同一命令同时使用多个短选项,多数可合并:-l -d = -ld。
  • 长选项:–word, 例如–help, –human-readable。注意:长选项不能合并;

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

长选项的参数通常需要用‘=’,比如–size=1G,

ARGUMENTS:

命令的作用对象;命令对什么生效;

注意:不同的命令的参数;有些命令可同时带多个参数,多个之间以空白字符分隔;  例如:ls -ld /var /etc, cat  /tmp/1.txt  2.txt

获取命令使用帮助

内部命令获取帮助方法:help COMMAND

外部命令获取帮助方法:

(1) 命令自带简要格式的使用帮助,例如:# COMMAND –help

(2) 使用手册:manual。手册文件保存的位置:/usr/share/man。例如:# man COMMAND

执行man COMMAND后英文说明:

SECTION:

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

SYNOPSIS:

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

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

~]# man man

-a:在所有的man帮助手册中搜索

-f:等同于whatis,显示给定关键字的简短描述信息

-P:指定内容时使用分页程序

-M:指定man手册搜索的路径

手册章节说明:

  • man1:用户命令;
  • man2:系统调用;
  • man3:C库调用;
  • man4:设备文件及特殊文件;
  • man5:文件格式;(配置文件格式)
  • man6:游戏使用帮助;
  • man7:杂项;
  • man8:管理工具及守护进行;

~]# man CHAPTER COMMAND

注意:并非每个COMMAND在所有章节下都有手册;

可以用whatis查看:

~]# whatis COMMAND

注意:其执行过程是查询数据库进行的;

手动更新数据库:

~]# makewhatis

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

翻屏:

  • 空格键:向文件尾翻一屏;
  • b: 向文件首部翻一屏;
  • Ctrl+d:向文件尾部翻半屏;
  • Ctrl+u:向文件首部翻半屏;
  • 回车键:向文件尾部翻一行;
  • k: 向文件首部翻一行;
  • G:跳转至最后一行;
  • #G: 跳转至指定行;
  • 1G:跳转至文件首部;

文本搜索:

  • /keyword:从文件首部向文件尾部依次查找;不区分字符大小写;
  • ?keyword:从文件尾部向文件首部依次查找;
  • n: 与查找命令方向相同;
  • N: 与查找命令方向相反;
  • 退出:q: quit

man选项:

-M /PATH/TO/SOMEDIR:到指定目录下查找命令手册并打开之;

(3) info COMMAND

获取命令的在线文档;

(4) 很多应用程序会自带帮助文档:/usr/share/doc/APP-VERSION

  • README:程序的相关的信息;
  • INSTALL: 安装帮助;
  • CHANGES:版本迭代时的改动信息;

(5) 主流发行版官方文档

http://www.redhat.com/doc

(6) 下载程序官方的文档:“Document”

(7) 应用 google搜索引擎

linux目录结构

我们用过windows都知道,进入我点电脑里面会看见C,D,E等的盘符,其文件路径方式是E:\xxx\xxx\,以盘符为起点,每个盘都是独立自治的。那么linux是怎么样的呢?我看下面的一张图。

149404C5044J0-25N0

linux的文件层级结构是一个倒置树状结构,“/”根是一切文件的起点。我们先看看文件路径。

绝对路径:以“根/”起点,你所到达的目录为终点。例如/etc/yum/vars

相对路径:以当前工作目录为起点,达到目录为终点,例如假设当前目录在etc下,要到yum目录,直接

 

QQ图片20170915105107

cd yum即可。

那么linux根“/”下面重要的目录和文件有哪些呢:看下:# ls  /

111

/bin:所有用户可用的基本命令二进制程序文件;

/sbin:供系统管理使用的工具程序;只允许系统管理root执行。

/boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub等;

/dev:存储特殊文件或设备文件;

设备有两种类型:字符设备(线性设备),例如键盘。块设备(随机设备),例如硬盘。

/etc:系统程序的配置文件,只能为静态;

/home:普通的家目录的集中位置;一般每个普通用户的家目录默认为此目录下与用户名同名的子目录,/home/USERNAME;

/root:管理员的家目录;可选;

/lib:为系统启动或根文件系统上的应用程序(/bin, /sbin等)提供共享库,以及为内核提供内核模块。类似windows下面的.dll文件

  • libc.so.*:动态链接的C库;
  • ld*:运行时链接器/加载器;
  • modules:用于存储内核模块的目录;

/lib64:64位系统特有的存放64位共享库的路径;

/media:便携式设备挂载点,例如U盘,cdrom, floppy等;

/mnt:其它文件系统的临时挂载点;一般情况下这个目录是空的,而在我们将要挂载分区时在这个目录下建立目录,再将我们将要访问的设备挂载在这个目录上,这样我们就可访问文件了。

/opt:附加应用程序的安装位置;可选路径;

/srv:当前主机为服务提供的数据;

/tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录;可供所用户执行写入操作;有特殊权限;

/usr:usr Hierarchy,全局共享的只读数据路径;/usr的作用与现在的/home相同。而目前其通常被认为是 User System Resources 的缩写,其中通常是用户级的软件等,与存放系统级文件的根目录形成对比。

  • bin, sbin   多数日常应用程序存放的位置 
  • lib, lib64   系统的库文件
  • include:C程序头文件;
  • share:命令手册页和自带文档等架构特有的文件的存储位置
  • local:另一个层级目录;
  • X11R6:X-Window程序的安装位置
  • src:程序源码文件的存储位置
  • /usr/local:Local hierarchy,让系统管理员安装本地应用程序;也通常用于安装第三方程序;

/var:/var Hierarchy,存储常发生变化的数据的目录;包括了一些数据文件,如系统日志等。

  • /var/cache     Application cache data应用程序的缓存文件
  • /var/lib          Variable state information应用程序的信息、数据。如数据库的数据等都存放在此文件夹
  • /var/local        /usr/local中程序的信息、数据
  • /var/lock        Lock files   锁文件
  • /var/log          Log files and directories日志文件
  • /var/opt         Variable data for /opt中程序的信息、数据
  • /var/run         Data relevant to running processes正在执行着的程序的信息,如PID文件应存放于此
  • /var/spool       Application spool data存放程序的假脱机数据(即spool data)
  • /var/tmp         Temporary files preserved between system reboots临时文件

/proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息;它们多为内核参数,例如net.ipv4.ip_forward, 虚拟为net/ipv4/ip_forward, 存储于/proc/sys/, 因此其完整路径为/proc/sys/net/ipv4/ip_forward;

/sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种统一模型的的接口;

 

参考:https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/

 

 

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/87190

(2)
N27_dxldengN27_dxldeng
上一篇 2017-09-14 17:07
下一篇 2017-09-16 09:41

相关推荐

  • 查找 -数据结构

    几种查找算法:顺序查找,折半查找,分块查找,散列表 一、顺序查找的基本思想:  从表的一端开始,向另一端逐个按给定值kx 与关键码进行比较,若找到,查找成功,并给出数据元素在表中的位置;若整个表检测完,仍未找到与kx 相同的关键码,则查找失败,给出失败信息。 说白了就是,从头到尾,一个一个地比,找着相同的就成功,找不到就失败。很明显的缺点就是查找效…

    Linux干货 2015-07-28
  • 运维挖坑埋坑之旅—-413 Request Entity Too Large

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1575160        好久没写博文了,天天忙的喘不过来气。最近是该总结总结前段时间的工作了,顺便缓解下这两天的霉…

    Linux干货 2016-08-15
  • 自定义命令提示符

     命令提示符的格式放在变量PS1中         命令提示符特殊字符定义             \u  当前用户      &…

    Linux干货 2017-05-02
  • N24期第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 2、编辑/etc/group文件,添加组hadoop。 vim /etc/group,增加此行 3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home…

    Linux干货 2016-11-22
  • Shell脚本编程中作业

    一、作业: 1、1、编写服务脚本/root/bin/testsrv.sh,完成如下要求 (1) 脚本可接受参数:start, stop, restart, status (2) 如果参数非此四者之一,提示使用格式后报错退出 (3) 如是start:则创建/var/lock/subsys/SCRIPT_NAME, 并显示“启动成功” 考虑:如果事先已经启动过一…

    Linux干货 2016-08-24
  • 0808文本处理作业

                           1 、删除/etc/grub2.conf 文件中所有以空白开头的行行首的空白字符。 答:sed  ‘@^[[:space]]\+@@’  /etc/grub2/cf…

    Linux干货 2016-08-11