zsy001 发表于 2018-8-20 09:21:47

​shell基础一

  shell基础
  一、什么是shell
  1.是一个命令解释器,提供用户和机器之间的交互
  2.支持特定语法,比如逻辑判断、循环
  3.每个用户都可以有自己特定的shell
  4.默认为bash(BourneAgin Shell)
  5.还有zsh、ksh等
  二、命令历史
  1.命令
  保存位置:/root/.bash_history
  # ls /root/.bash_history
  /root/.bash_history
  # cat /root/.bash_history
  ls
  ls –t
  2.最大存1000条
  # echo $HISTSIZE
  1000
  3.# history –c
  把内存中的命令历史清空,但是不删除命令文件,不上楚配置文件
  4.变量HISTSIZE
  在/etc/profile 中修改,source/etc/profile之后生效
  5.记录对应的命令是什么时候运行的
  HISTTIMEFORMAT=”%Y%m%d%H:%M:%S”
  6.永久保存 # chattr +a ~/.bash_history
  运行此命令别人只能追加,不会删除命令
  7.!!命令表示执行上一条指令
  # pwd
  /root
  # !!
  pwd
  /root
  8. !n表示执行命令中的第n条指令
  9. !word 表示执行命令历史中最近一次以word开头的命令
  三、命令补全与别名
  1. Tab键 敲一下:自动补全只有一个命令,敲两下:开头相同,后面有多个参数
  参数补全需要安装:bash-completion
  2. alias别名 给命令起个名字
  3. 各用户都有自己配置别名的文件~/.bashrc
  4. /etc/profile.d.bashrc 等脚本定义alias别名
  5. 自定义的alisa放到 ~/.bashrc
  6. unaliasrestartnet 命令取消定义的alias别名
  四、通配符
  1. * 表示通配符
  2.ls *.txt 表示列出.txt的全部文件
  3.   ls ?.txt 表示一个任意字符
  4.   ls .txt 表示列出代表“[”和“]”之间的某一个字符,比如可以代表0-9之间的任意一个数字,可以代表a-z和A-Z之间的任意一个字母,字母区分大小写
  5.ls {}.txt表示符合括号内包含的多个文件
  6.ls [^.txt] 表示匹配结果取反的意思,注意这个通配符必须要在[]中使
  五、输入输出重定向
  常用文件重定向命令:
  command >file:标准输出重定向到一个文件,错误仍然输出屏幕
  command >>file:标准输出重定向到一个文件(追加)
  command 1>file1:标准输出重定向到一个文件
  command 2>>file2:标准错误重定向到一个文件(追加)
  command 1>file 2>&1:标准输出和标准错误一起重定向到一个文件
  command>>file 2>&1: 标准输出和标准错误一起重定向到一个文件(追加)
  command < file1 >file2:以file1做为标准输入,file2做为标准输出
  command file 2>&1可以修改为command>file2>>file

页: [1]
查看完整版本: ​shell基础一