您的位置:首页 > 运维架构 > Linux

linux查看帮助及文件系统

2016-07-27 17:34 411 查看
linux查看帮助及文件系统

内容:
查看帮助手册
history命令
文件系统与目录结构

ls命令

查看帮助手册:

whatiscommand --helpmaninfo本地帮助文档/usr/share/doc/官方在线文档其他网站和搜索
whatis:显示命令的简短描述每晚使用一个数据库更新刚安装后不可立即使用可使用makewhatis(CentOS6)或mandb(CentOS7)制作数据库whatis command


内部命令和外部命令使用帮助手册是不一样的内部命令:help command man bash外部命令:1.command --help2.man command 3.info command4.程序的自身的帮助文档:README INSTALL Changelog5.程序的官方文档6.发行版的官方文档7.Goole--help选项:
显示用法总结和参数列表显示常用的,并非所有的ls --help练习:显示当前日期,格式:2016-08-08指令:date +%Y-%m-%d

显示前天是星期几:指令:
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"




man命令:提供命令帮助手册手册页存放在/usr/share/man几乎每个命令都有man的页面man页面分组为不同的章节man命令的配置文件存放路径:/etc/man.config或者man_db.confMANPATH /PATH/TO/SOMEWHERE:指明手册文件搜索位置man -M /PATH/TO/SOMEWHERE COMMAND:到指定位置下搜索COMMAND命令的手册页并显示man章节:用户命令
系统调用
C库调用
设备文件及特殊文件
配置文件格式
游戏
杂项
管理类的命令
Linux内核API、

[]:为可选内容<>:为必选内容a|b:为二选一,或的意思...:同一内容可出现多次

man命令的控制翻页指令:space空格键:向下翻页Page Up和Page Down:表示向上翻一行和向下翻一行enter回车键:向下翻一行/word:搜寻关键字Home:去第一页End:去最后一页/string:向下搜寻string?string:向上搜寻stringn,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中的一些参数

根据以上内容,要显示登录终端号为选项\l,主机名为:\n,当前时间为:\d在/etc/issue加入\l,\n,\t,选项,看下效果,exit退出后,重新登录

执行成功,登录时显示了登录终端号,主机名,当前时间今天17:30自动关机指令:shutdown -h 17:30以上指令经过实践可以成功执行man有9个章节同一个命令可能在多个章节中都有,
搜索指定的章节man -# command (#为章节数)

通过本地文档获取帮助
/usr/share/doc/目录:
多数安装了软件包的子目录,包括了这些软件按的相关原理说明
不适合其他地方的文档位置
配置文件范例
HTML/PDF/格式的文档
授权书详情

通过在线文档获取帮助:
第三方程序官方文档
通过发行版官方的文档光盘或者网站可以获得
安装指南

部署指南

虚拟化指南

红帽知识库和官方在线文档
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进程护在其会话中保存此前用户提交执行过的命令指令: historyHISTSIZE:shell进程可保留的命令历史的条数HISTFILE:持久保存命令历史的文件; .bash_historyHISTFILESIZE:命令历史文件的大小(数量?)-c:清空命令历史;-d offset:删除指定命令历史

-#:显示最近#条历史-a:追加本次会话新执行的命令历史列表至历史文件-n:读历史文件中未读过的行到历史列表-r:从文件读取命令历史至历史列表中-w: 把历史列表中的命令追加至历史文件中-p:展开历史参数成多个行,但不存在历史列表中

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

history n :显示最近的n条命令;调用命令历史列表中的命令:!n:历史中的第n条命令!!:最近的一次命令!STRING:再次执行命令历史列表中最近一个以STRING开头的命令STRING:字母

注意:命令的重复执行有时候需要依赖于幂等性调用上一条命令的最后一个参数:快捷键:ESC然后 .字符串:!$HISTSIZE:命令历史记录的条数HISTFILE:指定历史文件,默认为~/.bash_historyHISTFILESIZE:命令历史文件记录历史的条数

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

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

变量设置为忽略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的参数




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



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



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


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




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

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




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





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




文件系统与目录结构:

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



文件系统:
文件和目录被组织成一个单根倒置树结构

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

跟文件系统(rootfs):root filesystem

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

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

路径分隔的/

文件有两类数据:

元数据:metadate
数据:date
8.文件系统分层结构;LSB Linux Standdrd Base
9.FHS:(Filesystem Hierarchy Stanndrad)

文件名规则:
包括路径在内的文件名称最长4095个字节,用/分隔的路径不能超过255个字节
蓝色为目录文件,
绿色为可执行文件
红色为压缩文件
浅蓝色为链接文件
灰色为其他文件

2.除了斜杠和NUL,所有的字符都有效。但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用他们
3.标准Linux文件系统(如ext4),文件名称大小写敏感。
如:abc aBc Abc此三个文件不是同一个文件




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

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

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

/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上的应用程序的组成部分
二进制文件:/bin,//sbin,/usr/bin,/usr/sbin, /usr/local/bin ,/usr/local/sbin

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

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

帮助文件:/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上




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




在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 以长格式来显示文件的详细信息。这个选项最常用。
  每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小 建立或最近修改的时间 名字
  对于符号链接文件,显示的文件名之后有“―〉”和引用文件路径名。
  对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。
  目录中的总块数显示在长格式列表的开头,其中包含间接块。




  - L 若指定的名称为一个符号链接文件,则显示链接所指向的文件。
  - m 输出按字符流格式,文件跨页显示,以逗号分开。
  - n 输出格式与l选项相同,只不过在输出中文件属主和属组是用相应的UID号和 GID号来表示,而不是实际的名称。
  - o 与l选项相同,只是不显示拥有者信息。
  - p 在目录后面加一个“/”。
  - q 将文件名中的不可显示字符用“?”代替。
  - r 按字母逆序或最早优先的顺序显示输出结果。
  - R 递归式地显示指定目录的各个子目录中的文件。
  - s 给出每个目录项所用的块数,包括间接块。
  - t 显示时按修改时间(最近优先)而不是按名字排序。若文件修改时间相同,则 按字典顺序。修改时间取决于是否使用了c或u选顶。缺省的时间标记是最后一次修 改时间。
  - u 显示时按文件上次存取的时间(最近优先)而不是按名字排序。即将-t的时间 标记修改为最后一次访问的时间。
  - x 按行显示出各排序项的信息。




小练习:

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

思路如下:--ignore=PATERN:表示不显示能符合匹配条件的文件所有隐藏文件都是以.开头的,所以我们要忽略调不会以.开头的文件 ==> [^.]*

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




只显示某目录下目录列表:
思路:我们知道目录文件一般为蓝色,我开始想用颜色来筛选,但是没找到相关的选项,而且文件颜色是可以改的,蓝色只是默认颜色,并不是规定一定要设置成蓝色,
查找帮助是看到了-F选项,

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

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

指令如下:

ls -la --indicator-style='file-type' */
ls -la -F */
-F=--indicator-style
效果如下:


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: