一、linux哲学思想
1、一切皆文件
2、有众多目的单一应用程序组成,一个程序只做一件事儿,且做好
3、组合单一的小程序完成复杂任务
4、尽量避免跟用户交互
5、使用文本文件保存配置信息
6、提供机制,而非策略
二、文件系统的特性
1、文件名可以使用除/意外的任意字符,但总长度不能超过255个
2、严格区分大小写
三、如何获取命令帮助
bash中,命令有两种类型
1、builtin:在shell程序中实现的命令即为內建命令
2、外部命令:在文件系统上的某位置有一个与命令名称对应的可执行文件
如何判断:使用type命令
shell:事先通过一个变量(PATH)设定了多个路径,当用户输入命令时,shell会自动到这些路径(由左向右)下查看与命令名称相同的可执行文件,查找到并执行过的命令会被保存至一个hash查找表中,可以使用hash命令查看此表
查看一个可执行程序的具体路径:使用which命令
获取帮助
内置命令:# help 命令名
外部命令:# 命令 --help
外部命令还有使用手册:man
man中的段落:NAME、SYNOPSIS、DESCRIPTION、MANUAL SECTION、OPTION
使用帮助中命令格式中的字符意义:
[]:可选的分组
{a|b}:分组,a和b作为一个使用单元来使用
|:或者,只能选其一
<>:必不能少的部分
…:同类内容可以出现多个
man的简要使用机制
翻屏:
空格键:向文件尾部翻一屏
b:向文件首部翻一屏
回车键:向文件尾部翻一行
k:向文件首部翻一行
ctrl+d:向文件尾部翻半屏
ctrl+u:向文件首部翻半屏
文本搜索:
/keyword :向文件尾部搜索
?keyword :向文件首部搜索
n:跟搜索命令相同的方向(下一个)
N:跟搜索命令相同的方向(上一个)
q:退出
补充:man其实能为命令(普通命令、管理命令)、程序的配置文件格式、系统调用、库调用、游戏及其他不便归类的文件提供帮助手册man命令的分段机制:
1:用户命令:
2:系统调用
3:库调用
4:设备文件
5:文件格式
6:游戏
7:杂项
8:管理命令
查看某关键字在哪些段落中有使用帮助,可以使用
精确查找:# whatis Keywork
提示:如果whatis的数据库尚未生成,可以使用makewhatis手动进行
模糊查找:# man -k Keyword
info命令:获取在线文档
很多应用程序自带的文档:/usr/share/doc/
ChangeLog,INSTALL,README
google搜索小技巧
linux filetye:ppt
keyword site:www.fansik.com
RedHat官方文档:https://access.redhat.com/documentation/en/
四、命令的格式
command options arguments
命令 选项 参数
选项:调整命令的执行特性的
选项可以有多个,多个选项之间必须以空格分隔
短选项:-char
长选项:--word
短选项可以合并,长选项一般不可以合并、
有些选项需要有参数
命令参数:命令的作用对象,有些命令可以带多个参数,个参数之间需要使用空格分隔
五、命令历史相关的环境变量
HISTSIZE:历史命令中可以保存的个数
HISTFILE: 历史命令保存的文件
HISTFILESIZE:历史文件中可以保存的命令个数
HISTCONTROL:控制命令历史的生成机制
ignoredups:忽略记录重复的命令,连续的相同命令
ignorespace:以空格开头的命令不会被记录
ignoreboth:同时具有上面两种特性