bash shell笔记

  1 cd 切换到指定文件位置 " . " 当前目录 " .. " 父目录
  2 pwd 显示路径
  3 ls 显示当前目录下的文件和目录
  4    ls -F 区分文件和目录
  5    ls -a 显示隐藏文件和普通文件
  6    ls -R 显示文件下的内容
  7    ls -l (ll)显示每个文件的相关信息
  8 touch 创建空文件  cp 复制文件  rm 删除文件 mv 移动文件或重命名
  9 cp -R 复制目录   rm -f 强制删除  rm -R 删除多个文件 rm -rf 强制删除多个文件
 10 mkdir 创建目录   mkdir -p 同时创建多个目录和子目录
 11 rmdir 删除空目录
 12 file 查看文件类型
 13 cat 查看整个文件  cat -n 加行号
 14 moreless) 查看整个文件,显示每页数据后停止
 15 
 16 查看部分文件: tail 显示文件末尾10行 tail -n x 显示行数
 17               head 显示文件前10行   head x 显示行数
 18 ps 显示运行的程序的信息
 19 top 实时监测进程
 20 df 磁盘空间
 21 mount 卸载设备
 22 du  显示当前目录下所有文件的磁盘使用情况
 23 du -hs 总计磁盘空间
 24 sort 对数据进行排序    sort -n 把数字识别成数字而不是字符    sort -M 按月排序   -t 指定分隔符
 25 grep [搜索内容]+ 搜索文件     搜索数据
 26 exit 退出shell
 27 sleep 10 会话暂停10秒  sleep 10& 后台睡眠10秒
 28 jobs 显示后台运行的进程
 29 coproc { ; } 协程,后台生成子shell,并执行命令,命令以分号结束,花括号前后都要有一个空格
 30 
 31 外部命令:当外部命令执行时,会创建一个子进程。
 32 内建命令:不需要借助外部程序文件来运行,运用type命令检查是哪种命令
 33 history 查看最近用过的命令
 34 alias   命令创建另一个名称
 35 env或printenv  查看全局环境变量
 36 set    显示所有环境变量,包括局部变量和全局变量
 37 echo $   显示变量当前值,让命令作为命令行参数
 38 variable="Hello World"   设置局部变量
 39 export variable  将局部变量变为全局变量
 40 unset    删除环境变量
 41 PATH   shell查找命令的目录列表,由冒号分割
 42 useradd  添加新用户
 43 userdel  删除用户   
 44 groupadd  创建新组
 45 groupmod  修改组
 46 文件权限符: - 代表文件  d文件  r可写  w可读  x可执行   u用户  g组  o其他   +增加权限  -移除权限  =权限设置确定值
 47 umask  默认文件权限设置
 48 chmod  改变文件权限
 49 chown  改变文件属主
 50 chgrp  改变默认属主
 51 
 52 关于shell
 53 ` ` 或 $() 实现命令替换fee
 54 输出重定向:将命令的输出发送到一个文件中 符号: > 或 >> (不覆盖文件原内容)
 55            command > file
 56 输入重定向:将文件的内容向指定命令中执行 符号: <
 57            command < file
 58 内联输入重定向:命令行中输入指向命令中执行的数据 符号: <<
 59            command << mark
 60            >test1
 61            >test2
 62            >mark          (数据开始和结尾文本标记必须一致)
 63 管道:将一个命令的输出作为另一个命令的输入   符号: |
 64       command1 | command2
 65 数学运算符:
 66 expr命令:expr 1 * 2    ()转义符
 67 $[1 * 2]命令
 68 bc :内建的bash计算器 输入quit退出  scale=4 表示结果包含四位小数 print打印变量结果
 69 if-then语句:  if command
 70                then
 71                   command
 72                fi
 73 test 当命令中的条件成立时,退出状态码0
 74 数值比较:
 75 x1 -eq x2 (是否相等)  x1 -ge x2 (x1是否大于或等于x2)  x1 -gt x2(x1是否大于x2)
 76 x1 -le x2 (x1是否小于或等于x2)  x1 -lt x2 (x1是否小于x2)  x1 -ne x2 (是否不相等)
 77 case命令: case variable in
 78            pattern1) command1;;
 79            pattern2) command2;;
 80            *) default command3;;
 81            esac   变量与多种模式进行比较
 82 for循环:  for var in x1 x2 x3
 83            do 
 84               commands
 85            done   (var第一次迭代x1第二次x2)
 86 IFS内部字段分隔符: 默认(空格,制表符,换行符)IFS=$'
'(只识别换行符)
 87 C语言风格的for循环:for((i=1; i<=10; i++))
 88                    do
 89                      echo
 90                    done
 91 while命令:while testcommand
 92            do
 93                command
 94            done   (当test成立时进入循环)
 95 until命令:until testcommand
 96            do
 97                command
 98            done   (当test成立时退出循环)
 99 break命令:退出循环 break n (n是退出的循环层级)
100 continue命令:终止循环中的某次命令 continue n(n是要继续的循环层级)
101 命令行参数:$0程序名 $1第一个参数 $2第二个参数 $#参数的个数 
102          $*将所有参数视为一个单词一个整体  $@将所有参数视为同一字符串的多个独立单词
103 shift命令:移动变量 默认将每个参数变量左移动一个位置
原文地址:https://www.cnblogs.com/Uriel-w/p/12309840.html