linux命令格式和常用命令

Linxu命令使用格式

~]#COMMAND OPTIONS ARGUMENTS

  • CMMMAND:发起一命令:请求内核将某个二进制程序运行为一个进程;
  • OPTIONS:指定命令的运行特性;

短选项:-C, 例如-l, -d

注意:有些命令的选项没有-;

如果同一命令同时使用多个短选项,多数可合并:-l -d = -ld

长选项:–word, 例如–help, –human-readable

注意:长选项不能合并;

  • ARGUMENTS:命令的作用对象;命令对什么生效;

注意:不同的命令的参数;有些命令可同时带多个参数,多个之间以空白字符分隔;

例如:ls -ld /var /etc

linux常用命令

ifconfig

ifconfig被用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。

语法

    ifconfig (参数)  

实例

  • ifconfig -a :显示所有网卡配置
    [root@localhost ~]# ifconfig -a
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.1.27  netmask 255.255.255.0  broadcast 192.168.1.255
            inet6 fe80::954a:d872:f506:678b  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:52:81:1a  txqueuelen 1000  (Ethernet)
            RX packets 4813  bytes 543783 (531.0 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 2712  bytes 589816 (575.9 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1  (Local Loopback)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
  • ifconfig -s 显示在要摘要信息
    [root@localhost ~]# ifconfig -s
    Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
    ens33     1500     4819      0      0 0          2715      0      0      0 BMRU
    lo       65536        0      0      0 0             0      0      0      0 LRU
    
  • ifconfig ens33 192.168.1.27 netmask 255.255.255.0 broadcast 192.168.1.255 设置网络参数
    [root@localhost ~]# ifconfig ens33 192.168.1.27 netmask 255.255.255.0 broadcast 192.168.1.255
    [root@localhost ~]# ifconfig
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.1.27  netmask 255.255.255.0  broadcast 192.168.1.255
            inet6 fe80::954a:d872:f506:678b  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:52:81:1a  txqueuelen 1000  (Ethernet)
            RX packets 5442  bytes 614542 (600.1 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 3077  bytes 649542 (634.3 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1  (Local Loopback)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    

echo

echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。

语法

    echo(选项)(参数)

选项

    -e:激活转义字符。

使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

  • \a 发出警告声;
  • \b 删除前一个字符;
  • \c 最后不加上换行符号;
  • \f 换行但光标仍旧停留在原来的位置;
  • \n 换行且光标移至行首;
  • \r 光标移至行首,但不换行;
  • \t 插入tab;
  • \v 与\f相同;
  • \ 插入\字符;
  • \nnn 插入nnn(八进制)所代表的ASCII字符;

实例

  • echo “hello world” 显示普通字符串
    [root@localhost ~]# echo “hello world”
    “hello world”
    
  • echo -n “hello world” :-n 不换行
    [root@localhost ~]# echo -n “hello world”
    “hello world”[root@localhost ~]# 
    
  • echo -e “hello \nworld” : \n 换行
    [root@localhost ~]# echo  -e "hello \nworld"
    hello 
    world
    
  • echo -e “hello \tworld” :\t 水平制表符
    [root@localhost ~]# echo  -e "hello \tworld"
    hello   world
    
  • echo -e “hello \bworld” \b 退格
    [root@localhost ~]# echo  -e "hello \bworld"
    helloworld
    

tty

tty命令用于显示终端机连接标准输入设备的文件名称。

语法

    tty(选项)

选项

  • -s或–silent或–quiet 不显示任何信息,只回传状态代码。
  • –help 在线帮助。
  • –version 显示版本信息。

实例

  • 显示当前终端
    [root@localhost ~]# tty
    /dev/pts/2
    

startx

startx命令用来启动X Window,实际上启动X Window的程序为xinit。

语法

    startx(参数)

参数

  • 客户端及选项:X客户端及选项;
  • 服务器及选项:X服务器及选项。

实例

  • startx:启动图形界面
    startx
    
  • startx -w:强行启动图像界面
    startx -w
    

export

export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量

语法

    export [-fnp][变量名称]=[变量设置值]

参数

  • -f  代表[变量名称]中为函数名称。
  • -n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
  • -p  列出所有的shell赋予程序的环境变量。

实例

  • export -p :列出当前所有的环境变量
    [root@localhost ~]#  export -p
    declare -x HISTCONTROL="ignoredups"
    declare -x HISTSIZE="1000"
    declare -x HOME="/root"
    declare -x HOSTNAME="localhost.localdomain"
    declare -x LANG="en_US.UTF-8"
    declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
    declare -x LOGNAME="root"
    declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:"
    declare -x MAIL="/var/spool/mail/root"
    declare -x OLDPWD
    declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
    declare -x PWD="/root"
    declare -x SELINUX_LEVEL_REQUESTED=""
    declare -x SELINUX_ROLE_REQUESTED=""
    declare -x SELINUX_USE_CURRENT_RANGE=""
    declare -x SHELL="/bin/bash"
    declare -x SHLVL="1"
    declare -x SSH_CLIENT="192.168.1.48 51409 22"
    declare -x SSH_CONNECTION="192.168.1.48 51409 192.168.1.27 22"
    declare -x SSH_TTY="/dev/pts/2"
    declare -x TERM="vt100"
    declare -x USER="root"
    declare -x XDG_RUNTIME_DIR="/run/user/0"
    declare -x XDG_SESSION_ID="12"
    
  • export MYENV=18 :自定义变量
    [root@localhost ~]# export MYENV=18
    [root@localhost ~]# echo $MYENV
    18
    [root@localhost ~]# export -p
    declare -x HISTCONTROL="ignoredups"
    declare -x HISTSIZE="1000"
    declare -x HOME="/root"
    declare -x HOSTNAME="localhost.localdomain"
    declare -x LANG="en_US.UTF-8"
    declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
    declare -x LOGNAME="root"
    declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:"
    declare -x MAIL="/var/spool/mail/root"
    declare -x MYENV="18"
    declare -x OLDPWD
    declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
    declare -x PWD="/root"
    declare -x SELINUX_LEVEL_REQUESTED=""
    declare -x SELINUX_ROLE_REQUESTED=""
    declare -x SELINUX_USE_CURRENT_RANGE=""
    declare -x SHELL="/bin/bash"
    declare -x SHLVL="1"
    declare -x SSH_CLIENT="192.168.1.48 51409 22"
    declare -x SSH_CONNECTION="192.168.1.48 51409 192.168.1.27 22"
    declare -x SSH_TTY="/dev/pts/2"
    declare -x TERM="vt100"
    declare -x USER="root"
    declare -x XDG_RUNTIME_DIR="/run/user/0"
    declare -x XDG_SESSION_ID="12"
    

pwd

pwd命令用于显示工作目录。 执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称。

语法

    pwd(选项)

参数

  • -L:–logical,显示当前的路径,有连接文件时,直接显示连接文件的路径,(不加参数时默认此方式)
  • -p:–physical,显示当前的路径,有连接文件时,不使用连接路径,直接显示连接文件所指向的文件

实例

    [root@localhost ~]# cd /etc/init.d
    [root@localhost init.d]# pwd
    /etc/init.d
    [root@localhost init.d]# pwd -P
    /etc/rc.d/init.d
    [root@localhost init.d]# pwd -L
    /etc/init.d
    [root@localhost init.d]# 

history

history命令用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。
系统默认保留1000条。

语法

    history(选项)(参数)

选项

  • -c:清空当前历史命令;
  • -a:将历史命令缓冲区中命令写入历史命令文件中;
  • -r:将历史命令文件中的命令读入当前历史命令缓冲区;
  • -w:将当前历史命令缓冲区命令写入历史命令文件中。

参数

n:打印最近的n条历史命令。

实例

  • 通过环境变量,定制history的功能

HISTSIZE:shell进程可保留的命令历史的条数

    [root@localhost ~]# echo $HISTSIZE
    1000
    [root@localhost ~]# export HISTSIZE=2000
    [root@localhost ~]# echo $HISTSIZE
    2000

HISTFILE :持久保存历史命令的文件:/root/.bash_history

    [root@localhost ~]# echo $HISTFILE
    /root/.bash_history
    [root@localhost ~]# head -10 /root/.bash_history
    ifconfig
    ping www.163.com
    ifconfig
    vi /etc/sysconfig/network-scripts/
    vi /etc/sysconfig/
    vi /etc/sysconfig/network-scripts/ifcfg-ens33 
    ifconfig
    ifup ens33·
    ifconfig
    ping www.163.com

HISTFILESIZE:命令历史文件的大小

    [root@localhost ~]# echo $HISTFILESIZE
    1000

环境变量HISTCONTROL:控制命令历史记录的方式
ignoredups:忽略重复的命令;(默认)
ignorespace:忽略以空白字符开头的命令;
ignoreboth:以上两者同时生效;

    [root@localhost /]# echo $HISTCONTROL
    ignoredups
  • history [ n ] n为数字,列出最近的n条命令
    [root@localhost ~]# history 10
      620  echo $HISTFILE
      621  cat -n /root/.bash_history 
      622  cat -100 /root/.bash_history 
      623  cat 100 /root/.bash_history 
      624* cat -n  /root/.bash_history  
      625  echo $HISTFILE
      626  head -10 /root/.bash_history
      627  head -n 10 /root/.bash_history
      628  echo $HISTFILESIZE
      629  history 10
    
  • history – c 将目前shell中的所有history命令消除;
    [root@localhost ~]# history -c
    [root@localhost ~]# history 
        1  history 
    
  • history -d [n]:删除第n条历史记录
    [root@localhost ~]# history 
        1  history 
    [root@localhost ~]# history -d 1
    [root@localhost ~]# history 
        1  history -d 1
        2  history 
    
  • history -w : 把shell历史列表中的历史命令覆盖至历史文件中
    [root@localhost ~]# history -w
    [root@localhost ~]# cat -n /root/.bash_history 
         1  history -d 1
         2  history 
         3  cat -n /root/.bash_history 
         4  history -w
    
  • 调用命令历史列表中的命令

!#:再一次执行历史列表中的第#条命令;

    [root@localhost ~]# history 
        1  history -d 1
        2  history 
        3  cat -n /root/.bash_history 
        4  history -w
        5  cat -n /root/.bash_history 
        6  history 
        7  history -w
        8  cat -n /root/.bash_history 
        9  history 
    [root@localhost ~]# !5
    cat -n /root/.bash_history 
         1  history -d 1
         2  history 
         3  cat -n /root/.bash_history 
         4  history -w
         5  cat -n /root/.bash_history 
         6  history 
         7  history -w

!!:再一次执行上一条命令

    [root@localhost /]# ls
    bin   dev  home  inventory2.py  lib    media  opt   root  sbin  sys  usr
    boot  etc  host  inventory.py   lib64  mnt    proc  run   srv   tmp  var
    [root@localhost /]# !!
    ls
    bin   dev  home  inventory2.py  lib    media  opt   root  sbin  sys  usr
    boot  etc  host  inventory.py   lib64  mnt    proc  run   srv   tmp  var

!STRING:再一次执行命令历史列表中最近一个以STRING开头的命令

    [root@localhost /]# history 
        1  history -d 1
        2  history 
        3  cat -n /root/.bash_history 
        4  history -w
        5  cat -n /root/.bash_history 
        6  history 
        7  history -w
        8  cat -n /root/.bash_history 
        9  history 
       10  cat -n /root/.bash_history 
       11  ls
       12  cd /
       13  ls
       14  history 
    [root@localhost /]# !l
    ls
    bin   dev  home  inventory2.py  lib    media  opt   root  sbin  sys  usr
    boot  etc  host  inventory.py   lib64  mnt    proc  run   srv   tmp  var

shutdown

shutdown命令用来系统关机命令。shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。

语法

    shutdown(选项)(参数)

选项

  • -c:当执行“shutdown -h 11:50”指令时,只要按+键就可以中断关机的指令;
  • -f:重新启动时不进行磁盘检测(fsck);
  • -F:重新启动时进行磁盘检测(fsck);
  • -h:将系统关机,相当于–poweroff;
  • -k:只是送出信息给所有用户,但不会实际关机;
  • -n:不调用init程序进行关机,而由shutdown自己进行,强行关机;
  • -r:shutdown之后重新启动;
  • -t<秒数>:送出警告信息和删除信息之间要延迟多少秒

参数

  • [时间]:设置多久时间后执行shutdown指令;
  • [警告信息]:要传送给所有登入用户的信息。

实例

  • 指定现在立即关机
    shutdown -n now
    
  • 给所有登录用户发送信息
    shutdown -k now "this is a test wall message!"
    
  • 指定5分钟后关机,同时送出告警信息给登入用户
    shutdown +5 "system will shutdown after 5 minutes"
    

poweroff

poweroff命令用来关闭计算机操作系统并且切断系统电源。

语法

    poweroff(选项)

选项

  • -n:关闭操作系统时不执行sync操作;
  • -w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中;
  • -d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录;
  • -f:强制关闭操作系统;
  • -i:关闭操作系统之前关闭所有的网络接口;
  • -h:关闭操作系统之前将系统中所有的硬件设置为备用模式。

实例

如果确认系统中已经没有用户存在且所有数据都已保存,需要立即关闭系统,可以使用poweroff命令。

使用poweroff立即关闭系统:

    poweroff

reboot

reboot命令用来重新启动正在运行的Linux操作系统。

语法

    reboot(选项)

选项

  • -d:重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有“-n”参数效果;
  • -f:强制重新开机,不调用shutdown指令的功能;
  • -i:在重开机之前,先关闭所有网络界面;
  • -n:重开机之前不检查是否有未结束的程序;
  • -w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。

实例

重新开机

    reboot

hwclock

hwclock命令是一个硬件时钟访问工具,它可以显示当前时间、设置硬件时钟的时间和设置硬件时钟为系统时间,也可设置系统时间为硬件时钟的时间。

在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。

语法

    hwclock(选项)

选项

  • –adjust:hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用–adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟;
  • –debug:显示hwclock执行时详细的信息;
  • –directisa:hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟;
  • –hctosys:将系统时钟调整为与目前的硬件时钟一致;
  • –set –date=<日期与时间>:设定硬件时钟;
  • –show:显示硬件时钟的时间与日期;
  • –systohc:将硬件时钟调整为与目前的系统时钟一致;
  • –test:仅测试程序,而不会实际更改硬件时钟;
  • –utc:若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作;
  • –version:显示版本信息。

实例

  • 查看当前的硬件日期和时间
    [root@localhost ~]# hwclock
    Mon 05 Mar 2018 09:37:37 AM CST  -0.397475 seconds
    
  • hwclock –hctosys //用硬件时钟同步系统时钟
    [root@localhost ~]# hwclock
    Mon 05 Mar 2018 01:29:20 PM CST  -0.444051 seconds
    [root@localhost ~]# date
    Sun Mar  5 12:12:24 CST 2017
    [root@localhost ~]# hwclock --hctosys
    [root@localhost ~]# date
    Mon Mar  5 13:29:36 CST 2018
    
  • hwclock –systohc //用系统时钟同步硬件时钟
    hwclock --systohc
    

date

date命令是显示或设置系统时间与日期。

很多shell脚本里面需要打印不同格式的时间或日期,以及要根据时间和日期执行操作。延时通常用于脚本执行过程中提供一段等待的时间。日期可以以多种格式去打印,也可以使用命令设置固定的格式。在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起流逝的秒数。

语法

    date(选项)(参数)

选项

  • -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
  • -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
  • -u:显示GMT;
  • –help:在线帮助;
  • –version:显示版本信息。

参数

<+时间日期格式>:指定显示时使用的日期时间格式。

日期格式字符串列表

    %H 小时,24小时制(00~23)
    %I 小时,12小时制(01~12)
    %k 小时,24小时制(0~23)
    %l 小时,12小时制(1~12)
    %M 分钟(00~59)
    %p 显示出AM或PM
    %r 显示时间,12小时制(hh:mm:ss %p)
    %s 从1970年1月1日00:00:00到目前经历的秒数
    %S 显示秒(00~59)
    %T 显示时间,24小时制(hh:mm:ss)
    %X 显示时间的格式(%H:%M:%S)
    %Z 显示时区,日期域(CST)
    %a 星期的简称(Sun~Sat)
    %A 星期的全称(Sunday~Saturday)
    %h,%b 月的简称(Jan~Dec)
    %B 月的全称(January~December)
    %c 日期和时间(Tue Nov 20 14:12:58 2012)
    %d 一个月的第几天(01~31)
    %x,%D 日期(mm/dd/yy)
    %j 一年的第几天(001~366)
    %m 月份(01~12)
    %w 一个星期的第几天(0代表星期天)
    %W 一年的第几个星期(00~53,星期一为第一天)
    %y 年的最后两个数字(1999则是99)
    %Y 显示完整的年

实例

  • 不带参数输出
    [root@localhost ~]# date
    Mon Mar  5 09:44:58 CST 2018
    
  • 格式化输出
    [root@localhost ~]# date +"%y-%m-%d"
    18-03-05
    
  • 输出昨天日期
    [root@localhost ~]# date -d "1 day ago" +"%y-%m-%d"
    18-03-04
    
  • 普通格式转换
    [root@localhost ~]# date -d "2018-3-4" +"%Y-%m-%d %H:%M:%S"
    2018-03-04 00:00:00
    
  • apache格式转换:
    [root@localhost ~]# date -d "Mar 4, 2018 1:15:37 PM" +"%Y-%m-%d %H:%M:%S"
    2018-03-04 13:15:37
    
  • 格式转换后时间游走
    [root@localhost ~]# date -d "Mar 4, 2018 1:15:37 PM 3 year ago" +"%Y-%m-%d %H:%M:%S"
    2015-03-04 13:15:37
    
  • 传说中的 1234567890 秒
    [root@localhost ~]# date -d "1970-01-01 1234567890 seconds" +"%Y-%m-%d %H:%M:%S"
    2009-02-13 23:31:30
    
  • 加减操作

date +%Y%m%d //显示前天年月日

    [root@localhost ~]# date +%Y%m%d 
    20180305

date -d “+1 day” +%Y%m%d //显示前一天的日期

    [root@localhost ~]# date -d "+1 day" +%Y%m%d
    20180306

date -d “-1 day” +%Y%m%d //显示后一天的日期

    [root@localhost ~]# date -d "-1 day" +%Y%m%d
    20180304

date -d “-1 month” +%Y%m%d //显示上一月的日期

    [root@localhost ~]# date -d "-1 month" +%Y%m%d 
    20180205

date -d “+1 month” +%Y%m%d //显示下一月的日期

    [root@localhost ~]# date -d "+1 month" +%Y%m%d 
    20180405

date -d “-1 year” +%Y%m%d //显示前一年的日期

    [root@localhost ~]# date -d "-1 year" +%Y%m%d
    20170305

date -d “+1 year” +%Y%m%d //显示下一年的日期

    [root@localhost ~]# date -d "+1 year" +%Y%m%d
    20190305
  • 设定时间

date -s //设置当前时间,只有root权限才能设置,其他只能查看
date -s 20120523 //设置成20120523,这样会把具体时间设置成空00:00:00
date -s 01:01:01 //设置具体时间,不会对日期做更改
date -s “01:01:01 2012-05-23” //这样可以设置全部时间
date -s “01:01:01 20120523” //这样可以设置全部时间
date -s “2012-05-23 01:01:01” //这样可以设置全部时间
date -s “20120523 01:01:01” //这样可以设置全部时间

    [root@localhost ~]# date -s "2018-3-5 12:12:12"
    Mon Mar  5 12:12:12 CST 2018

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/91863

(1)
eighteenxueighteenxu
上一篇 2018-03-04
下一篇 2018-03-04

相关推荐

  • 文本处理工具以及grep

    文本处理工具以及grep 我们在使用Linux系统的时候需要查看、分析或者统计文件,这时候我们就需要使用到文本处理工具。 我们先来看下几个文本处理工具的使用: 文件内容:less和 cat 文件截取:head和tail 按列抽取:cut 按关键字抽取:grep 我们先来看看less和cat cat:查看文件命令     用法: &nbsp…

    Linux干货 2016-08-08
  • shell脚本编程的执行语句

    顺序执行     从上到下逐条执行命令,执行完所有命令及退出。 选择执行     (1)&&,||     &&:代表and,&&左侧为真右侧则执行     ||:代表or…

    Linux干货 2016-08-24
  • 《种一棵树最好的时间,是十年前,其次是现在。》

    选择一个处于不断发展中的行业,学习新知识就如逆水行舟,不能停止。

    Linux干货 2018-03-26
  • 操作系统文件管理

      在现代计算机系统中,要用到大量的程序和数据,因内存容量有限,且不能长期保存,故而平时总是把它们以文件的形式存放在外存中,需要时再随时将它们调入内存。如果由用户直接管理外存上的文件,不仅要求用户熟悉外存特性,了解各种文件的属性,以及它们在外存上的位置,而且在多用户环境下,还必须能保持数据的安全性和一致性。显然,这是用户所不能胜任、也不愿…

    Linux干货 2015-04-13
  • 【招聘福利】上海/北京/深圳丨 云络科技丨招募linux系统运维工程师

    岗位要求: 1,安装服务器 – Linux CentOS + netinstall 2.服务器安全 – 用户、权限、iptables、sudo 3.计划部署Linux?高可用性,包括HA,LB 4.协助Leader完成复杂的网络设计 (完全冗余/故障迁移/高可用性) 5.用linux命令查看服务器(top/iostat/vmstat/sar/等) 6.安装、…

    Linux干货 2016-04-05
  • 关于shell脚本基础第二篇

                          shell脚本编程基础第二篇 read命令 使用read来把输入的值非配给一个或者多个shell变量,可以提示用户输入一些参数等,此时我们可以使用read命令来完成此功能 re…

    系统运维 2016-08-19