博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell每日更新(7)
阅读量:6440 次
发布时间:2019-06-23

本文共 2362 字,大约阅读时间需要 7 分钟。

这里说明下最近一段时间一直没有更新的原因吧,也是自己偷懒的原因:上周的六级考试。

这里我会一直坚持写完shell的学习历程:

6月25号晚上9点

shell脚本编写的一些规则:

1,开头

程序必须以下面的行开始(必须方在文件的第一行):

#!/bin/sh
符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。
当编辑好脚本时,如果要执行该脚本,还必须使其可执行。
要使脚本可执行:
编译 chmod +x filename 这样才能用./filename 来运行也可以使用sh filename或者 bash filename。这里如果需要进行测试的话最好加上-x

[root@fsailing1 shell]# sh -x read.sh + echo 'Can you tell me what are you looking for?' Can you tell me what are you looking for? + read look chen + echo 'you are looking for chen'

2,注释

在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。

如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用及工作原理。

其实就是为了方便大家参考内容。

3,变量

在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写:

#!/bin/sh
#对变量赋值:
a="hello world"
# 现在打印变量a的内容:
echo "A is:"
echo $a
有时候变量名很容易与其他文字混淆,这里的表示方式有很多,比如:
num=2
echo "this is the $numnd"
这并不会打印出"this is the 2nd",而仅仅打印"this is the ",因为shell会去搜索变量numnd的值,但是这个变量时没有值的。可以使用花括号来告诉shell我们要打印的是num变量:
num=2
echo "this is the ${num}nd"
这将打印: this is the 2nd

[root@fsailing1 shell]# cat abc.sh #!/bin/bash # a simple shell script Example # a function function say_hello() { echo "Enter Your name:" read name echo "hello $name" } echo "Programer starts Here^^^^^" say_hello echo "Programme Ends."

4,就是环境变量

通常的做法就是export关键字处理过的变量作为环境变量。我们不对环境变量进行讨论,因为通常情况下仅仅在登录脚本中使用环境变量。

6月26号下午1点:

find使用说明:

Find path】 【option】【option

与时间有关的参数:-atime -ctime -mtime

-mtime n n表示数字,意思是在n天之前的“一天之内”被更改过的文件。

-mtime +n:在n天之前(不包含n天本身)被更改过的文件名。

-mtime -n:在n天之内(包含n天本身)被更改过的文件名。

EG:想找出系统上面24小时内有改动的文件:这里test是刚刚被修改的为了测试find

[root@fsailing1 shell]# find /root/shell -mtime 0 /root/shell /root/shell/test.txt [root@fsailing1 shell]#

-atime n 查找n天以前被访问过的所有文件。 

-ctime n 查找n天以前文件状态被修改过的所有文件。 

与用户、用户组相关的:-user -uid -gid -group

与文件类型、名称有关的:-type -name -size -perm

-type x 查找类型为 x 的文件,x 为下列字符之一:

b 块设备文件

c 字符设备文件

d 目录文件

p 命名管道(FIFO)

f 普通文件

l 符号链接文件(symbolic links)

s socket文件

其他的重要操作:-exec -print

-exec commandcommand是其他命令,-exec后面可再接其他的命令来处理查找到的结果。

[root@fsailing1 shell]# find /root/shell -mtime 0 -exec cat test.txt find:遗漏" -exec"遗漏 [root@fsailing1 shell]# find /root/shell -mtime 0 -exec cat {}\; find:遗漏" -exec"遗漏 [root@fsailing1 shell]# find /root/shell -mtime 0 -exec cat find:遗漏" -exec"遗漏 [root@fsailing1 shell]# find /root/shell -mtime 0 -exec cat {} \; cat: /root/shell: 是一个目录100 a 100 b -50 c -20 d -30 #test find -mtime######### [root@fsailing1 shell]#

转载地址:http://ghdwo.baihongyu.com/

你可能感兴趣的文章
如何用phpmyadmin导入大容量.sql文件,直接使用cmd命令进行导入
查看>>
BZOJ4133 : Answer的排队
查看>>
基于Centos搭建 Mono 开发环境
查看>>
算法题:福尔摩斯的约会
查看>>
Oralce sql (+) 补充
查看>>
hdu 2665 划分树
查看>>
laravel中的plicy授权方法:
查看>>
基于R进行相关性分析--转载
查看>>
常用 cdn
查看>>
tomcat8 管理页面403 Access Denied的解决方法
查看>>
怎样避免应用冷启动
查看>>
把vux中的@font-face为base64格式的字体信息解码成可用的字体文件
查看>>
vue sync
查看>>
CentOS6下OpenLDAP+PhpLdapAdmin基本安装及主从/主主高可用模式部署记录
查看>>
Wix 安装部署教程(十一) ---QuickWix
查看>>
Spring @Value注解问题
查看>>
P1886 滑动窗口
查看>>
实施vertex compression所遇到的各种问题和解决办法
查看>>
ubuntu 12.04 rails server 时候报错 execjs
查看>>
linux下文件压缩与解压操作
查看>>