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中有硬件時鐘與系統時鐘等兩種時鐘。硬件時鐘是指主機板上的時鐘設備,也就是通??稍贐IOS畫面設定的時鐘。系統時鐘則是指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.www58058.com/91863

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

相關推薦

  • SNAT,DNAT,端口轉發

    利用iptables配置NAT

    2018-03-01
  • 自我介紹

    個人簡介     基本信息:     何秋雨,男,安徽人,22歲,初中學歷 工作經驗:     目前就職于南京的一家互聯網公司做Java Web 開發,大概有一年半的工作經驗。工作內容包括前端和Java后端兩個部分。 個人愛好:   &nb…

    Linux干貨 2016-08-08
  • 文件處理命令作業題

    練習題    1.找出ifconfig命令結果中的本機的所有ipv4地址4    2.查出分區空間使用率的最大百分比值    3.查找用戶UID最大值的用戶名、UID及shell類型    4.查出/tmp的權限。以數字方式顯示    5.統計當前鏈接本機的每…

    Linux干貨 2016-08-08
  • 圖解Linux終端類型

    個人淺見 歡迎指正

    Linux干貨 2016-10-16
  • 第五周學習總結-rpm&yum

    我們都知道,計算機只能識別二進制程序,而程序員編寫的源代碼都是以純文本形式存在,因此,要想讓計算機識別并運行這些源代碼程序,就必須通過中間的轉換機制讓源代碼變為二進制程序文件,而這種轉換過程就稱為編譯過程。Linux的各發行版本中由于各廠商的編譯過程不盡相同,因此就誕生了各種不同的軟件管理包組件。其中我們最熟知的就要數Redhat系列的rpm包了。 rpm包…

    2018-01-03
  • 磁盤管理

    硬盤物理結構      扇區  磁頭  磁道   柱面   磁道數      扇區*一個磁道上的扇區個數*磁頭數=柱面      柱面*磁道數=硬盤大小      一個扇區512字節   &…

    Linux干貨 2017-08-26
欧美性久久久久