十. vi文字处理器
vi共分为3中模式,分别是一般模式,编辑模式与命令行命令模式。
1. 使用vi 进入一般模式。
2. 按下i进入编辑模式,开始编辑文字。
3. 按下[Esc]键回到一般模式。
4. 在一般模式中按下:wq存储后离开vi。
十一. 认识Bash Shell
/bin/bash是Linux默认的shell。
您曾经执行的命令都记录下来了,记录的文件在家目录内的.bash_history中。不过需要注意的是,~/.bash_history记录的是前一次登录之前所执行过的命令,而至于这一次登录所执行的命令都被暂时储存在临时文件中,成功注销系统后,该命令记录才会记录到.bash_history中。
变量的获取与设置:echo、变量设置规则、unset
echo $PATH 或 echo ${PATH}
PATH=”$PATH”:/homt/dmtsai/bin
Cd /lib/modules/`uname –r`/kernel 在一串命令中,`之内的命令将先执行,而其执行出来的结果将作为外部输入信息。
列出所有的环境变量:env
HOME:代表用户的家目录。
SHELL:当前这个环境使用的shell是哪个程序。
HISTSIZE:历史命令的记录数目。
ENV:这个是用户所用的个性化环境设置文件的读取文件。
MAIL:当使用mail命令收信时,系统回去读取的邮件信箱文件(mailbox)。
PATH:执行文件搜索的路径。目录之间以:分割,由于文件的搜索是按顺序由PATH的变量内的目录来查询,所以目录的顺序很重要。
LANG:语系文件。
set命令除了会降环境变量列出来之外,其他的自定义变量,以及所有的变量,都会列出来。
这次登陆所进行的变量设置,如果没有更改设置文件,那么这次设置的变量在下次登录时将被取消。所以,如果想要变量每次都能在您登录时自动设置好,那么就必须将设置写入登录时加载的设置文件。
命令别名设置alias、unalias
alias lm=’ls –l | more’
如何知道当前有哪些命令别名:alias
历史命令:history
history
history 3 列出当前最近的3个命令
history –w 在默认情况下,会将历史记录录入~/.bash_history中。
系统默认的PATH并没有执行当前目录下的设置,也就是”.”路径。只是出于安全的考虑。所以在执行当前目录命令时,要加上./,如./squid
个人的个性化设置一般写在~/.bash_history
在我们登录bash的时候,设置文件的读取顺序是
1. 先读取/etc/profile,再根据/etc/profile的内容去读取其他附加的设置文件,例如etc/profile.d与/etc/inputrc等设置文件。
2. 根据不同的用户,到用户家目录去读取~/.bash_profile或~/.bash_login或~/.profile等设置文件。
3. 根据不同的用户,到家目录去读取~/.bashrc。
数据流重导向就是将某个命令执行后应该要出现在屏幕上的数据,传输到其他地方,例如文件或者设备(如打印机)。>替换 >>累加。
1. 标准输入(stdin):代码为0,使用<或者<<
2. 标准输出(stdout):代码为1,使用>或者>>。
3. 标准错误输出(stderr):代码为2,使用2>或者2>>。
/dev/null这个垃圾桶很重要,当输入的任何东莞联系导向这个虚拟的垃圾桶设备时,他就会凭空消失不见了。
< 将原本需要由键盘输入的数据,通过文件来读入。
管道命令|,在每个管道的前后都是命令。后一个命令的输入时前一个命令的输出。
ls –al /ect | less
选取命令。
cut:将一块短数据经过分析后,取出我们想要的部分,或者是,通过分析关键字,取出我们想要的行。
last | cut – d ‘ ‘ -f 1
grep:分析一行信息,若其中有所需要的信息,就将该行取出。
last | grep ‘root’
排序命令。
sort:用来排序。Scat /etc/passwd | sort
uniq:想要将重复的数据仅显示一行 last | cut –d ‘’ –f1 | sort | uniq –c
wc:想要知道文件中有多少字,多少行,多少字符
cat etc/man.config | wc -l
十二. 正则表达式
^word:待搜索的字符串(word)在行首
grep –n ‘^#’ regular_express.txt 搜索行首为#的那一行
word$:待搜索的字符串(word)在行尾
grep –n ‘!$’ regular_express.txt 将行尾为(!)的那一行显示出来
.:代表任意一个字符,一定是一个任意字符
\:转译符,将特殊符号的特殊意义去除。
*:重复零个或多个的前一个重复字符。
\{n,m\}:连续n到m个的前一个重复字符。若为\{n\}则是连续重复n个前一个字符。若为\{n,\}则是连续重复n个以上前一个字符。
Grep –n ‘go\{2,3\}g’ regular_express.txt
[]:字符集合的重复特殊字符的符号。
grep –n ‘[0-9a-zA-Z]’ regular_express.txt
grep –n ‘oo[^t]’ reqular_express.txt
正则表达式的特殊字符与一般在命令行输入命令的通配符并不相同。例如,在通配符中,(*)代表0到无限多个字符,但在正则表达式中,(*)则是重复0到多个前一个字符的意思。
举例来说,不支持正则表达式的ls工具中,若使用 ls –l * 代表任意文件的文件名,而ls –l a* 代表以a开头的任何文件名的文件。但在正则表达式中,要找到含有以a开头的文件,则必须要这样做(需搭配支持正则表达式的工具):ls | grep –n ‘^a.*’
另外,通配符的反向选择为[!range],正则表达式则是[^range]。
十三. 学习shell脚本
Shell脚本是利用shell功能说编写的程序,这个程序使用纯文本文件,将一些shell语法与命令写在里面,与正则表达式、管道命令与数据流重导向一起实现我们的目的。
#可作为注释。任何加载#后面的内容,将全部被视为注释文字而被忽略。
执行一个文件,方法如下:
1. 将shell.sh加上可读与执行(rx)权限,然后就能用./shell.sh执行了。
2. 用sh shell.sh的方式直接执行即可。
Shell脚本的第一行 #!/bin/bash在声明这个脚本时用的shell名称:因为使用的是bash,所以要以”#!/bin/bash”来声明这个文件内的语法使用bash的语法。当执行这个程序时,他就能加载bash的相关环境设置文件,并且执行bash来使下面的命令能执行。这很重要(很多情况下,如果没有设置好这一行,那么该程序很可能无法执行,因为系统可能无法判断该程序要使用什么shell来执行)。程序内容的声明:整个脚本中,错了第一行的#!是用来声明shell的之外,其他的#都是注释。
Shell脚本的默认变量($0, $1 … )
Sh sh07.sh theone haha quot
$0 = sh07.sh, $1 = theone, $2 = haha, $3 = quot
条件判断
使用if…then
if [ 条件判断表达式一 ]; then
当条件判断表达式一成立时候,可以执行的命令。
elif [ 条件判断表达式二 ]; then
当条件判断表达式二成立时,可以执行的命令。
else
当条件判断表达式一与二均不成立时,可以执行的命令。
fi
使用case…esca
case $变量名称 in
“第一个变量内容”)
程序段
;;
“第二个变量内容 “)
程序段
;;
*)
不包含第一个变量内容与第二个变量内容的其他程序执行段
exit 1
;;
esac
函数
function fname() {
程序段
}
循环
while do one, until do done
while [ condition ]
do
程序段落
done
until [ condition]
do
程序段落
done
for…do…done
for (( 初始值; 限制值; 执行步长))
do
程序段
done
shell脚本的追踪与调试
sh –n scripts.sh 不要自行脚本,仅查询语法问题。
sh –x scripts.sh 将使用的脚本内容显示到屏幕上,则是很有用的调试参数
分享到:
相关推荐
鸟哥linux私房菜,基础篇笔记,里面涵盖重点内容,全面
鸟哥的私房菜CentOS基础篇学习笔记总结,奉献给大家
学习linux入门必备,基础而全面,操作都有图片实例,就像是鸟哥的“学习笔记”,非常实用
鸟哥的Linux私房菜第5章首次登陆于在线求助学习笔记
鸟哥的 Linux 私房菜基础文档pdf,强人的学习笔记
(2)不能链接目录 (2)在文件属性上,软链接明确写出了是链接文件,而硬链接没有写 (3)文件大小不同,硬链接文件显示的大小与源文件相同,软链接显示的大小与源
笔记_鸟哥的LINUX私房菜(第三版)
Linux 学习笔记,基于《鸟哥的 Linux 私房菜 第四版(CentOS7)》以及各种的网络资源
《鸟哥的Linux私房菜-基础篇》这本书挺适合入门的,比较基础的但也有难点,书页1千多页呐(二十五章),而这篇博客把它总结成十章呐(其实都浓缩在一起的),这样就方便我以后有问题可以直接翻阅这篇博客就ok了,也...
Linux读书笔记;推荐书籍:《鸟哥的Linux私房菜》《Linux内核的设计与实现》 《深入理解Linux内核》《深入Linux内核架构》
1.《鸟哥的Linux私房菜》 推荐学习Linux的必读书籍,你是否已经掌握了它们?推荐学习Linux的必读书籍,你是否已经掌握了它们? 这本书是非常经典的一本Linux入门指南红联linux论坛,被誉为“Linux必读经典”。作者...
我上课用的Linux备课笔记,参考了鸟哥的私房菜和其他国内教材
Linux读书笔记;推荐书籍:《鸟哥的Linux私房菜》《Linux内核的设计与实现》 《深入理解Linux内核》《深入Linux内核架构》
阅读完"鸟哥的Linux私房菜"后的笔记
Linux读书笔记;推荐书籍:《鸟哥的Linux私房菜》《Linux内核的设计与实现》 《深入理解Linux内核》《深入Linux内核架构》
Linux命令行及bash相关的笔记坑挖好了, 开始填:)这是我的笔记梳理, 删掉旧版本, 重新梳理中.....doing当前进度: 20%基于系统: centos 6.5参考书目鸟哥Linux私房菜Linux与Unix Shell编程指南Linux Shell脚本攻略概要...
)、测试相关(软件测试的艺术、从菜鸟到测试架构师、软件测试技术大全、selenium,qtp,junit的一些相关资料和书)、linux看了一点(鸟哥的私房菜基础篇和网络篇)。总之很多东西是看完就忘,我是边看会在onenote记...
学习rhce6课程时自己做的笔记,内容来源于网络或鸟哥的私房菜,是自己重新组织的,再次感谢原作者
:最好的汇编入门书籍:王爽的汇编语言看完之后可看此书:适合 windows 下的调试进阶一 计算机组成原理:csapp,必读经典,建议英文版:必读经典,建议英文版二 操作系统2.0 系统使用《鸟哥的私房菜:基础学习篇》:...