bash基本特性及基本命令 : 1.命令历史 : history 环境变量 : $HISTSIZE : 缓存中记录的命令历史条数上限 $HISTFILE : 命令历史文件目录 : ~/.bash_hisroty $HISTFILESIZE : 命令历史文件中记录的命令历史条数上限 -d offset : 删除某条命令 -c : 清空缓存中的命令历史 num : 显示最近的num条命令 -a : 手动将缓存中的命令历史追加至命令文件中 调用历史中的命令的快捷方式 : !! : 调用上一次调用的命令 !num : 调用命令历史中第num条命令 !str : 调用命令历史中,最近一次以str开头的命令 调用上一次命令的最后一个参数 : 1,!$ 2,ESC + . 3,ALT + . -------可能不好用 控制命令历史的记录方式 : 环境变量 : $HISTCONTROL ignoredups : 忽略重复出现的命令历史,但指的是连续出现且完全相同的命令历史 ignorespace : 忽略以空白字符开头的命令历史 ignoreboth : 以上两种同时生效 设置环境变量 : export HISTCONTROL = value 注 : 仅对当前shell会话有效,打开新的会话时,仍然采用默认参数 ----------------------------------------------------------------------------------------------------------------------------------------- 2,命令补全 bash执行命令类型 : 内部命令 : 内建与bash内部的命令 外部命令 : bash会根据$PATH保存的路径依次查找该命令对应的可执行程序 直接补全 : 当字符串对应的命令唯一时,TAB键可直接补全,如果用户给定的字符串对应的命令不唯一,两次TAB键可列出所有以该字符串开头的命令 ----------------------------------------------------------------------------------------------------------------------------------------- 3,路径补全 把用户给定的字符串作用路径开头,并在其指定的上级目录下搜索以指定字符串开头的文件,如果文件唯一,则TAB直接补全,如果不唯一,再次TAB,列出该目录下所有以指定字符串开头的文件 ----------------------------------------------------------------------------------------------------------------------------------------- 目录管理类命令 : cd : change directory pwd : printing working directory ls : list 绿色字体表有可执行权限 蓝色表目录 黑色表普通文件 mkdir : 在指定路径下创建新的目录 注 : 默认情况下,创建的目录为路径最右侧的那个目录,要求该目录前的所有目录都已经实现存在,否则无法创建 -p : 1,在相同路径下,重复创建相同目录不会报错 2,如果要创建的目录的父目录不存在,bash会自动根据创建父目录以及目标目录 -v : 显示被创建的目录的信息 -m MODE : 创建目录时,直接指定权限 rmdir : 移除指定路径下的目录 -p : 首先判断指定路径最右侧的目录是否为空,如果为空,则删除,然后继续判断删除该目录下的路径最右侧的目录是否为空,如果为空,则删除,循环往复以上过程,直至某目录不为空为止 -v : 显示被删除的目录信息 ----------------------------------------------------------------------------------------------------------------------------------------- tree : 显示指定目录下的目录层级结构 -d : 只显示目录即文件夹,不显示文件 -L level : 最多显示的子目录的层级数 -p PATTREN : 只显示符合指定模式的目录 ----------------------------------------------------------------------------------------------------------------------------------------- 4,命令行展开 ~ : bash会自动将其展开为用户的主目录 ~USERNAME : bash会自动将其展开为指定用户的主目录 {} : 可承载一个以","分隔的列表,bash会自动将其和前面路径以及后面的路径结合,分别展开为多个路径 ----------------------------------------------------------------------------------------------------------------------------------------- 5,命令的执行结果状态 只有两种 : 成功或失败,bash使用特殊变量$?保存最近一次命令的执行结果状态,0表示成功,1~255表示失败 程序的执行结果 : 程序的返回值 程序的执行结果状态 ----------------------------------------------------------------------------------------------------------------------------------------- 文本查看类命令 cat,tac : 将文件连接并显示 more [OPTION] FILE.... -d : 显示翻页或退出提示信息 less [OPTION] FILE... 注 : man内部查看帮助手册即是调用less命令,因此man命令中所有的快捷操作方式都适用于less head : 获取一个文件的前N行 -c # : 获取一个文件的前#个字符 -n # : 获取一个文件的前#行 -# : 默认就是获取一个文件的前#行 tail : 获取一个文件的后#行或个字符 -c # : 获取一个文件的后#个字符 -n # : 获取一个文件的后#行 -# : 默认就是获取一个文件的后#行 -f : 获取一个文件的后十行,但并不立即退出,而是实时监控该文件,一旦该文件尾部附加内容,就会立即显示,使用^C结束对该文件的监控 ----------------------------------------------------------------------------------------------------------------------------------------- 文件的时间戳管理工具 文件组成 : data + metadata 查看文件元数据 : stat 时间戳 : atime(access time) : 最近一次访问时间 mtime(modify time) : 最近一次文件内容被修改的时间 ctime(change time) : 最近一次文件的元数据被改变的时间 touch : 改变时间戳 -a : atime only,只改变访问时间,默认修改为当前时间 -m : modify time,只改变修改时间,默认修改为当前时间 -t STAMP : 将时间戳修改为指定时间,而非当前时间 -c : 如果文件不存在,则不创建文件
转载于:https://blog.51cto.com/14258683/2394031