bash的基础特性(1):(1) 命令历史history环境变量:HISTSIZE:命令历史记录的条数;HISTFILE:~/.bash_history;HISTFILESIZE:命令历史文件记录历史的条数;history -d OFFSET-chistory #: 显示历史中最近的#条命令;-a: 手动追加当前会话缓冲区的命令历史至历史文件中;调用历史中的命令:!#: 重复执行第#条指令;!!: !string调用上一条命令的最后一个参数:!$: ESC, .Alt+.控制命令历史的记录方式:环境变量:HISTCONTROLignoredups:忽略重复的命令;连续且相同方为“重复”;ignorespace:忽略所有以空白开头的命令;ignoreboth:ignoredups, ignorespace;修改环境变量值的方式:export 变量名="值"变量赋值:把赋值符号后面的数据存储于变量名指向内存空间;(2) 命令补全bash执行命令:内部命令:外部命令:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到即为要执行的命令;直接补全:Tab,用户给定的字符串只有一条惟一对应的命令;以用户给定的字符串为开头对应的命令不惟一,则再次Tab会给出列表;(3) 路径补全把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名;如果惟一:则直接补全;否则:再次Tab,给出列表;(4) 命令行展开~: 展开为用户的主目录~USERNAME:展开为指定用户的主目录{}:可承载一个以逗号分隔的列表,并将其展开为多个路径/tmp/{a,b} = /tmp/a, /tmp/b/tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi(5) 命令的执行结果状态成功失败bash使用特殊变量$?保存最近一条命令的执行状态结果:0:成功1-255:失败程序执行有两类结果:程序的返回值;程序的执行状态结果;目录管理类命令:cd, pwd, lsmkdir, rmdir, treemkdir [options] /path/to/somewhere-p: 存在于不报错,且可自动创建所需的各目录;-v: 显示详细信息-m MODE: 创建目录时直接指定权限;[root@localhost games]# mkdir -pv 1/{2,3}/{4,5}mkdir: 已创建目录 "1"mkdir: 已创建目录 "1/2"mkdir: 已创建目录 "1/2/4"mkdir: 已创建目录 "1/2/5"mkdir: 已创建目录 "1/3"mkdir: 已创建目录 "1/3/4"mkdir: 已创建目录 "1/3/5"[root@localhost games]# mkdir -pv {x,y}_{1,2}mkdir: 已创建目录 "x_1"mkdir: 已创建目录 "x_2"mkdir: 已创建目录 "y_1"mkdir: 已创建目录 "y_2"tree: -d: 只显示目录-L level:指定显示的层级数目-P pattern: 只显示由指定pattern匹配到的路径;rmdir:删除空目录rmdir [OPTION]... DIRECTORY...-v: 显示过程;文本文件查看类命令:cat, tacmore, less, tail, headmoremore [OPTIONS...] FILE...-d: 显示翻页及退出提示lessless [OPTIONS...] FILE...headhead [OPTION]... [FILE]...-c #: 指定获取前#字节-n #: 指定获取前#行-#:tail tail [OPTION]... [FILE]...-c #: 指定获取后#字节-n #: 指定获取后#行-#:-f: 跟踪显示文件新追加的内容;文件的时间戳管理工具:touch文件:metadata, data查看文件状态:stat三个时间戳:access time:访问时间,简写为atime,读取文件内容modify time: 修改时间, mtime,改变文件内容(数据)change time: 改变时间, ctime,元数据发生改变touch命令:        

      root@localhost games]# stat /etc/rc.d/init.d/functions
      文件:"/etc/rc.d/init.d/functions"
      大小:18104 块:40 IO 块:4096 普通文件
      设备:fd00h/64768d Inode:269800 硬链接:1
      权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
      环境:system_u:object_r:bin_t:s0
      最近访问:2019-03-13 06:31:06.556356472 -0400
      最近更改:2018-01-02 11:29:40.000000000 -0500
      最近改动:2019-02-26 18:43:45.841001981 -0500
      创建时间:-
[root@localhost games]#

touch [OPTION]... FILE...-a: only atime-m: only mtime-t STAMP:[[CC]YY]MMDDhhmm[.ss]-c: 如果文件不存,则不予创建文件管理:cp, mv, rm复制命令:cpcp [OPTION]... [-T] SOURCE DESTcp [OPTION]... SOURCE... DIRECTORYcp [OPTION]... -t DIRECTORY SOURCE...cp SRC DESTSRC是文件:如果目标不存在:新建DEST,并将SRC中内容填充至DEST中;如果目录存在:如果DEST是文件:将SRC中的内容覆盖至DEST中;此时建议为cp命令使用-i选项;如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中;cp SRC... DESTSRC...:多个文件DEST必须存在,且为目录,其它情形均会出错;cp SRC DESTSRC是目录:此时使用选项:-r如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中;如果DEST存在:如果DEST是文件:报错如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中;常用选项:-i:交互式-r, -R: 递归复制目录及内部的所有内容;-a: 归档,相当于-dR --preserv=all-d:--no-dereference --preserv=links--preserv[=ATTR_LIST]mode: 权限ownership: 属主属组timestamp: linksxattrcontextall-p: --preserv=mode,ownership,timestamp-v: --verbose-f: --forcemv: move,移动文件mv [OPTION]... [-T] SOURCE DESTmv [OPTION]... SOURCE... DIRECTORYmv [OPTION]... -t DIRECTORY SOURCE...常用选项:-i: 交互式-f: 强制rm: remove,删除rm [OPTION]... FILE...常用选项:-i: 交互式-f: 强制删除-r: 递归rm -rf 文本编辑器:nano全屏编辑器1、命令别名(alias)通过alias命令实现:(1) alias显示当前shell进程所有可用的命令别名;(2) alias NAME='VALUE'定义别名NAME,其相当于执行命令VALUE;注意:在命令行中定义的别名,仅对当前shell进程有效;如果想永久有效,要定义在配置文件中;仅对当前用户:~/.bashrc对所有用户有效:/etc/bashrcNote: 编辑配置给出的新配置不会立即生效;bash进程重新读取配置文件:source /path/to/config_file.  /path/to/config_file撤消别名:unaliasunalias [-a] name [name ...]Note: 如果别名同原命令的名称,则如果要执行原命令,可使用"\COMMAND";
[root@localhost games]# alias cdnet='cd /etc/sysconfig/network-scripts/'
[root@localhost network-scripts]# unalias cdnet

2、glob (globbing)bash中用于实现文件名“通配”通配符:*, ?, [](1) *任意长度的任意字符a*b: aab, ab, a123b, abc(2) ?任意单个字符a?b:aabab, a12b, abc(3) []匹配指定范围内的任意单个字符[0-9][a-z]:不区分字符大小写(4) [^]匹配指定范围外的任意单个字符[^0-9]专用字符集合:[:digit:]:任意数字,相当于0-9[:lower:]:任意小写字母[:upper:]: 任意大写字母[:alpha:]: 任意大小写字母[:alnum:]:任意数字或字母[:space:]:[:punct:]:标点符号3、bash的快捷键Ctrl+l: 清屏,相当于clear命令;Ctrl+a:跳转至命令开始处;Ctrl+e:跳转至命令结尾处;Ctrl+c:取消命令的执行;Ctrl+u: 删除命令行首至光村所在处的所有内容;Ctrl+k: 删除光标所在处至命令行尾部的所有内容;4、bash的的I/O重定向及管道程序:指令+数据读入数据:Input输出数据:Output打开的文件都有一个fd: file descriptor (文件描述符)标准输入:keyborad, 0标准输出:monitor, 1标准错误输出:monitor, 2I/O重定向:改变标准位置输出重定向:COMMAND > NEW_POS, COMMAND >> NEW_POS>:覆盖重定向,目标文件中的原有内容会被清除;>>: 追加重定向,新内容会追加至目标文件尾部;# set -C: 禁止将内容覆盖输出至已有文件中;强制覆盖:>|# set +C: 2>: 覆盖重定向错误输出数据流;2>>: 追加重定向错误输出数据流;标准输出和错误输出各自定向至不同位置:COMMAND > /path/to/file.out 2> /path/to/error.out合并标准输出和错误输出为同一个数据流进行重定向:&>:覆盖重定向&>>:追加重定向COMMAND > /path/to/file.out 2> &1COMMAND >> /path/to/file.out 2>> &1
         COMMAND > /dev/null 2>&1  2>&1 的意思就是将标准错误重定向到标准输出。这里标准输出已经重定向到了 /dev/null。那么标准错误也会输出到/dev/null输入重定向:<tr命令:转换或删除字符tr [OPTION]... SET1 [SET2]  

[root@localhost /]# tr abc ABC
hello
hello
atest
Atest
abc33
ABC33

cat anaconda-ks.cfg |head -10 |tr 'a-z' 'A-Z'
#前10行转换为大写HERE Documentation:<<# cat << EOF# cat > /path/to/somefile << EOF管道:COMMAND1 | COMMAND2 | COMMAND3 |...Note:最后一个命令会在当前shell进程的子shell进程中执行;tee命令:   当前屏幕输出,然后重定向到一个文件    tee [OPTION]... [FILE]...  [root@localhost ~]# ping www.baidu.com |tee ping.out文本处理工具:wc, cut, sort, uniqwc命令:wc [OPTION]... [FILE]...-l: lines-w: words-c: characterscut命令:cut [OPTION]... [FILE]...-d DELIMITER: 指明分隔符-f FILEDS:#: 第#个字段#,#[,#]:离散的多个字段,例如1,3,6#-#:连续的多个字段, 例如1-6[root@localhost ~]# cut -d: -f1 /etc/passwd    #冒号为分隔符,显示第一列混合使用:1-3,7--output-delimiter=STRINGsort命令:sort [OPTION]... [FILE]...-f: 忽略字符大小写-r: 逆序-t DELIMITER: 字段分隔符-k #:以指定字段为标准排序-n: 以数值大小进行排序-u: uniq,排序后去重

         cut -d: -f1 /etc/passwd   #排序,: 为分隔符。指定第一列 uniq命令:uniq [OPTION]... [FILE]...-c: 显示每行重复出现的次数;-d: 仅显示重复过的行;-u: 仅显示不曾重复的行;Note: 连续且完全相同方为重复

转载于:https://www.cnblogs.com/zy09/p/10528747.html

bash 基础命令相关推荐

  1. centos6.5 bash基础命令2

    @@@第三天第二段 @@stat命令:查看文件的元数据信心!Inode stat FILE... bash文本编辑器编辑器:进行文本内容修改的程序 行编辑器:sed 全屏编辑器:nano, vi, v ...

  2. Linux基础(2)-基础命令和bash的基础特性(1)

    基础命令 命令历史 命令历史的管理 登陆 shell 时,会读取命令历史文件中记录下的命令: ~/.bash_history . 登陆进 shell 后,新执行的命令只会记录在缓存中,这些命令会在用户 ...

  3. 每个程序员都应该知道的Linux基础知识!全文4900字,没有耐心的不建议看 ——( Linux文件系统 + 系统管理类命令 + bash基础特性)

    文章目录 - Linux的文件系统 - LSB - FHS - 根文件系统 - 对根文件系统下目录的概述: /boot /bin /sbin /lib /lib64 /etc /home /root ...

  4. 文件管理和用户管理命令以及bash基础特性

    文章目录 文件管理相关命令 常用的文件管理命令 常用的文件内容查看命令 其他常用基础命令 元数据 用户及用户组详解及其常用命令 用户 用户组 权限 特殊权限位 常用的用户(组)管理命令及权限管理命令 ...

  5. Linux基础命令之echo(涉及bash命令引用及替换部分内容)

    引言 echo是Linux中较为常见的命令,特别是在bash的脚本编写中它的灵活运用是必不可少的. echo的内容简介 在man手册中的解释是:display a line of text,翻译过来就 ...

  6. Linux安全基础:shell及一些基础命令

    1.什么是shell? Shell是用户和Linux操作系统之间的接口. Linux中有多种shell,其中缺省使用的是Bash. 2.shell的分类 (1)bash bash shell 是 Bo ...

  7. Linux学习(1)-Linux几个基础命令及文件系统功能和作用

    工作第一天,冲冲冲!!! 用户界面**:任何时候我们想与操作系统进行交互都必须有接口,接口是一种程序,我们称之为用户接口,也称为用户界面,有如下两类: (1)GUI:GNome.KDE (2)CLI: ...

  8. 渗透知识-linux基础命令

    学过linux的朋友,可以忽略,都是些非常基础的linux命令. Linux系统的介绍 Linux的定义: 是由众多程序员通过Internet协作开发的开源(open source)系统,可以运行在P ...

  9. Bash基础(2) 通配符 组合键 数据重定向 管道 tee

    Bash基础(2)     通配符  组合键  数据重定向  管道  tee命令 1 文本名"通配符" *:匹配任意长度的任意字符: ?:匹配任意单个字符: []: 匹配指定范围内 ...

最新文章

  1. ECNUOJ 2144 抗震机械制造
  2. MediaWiki使用指南
  3. 5月10日优酷殴打腾讯员工那些事
  4. AI 云原生浅谈:好未来 AI 中台实践
  5. Nginx跨域问题的原因分析
  6. 动态数据源切换的底层原理-DynamicDataSourceEntry
  7. 树的宽度 递归法和非递归法
  8. cdi-api_使用CDI简化JAX-RS缓存
  9. 897-递增顺序查找树
  10. 解决CocosCreator2.3.1使用VideoPlayer加载视频黑屏问题(修改底层代码)
  11. hcl启动设备失败_水电站,黑启动是什么?
  12. 华为手机解锁码计算工具_华为最新解bl解锁码读取工具
  13. 百度离线地图——瓦片地图下载
  14. 支付宝支付时提示“长时间没操作,请重新发起请求”的错误处理
  15. python svr回归_建模支持向量回归(SVR)与线性回归
  16. my opencv voyage
  17. 简单易懂的颜色透明度计算
  18. 王的机器第一本书「快乐机器学习」飨你
  19. VideoCapture()的使用------python
  20. 深入学习ArduinoJson库 V5版本

热门文章

  1. 「Nginx」什么是代理
  2. Exercise 1.9
  3. 数据结构3_160805无头单向不循环
  4. CentOS7下使用ngrok搭建内网穿透服务器
  5. 2019,收获,静静等待
  6. 毕设记录1||不要守株待兔
  7. web文件被更改crawlergo怎么解决_xray+Crawlergo联动实现批量检测--守株待兔
  8. Python中print(__doc__)作用的教程
  9. Windows 10 虚拟桌面切换
  10. python爬取pbf格式的矢量瓦片并转换为shp使用