应用man九章和一些基本操作对linux的初步了解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了应用man九章和一些基本操作对linux的初步了解相关的知识,希望对你有一定的参考价值。

应用man九章和一些基本操作对linux的初步了解

linux的初学者所要学的一篇文章。在这里,我简要介绍一下[[email protected]~]#和命令格式,毕竟linux用命令可以解决的问题,不咋用其他的方法解决问题。


[[email protected]~]#

root:当前成功登陆系统的用户账户名称;

localhost:当前主机名称的主机名部分;

~:当前用户操作时的工作目录,~意思是家目录;

#:用户身份提示符

                            #:表示超级用户身份

                            $:表示普通用户身份


命令格式:

       command  options  argument

command:本次想要执行的操作,想要发起的进程;

       内部命令:也加内建命令或内置命令;直接内建于shell命令;

外部命令:通过安装某些应用程序而安装的命令;

Options:修正命令的执行效果的组成部分;

       短选项:

              -char

                     -a,-b,-i...

       某些特殊的命令还有特殊的短选项:

              +char

                     +c....

       当同时使用多个短选项时,可以将其合并书写,如:

              -a -b -c -i  <==> -abci

       长选项:

              --word

                     --help, --all, --verbose,  --list..

注意:当一个命令中同时有多个长选项时,不可以合并书写;

       1.有些选项,其选项本身需要参数;

       2.有些特殊的命令在写选时,可以不写“—”,有些特殊的命令,在写选项时,一定不能写“-"

       3.有些特殊命令的长选项,只是用一个“-”;

 

argument(parameters):此次执行的命令的操作目标对象;

       注意

              1.有的命令无需写参数

              2.有的命令必须写参数

              3.有的命令必须要写多个参数

 

对应整个命令格式:

              注意

                     1.在书写命令的时候,command、options、argument之间必须使用至少一个空白字符进行分隔;

                     2.有些命令在执行的时候,options和argument可以交换位置;

                     3.由于文件系统的限制,导致命令中的command,options、argument参数部分必须区分大小写。

以上这些就是对于linux的基本操作的一些规范和常识,入门必须要了解的,所以我才会写这么多。


     man九章的应用

获取命令的使用帮助的几种方法:

       1.man:针对于外部命令的帮助手册。

              man九章:

                     1.用户命令帮助文档(所有用户都可以执行的命令)

                     2.系统调用

                     3.C库调用

                     4.设备和特殊文件

                     5.配置文件

                     6.游戏相关的帮助信息

                     7.杂项

                     8.系统管理类命令

                     9.与内核相关的帮助信息

       在每个man手册中都常见的一些字段:

              NAME:程序的名称及相关的功能的简单描述:

              SYNOPSIS:命令使用的语法格式;

              DISCRIPTION:程序的详细描述信息;

              OPTIONS:选项的用法和含义的详细说明;

              AUTHOR:程序作者信息;

              EXAMPLES:命令程序使用范例;

              REPORTING BUGS :报告程序中所包含的BUG的方式,通常是电子邮件;

              SEE ALSO:额外参考的内容

              FILE:与该程序相关的其他文献资料,如配置文件,README文档等;

       在帮助信息中可能出现的一些特殊符号的意义:

              []:可以省略不写,也可以根据需要选择使用;

              {}:在花括号中一般包含竖线“|”,表示从所有项目中必须选择而且只能选择一个选项使用;“|”有或者的意思;

              <>:必须书写的内容;

              ···:可以有更多内容;

 

              区分内部命令和外部命令的方法:

                     # type COMMAND

                            查找结果显示为“内嵌”或者“buildin”字样的,则为内部命令;

                            其余的结果都为外部命令;

 

                     内部命令的帮助获取不使用man手册,而使用help命令;

                            # helpBUILDIN_COMMAND

 

       2.使用whereis命令获得帮助:

              可以查看程序性的二进制文件,源代码文件及帮助手册的位置;

 

       3.whatis命令

              可以获取被匹配到的命令的手册页的描述信息;

 

       4.which命令

              可以显示命令的别名的定义方式的命令的二进制文件路径;

 

       5.info命令

              info COMMAND获取命令的在线帮助文档;


       简单的系统管理类命令:

              注销:退出登录

                     exit

                     logout

                     Ctrl + d


linux的哲学思想:

       1.一切皆文件

              linux把几乎所有的数据和资源都抽象(虚拟)成文件的形式,设置包括硬件,网络通信设备所使用的套接字以及管道都是如此;

 

       2.由众多的功能单一的小程序组成,却可以实现复杂任务;

              功能单一:每个小程序只做一件事,只实现一个功能;并且要做到最好;

              复杂任务:可以根据业务逻辑或业务类型,尽可能完美的组合多个小程序,使多个小程序相辅相成,将功能发挥至极致;

 

       3.尽量避免与用户直接交互;

              在程序化,系统化,平台化,自动化的运维空间中,人是及其易出错的一个环节,尽量避免与用户直接交互,可以尽可能的保证结果的准确性和过程的高效性;易于以编程的的方式实现自动化任务的实施。

 

       4.使用纯文本文件保存程序的配置信息;

              在程序出现错误或者执行不畅的时候,可以使用文本编辑工具分析程序的错误原因,而不必依赖于二进制文件;

 

文件系统:

       文件是分成两部分存放:

              元数据:描述文件的属性

              数据:文件的内容

 

              分层编制方式:

 

              在文件系统中,基于文件名引用文件,按名来进行文件存取。

              在文件系统中,对于文件名有一系列的规定;

                     1.文件名不能包含“/”字符;

                            “/”:表示根文件系统:所谓根文件系统,即为linux文件的原初起点;

                            “/”:路径的分隔符;

                     2.文件名的长度不能超过255字符;

                     3.在同一位置,文件名不能重复使用;

                     4.文件名称严格区分大小写;

 

       文件系统使用路径的概念标识文件的位置;所谓路径,就是定位一个文件所在的位置时,所必须经过的目录的层级结构的集合;

 

       文件系统中的路径的描述方式:

              绝对路径:唯一

                     一切以“/”开始的查找的路径;

 

              相对路径:多个

                     一切以“当前工作目录”开始查找的路径;

                     “.”:表示当前工作目录;

                     “..”:表示当前工作目录的父目录(上一级目录);

 

                     因此也可以说,一切以“.”或“..”开始查找的目录,叫做相对路径;而且在使用。

                     “.”表示当前工作目录的时候,可以省略;

 

              如何选择路径?选择绝对路径还是选择相对路径?

                     如果在查找文件时,目标文件和当前目录不顺路,就使用绝对路径;如果顺路,就使用相对路径。

 

                     顺路指的是:当前工作目录被包含在绝对路径中;

              家目录:

                     每个用户登录系统时默认的当前工作目录;也是每个用户的起始目录;

                     也称为“HomeDirectory”

 

                     任何一个路径其实都是由两部分组成:

                            文件的基名:

                            basename

 

                            文件的目录名:

                            dirname

 

       FHS:文件系统层级化标准

              bin:binary,所有用户(包括普通用户)可以执行的普通操作命令;

              boot:引导操作系统启动的静态文件,包括:引导程序,linux内核。initamfs等;

              dev:device,设备

                     块设备:Block Device,随机访问,指的是能够实现数据存放的设备;

                     字符设备:Character Devices,顺序访问(线性访问),指的是能够实现数据传输和数据处理功能的设备;

              etc:ExternalText Configure,存放主机中各应用程序的配置文件;

              home:普通用户的默认家目录的根;

              lib、lib64:library,存放应用程序共享库的目录,内核的模块;

              media:可移动设备的挂载点:

              mnt:临时文件系统的挂载点;

              opt:optional,可选的,以前此目录是非常流行第三方应用程序的安装目录;

 

              root:root用户的家目录;

              run:保存一些进程的PID文件;

              sbin:superbinary,存放那些只有超级用户root能够执行的系统管理类命令;

              srv:存放有系统提供的服务的额数据;

 

              tmp:temporary,临时文件目录,系统每30天会自动清理该目录中的在30天以上没有访问过的文件

              usr:usualsystem root,linux系统的第二根,现在主要用于安装第三方应用程序;

                     /usr/local:第三根,主要用于通过编译源代码的方式安装第三方应用程序;

                     /usr/src:存放第三方应用程序的源代码;

              var:variable,变量,可变化的数据,数据库类的文件。

 

       伪文件系统:其中存放的是内存中的数据通过操作系统映射的文件

              proc:process,进程,

              sys:system

 

 

文件类型:

       根据颜色区分文件类型:

              黑色或白色:普通文本文件,regular file;

              绿色:可执行文件,二进制文件,命令,

              黄色:设备文件,包括块设备和字符设备;

              红色:包文件,包括:软件包,压缩包,归档包等;

              深蓝色:目录文件

              青蓝色(天蓝色):符号链接文件,相当于Windows系统中的快捷方式;

              紫色(粉色):套接字文件;

              棕色:管道文件;

 

       根据文件类型的标记区分文件类型:

              -:普通文件;

              b:块设备文件;

              c:字符设备文件;

              d:目录文件;

              l:符号链接文件;

              p:管道文件:

              s:套接字文件:

 

[[email protected]~]# echo -e "The year is 2015.\nToday is 2"     

Theyear is 2015.     

Todayis 2

       准确区分文件类型:

              file命令

                     # file /PATH/TO/SOMEFILE

 

常用的命令的使用方法:

       1.echo(printf)

              作用:echo - 显示一行文本

 

              常用选项:

                     -n    不换行

                     -e    使用\所引导的转义序列生效

                     \\    反斜线

              \a    报警符(BEL)

              \b    退格符

              \c    禁止尾随的换行符

              \f    换页符

              \n    换行符

              \r    回车符

              \t    水平制表符

              \v    纵向制表符

       2.cd

              Change the shell workingdirectory.

              切换工作目录:

 

              cd [-L|[-P [-e]]] [dir]

 

              cd /PATH/TO/SOMEDIR:将工作目录切换至参数所代表的目录;

              cd :将工作目录切换至当前登录用户的家目录;相当于cd ~;

              cd -:将工作目录切换至此前最后一次的工作目录;

                     shell提供了两个 变量 :

                            PWD

                            OLDPWD

 

                            变量是内存空间

 

                            注意,在shell中获取变量值的方法; 变量 名严格区分大小写;

                                   echo${VAR_NAME}

              cd ~USERNAME:讲工作目录切换至指定用户的家目录中;

       3.pwd

              print the name of the currentworking directory

              打印当前工作目录的名字。

 

       4.ls

              ls - list directory contents

              注意:目录的内容是文件名;

              在linux的文件系统中,所有以“.”作为文件名的起始字符的文件,都是隐藏文件;

 

              常用选项:

                     -a,--all:显示所有文件,包括隐藏文件;

                     -A,--almost-all:除了“.”和“..”之外的所有文件,包括隐藏文件;

                     --color[=WHEN]:以不同的颜色来显示查询结果;

                     -d,--directory:显示目录本身,而不是目录中的文件名;

                     -h,--human-readable:来显示文件的大小的时候,显示为更加易读的格式;通常用-l选香港一同使用;

                     -l:使用长列表格式显示文件的详细属性:

 

 

                     -rw-------. 1 root root1868 9月  17 00:12anaconda-ks.cfg

                     -:表示文件类型;

                     rw-------:文件的权限位设置;

                     .:表示该文件是否具有特殊属性或扩展属性;

                     1:表示该文件被硬链接的次数;

                     root:文件的属主(所有者)

                     root:文件的属组

                     1868:表示文件的大小,在没有使用-h选项时,其单位为字节;

                     9月  17 00:12:文件的时间戳之一,表示最后一次被修改的时间;

                     anaconda-ks.cfg:文件名;

 

                     对于设备文件:

                            ~]# ls -l /dev/sr0

 

                            brw-rw----+ 1 rootcdrom 11, 0 9月 17 00:21 /dev/sr0

 

                            11,0:major,minor

                            major:主设备号,用于标示设备类型,进而确定需要加载何种驱动程序;

                            minor:次设备号,用于表示同一种设备类型中的不同的设备;

 

                            设备号默认使用8位二进制表示,所以默认的设备号的范围是0-255;

                     -r,--reverse:倒序输出结果

                     -R,--recursive:递归显示,如果目标目录中有子目录,则递归显示子目录中的内容;

       5.mkdir

              mkdir --make directories创建新目录

 

 

              mkdir [OPTION]... DIRECTORY...

                     -p,--parents:创建目录的时候,如果其父目录不存在,则优先创建之;

                     -v,--verbose:为每个被创建的目录显示一条信息;

 

       6.rm

              rm - remove files or directories

 

              rm [options"]file...

 

                     -f,--force:暴力,强制删除;

                     -r,-R,--recursive:递归删除目录及目录中的内容;


本文出自 “13132343” 博客,转载请与作者联系!

以上是关于应用man九章和一些基本操作对linux的初步了解的主要内容,如果未能解决你的问题,请参考以下文章

一些我容易混淆的知识(关于数组的操作对字符串的操作)

如何使我的代码诊断语法节点操作对关闭的文件起作用?

ANSIC文件操作和POSIX文件操作对文件的标识分别是啥?

安卓APP开发的初步了解

Linux获取命令的方法

Linux环境下实现对文件读写操作