Linux_Shell_基础命令

在写文章之前,推荐一款linux下的工具,叫做cheat,能够帮助shell脚本的编写

第一题:

写作一个备份/etc目录的脚本,要求:将/etc目录下的所有文件cp到/var/backups目录下的以当天的日期命名的目录中例如(/var/backups/etc.20110101)。并且判断前一天的目录中的文件与当天的区别,如果无区别,则删除前一天的备份目录。


第二题:

每隔一小时判断系统中所有文件系统的容量,当剩余容量小于20%的时候发邮件(邮件目的地自定)给用户作为提醒。


明日出答案.

Shell特点:


小而精巧

做好一件事
尽快生成原型
可移植
纯文本存储
用软件发挥特长
用shell脚本增加系统可利用性,提高工作效率
避免用户界面功能太强大,利于组合
做每一个对象的过滤器




应用场景:
已有程序的简单包装
系统管理的脚本,系统启动,备份,系统安装


学习Shell:
不重复自己
找到系统shell来读
实践中的成长




#!作为解释器来使用,把后面的东西发送给指定的解释器来指定
命令:控制对象
-是选项:控制行为




ctrl+左箭头
ctrl+右箭头
ctrl+U
ctrl+k
!
ctrl+r




基础命令:
data命令
cal
cat :对某文件内容进行删除的时候使用
    cat -n:打印行数
tail    -n:打印一个文件的后指定行
head -n:前指定行


more:读取长文件时使用,不能往回走
   more 文件名 |more
less:文件可以上下左右走


cut:把某一行
grep:
   grep  “你的字符串”  文件   -i 忽略大小写


 wc:行,单词,字母,文件名
 -l,-c,-w


 sort:排序,相同的
   -t:(以冒号做分割符)
   -k2(以第二个字段做排序字段)


  uniq:去重复
      -c  统计重复的行数右多少


 diff:用于比较两个文件是否相同,显示之间的差别


 pattch:把差别应用到新的文件上,打补丁


2>    :表示标准错误输出
1>   :表示标准正确输出


 第二周笔记:
 调试脚本技巧
 bash -x  script.sh


 工具哲学:
      标准输入输出:
         STDIN    0               >
         STDOUT     1          2>
         STDERR      2          2>&1
      重定向到文件:
         >          重定向标准输出到文件中
         2>       重定向错误输出到文件中
         &>      所有输出重定向到文件中
         2>&1   将错误输出定向到标准输出中
         exec 在脚本内部 打开或者替换文件描述符
 注:默认覆盖    >>追加


 >file     直接清空一个文件
 2>/deb/null   丢弃
 cat  /dev/urandom  >file     将file用随机数据覆盖


 ps aux: 打印所有指令进程
/dev/pts/9 :虚拟终端




管道    |
                       未命名管道     |
                        命令管道      mkfifo  1     


三向管道:tee
从文件重定向到输入:
tr ‘A-Z’ ‘a-z’ <.bashrc    相当于cat  .bashrc | tr 'A-Z' 'a-z'






<<叫做:here document
passwd<<EOF       #在脚本里面有些命令需要从键盘写进来
aaa
bbb
ccc
EOF


<<<是<<的一个特殊情况


命令的分组:
;值前面命令运行完了,继续运行下个命令


crontab:周期性计划命令
field         allowed   values
------          -----------------------
minute     0-59
hour         0-23
day of month    1-31
month       1-12
day of week   0-7




基础命令:
tac 和rev:是正反反面的命令,一个是行,一个是列
join和paste
paste:两个相同行的文件合并起来
join: 
作用,文件的分隔处理




seq:产生序列
yes:有些命令不断提示yes/no,这个
no  true  echo$?   在判断中使用


touch:修改文件修改时间,文件不存在会产生新文件
在脚本中,通过比较文件修改日期来比较文件是否更新


watch:每隔几秒干件事
watch   ls -l
watch -n    按秒来更新
df:挂在文件系统
du:列出来目录文件占多少空间

mail   邮件系统


两个题:明天再写

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值