Shell编程——shell的基础知识及常用命令
Posted hxwang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell编程——shell的基础知识及常用命令相关的知识,希望对你有一定的参考价值。
shell的基础知识
一、bash有以下特点:
1.记录命令历史
2.指令和文件名补全
3.别名
alias rm=‘rm -i‘
4.通配符
* 0个或多个字符
??匹配一个字符
5 输入输出重定向
输入重定向 <</p>
输出重定向 >?
6.管道?符 |
二、变量
环境变量PATH:它是Shell预设的一个变量
echo $PATH?
echo $PWD
echo $HOME
系统预设的变量:使用env命令即可全部列出系统预设的环境变量了?,不过登录的用户不同这些环境变量的值也不一样
PATH:决定了shell到哪些目录中寻找命令或程序
HOME当前用户主目录
HISTSIZE历史记录数据
LOGNAME当前登录名
HOSTNAME主机的名称
PWD当前目录?
env命令显示的只是环境变量,系统预设的变量还有很多,可以使用set命令都显示出来
set命令不仅可以显示系统预设的变量,还可以显示用户自定义的变量
用户自定义变量
myname=‘sassy xu‘? 变量内容有特殊字符如空格时,需要加上单引号
myname="sassy‘s‘"? 变量内容本身有单引号时,需要加上双引号
myname=`pwd`? 变量内容需要用到其他命令运行结果,则使用反引号
myname="$LOGNAME"sassy 变量内容累加其他变量的内容,需要加双引号
系统环境变量及个人环境变量的配置文件?
/etc/profile:存放系统环境变量的文件,比如PATH,LOGNAME,HOSTNAME等
/etc/bashrc:系统文件,预设PS1,root身份登录进去linux系统PS1就是 [[email protected] ~]# ?
用户目录下的几个隐藏文件
.bash_profile
.bashrc
.bash_history
.bash_logout
三、常用命令?
sort命令 用来排序?
(1)sort将文件的每一行作为一个单位,相互比较,比较原则是首字符向后,依次按照ASCII码进行比较,最后将他们按升序输出。
cat seq.txt
banana
apple
pear
orange
sort seq.txt?
apple
banana
orange
pear
?(2) sort -u 去除重复项
(3)sort -r 倒序排列
cat number.txt
1
3
5
2
4
sort -r number.txt
5
4
3
2
1
(4) sort -n 选项 按照数值大小排序
(5)?? sort的-t选项和-k选项
如果有一个文件内容是这样的, cat facebook.txt
banana:30:5.5
?apple:10:2.5
?pear:90:2.3
?orange:20:3.4?
第一列表示水果类型,第二列表示水果数量、第三列表示单价
以水果数量,也就是第二列排序,
sort -t: -k 2? -n facebook.txt
apple:10:2.5
?orange:20:3.4
?banana:30:5.5
?pear:90:2.3?
grep命令?
grep是针对文本的行操作的?
?grep -n ‘关键词‘ filename 过滤出带有关键词的行并输出行号
grep -vn ‘关键词‘ filename 过滤出不带有关键词的行并输出行号
grep [0-9] text.txt 过滤出所有包含数字的行
在正则表达式中 [0-9a-zA-Z] 过滤出数字以及大小写字母,
[^字符] 表示除[]内的字符之外的字符?
^表示行的开始,$表示行的结束 ^r h$
grep -i ‘关键词‘ filename 忽略大小写?
grep -c ‘关键词‘ filename 统计找到关键词的次数?
grep --color=auto 将找到的关键词加上颜色显示?
以上是关于Shell编程——shell的基础知识及常用命令的主要内容,如果未能解决你的问题,请参考以下文章