格式化日期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. Thinkpad Edge E440 Ubuntu14.04 无线网卡驱动 解决

    http://ubuntuforums.org/showthread.php?t=2190347 正文: Thinkpad Edge E440 安装 Ubuntu12.04 后 无法使用无线网卡, 须 ...

  2. java中说明书/开发文档如何编写?

    由于在java开发时我们得到的或者给别人的文件一般都是class文件,不会给出源文件,故编写一个简洁易懂的说明书是必须的. ps: @param int[] arr 会有警告,可以删掉 int []. ...

  3. Counting Lines, Words, and Characters with wc

      Counting Lines, Words, and Characters with wc   When working with text files, you sometimes get a ...

  4. linux下常用基本命令操作

    #fdisk -l 查看硬盘信息 cat /proc/cpuinfo 查看CPU信息 free -m 查看内存信息 ethtool eth0 查看网卡信息 df -h 查看硬盘各分区可用空间大小 ca ...

  5. Centos6 安装vnc

    Centos6 安装vnc 1. 安装 使用yum方式安装 yum install tigervnc-server tigervnc #启动 vncserver #重启动 /etc/init.d/vn ...

  6. sessionstorage,localstorage和cookie之间的区别

    sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可以方便的在web请求之间保存数据.有了本地数据,就可以避免数据在浏览器和服务器间不必 ...

  7. AppDomain.CurrentDomain.GetAssemblies()

    AppDomain.CurrentDomain.GetAssemblies() ,获取已加载到此应用程序域的执行上下文中的程序集 解释地址 从微软的解释也可以得知,这个方法只能获取已经加载到此应用程序 ...

  8. SQL Server 2005、SQL Server 2008版本比较

    SQL Server 2005的版本有SQL Server 2005企业版(Enterprise).SQL Server 2005标准版(Standard) 和SQL Server 2005工作组版( ...

  9. 华为S5300交换机配置基于VLAN的本地端口镜像

    配置思路 1.  将Ethernet0/0/20接口配置为观察端口(监控端口) 2.  将VLAN 1.11.12.13.14配置为镜像VLAN 配置步骤 1.  配置观察端口 <Switch& ...

  10. mahout学习-1

    一. 安装软件 需要安装如下文件: java, Eclipse, Maven,Hadoop,mahout 二. 推荐系统简介 每天,我们都会对一些事物表达自己的看法,喜欢,或不喜欢,或不在乎.这些都在 ...