shell文件操作(二)

!条件取反

action:

-print 默认,写到屏幕
-fprint file 与print类似,结果写到文件中
-ls 以长格式显示搜索结果
-fls file 同ls,将结果写入文件
-delete 将搜索到的文件删除
-exec command {} \; 查找并执行命令,{}表示搜索到的文件名
-ok command {} \; 查找并执行命令,需要用户确认
\; 表示执行结束

文件比较

comm [option] ... file1 file2
-1 不显示第一个文件中独有的文本行
-2 不显示第二个文件中独有的文本行
-3 不显示两者共有的文本行
--check-order 检测是否已排序
--nocheck-order 不检查文件是否已排序

diff

diff [option] ... file1 file2
-c 包含上下文语境的格式
-u 以统一格式显示
-y 并列方式

重定向:

> 覆盖
>> 追加
&> 代表标准输出和标准错误
> file 清空file内容或者是新建file
:> file同上  :表示一个空输出
{ date; who; } > file 将标准输出和错误都输出到file

< << 输入重定向
cat << eof eof是分隔符,生成当前文档
1&>2 标准输出被重定向到标准错误,1是2文件描述符的副本
2&>1 标准错误被重定向到标准输出,2是1 的副本

exec分配文件描述符

exec 2> file 将命令的标准错误重定向到文件
exec n< file 以只读方式打开文件,使用描述符n(n>3)
exec n<> file 以读写方式打开file,使用描述符n(n>3)
exec n>&- 关闭文件描述符n
exec n>&m 复制文件描述符m到n

bash中常用的内部命令:

.      读取shell脚本,在当前shell中执行
alias  设置命令别名
bg     将任务放于后台执行
cd     改变当前工作目录
echo   打印当前文本
eval   将参数作为shell命令执行
exec   以特定程序取代shell或者改变当前shell的输出输入
exit   退出shell
export 将变量声明为环境变量
fc     与命令历史一起运行
fg     将作业置于前台运行
getopts  处理命令行选项
history  显示命令历史
jobs     显示后台运行的作业
kill     向进程发送信号
logout   从shell中注销
pwd      显示当前的工作目录
set      设置当前的环境变量
shift    变换命令行参数

保留字

! 逻辑非
: 空命令
breakcasecontinuedeclaredodoneelifelseesacforlet 执行数学运算
local 定义局部变量
read 从标准输入读取一行
returnthen(if)、until、wait(等待后台作业返回)、while

pidof 查找父进程id
$SHLVL 显示当前shell的层次

当所要执行的命令都放到一个()中执行时,会使shell在同一个子shell中执行
子shell可以访问父shell中的值

command& 将命令放到后台执行
shell子进程可以访问到父进程的变量,父进程无法访问子进程的变量
可以通过临时文件去传输

常用的信号和含义:

SIGHUP    1   终端挂起或者进程终止
SIGINT    2   键盘中断
SIGQUIT   3   键盘的退出键被按下
SIGABRT   6abort发出的退出指令
SIGKILL   9   立即结束进程
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值