杂乱无章的Linux—shell(一)

Liunx复习(一)

管道与重定向:
1、重定向输出(入):

$ 1s -1 > lsoutput. txt

将ls的输入结果全部保存到 lsoutput. txt文件中,但要注意,如果已经存在这个文件,那么将会把原文件覆盖,如果不想覆盖掉,可以用$ 1s -1 >> lsoutput. txt将输出结果附在原文件后面。

$ kill -HUP 1234 >killout .txt 2>killerr . txt

将标准错误输出保存在killerr . txt文件,也可以用$ kill -1 1234 >killouterr. txt 2>&1将标准输出重定向到文件killouterr.txt,然后将标准错误输出重定向到与标准输出相同的地方。

$ kill -1 1234 > /dev/null 2>&1

“/dev/null”liunx通用回收站。
这个可以重定向输出,那么当然就可以重定向输入,用法相同。
2、管道 :
你可以用管道操作符‘|’来连接进程。Linux 与MS_DOS不同,在Linux下通过管道连接的进程可以同时运行,并且随着数据流在它们之间的传递可以自动地进行协调。举一个简单的例子,你可以使用sort命令对ps命令的输出进行排序。$ ps | sort > pssort.out。管道允许连接的进程数目是没有限制的。
3、通配扩展符:
shell还提供了通配符扩展(通常称为globbing)。你一定已注意到可以用通配符*来匹配一个字符串。但是你可能不知道可以用通配符?来匹配单个字符,而[set]允许匹配方括号中任意一个单个字符,[^set ]对方括号中的内容取反,即匹配任何没有出现在给出的字符集中的字符。扩展的花括号{} (只能用在部分shell中,其中包括bash)允许你将任意的字符串组放在一个集合中,以供shell进行扩展。
4、shell变量:
在shell中,你可以通过在变量名前加一个$符号来访问它的内容。无论何时你想要获取变量内容,你都必须在它前面加-一个s字符。当你为变量赋值时,你只需要使用变量名,该变量会根据需要被自动创建。一种检查变量内容的简单方式就是在变量名前加一个s符号,再用echo命令将它的内容输出到终端上。
在这里插入图片描述

也可以通过read改变变量的值,

we@we-PC:~/Desktop$ echo $sa
hello
we@we-PC:~/Desktop$ read sa
hello liwei !!!
we@we-PC:~/Desktop$ echo $sa
hello liwei !!!

variable脚本
在这里插入图片描述

we@we-PC:~/Desktop$ set foo bar tfd
we@we-PC:~/Desktop$ echo "$@"
foo bar tfd
we@we-PC:~/Desktop$ echo "$*"
foo bar tfd
we@we-PC:~/Desktop$ IFS=q
we@we-PC:~/Desktop$ echo "$*"
fooqbarqtfd

在这里插入图片描述
5、shell条件:
test或[命令:
在实际工作中,大多数脚本程序都会广泛使用shell的布尔判断命令[或test。在- - 些系统上,这两个命令的作用是一样的,只是为了增强可读性,当使用[命令时,我们还使用符号]来结尾。把[符号当作一条命令多少有 点奇怪,但它在代码中确实会使命令的语法看起来更简单、更明确、更像其他的程序设计语言。
test命令可以使用的条件类型可以归为3类:字符串比较、算术比较和与文件有关的条件测试
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6、shell控制结构:
(1)if:
在这里插入图片描述
(2)elif语句:类似于C语言中else+if用法。
(3)for语句:
在这里插入图片描述
(4)while结构:
在这里插入图片描述
(5)until语句:直到什么什么才什么什么。
在这里插入图片描述
(6)case语句:
在这里插入图片描述
请注意,每个模式行都以双分号(;;)结尾。因为你可以在前后模式之间放置多条语句,所以需要使用一个双分号来标记前一个语句的结束和后一个模式的开始。
(7)”&&“、”||“
”{}“中的作为语句块是一个整体。
7、函数:
vv
和C语言的函数差不多。
8、命令:

  1. break命令:跳出一层循环。
  2. :命令:空命令,相当于true。
  3. continue命令:类似于C语言中的continue。
  4. .命令:在当前shell中执行命令。
  5. echo命令:‘ptintf’的同义命令。一般用echo -n去掉换行符。
  6. eval命令:像一个额外的$符,它给出一个变量的值的值。
  7. exit n命令:在这里插入图片描述
  8. export命令:将它作为参数的变量导到子shell中。
  9. exec命令:在这里插入图片描述
  10. expr命令: 在这里插入图片描述
    在这里插入图片描述
  11. printf命令:
    在这里插入图片描述
  12. return命令:
  13. set命令:在这里插入图片描述
  14. shift命令:在这里插入图片描述
  15. trap命令:用于指定接收信号后要采取的行动。在这里插入图片描述
  16. upset命令:用于在环境中删除变量或函数。这个命令不能删除shell本身的只读变量。
  17. 非shell但有用的命令:
    1、find命令:在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
从根目录查找名为test的文件,并且输出该文件的完整路径。
在这里插入图片描述
2、grep(通用正则表达式解析器):在这里插入图片描述
在这里插入图片描述
3、正则表达式:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值