格式化日期yyyy-mm-dd hh:mm:ss显示

date "+%Y-%m-%d %H:%M:%S"

将内容写入到新文件

echo "hello">a.txt

将内容追加到文件末尾(默认换行)

echo "shell">>a.txt

赋予指定的用户可以使用root权限(使用root登录):

  vi /etc/sudoers    ##如果root没有权限修改该文件则授权写和执行权限:chmod u+w /etc/sudoers和chmod u+x /etc/sudoers

  在## Allow root to run any commands anywhere这行内容下添加 user ALL=(ALL) ALL

允许普通用户关机

  在普通用户登录下执行:sudo chmod u+s /sbin/shutdown    ##需要该普通用户拥有执行root命令的权限

允许普通用户修改系统时间

  在普通用户登录下执行:sudo chmod u+s /bin/date    ##需要该普通用户拥有执行root命令的权限

带参数if~else if else的shell关机或重启脚本

  #!/bin/sh
  flag=$1
  if [[ $flag = "s" ]]; then
      echo "##################################     Shutdown lefu Claster             ####################################"
      for i in lf7 lf6 lf5 lf3 lf1; do echo $i; ssh $i "source /etc/profile;shutdown -h now"; done
  elif [[ $flag = "r" ]]; then
      echo "##################################     Reboot lefu Claster               ####################################"
      for i in lf7 lf6 lf5 lf3 lf1; do echo $i; ssh $i "source /etc/profile;shutdown -r now"; done
  else
      echo -e "\nUsage : s(shutdown)  or  r(reboot)\n"
  fi

为当前用户创建定时任务

  crontab -e  编辑该用户的计时器设置。

  crontab-l  列出该用户的计时器设置。

  crontab-r  删除该用户的计时器设置。

  *  *  *  *  *  command
  分  时  日  月  周  命令
  第1列表示分钟1~59 每分钟用*或者 */1表示
  第2列表示小时1~23(0表示0点)
  第3列表示日期1~31
  第4列表示月份1~12
  第5列标识号星期0~6(0表示星期天)
  第6列要运行的命令

  查看定时任务服务是否已经启动:service crond status    ##如果已经运行则输出:crond (pid  2538) is running...

  查看定时任务服务是否开机启动:chkconfig --list | grep crond    ##如果是开机启动则输出:crond              0:off    1:off    2:on    3:on    4:on    5:on    6:off

  为当前用户添加定时任务:   

    crontab -e
    30 23 * * * echo `date`>>/home/lefuBigDataDev/lefu/testdata/words    ##每天的23:30:01秒将系统时间写入到一个文件中
    10 17 * * * echo `date`>>/home/lefuBigDataDev/lefu/testdata/test1    ##每天的17:10:01秒将系统时间写入到一个文件中

    shift+zz

  查看当前用户的定时任务:

    crontab -l

集群时间同步(适用于无法连接外网的集群)

  假设有node1,node3,node5,node6,node7五台机器,除node1外其他四台机器都从node1获取时间如下

  在node1机器上创建syncClusterTime脚本

    #!/bin/sh
    current=`date +%H:%M:%S`
    for i in node3 node5 node6 node7; do echo $i; ssh $i "source /etc/profile;date -s $current"; done

  该脚本创建完则添加到定时任务(每天早晨5:10分同步时间):

    crontab -e

    10 5 * * * syncClusterTime    ##每天早晨的5:10:01秒同步集群时间

    shift+zz

  以上步骤完成即可

设置CentOS防火墙允许外部用户访问特定端口

  允许外网机器访问hadoop集群服务器的hdfs web页面,如下

    vi /etc/sysconfig/iptables    ##编辑防火墙配置文件

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 50070 -j ACCEPT    ##对外部开放50070端口

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 1000:30000 -j ACCEPT     ##对外部开放1000~30000范围的端口

    shift+zz    ##保存退出

    service iptables restart    ##刷新使防火墙配置生效

    shutdown -r now    ##重启服务器

  这时候在外部电脑上用浏览器打开http://IP:50070端口即可访问

解压和压缩gzip文件

  解压:tar -zxvf lefuyun001.tar.gz -C lefuyun

  压缩:tar -czf lefuyun001.tar.gz lefuyun/    

    

开机不启动图形界面:

  vi /etc/inittab

    id:3:initdefault:

Shell脚本常用命令简介的更多相关文章

  1. Shell 脚本常用命令

    Shell脚本是Linux开发工作中常用的工具,但是我一直没有找到一个适合自己的简明扼要的HandBook.在工作过程中整理了一下,贴在这里已备查看. 1           Shell中的特殊符号 ...

  2. shell脚本常用命令汇总

    一.shell脚本概述和入门 (1)shell脚本是一个命令行解释器,它接收应用程序/用户命令,然后调用操作系统内核 (2)shell脚本的常用执行方式: 第一种:采用bash或sh+脚本的相对路径或 ...

  3. 【原创】Linux基础之Shell脚本常用命令

    #!/bin/sh 1 取脚本参数 $# 参数个数$0 当前脚本名$1 第1个参数$n 第n个参数$* 所有参数$@ 所有参数$? 上个命令的状态$$ 当前pid 2 日期 $ dateWed Mar ...

  4. linux常用命令(shell脚本常用命令)(grep、cut、sort、uniq、seq、tr、basename、dirname)

    本章命令: 1 2 3 4 5 6 grep cut sort uniq seq tr 1.grep 作用:过滤文本内容 选项 描述 -E :--extended--regexp 模式是扩展正则表达式 ...

  5. Shell脚本常用命令整理

    该笔记主要整理了一些常见的脚本操作命令,大致如下(持续补充中): 1. while.for循环 1. while.for循环 #!/bin/bash # while循环 v_start_date=${ ...

  6. shell脚本常用参数

    shell 脚本 常用参数 #!/bin/sh # 在脚本第一行脚本头 # sh为当前系统默认shell,可指定为bash等shell sh -x # 执行过程 sh -n # 检查语法 (a=bbk ...

  7. linux 执行远程linux上的shell脚本或者命令以及scp 上传文件到ftp--免密码登陆

    场景:在linux A 上执行Linux B上的shell脚本和命令 步骤1.设置ssh免登陆 1.SSH无密码登录 # 本地服务器执行(A机器):生成密钥对 ssh-keygen -t dsa -P ...

  8. shell脚本常用技巧

    shell脚本常用技巧 1.获取随机字符串或数字 ~]#echo $RANDOM | md5sum | cut -c 1-6 ~]#openssl rand -base64 4 | cut -c 1- ...

  9. shell 脚本控制命令的执行顺序

    &&,||,(),{},& 五个符号的运用shell脚本执行命令的时候,有时候会依赖于前一个命令是否执行成功.而&&和||就是用来判断前一个命令执行效果的. 也 ...

随机推荐

  1. 那些年,学swift踩过的坑

    最近在学swift,本以为多是语法与oc不同,而且都是使用相同的cocoa框架,相同的API,但是或多或少还是有些坑在里,为了避免以后再踩,在这里记下了,以后发现新的坑,也会慢慢在这里加上 [TOC] ...

  2. Android实现真正的ViewPager【平滑过渡】+【循环滚动】!!!顺带还有【末页跳转】。

    实现真正的ViewPager[平滑过渡]+[循环滚动]!!!顺带还有[末页跳转]. 首先呢, 我要对网上常见的3种ViewPager的循环滚动方法做个概述.急需看真正实现方法的同志请选择性忽略下面这一 ...

  3. mvc和webapi同一解决方案调试办法

    今天在研究WebApi的时候,用mvc端直接请求webapi接口,发现怎么也请求不了,自己搞了半天,猜测可能是webapi没有完全启动吧,解决办法是将解决方案属性改为多启动项目,具体方法如下: 直接运 ...

  4. WCF代理是怎么工作的?用代码说话

    1.WCF生成代理的方式 2.WCF代理原理 第一个问题引用 一篇Robin's博文[WCF生成客户端对象方式解析] 讲述了创建客户端服务对象的方法 1.代理构造法 a.开启服务后,添加服务引用 b. ...

  5. linux的exec命令

    linux的exec命令可以多进程执行,如果在浏览器访问使用http协议,会存在内存溢出和执行时间问题.

  6. 数据库WMI 0x80041010 如何解决?

    在你打开 SQL Server Configuration Manager遇到以下错误的时候,请参考下面提出的解决办法 solution: 打开cmd 命令窗口执行mofcomp.exe " ...

  7. 智能SQL优化工具--SQL Optimizer for SQL Server(帮助提升数据库应用程序性能,最大程度地自动优化你的SQL语句 )

    SQL Optimizer for SQL Server 帮助提升数据库应用程序性能,最大程度地自动优化你的SQL语句 SQL Optimizer for SQL Server 让 SQL Serve ...

  8. 装饰(Decorator)模式

    1.装饰(Decorator)模式    动态给一个对象添加一些额外的职责.就增加功能来说,装饰模式比生成子类更为灵活.Component是定义一个对象接口.可以给这些对象动态地添加职责.Concre ...

  9. zepto源码研究 - zepto.js (zepto.init)

    简要:当我们用$()时,便会直接调用zepto.init 生成zepto对象,那zepto.init是如何根据不同类型的参数来生产指定对象呢? zepto.init = function(select ...

  10. 用css3实现闪烁效果

    1. css3 @keyframes 参考 css3 @keyframes规则. 特别注意浏览器支持: Internet Explorer 10, Firefox, 和 Opera 支持 @keyfr ...