lsdwyl 发表于 2018-8-30 09:45:02

4.shell基本操作简介

  判断一个命令是不是内置命令,可以用type命令
  1.printf
  :冒号
  #:〉 test.txt
  这里会建立一个空文件test.txt
  set -o|grepemacs
  查看 emacs 模式是否开启
  set -u 用法
  # i=10
  # : $i
  # echo $?
  0
  #
  2.read
  3.shopt
  #listlog =”ls –al /var/log/*.log”
  eval $listlog
  eval $listlog则读取变量内容执行它这是一种间接执行指令的技巧
  HIS=”history”
  Eval “$HIS > $USER.log”执行时以账号当作日志文件的主文件名
  *表可执行文件/bin/bash*表目录
  @表示软连接/bin/sh@
  =表socket文件   /var/run/mysql/mysqld.sock=
  | 表pipe文件    /dev/initctl|
  #FROM='joe@sample.edu.cn'
  # echo $FROM | cat -email.list | sort
  joe@sample.edu.cn
  #
  echo 命令丢给管道cat则由标准输入取得数据在email。List 取得数据和刚才的$FROM 的合并交给sort排序    cat至少要有2个文件才能执行合并的操作
  basename 取得路径名称中最后的文件名部分
  # basename/usr/local/bin
  bin
  #
  dirname 取得路径名称中的目录部分
  # dirname/usr//local/bin
  /usr//local
  #
  tr 把小写k换成K
  # tr k K < datafl
  KKKKKK
  #
  xargs 由标准输入安排要执行的命令和参数
  # find . -name '*.txt'|xargs -n 2 diff
  在现在的工作目录寻找扩展名是 .txt的文件,然后交给xargs处理,xargs的-n 2 表示执行指令的参数至多有2个,也就是说找到.txt 文件,以2个一组的方式交给diff去比较
  命令行编辑
  Ctrl不放+a   移到行首
  Ctrl不放+e   移到行尾
  Ctrl不放+b   往左移动一个字符
  Ctrl不放+f    往右移动一个字符
  ESC 放+b    往左移动一个单词
  ESC 放+f   往右一个单词
  ESC 放+d   由光标开始删除这个单词直到该单词结束
  Ctrl 不放+w   由光标所在的位置开始往前删除单词
  Ctrl 不放+k   删除光标所在直到后面所有的
  Ctrl 不放+u   删除光标前的所有字符

页: [1]
查看完整版本: 4.shell基本操作简介