说到Linux必然会提到文本编辑工具Vim和脚本语言Shell,阿里的团队对于你用什么写代码是无要求的,这些都是自选,但是对着测试机那个纯文本的操作界面实在蛋疼不已。对图形界面的依赖还是早日切断为好,我曾经幻想着可以用Eclipse写就不需要VI了。。结果还是不得不面对这样的宿命啊。程序员的命,即使不装酷也为了生计,去学习吧!
特别对于脚本,其实很多人会说Python,但Shell毕竟是Linux原生态的,不会Shell怎么能说会Linux呢?我的老大说的。。。
Vi :
三种模式:命令,编辑,一般模式
在一般模式下输入 i, o ,a 或者Insert键 就可用进入编辑模式
编辑模式下按ESC就回到一般模式
命令模式下输入q退出,w保存, 加 ! 强制执行
U回退操作,ctrl+R 撤销回退
概念:用户,群组,权限
权限(0 RWX RWX RWX) 分别表示文件类型,所有者权限,所在群组权限,用户权限
[Ctrl] + [f] |
屏幕『向前』移动一页(常用) |
[Ctrl] + [b] |
屏幕『向后』移动一页(常用) |
:n1,n2s/word1/word2/g |
在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !(常用) |
:1,$s/word1/word2/g |
从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用) |
:1,$s/word1/word2/gc |
从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给使用者确认(conform)是否需要取代!(常用) |
yy |
复制游标所在的那一行(常用) |
nyy |
复制光标所在的向下 n 列,例如 20yy 则是复制 20 列(常用) |
p, P |
p 为复制的数据在光标下一行贴上,P 则为贴在游标上一行!(常用) 与复制结合使用 |
dd |
删除游标所在的那一整列(常用) |
ndd |
删除光标所在的向下 n 列,例如 20dd 则是删除 20 列(常用) |
Shell优点:
命令编修
档案及补全(文件名与命令补全使用Tab)多按Tab是个好习惯
命令别名 Alias lm='ls -al'
重定向(这个概念很重要,有时候编程语言一堆语句完成的事情在脚本里就是一个> < 或者>> <<....)
标准输入;代码为 0 ;或称为 stdin ;使用的方式为 <
标准输出:代码为 1 ;或称为 stdout;使用的方式为 1>
错误输出:代码为 2 ;或称为 stderr;使用的方式为 2>
kill -l 1234 > /dev/log 2 > &1 前一部分是将执行进程终止的显示结果输出到/dev/log文件中,2>&1意思是将执行错误信息也输出到/dev/log即标准错误与标准输出位置一样(此处可不同 2 > /dev/error )
管道命令(就像水管一样,一个命令的输入当成另一个的输出,在文本处理上十分神奇)
通过|连接命令执行的结果 例子:ps|sort > a.txt
Shell脚本编写:
Vi编辑 ,开头要有#!/bin/sh 即执行脚本的位置
然后保存,chmod +x **.sh 添加可执行权限
然后执行 ./**.sh
help test|less 可以查看Shell判断语句test或者说是[ ]提供的基本功能,包括文件判断字符判断数值判断等。
例子,输出当前路径下所有文件夹(加[[...]]仅仅是习惯问题,一个也可以)
#!/bin/sh
for file in *
do
if [[ -d $file ]]
then
echo $file
fi
done
通过declare -i a=4 可将变量a申明为整形
在SHell脚本中 $0 $1 $2....0表示该脚本的名称 1,2,3 ...N 分别表示第几个参数
$?表示上一条Shell语句执行完成的状态码,用于检验执行情况,只有返回0是正确的,其余为各种错误。
执行语句并查看返回结果例子,查看系统的某些端口是否在活动:
#!/bin/sh
cmd='netstat -an |grep :80'
if [[ $cmd != "" ]]
then
echo "Running"
else
echo "Stop"
fi
调试Shell脚本的语句
sh [-nvx] scripts
-n :不要执行 scripts ,查询 scripts 内的语法,若有错误则予以列出!
-v :在执行 scripts 之前,先将 scripts 的内容显示在屏幕上;
-x :将有使用到的 scripts 内容显示在屏幕上,与 -v 稍微不同!
分享到:
相关推荐
shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人...
《LINUX与UNIX SHELL编程指南》读书笔记-二次发布版
初学者入门教程:Shell编程概述(二) shell编程-shell编程-分支语句(1) shell编程-shell编程-分支语句(2) shell编程-shell编程-循环语句(1) shell编程-shell编程-循环语句(2) Linux的shell...
学习笔记:LINUX与UNIX_Shell编程指南
变量: 变量的赋值和引用 在shell编程中变量没有类型,简称弱类型编程语言,不需要声明,在引用这个变量时会创建它(在变量名前加$符号引用变量的值)。在定义变量时,若String中包含空格、制表符、换行符,需用单...
unix shell编程第三版笔记,铁道出版社
《LINUX与UNIX SHELL编程指南》读书笔记 《LINUX与UNIX SHELL编程指南》读书笔记
vi笔记 vi笔记 vi笔记 vi笔记 vi笔记 vi笔记 vi笔记 vi笔记
《LINUX与UNIX SHELL编程指南》读书笔记.pdf
LINUX操作命令与UNIX SHELL编程指南
学习shell编程的资料
该文档是本人阅读《linux命令行大全》对最后第四章节的shell脚本编程的学习笔记总结。可以在只看次笔记的情况下完全掌握shell编程
Shell编程笔记,有很多关于Shell编程的干货,适合学习
本书重点讲述了当下最流行的两个Linux Shell——Borne Again Shell (bash)和TC Shell(tcsh),从它们的新特性、增加和内建的插件讲起直至具体的应用。通过对一个个实例的讲解,循序渐进地介绍了Linux Shell中的各个...
shell script学习中的笔记
包括概述、linux文件系统、正则表达式、sed命令和awk编程、文件的排序、合并和分割、变量和引用、操作符、循环与结构化命令、变量的该机用法、I/O重定向、linux/unix shell类型与区别、子shell进程处理、函数、别名...
这是我的shell编程笔记,我有很多自己的学习笔记,供我以及大家复习使用,还有其他的哦 C语言笔记,java笔记,网页笔记,javaweb笔记,gcc笔记,等,我会慢慢传