Vim基本操作以及初识Bash Shell

morning
一vim文本编辑工具的使用(vimtutor)
 vi 文本编辑器,处理文本的工具。ASCII,7bit 0-127  nano
               行编辑器         awk    sed
               全屏幕编辑器      vi  vim(语法高量)
模式化编辑器  三种          1命令模式   2插入模式   3末行模式                
    vim +n filname 打开文件光标指定位置
命令--> 输入模式   i ,I 当前光标处插入行首 输入状态   a ,A  当前光标之后处插入行尾 输入状态
                   o .O  添加新行当前行下方  当前行所在行上方新其一行
                   c,C 插入之前可以先进行删除操作
输入 -->命令模式        Esc
命令模式 --> 末行模式    :   
末行模式-->命令模式      Esc.Esc
保存退出    :wq 命令模式 ZZ 末行模式退出:x
另存为:w /directory
不保存退出 :q  强制退出 :q!
命令模式下:
 1光标移动
     h ,j k ,l   NCommand 移动n
     左 下上 右  n+h,j,k,l
  2单词间跳转
   w e b    w 前向后  b 后向前  nCommand   0 行首 ^行首
   首尾 首            $行尾  绝对行尾    绝对行首 词首
 3语句间跳转        ) (             后一句  前一句
 4自然段间跳转      }  {          后一段  前一段
 5行间跳转    NG  G 行内跳转 0 ^ $
 6翻屏操作    Ctrl+f 文件尾部翻一屏 Ctrl+b  向首部翻    Ctrl+d  下半屏  Ctrl+u  上半屏
命令--> 操作模式
 c.C    C=c$   c+e/w/b    cc 全行删除
删除操作   d .x   d nd 删除n个字母   dd  删除 整行
   x  删除光标所在处单个字符  nx    X  删除光标之前字符
复制粘贴
  复制 y  末行模式  :10 跳转到指定行:y%          yy      Nyy
               复制10行-100行 :10,100y
  粘贴p,P 光标行之上粘贴  当前光标之下粘贴
 替换r  nr 组合键
 移动字符 d,d^ ,x           缓冲区保留最近一次操作 dd p
 撤销操作  u 保留最近一次操作   U 多次默认50次 (undo)
 重做 .
 撤销撤销     Ctrl+r即返回撤销的操作
可视化模化 v 字符  V 整行      
同时显示两个文件
 vim file1 file2   next 下一个文件    prev 前一个        last      first
分屏显示
 vim -o/O file1 file2
分屏光标移动 Ctrl+w +<-- -->(arrow)          一篇文章 分割 Ctrl+w+s(水平)+v(垂直)
   设置显示取消行号 :set nu   :set nonu   设置自动缩进,取消自动缩进  :set ai   :set noai  语法高量     :syntax off/on
配置文件 永久显示  /etc/vimrc  所有用户   ~/.vimrc    当前用户(隐藏文件)
查找   /keyword  ?keyword   n/N(查找的多子间切换)
替换  :s
      :address,addresss///                 :1,10s/abc/ABC/ 第一行到10行abc替换为ABC
     :%s/aaa/AAA
     :.$s/aaa/AAA  查找第一次出现的   .表示当前行
     :.$s/aaa/AAA/g     查找所有出现的  glob(全局替换)
BASH
 golbbing
命令行扩展:
1~ 当前家目录
2{}    命令行路径扩展                     mkdir (a,b)_(c,d)
            x,x/y,x/z                   mkdir -pv x/{y,z}
            m.m/n,m/p,m/n/p      mkdir -pv m/{n/z,p}
3 $(),・・
echo "it is `date +'%T'`"
echo "it is `date +'%T'`"
echo -e "canlendar is:/n $(cal 4 2011)"
一 变量 [字符型对待       命名的存储空间(内存)]  字符 整数 布尔 浮点         1Bytes  8bit 9     整数    255
 bash     1不区分变量类型
            2不需要事先声明 ,尽量初始化
              变量声明: VARNAME=123456   NAME=Jerry
              echo ${NAME}/$name    echo $SHELL
变量命名规则:
       只能以字母或下划线
       名字中不能包含特殊字符(字母数字下划线)
       建议大写字母
变量的类型(类别)
 1本地变量 只对本地生效          [set] VARNAME=value         unset VARNAME
 2环境变量 对当前sh以及子sh都生效  export VARNAME=value      unset   VARNAME
   HISTSIZE=1000(默认)  .bash_history .bash_file
   PATH  命令所在的路径
   hash 记忆所使用的命令所处的位置
   which command 查询shell的完整路径
   PS1  PS1='[\u@\h\w]\$' [Linux系统提示符]
 3特殊变量(bash内置)   $   #   !
 4位置变量
命名别名
 alias ALIAS='command'
 unalias ALIAS='command'
 使用别名本身\      \cp 
 引号
 ''              ""        ${}花括号
 强引用         弱引用
 不会替换       替换为变量值
二.脚本编程的简单应用
  编译型语言         将源代码转义为目标代码 (静态语言)C C++ java c#
  源程序-->编译(目标代码)-->连接-->运行
                           库 
          1执行效率高
          2程序维护成本高             
  脚本型语言  (动态语言)        源程序   shell(bashell), perl, python, ruby
          1解释执行
 eg: (命令的罗列)
 vim  myfirstshell.sh
#!/bin/bash               (解释器解释执行)
#                           #表不会执行,格式化观看
echo "Add a user user8"
useradd user8
echo "Set password for user8:"
echo "123456" | --stdin passwd user8
echo "The id of user8"
id user8
#
#
chmod +x myfirstshell.sh
./myfirstshell.sh
shell环境
           环境配制文件
           全局配制文件  /etc/profile    
                         /etc/profile.d/*
                         /etc/bashrc
           个人独有文件
                       ~/.bashrc
                       ~/.bash_profile
   用户登录时的shell
    交互式登录shell   
 /etc/profile --> (/etc/profile.d/*)-->~/.bash_profile-->~/.bashrc-->/etc/bashrc
    非交互式登录shell  
    ~/.bashrc-->/etc/bashrc-->/etc/profile.d/*                           
    手动指挥系统重读配置文件      source file        
  export PATH=$PATH:/usr/local/myprogram/bin
 profile类的文件 通常设定环境变量,执行一些命令 vim /etc/profile
 bashrc类的文件,设定本地变量,定义命令别名 export 变换为环境变量
 脚本需要大量的练习因此上面的演示不多
  

你可能感兴趣的:(职场,休闲,linux新手学习之路)