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的基础知识及常用命令的主要内容,如果未能解决你的问题,请参考以下文章

shell编程基础

Linux简介及常用命令使用5--linux shell编程入门

shell中的变量及shell条件判断

shell编程--常用变量及表达式

嵌入式开发——常用shell编程知识点

linux常用的shell都有哪些