8516830 发表于 2018-8-24 12:54:12

shell命令基本知识点

命令历史
  # cat /root/.bash_history       //存放历史命令的地方
  # history      //查看命令历史的条数
  # echo $HISTSIZE       //查看可以保存的条数
  # vim /etc/profile       //改变变量HISTSIZE的值 “/HISTSIZE” 去搜索
  # source /etc/profile       //这样才能使我们刚刚修改的值生效
  # vim /etc/profile →在HISTSIZE下增加 HISTTIMEFORMAT=”%Y/%m/%d %H:%M:%S “ 改变输出历史的格式,例如: 923 2017/06/28 17:56:42 source /etc/profile 包括什么时间输入的都可以显示!!!
  # chattr +a ~/.bash_history       //永久保存输入的历史(a权限,只允许增加,不允许删除)
  # !!       //执行上一条命令
  #!761       //查找命令第761条命令,在命令历史中!
命令补全
  参数补全,安装bash-completion
  自定义经常使用的命令,来提高效率:例如:
  # alias resnet=‘systemctl restart network.service'             //但是这样仅仅是保存在内存当中,我们要是需要长久使用,就要写在配置文件中,家目录下的 # .bashrc
通配符
  # ls *.txt      //查看所有以.txt结尾的文件
  # ls 1*         //查看以1开头的所有文件
  # ls ?.txt            //一个字符且.txt的文件
  # ls ??.txt          //两个字符且.txt的文件
  # ls .txt         //包含0.txt 1.txt 2.txt 3.txt
  # ls .txt         //包含1.txt 2.txt 3.txt
输入输出重定向
  “>”   //重定向                   “>>”   //追加内容
  # cat 12.txt > 22.txt               //查看12.txt的内容并重定向到22.txt
  # cat 12.txt >> 22.txt                  //查看12.txt的内容并追加(之前的内容不删除)到22.txt
  “2>”               //错误重定向                        “2>>”                   //错误追加重定向
  后期写shell脚本的时候会经常用到的一个命令:
  # ls .txt txzzz.txt(没有这个文件) >1.txt2>b.txt            //把正确的输出,输出到1.txt,错误的输出输出到b.txt
管道符、作业控制
  管道符:把一个命令结果的输出传递到后面一个命令;
  # cat 1.txt |wc -l ;             //查看1.txt 的内容 并交给后面查看有多少行 输出~
  # cat 1.txt |grep ‘aaa’                   //查看1.txt 的内容 并交给后面grep 查找 aaa
  # find ./ -type f | wc -l                     //查看当前目录下有多少个文件,然后统计输出
  案例:假如现在正在配置IP地址,当你进入vim之后,发现忘记IP地址了,然后使用“ctrl+z”去临时返回到命令行,fg 返回到任务,也许有时候,后台任务比较多,可以使用 jobs 来查看,然后恢复某个任务使用 fg+id ,或者把某个任务放到后台去继续执行 bg+id,一次性的把一个命令放到后台去执行,# sleep 1000 & ,可以用jobs去查看。
系统内置变量
  # env             //查看系统变量
  # set             //查看系统自设的变量+用户设置的变量
  自定义变量:
  # zhdy=winner            //设置自定义的变量
  # set | grep zhdy            //查询自定义变量中的zhdy
  # unset zhdy               //取消自定义的变量
  # 变量名规则:字母、数字下划线,首位不能为数字
  # 变量值有特殊符号时需要用单引号括起来
  # a=’a$bc’ → # echo $a → # a$bc
  # a=1;b=2 → #echo $a$b → # 12
  # echo $SSH_TTY               //查看自己在哪个TTY下面
  #export zhdy=linux         //制作一个全局的环境变量,
环境变量配置文件
  系统层次的环境变量(千万别去更改,除非特殊要求):
  /etc/profile 用户环境变量,交互,登录才执行
  /etc/bashrc 用户不用登录,执行shell就生效
  用户层次的环境变量(仅限于当前用户):
  ~/.bashrc //自定义一些别名alias
  ~/.bash_profile //自定义一些变量。例:HISTSIZE=2000
  ~/.bash_history //自定义历史相关配置
  ~/.bash_logout //自定义退出后所执行的动作
  profile:用户登录的时候会使用到
  bash:系统或者用户执行一些shell
  # echo $PS1            //输出左边的一个格式
  [\u@\h \W]\$
  # PS1='[\u@\h \w]\$’                  //更改格式为绝对路径
  #cd /etc/sysconfig/network-scripts/
  #         //已经显示为绝对路径了!!!
  # PS1=’\[\033\u@\h\[\033:\[\033\w\[\033\$ ‘          //带颜色的格式
  当然这只是暂存在内存中,要是想要永久修改,一定要进入 # vim /etc/bashrc 去修改!

页: [1]
查看完整版本: shell命令基本知识点