关于shell-----1

read 是不用输入enter来确定的一个函数
使用方式:只要满足某些条件就可以直接执行了
例如当字符数满足2个时执行:
read -n 2 var
无回显的方式读取:
read -s var
  显示提示信息:
read -p “Enter input: ” var
   在特定时间内读取输入:
read -t 时间 var
    用特定的定界符作为输入行的结束
read -d "符号" var



linux shell 建立一个秒表

#!/bin/bash
#name:变量
echo -n Count:
tput sc
count=1;
while :;
do
if [ $count -gt 0 ];
then
let count++;
sleep 1;
tput rc
tput ed
echo -n $count;
else exit 0;
fi
done

-eq :=
-ne :!=
-gt  :>
-lt   :<
ge: >=
le : <=
文件系统相关测试:
    [ -f $file_var ] :如果给定的变量包含正常的文件路径或者文件名,则返回真
                    [ -x $var ] : 如果给定的变量包含的文件可执行,则返回真;
                    [ -d $var ] : 如果给定的变量包含的是目录,则返回真
                    [ -e $var ] : 如果给定的变量包含的文件存在,则返回真
                    [ -c $var ] : 如果给定的变量包含的是一个字符设备文件的路径,则返回真
                    [ -b $var ] : 如果给定的变量包含的是一个块设备文件的路径,则返回真
                    [ -w $var ] : 如果给定的变量包含的文件可写,则返回真
                    [ -r $var ] : 如果给定的变量包含的可读,则返回真
                    [ -L $var ] : 如果给定的变量包含的是一个符号链接,则返回真

注意事项:注意在=前后各有一个空格,无等于号代表的是赋值,有空格代表比较
逻辑运算符:&&   代表与
||   代表或

对于判断可以使用test来代替[]的使用
  例如:if [ $var -eq 0 ]; then echo "Ture" ;fi
也可以写成:
   if test $var -eq 0 ; then echo "Ture" ; fi


cat 的高级用法
拼接输入
例如: echo "Text through stdin " | cat - flie.txt
上面代码中,-被作为stdin文本的文件名。
摆脱多余的空白行
例如:cat -s filename             #压缩空白行
     cat -tr filename #删除所有的空白行
将制表符指示迟来
  例如:cat -T filename
添加行号
   例如: cat -n filename
跳过空白行并添加行号
cat -bn filename

find的用法: find .代表指定当前目录,..代表指定父目录,这是unix的约定用法

根据名字来寻炸文件的位置,例如:  find  位置  -name filename
寻找多个同类型文件 例如:find 位置 -name "*.txt"2
寻找多个不同类型的文件 例如:find 位置  \ ( -name "*.txt" -o -name "*.pdf" \) 
上面的命令\(以及(\用于将-name  "*.txt" -o -name "*.pdf" 视为一个整体
根据通配符来寻找文件路径 例如:find 位置 -path  "*/slynux/*" 
上面的命令可以匹配目录文件等和slynux相同的文件
寻找邮件的地址 例如:find 位置 -name "[ a-z 0-9 ]+@ [ a-z 0-9 ]+.[ a-z 0-9 ]+"
上面的命令符号+指明在它之前的字符类中的字符可以出现一次或多次

指定寻找的深度来减少或者增加寻找的深度
find 位置 maxdepth 1 -name "f*"
上面的命令指的是寻找在某位置寻找最大深度为1 名字为f*的所有文件
find 位置 mindepth 1 -name "f*"
上面的命令指的是寻找在某位置寻找最小深度为1 名字为f*的所有文件

type 可以对文件搜索进行过滤,例如只列出所以的目录
find 位置 -type d

文件类型 类型参数
普通文件 f
符号链接 l
目录 d
字符设备 c
块设备 b
套接字 s
FIFO p
通过时间来寻找文件例如  : find 位置 -type f -atime -7
     -mtime 7
         -ctime +7
-atime 访问时间 -7 :7天以前
-mtime 修改时间 7    :第7天
-ctime  变化时间 +7  : 超过7天

通过文件大小来寻找 例如 : find 位置 -type f -size +2k +2k指的是大于2k的文件

如果要删除寻找出来的文件 直接在命令后面加上 -delete就可以了
通过权限来寻找文件 例如 find 位置 -type f -perm 644        644代表权限为644的文件
通过用户来寻找文件 例如 find 位置 -type f -usee root root代表root用户

批处理文件属性
find 位置 -type f -user root -exec chown slynux { } \;
上面命令  { } 是一个与-exec 选项搭配使用的特殊字符串,杜宇每一个字符串
都会被替换成相应的文件名,同时上面的命令为寻找用户名为root的文件并将
它修改为slynux的用户

注意:-exec无法直接使用多个命令,但是我们可以把命令写在一个shell脚本
   中,然后在-exec中使用这个脚本 -exec ./commands.sh { } \;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值