linux查看帮助及文件系统

时间:2021-06-19 05:13:55

                           linux查看帮助及文件系统


内容:

查看帮助手册

history命令

文件系统与目录结构

ls命令



查看帮助手册:

whatis

command --help

man

info

本地帮助文档/usr/share/doc/

官方在线文档

其他网站和搜索

whatis:

显示命令的简短描述

每晚使用一个数据库更新

刚安装后不可立即使用

可使用makewhatis(CentOS6)或mandb(CentOS7)制作数据库

whatis  command

linux查看帮助及文件系统


内部命令和外部命令使用帮助手册是不一样的

内部命令:help command

          man  bash

外部命令:

1.command  --help

2.man  command  

3.info command

4.程序的自身的帮助文档:README  INSTALL  Changelog

5.程序的官方文档

6.发行版的官方文档

7.Goole

--help选项:

显示用法总结和参数列表

显示常用的,并非所有的

ls  --help

练习:

显示当前日期,格式:2016-08-08

指令:date +%Y-%m-%d

linux查看帮助及文件系统

显示前天是星期几:

指令:

date -d "-2day" +%A
date -d "-2day" +%a

设置当前日期为2008-08-08 08:00

指令:

date -s "2008-08-08 08:00" "+%Y-%m-%d %H:%M"

linux查看帮助及文件系统




man命令:

提供命令帮助手册

手册页存放在/usr/share/man

几乎每个命令都有man的页面

man页面分组为不同的章节

man命令的配置文件存放路径:/etc/man.config或者man_db.conf

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

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

man章节:

  1. 用户命令

  2. 系统调用

  3. C库调用

  4. 设备文件及特殊文件

  5. 配置文件格式

  6. 游戏

  7. 杂项

  8. 管理类的命令

  9. Linux内核API、


[]:为可选内容

<>:为必选内容

a|b:为二选一,或的意思

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



man命令的控制翻页指令:

space空格键:向下翻页

Page Up和Page Down:表示向上翻一行和向下翻一行

enter回车键:向下翻一行

/word:搜寻关键字

Home:去第一页

End:去最后一页

/string:向下搜寻string

?string:向上搜寻string

n,N:利用/和?搜寻字串是,n来继续下一个搜索(从上往下)

     N来搜索上一个搜索(从下往上)

q:结束man

#:跳转至第#行

ctrl+V,ctrl+F,ctrl+f:向文件尾部翻屏

b,ctrl+B:向文件首部翻屏

d,ctrl+D:向文件尾部翻半屏

u,ctrl+U:向文件首部翻半屏

ctrl+N, e,ctrl+E,j ,ctrl+J:向文件尾部翻一行

ctrl+Y, y,ctrl+P,p ,k ,ctrl+K:向文件首部翻一行

1G:回到文件首部

G:翻至文件尾部

练习:

字符终端登录时,显示当前登录终端号,主机名和当前时间

字符终端登录时,以上信息都是在配置文件/etc/issue中,要显示以上信息,则需修改/etc/issue中的内容,

man  issue查看如何修改issue中文件内容,在帮助文档中并没有如何修改,但是最后给了提示信息”see also“

然后查找到了 man mingetty中issue中的一些参数

linux查看帮助及文件系统

根据以上内容,要显示登录终端号为选项\l,主机名为:\n,当前时间为:\d

在/etc/issue加入\l,\n,\t,选项,看下效果,exit退出后,重新登录

linux查看帮助及文件系统

执行成功,登录时显示了登录终端号,主机名,当前时间

今天17:30自动关机

指令:shutdown -h 17:30

以上指令经过实践可以成功执行

man有9个章节同一个命令可能在多个章节中都有,

搜索指定的章节

man -# command  (#为章节数)


通过本地文档获取帮助

/usr/share/doc/目录:

多数安装了软件包的子目录,包括了这些软件按的相关原理说明

不适合其他地方的文档位置

配置文件范例

HTML/PDF/格式的文档

授权书详情


通过在线文档获取帮助:

第三方程序官方文档

通过发行版官方的文档光盘或者网站可以获得

  1. 安装指南

  2. 部署指南

  3. 虚拟化指南

  4. 红帽知识库和官方在线文档

    http://kbase.redhat.com

    http://redhat.com/docs

    http://access.redhat.com



网站和搜索:

http://tldp.org

http://www.slideshare.net

http://goole/com

搜索技巧:

Openstack  file :pdf

rhca site:redhat.com、doc



补全histoy:

bash的基础特性:

  命令历史:shell进程护在其会话中保存此前用户提交执行过的命令

指令: history

HISTSIZE:shell进程可保留的命令历史的条数

HISTFILE:持久保存命令历史的文件;

        .bash_history

HISTFILESIZE:命令历史文件的大小(数量?)

-c:清空命令历史;

-d offset:删除指定命令历史

linux查看帮助及文件系统

-#:显示最近#条历史

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

-n:读历史文件中未读过的行到历史列表

-r:从文件读取命令历史至历史列表中

-w: 把历史列表中的命令追加至历史文件中

-p:展开历史参数成多个行,但不存在历史列表中

linux查看帮助及文件系统

-s:展开历史参数成一行,附加在历史列表后

linux查看帮助及文件系统

history n :显示最近的n条命令;

调用命令历史列表中的命令:

!n:历史中的第n条命令

!!:最近的一次命令

!STRING:再次执行命令历史列表中最近一个以STRING开头的命令

STRING:字母linux查看帮助及文件系统

注意:命令的重复执行有时候需要依赖于幂等性

调用上一条命令的最后一个参数:

快捷键:ESC然后 .

字符串:!$

HISTSIZE:命令历史记录的条数

HISTFILE:指定历史文件,默认为~/.bash_history

HISTFILESIZE:命令历史文件记录历史的条数

linux查看帮助及文件系统

HISTIMEFORMAT="%F %T"显示时间

linux查看帮助及文件系统

HISTIGNORE="str1:str2:.."忽略string1,string2历史,可跟多个历史用:隔开

linux查看帮助及文件系统

变量设置为忽略ls后,在使用ls命令,在命令历史中不显示ls命令

控制命令历史的记录的方式:

    环境变量:HISTCONTROL

     ignoredups:忽略重复的命令:

     ignorespace:忽略以空白字符开头的命令

     ignoreboth:以上两者同时生效

export 变量名=”值“

存放在:/etc/profile或者~/.bash_profile


重复前一个命令:

1.重复前一个命令使用上方向键,回车执行

2.按!!回车执行

3.输入!-1回车执行

4.ctrl+p回车执行


!字符串:重复前一个此字符串开头命令

!num:history命令出输出中要序号,重复此num对应命令

!?:重复前一个包含此字符串的命令

重复n个命令之前的那个命令


键入ctrl+r来在命令历史中搜索

重新调用前一个命令中的最后一个参数:

!$

Esc + .:按下Esc松开,然后按下.键

alt+.:和上面不同,同时按住alt和.键


调用历史参数:


调用上一条

command !^:利用上一个命令的第一个参数做command的参数

linux查看帮助及文件系统


command !$:利用上一个命令的最后一个参数做command的参数

linux查看帮助及文件系统


command !*:利用上一个命令的全部参数做command的参数

linux查看帮助及文件系统


command !:n :利用上一个命令的第n个参数做command的参数

linux查看帮助及文件系统


调用第n条

!n:^   调用第n条命令的第一个参数

linux查看帮助及文件系统

!n:$     调用第n条命令的最后一个参数   

!m:n     调用第m条命令的第n个参数

!n:*     调用第n条命令的所有参数

linux查看帮助及文件系统


!string:^ 从命令历史搜索已string开头的命令,并获取它的第一个参数

linux查看帮助及文件系统


!string:$ 从命令历史搜索已string开头的命令,并获取它的最后一个参数

!string:n 从命令历史搜索已string开头的命令,并获取它的第n个参数

!string:* 从命令历史搜索已string开头的命令,并获取它的所有参数

linux查看帮助及文件系统


文件系统与目录结构:


通常我们描述文件系统是一个倒置的树状结构,如下图

linux查看帮助及文件系统

文件系统:

  1. 文件和目录被组织成一个单根倒置树结构

  2. 文件系统从根下开始,用“/ ”表示

  3. 跟文件系统(rootfs):root filesystem

  4. 名称是大小写敏感==》此句话有误

  5. 以.开头的文件为隐藏文件

  6. 路径分隔的/

  7. 文件有两类数据: 

        元数据:metadate

        数据:date

8.文件系统分层结构;LSB Linux Standdrd Base

9.FHS:(Filesystem Hierarchy Stanndrad)



文件名规则:

  1. 包括路径在内的文件名称最长4095个字节,用/分隔的路径不能超过255个字节

    蓝色为目录文件,

    绿色为可执行文件

    红色为压缩文件

    浅蓝色为链接文件

    灰色为其他文件


2.除了斜杠和NUL,所有的字符都有效。但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用他们

3.标准Linux文件系统(如ext4),文件名称大小写敏感。

   如:abc   aBc  Abc此三个文件不是同一个文件

linux查看帮助及文件系统


备注:fat文件系统不是大小写敏感


文件系统结构:

  1. /boot:引导文件存放目录,内核文件(vmlinuz),引导加载器(bootloader,grub)都存放于此目录

  2. /bin:供所有用户使用的基本目录;不能关联至独立分区,OS启动即会用到的程序

  3. /sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序


/sbin:只有管理员使用   /bin:普通用户使用


4./lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)

5./lib64:专用于x86_64系统上的辅助共享文件库存放位置

6./etc:配置文件目录

7./home/USERNAME:普通用户家目录

8./root:管理员家目录

9./media:便携式移动设备挂载点

10./mnt:临时文件系统挂载点

11./dev:设备文件及特殊文件存储位置

        b:block  device,块设备 随机访问(类似硬盘)

        c:character device  字符设备 线性访问(顺序访问),逻辑存在,但并不真实存在(zero)

12./opt:第三方应用程序的安装位置

13./srv:系统上运行的服务遇到的数据

14./tmp:临时文件存储位置

15/usr:universal shared,read-only date

bin:保证系统拥有完整功能而提供的应用程序(普通用户)

sbin:保证系统拥有完整功能而提供的应用程序(管理员)

lib:32位使用

lib64:只存在64位系统

include:C程序的头文件(header files)

share:结构化独立的数据,例如doc,man

local:第三方应用程序的安装位置

      bin,sbin,lib,lib64,etc,share


16/var:variable date files

cache:应用程序缓存数据目录

lib:应用程序状态信息数据

local:专用于为/usr/local下的应用程序存储可变数据

lock:锁文件

log:日志目录及文件

opt:专用于为/opt下的应用程序存储可变数据

run:运行中的进程相关数据,通常用于存储进程pid文件

spool:应用程序数据池

tmp:保存系统两次重启之间产生的临时数据

17./proc:用于输出内核与进程信息相关的虚拟文件系统

18./sys:用于输出当系统上硬件设备相关信息的虚拟文件系统

19./selinux:security  enhanced Linux,selinux相关的安全策略等信息的存储位置


Linux上的应用程序的组成部分

  1. 二进制文件:/bin,//sbin,/usr/bin,/usr/sbin, /usr/local/bin ,/usr/local/sbin

  2. 库文件:/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64

  3. 配置文件:/etc,/etc/DIRECTORY,  /usr/local/etc

  4. 帮助文件:/usr/share/man, /usr/share/doc,/usr/local/share/man,/usr/local/share/doc



linux文件类型:

-:表示普通文件

d:目录文件

b:块设备

c:字符设备

l:符号链接文件

p:管道文件pipe

s:套接字文件socket


centos6和centos7上目录改变

/bin和/usr/bin  /sbin和/usr/sbin  /lib和/usr/lib  /lib64和/usr/lib64

在 centos7上

linux查看帮助及文件系统

/bin是个链接文件,指向/usr/bin,所以在centos7上/bin和/usr/bin就是同一个文件

centos6:


linux查看帮助及文件系统

在centos6上这些则代表两个文件



路径:

1.绝对路径

  从根目录开始

  完整的文件的位置路径

  可用于任何想制定一个文件名得时候

2.相对路径

  不从根目录开始

   指定相对于当前工作目录或某目录的位置

   可以作为一个简短的形式指定一个文件名


cd:切换工作目录

绝对路径和相对路径都可以

cd /etc

到上一级目录:

cd..

到家目录:

cd

到上一次的工作目录:

cd  -


相关的环境变量:

PWD:保存了当前目录路径

PWD=/etc

OLDPWD:上一次所在目录路径



ls命令:用来列出当前目录或指定目录的内容

ls 选项 file或者dis

常用选项:


命令中各选项的含义如下:

  - a 显示指定目录下所有子目录与文件,包括隐藏文件。 

  - A 显示指定目录下所有子目录与文件,包括隐藏文件。但不列出“.”和 “..”。

  - b 对文件名中的不可显示字符用八进制逃逸字符显示。

  - c 按文件的修改时间排序。 

  - C 分成多列显示各项。

  - d 如果参数是目录,只显示其名称而不显示其下的各文件。往往与l选项一起使 用,以得到目录的详细信息。

  - f 不排序。该选项将使lts选项失效,并使aU选项有效。

  - F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记 “@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。 

  - i 在输出的第一列显示文件的i节点号。 

  - l 以长格式来显示文件的详细信息。这个选项最常用。

  每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小 建立或最近修改的时间 名字 

  对于符号链接文件,显示的文件名之后有“―〉”和引用文件路径名。 

  对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。

  目录中的总块数显示在长格式列表的开头,其中包含间接块。

linux查看帮助及文件系统


  - L 若指定的名称为一个符号链接文件,则显示链接所指向的文件。

  - m 输出按字符流格式,文件跨页显示,以逗号分开。 

  - n 输出格式与l选项相同,只不过在输出中文件属主和属组是用相应的UID号和 GID号来表示,而不是实际的名称。

  - o 与l选项相同,只是不显示拥有者信息。

  - p 在目录后面加一个“/”。

  - q 将文件名中的不可显示字符用“?”代替。 

  - r 按字母逆序或最早优先的顺序显示输出结果。 

  - R 递归式地显示指定目录的各个子目录中的文件。 

  - s 给出每个目录项所用的块数,包括间接块。 

  - t 显示时按修改时间(最近优先)而不是按名字排序。若文件修改时间相同,则 按字典顺序。修改时间取决于是否使用了c或u选顶。缺省的时间标记是最后一次修 改时间。

  - u 显示时按文件上次存取的时间(最近优先)而不是按名字排序。即将-t的时间 标记修改为最后一次访问的时间。

  - x 按行显示出各排序项的信息。

linux查看帮助及文件系统




小练习:

1.只显示某目录下隐藏文件

思路如下:

--ignore=PATERN:表示不显示能符合匹配条件的文件

所有隐藏文件都是以.开头的,

所以我们要忽略调不会以.开头的文件  ==> [^.]*


指令如下:ls -a --ignore='[^.]*'

效果如下:

linux查看帮助及文件系统


只显示某目录下目录列表:

思路:我们知道目录文件一般为蓝色,我开始想用颜色来筛选,但是没找到相关的选项,而且文件颜色是可以改的,蓝色只是默认颜色,并不是规定一定要设置成蓝色,

查找帮助是看到了-F选项,


 - F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记 “@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。 


那么只要筛选出不带/的就可以达到目的


指令如下:

ls -la --indicator-style='file-type' */

ls -la -F */

-F=--indicator-style

效果如下:

linux查看帮助及文件系统