【Linux从零开始】:4.学习shell script前过度阶段的一些杂乱笔记

  这一段时间好好练了练vim操作。书中vim与shell script之间有好长一段,不是什么很系统的东西,多以命令为主,所以就记录了一些凌乱的笔记。虽说乱吧,但1条1条还都挺有用的。先发出来再慢慢扩充吧,估计后天就可以开始shell script了

                                                                                                                                                                                      

1.shell作为命令解释器,是建立在用户和操作系统之间的接口;

2.shell除了具有解释键盘命令并发送至操作系统的功能外,还是一种高级语言,如同windows里面的批处理程序,可以以简洁的代码实现一些复杂的功能;

3.管道:可以将一个程序的输出传送给另外一个程序作为它的输入。用 " | " 来表示;

4.过滤器:一种特殊的管道,可以将第一个程序的输出做以筛选处理再传送给第二个程序;

5.远程登录:telnet不安全,ssh加密

6.识别当前运行的shell:ps

7.挂起一个正在运行的程序: ctrl + z

8.在输入的时候删除最近一个单词(没空格的字符串): ctrl + w

9.查看文件信息:file

10.显示出系统所使用的所有语言设置:locale

11.script:记录会话,cat读取会话

12.dos2unix   unix2dos  不同系统间文件格式的转换

13.相关命令的定位搜索:which(搜索到的第一个位置)  whereis(列出所有的路径)

14.apropos:搜索关键字   whatis:完全匹配

15.who  w :列出系统上的所有用户

16.在命令后加上 & 将其变为后台运行

17. uname -r 显示版本信息

18. env 显示各种环境变量

19.echo $LANG 显示各种变量

name='abc'  自定义变量

name=${name}yes  增加内容

name= "$name its me"  输出变量原来的值

name= ' $name its me'  原样输出'  '中的内容

20.重复执行上条命令,ctrl + p

21.set 查看系统中的所有变量

22.export 自定义变量转化为环境变量

自定义变量与环境变量的差别:环境变量可以被子进程继续引用,而自定义变量不能被子进程继续引用

23.选取命令:

  cut:常用参数

  -d'分隔字符'  -f fields

  -c 字符范围

EG:  cut ' ; ' -f 5   显示以;为分隔字符的第5个数据(分隔符必须是单个字符)

   cut ' ; ' -f 3,5

   cut -c 12- 若数据分行显示,输出第12个字符以后的数据

24.标准输入输出的重定向:<输入方   >输出
    cat命令 : cat filename表示读取文件,也就是从文件输出数据并输出到屏幕上
        cat从键盘读取数据,并且输出到屏幕
        cat > filename从键盘输入,并且输出到文件中(会无条件的覆盖已有的文件)
    以 ctrl + d 来结束输入
    防止覆盖已有的文件:
        启用该设置:set -o noclobber
        禁用该设置:set +o noclobber
    使用追加标准输出:可以向某个文件的末尾添加新的内容
        cat filename1 >> filename2
    使数据消失,同时不改变文件的权限:
        将数据重定向至 /dev/null
        eg: cat /dev/null > filename 将该文件内容清空

25.程序的挂起:ctrl + z 阻止程序的运行
    移动至前台运行: fg 作业编号
    终止后台程序:
        kill命令的使用
        kill -9 终止所有可以终止的程序
        kill %1 终止相应作业编号的程序
        kill PID 终止相应PID的作业编号
        ps 查看作业的PID
        jobs 显示当前会话的作业状态
        
last: 用于显示登录这的信息
输出 "帐号/终端机/来源/日期时间"

26.grep:
-a : 将binary文件以text文件的方式查找数据;
-c : 计算找到 '查找字符串' 的次数;
-i : 忽略大小写;
-n : 顺便输出行号;
-v : 反向选择;
--color=auto : 将找到的关键字高亮(一般自动开启)
-A : 后面可加数字, 为after的意思,除了列出该行外,后续的n行也会列出
-B :*****************before*****************


wc:统计文件的行数,字数,字符数

27.tee:双向重定向命令
    -a 以累加的形式将数据输入一个文件
字符转换命令:
    tr: -d 删除其中的某个字符串  
    EG:  tr '[a-z]' '[A-Z]' 将小写替换成大写
         tr -d ';' 删除;符号
    paste: paste file1 file2
         直接将2个文件相同的行粘贴在一起(以TAB分隔)
    join: [-ti12] file1 file2
         -t 如果相应行之前的文件内容相同以分隔符链接 Eg: join -t ':' file1 file2
         -i 忽略大小写
    使用join前最好对文件进行sort

    split:切割文件命令
          -b 切割成的文件大小,可加单位b k m
          -l 以行数来进行切割
          EG: split -b 300k filename newfile前导名
   

原文地址:https://www.cnblogs.com/VortexPiggy/p/2443116.html