Linux上命令的使用格式和基础命令详解

一、Linux上命令的使用格式

命令行提示符详解:

用户通过终端的命令行接口来控制操作系统,登陆后如下:

[[email protected] ~]#
  • root: 当前登录的用户
  • @:分隔符
  • localhost: 当前主机的主机名,非完整格式;此处的完整格式为:localhost.localdomain
[[email protected] ~]# hostname
localhost.localdomain
  • ~:用户当前所在的目录(current directory),也称为工作目录(working directory),为相对路径;
[[email protected] sysconfig]# pwd
/etc/sysconfig
  • #:命令提示符;

    #:管理员账号,为root; 拥有最高权限,能执行所有操作;
    $:普通用户,非root用户;不具有管理权限,不能执行系统管理类操作;

注意:建议使用非管理员账号登录;执行管理操作临时切换至管理员,操作完成即退回;

命令行提示输出格式在系统中由PS1参数控制,系统默认的设置在/etc/bashrc文件中配置,可以通过echo $PS1 来查看当前设置样式:

[[email protected] ~]# echo $PS1              #PS1:用户平时的提示符
[\[email protected]\h \W]\$
[[email protected] sysconfig]# echo $PS2       #PS2:第一行没输完,等待第二行输入的提示符
>

提示符的样式也可以根据自己的喜好来配置,可以直接通过命令行赋值PS1=‘(\[email protected]\H\d\t)$‘来修改提示符,但是为临时生效,退出重新登录后恢复之前样式

[[email protected] sysconfig]# PS1=‘(\[email protected]\H \d\t)\$‘
([email protected] 六 12月 0309:19:13)#

要想永久生效,需要在全局shell配置文件/etc/bashrc或者当前shell配置文件~/.bashrc中设置,直接在配置文件中另起一行定义PS1即可

# /etc/bashrc
PS1=‘(\[email protected]\H \d\t)\$‘

下面简单说说环境下默认的特殊符号所代表的意义:

\d :代表日期,格式为weekday month date,例如:Mon Aug1  \H:完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux  \h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略  \t :显示时间为24小时格式,如:HH:MM:SS  \T :显示时间为12小时格式  \A :显示时间为24小时格式:HH:MM  \u :当前用户的账号名称  \v :BASH的版本信息  \w :完整的工作目录名称。家目录会以 ~代替  \W :利用basename取得工作目录名称,所以只会列出最后一个目录  \# :下达的第几个命令  \$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$

我们还可以通过设置PS1变量使提示符成为彩色
在PS1中设置字符序列颜色的格式为:\[\e[F;Bm\]
其中‘‘F‘‘为字体颜色,编号30~37;‘‘B‘‘为背景色,编号40~47
可通过‘‘\e[0m‘‘关闭颜色输出;特别的,当B为1时,将显示加亮加粗的文字。

颜色表 前景  背景  颜色 30   40   黑色   31   41   红色   32   42   绿色 33   43   黄色 34   44   蓝色 35   45   紫红色 36   46   青蓝色 37   47   白色 

代码   意义 0    OFF 1    高亮显示 4    下划线 5    闪烁 7    反白显示 8    不可见
[[email protected] ~]$PS1="\[\e[31m\][\[email protected]\h \w]$\[\e[m\]"

注意:linux的bash对颜色的支持不是很好,使用会出现很多莫名其妙的BUG,建议不要使用

命令格式详解:

命令的语法通用格式:# COMMAND [OPTIONS] [ARGUMENTS]
COMMAND:

发起一命令:请求内核将某个二进制程序运行为一个进程

程序 --> 进程

静态 --> 动态(有生命周期)

命令本身是一个可执行的程序文件:二进制格式的文件,有可能会调用共享库文件;

多数系统程序文件都存放在:/bin, /sbin, /usr/bin,/usr/sbin,/usr/local/bin, /usr/local/sbin

普通命令:/bin, /usr/bin, /usr/local/bin
管理命令:/sbin, /usr/sbin, /usr/local/sbin

共享库:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64

32bits的库:/lib, /usr/lib, /usr/local/lib
64bits的库:/lib64, /usr/lib64, /usr/local/lib64

注意:并非所有的命令都有一个在某目录与之对应的可执行程序文件

命令必须遵循特定格式规范:exe, msi, ELF(Linux)

命令分为两类:

由shell程序的自带的命令:内置命令(builtin)
独立的可执行程序文件,文件名即命令名:外部命令

shell程序是独特的程序,负责解析用户提供的命令
环境变量:
PATH:从哪些路径中查找用户键入的命令字符串所对应的命令文件
查找次序:自左而右

~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

查看命令类型:type COMMAND

OPTIONS:指定命令的运行特性

选项有两种表现形式:

    短选项:-C, 例如-l, -d      注意:有些命令的选项没有-    如果同一命令同时使用多个短选项,多数可合并:-l -d = -ld    长选项:--word, 例如--help, --human-readable          注意:长选项不能合并

注意:有些选项可以带参数,此称为选项参数

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

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

[[email protected] ~]$ls -ld /var /etc
drwxr-xr-x. 66 root root 4096 12月  3 09:27 /etc
drwxr-xr-x. 19 root root 4096 11月 23 03:49 /var

二、基础命令详解

详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用

ifconfig:查看、配置、启用、禁用网络接口命令
注意: 命令执行立即生效,重启失效,一般需要先配置好配置文件

ifconfig     #查看处于激活状态的网络接口 ifconfig -a  #查看所有配置的网络接口,不论其是否激活 ifconfig eth0  #显示eth0的网卡信息   ifconfig eth0 down  #关闭eth0网卡 ifconfig eth0 up    #开启eth0网卡 ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE  #修改MAC地址   ifconfig eth0 192.168.1.56 netmask 255.255.255.0  #给eth0网卡配置IP地址和子网掩码   ifconfig eth0 mtu 1500  #设置能通过的最大数据包大小,默认一般是1500,此值需要根据磁盘特性来设置,专业存储可以设置为9000来提高性能
[[email protected] ~]$ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:BC:F4:74
          inet addr:192.168.175.129  Bcast:192.168.175.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:febc:f474/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1800 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1227 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:177087 (172.9 KiB)  TX bytes:138651 (135.4 KiB)
          Interrupt:19 Base address:0x2000 

[[email protected] ~]$ifconfig eth1 192.168.175.200 netmask 255.255.255.0
[[email protected] ~]$ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:BC:F4:74
          inet addr:192.168.175.129  Bcast:192.168.175.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:febc:f474/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2030 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1402 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:198479 (193.8 KiB)  TX bytes:159533 (155.7 KiB)
          Interrupt:19 Base address:0x2000 

eth1      Link encap:Ethernet  HWaddr 00:0C:29:BC:F4:7E
          inet addr:192.168.175.200  Bcast:192.168.175.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:febc:f47e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:398 (398.0 b)
          Interrupt:19 Base address:0x2400 


[[email protected] ~]$ifconfig eth1 down
[[email protected] ~]$ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:BC:F4:74
          inet addr:192.168.175.129  Bcast:192.168.175.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:febc:f474/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2099 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1458 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:205041 (200.2 KiB)  TX bytes:167129 (163.2 KiB)
          Interrupt:19 Base address:0x2000 

[[email protected] ~]$ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:0C:29:BC:F4:74
          inet addr:192.168.175.129  Bcast:192.168.175.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:febc:f474/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2108 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1464 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:205811 (200.9 KiB)  TX bytes:168757 (164.8 KiB)
          Interrupt:19 Base address:0x2000 

eth1      Link encap:Ethernet  HWaddr 00:0C:29:BC:F4:7E
          inet addr:192.168.175.200  Bcast:192.168.175.255  Mask:255.255.255.0
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:468 (468.0 b)
          Interrupt:19 Base address:0x2400

注意:实验时要确保你虚拟机有两块网卡,没有的话需要提前在设置中增加一块

增加别名网卡

[[email protected] ~]$ifconfig eth0:0 192.168.175.201 netmask 255.255.255.0
[[email protected] ~]$ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:BC:F4:74
inet addr:192.168.175.129 Bcast:192.168.175.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:febc:f474/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2238 errors:0 dropped:0 overruns:0 frame:0
TX packets:1574 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:218198 (213.0 KiB) TX bytes:181721 (177.4 KiB)
Interrupt:19 Base address:0x2000 

eth0:0 Link encap:Ethernet HWaddr 00:0C:29:BC:F4:74
inet addr:192.168.175.201 Bcast:192.168.175.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:19 Base address:0x2000 

增加网卡别名用得比较多,在使用VPN和配置LVS的时候有可能需要配置,但是使用命令行配置只是临时生效,所以需要在配置文件中配置,在/etc/sysconfig/network-scripts下执行如下操作,切记复制后需要修改DEVICE=eth0:0并注释掉HWADDR和UUID

[[email protected] ~]# cd /etc/sysconfig/network-scripts/
[[email protected] ~]# cp ifcfg-eth0 ifcfg-eth0:0

[[email protected] network-scripts]# ls
ifcfg-eth0 ifdown-ipv6 ifup ifup-plip ifup-wireless
ifcfg-eth0:0 ifdown-isdn ifup-aliases ifup-plusb init.ipv6-global
ifcfg-lo ifdown-post ifup-bnep ifup-post net.hotplug
ifdown ifdown-ppp ifup-eth ifup-ppp network-functions
ifdown-bnep ifdown-routes ifup-ippp ifup-routes network-functions-ipv6
ifdown-eth ifdown-sit ifup-ipv6 ifup-sit
ifdown-ippp ifdown-tunnel ifup-isdn ifup-tunnel

[[email protected] network-scripts]# cat ifcfg-eth0:0
DEVICE=eth0:0
#HWADDR=00:0C:29:BC:F4:74
TYPE=Ethernet
#UUID=18f970b4-04a3-451d-917f-834c7d10a937
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.175.200
NETMASK=255.255.255.0
#GATEWAY=192.168.175.1
ARPCHECK=no
NETWORKING=yes
DNS1=8.8.8.8

echo:输出给定字符或者定义的变量
格式: echo [SHORT-OPTION]… [STRING]…

-n: 不进行换行;
-e:让转义符生效;

\n:换行
\t:制表符
\b:空格
\r:回车 \f:换页符
\t:水平制表符 \v:纵向制表符
\c:禁止尾随的换行符
\a:报警符
\:反斜线
--help 显示帮助并退出(须单独运行)
--version 输出版本信息并退出(须单独运行)

[[email protected] ~]# echo "hello world"
hello world
[[email protected] ~]# echo -e "hello\nworld"
hello
world
[[email protected] ~]# echo -n "hello world"
hello world[[email protected] ~]# echo -ne "hello\nworld"
hello
world[[email protected] ~]#

[[email protected] ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

终端间发消息:

[[email protected] ~]# tty
/dev/pts/0
[[email protected] ~]# who
root tty1 2016-12-03 08:14
root pts/0 2016-12-03 10:38 (192.168.175.1)
root pts/1 2016-12-03 08:30 (192.168.175.1)
[[email protected] ~]# echo "how are you" > /dev/pts/1
[[email protected] ~]#

[[email protected] network-scripts]# tty
/dev/pts/1
[[email protected] network-scripts]# how are you

tty:查看当前的终端设备

  • 物理终端,控制台:console
  • 虚拟终端:6个,tty
    Ctrl+Alt+F[1-6]切换
  • 图形终端:
    CentOS 6:Ctrl+Alt+F7
    CentOS 7:在哪个虚拟终端启动,即位于哪个虚拟终端;

物理终端:/dev/console
虚拟终端:/dev/tty# [1,6]
串行终端:/dev/ttyS#
伪终端:/dev/pts/#

[[email protected] ~]# tty
/dev/pts/0
[[email protected] ~]# who
root tty1 2016-12-03 08:14
root pts/0 2016-12-03 10:38 (192.168.175.1)
root pts/1 2016-12-03 08:30 (192.168.175.1)
[[email protected] ~]# w
12:54:54 up 7:39, 3 users, load average: 0.00, 0.00, 0.00
USER TTY FROM [email protected] IDLE JCPU PCPU WHAT
root tty1 - 08:14 4:40m 0.04s 0.04s -bash
root pts/0 192.168.175.1 10:38 0.00s 0.15s 0.06s w
root pts/1 192.168.175.1 08:30 4:09 0.05s 0.05s -bash

options:

-s, --silent, --quiet 什么也不显示,只返回退出状态值
--help 显示此帮助信息并退出
--version 显示版本信息并退出

可以按终端号踢出登录用户(一般在中毒时可以踢出可疑终端) :pkill -9 -t pts/1

startx:启动图形界面(一般需要安装图形界面所依赖的包)
在某一虚拟终端接口运行命令:startx &
&:后台运行

export:显示和修改环境变量值

-f 带边环境变量为函数名称
-n 删除指定的环境变量
-p 列出所有的环境变量

[[email protected] ~]# aaa=bbb #设置一个变量
[[email protected] ~]# export aaa #加入环境变量
[[email protected] ~]# env |grep aa #查看环境变量
aaa=bbb
[[email protected] ~]# export -n aaa #删除环境变量
[[email protected] ~]# env |grep aa #查看
[[email protected] ~]# export PATH=$PATH:/usr/local/bin #将/usr/local/bin加入环境变量中

[[email protected] ~]# export #设置当前shell语言为英文
[[email protected] ~]# echo $LANG
en

pwd:显示当前路径

-L, --logical   显示当前目录-P, --physical   显示当前目录的实际物理地址--help  帮助--version  版本

history:显示历史命令

n 显示n个最近的记录-a 添加记录-r 读取记录,但不会添加内容记录-w 覆盖原有的history 文件-c 清除记录-d<编号>[n] 删除指定n条记录-n<文件> 读取指定文件-r<文件> 读取文件但不记录-w<文件> 覆盖原有文件

调用命令历史列表中的命令:

!#:再一次执行历史列表中的第#条命令;
!!:再一次执行上一条命令;
!STRING:再一次执行命令历史列表中最近一个以STRING开头的命令;
调用上一条命令的最后一个参数:
快捷键:ESC, . 按esc,放开,按.

shutdown:关机或重启服务器
shutdown 以一种安全的方式关闭系统。所有登陆用户都可以看到关机信息提示,并且 login (1) 将被阻塞。可以指定立刻关机,也可以指定系统在一定的延时后关机。所有进程都将接收到 SIGTERM 信号。这可以使 vi (1) 等程序有时间将处于编辑状态的文件进行存储,邮件和新闻程序进程则可以将所有缓冲池内的数据进行适当的清除等等。 shutdown 通过通知 init 进程,要求它改换运行级别来实现。运行级别 0 用来关闭系统,运行级别 6 用来重启系统,运行级别 1 用来使系统进入执行系统管理任务状态,如果没有给出 -h 或 -r 标志时,这是 shutdown 命令的默认工作状态。具体关机或重启所执行的操作请查阅 /etc/inittab 文件中相应的运行级别栏。

选项 OPTIONS

-a:使用 /etc/shutdown.allow 来验证身份。-t sec:通知 init(8) 在转换到其它运行级别前,发送警告 (warning) 信号后延时 (sec) 秒数后再发送关闭 (kill) 信号。-k:并非真正关机,只向所有人显示警告信息。-r:reboot重启。-h:halt停机。-n:[DEPRECATED(不应再使用)]不调用init(8)程序进行关机操作,而由自己进行。不建议用户使用这种关机方式,它的结果一般也不是你希望的那样。-f:重启时跳过磁盘检测。-F:重启时强制磁盘检测。-c:cancel取消运行中的shutdown进程。不可能为此选项指定time参数,但你可以在命令行输入一条解释消息来向所有用户说明。(一般的shutdown指令可以用按“+”号来进行中断)time:关机时间。warning-message:发送给所有用户的消息。-f:标志意味着 `快速重启‘。这将创建一个咨询 (advisory) 文件 /fastboot ,此文件在系统重启时会被检测到。启动脚本rc会检测是否存在这样的文件,如果有,就不会再运行 fsck(1),因为系统是以正常方式关闭的。这之后,启动进程会删除 /fastboot。-F:标志意味着 `强制 fsck‘。这将创建一个咨询 (advisory) 文件 /forcefsck,此文件在系统重启时会被检测到。启动脚本rc会检测是否存在这个文件,如果有,就运行 fsck(1)并且加上一个特殊的`force‘标志,以使得即使正常卸载的文件系统也被检查。这之后,启动进程会删除 /forcefsck。-n 标志导致 shutdown 不调用 init 程序进行关机,而是自己关闭所有运行中的进程。shutdown 接下来会关闭配额 (quota),记账 (accounting) 和交换分区,卸载所有文件系统。

time 参数的格式可以有很多种。首先,可以是 hh:mm 格式的绝对时间,其中 hh 指的是小时(一到二位数),mm 指的是分钟(二位数)。第二种是 +m 格式,其中 m 指的是等待的分钟数。 now 是 +0 的别名。如果 shutdown 在调用时使用了延时,它将自动创建一个咨询 (advisory) 文件 /etc/nologin ,作用是禁止 login(1) 允许新用户登陆,除非 shutdown 在向 init 发信号前意外中止 (就是说,它被取消或出了什么问题)。它会在调用 init 改变运行级之前删除这个文件。
[[email protected] ~]# shutdown –h now #关机 

[[email protected] ~]# shutdown –h 23:00 #晚上11点关机

[[email protected] ~]# shutdown –r now #重启

[[email protected] ~]# shutdown –r +30 ‘reboot now‘ #30分钟后重启,并且提示reboot now

reboot:重启

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

hwclock:查询或设置硬件时钟
用法: hwclock [function] [options...]
function:

-r | –show 读取并打印硬件时钟
-s | –hctosys 将硬件时钟同步到系统时钟
-w | –systohc 将系统时钟同步到硬件时钟
–set –date=<时间日期> 使用给定的–date来设置RTC时间

options:

-u | –utc 使用utc时间
–localtime 使用本地时间

date:显示当前时间或设置系统时间

date - 打印或设置系统日期和时间

[[email protected] ~]# date      #显示日期和时间 2016年 12月 03日 星期六 14:04:56 CST

根据指定格式显示当前时间或设置系统时间.

-d, --date=STRING显示由 STRING 指定的时间, 而不是当前时间 -f, --file=DATEFILE显示 DATEFILE 中每一行指定的时间, 如同将 DATEFILE 中的每行作为 --date 的参数一样 

-I, --iso-8601[=TIMESPEC] 按照 ISO-8601 的日期/时间格式输出时间. 

TIMESPEC=`date‘ (或者不指定时)仅输出日期,等于 `hours‘, `minutes‘, 或`seconds‘ 时按照指定精度输出日期及时间. 

-r, --reference=FILE显示 FILE 的最后修改时间 -R, --rfc-822根据 RFC-822 指定格式输出日期 -s, --set=STRING根据 STRING 设置时间 -u, --utc, --universal显示或设置全球时间(格林威治时间) --help显示本帮助文件并退出 --version显示版本信息并退出 

格式 FORMAT 控制着输出格式. 仅当选项指定为全球时间时本格式才有效。 分别解释如下:

%%文本的 % %a当前区域的星期几的简写 (Sun..Sat) %A当前区域的星期几的全称 (不同长度) (Sunday..Saturday) %b当前区域的月份的简写 (Jan..Dec) %B当前区域的月份的全称(变长) (January..December) %c当前区域的日期和时间 (Sat Nov 04 12:02:33 EST 1989) %d(月份中的)几号(用两位表示) (01..31) %D日期(按照 月/日期/年 格式显示) (mm/dd/yy) %e(月份中的)几号(去零表示) ( 1..31) %h同 %b %H小时(按 24 小时制显示,用两位表示) (00..23) %I小时(按 12 小时制显示,用两位表示) (01..12) %j(一年中的)第几天(用三位表示) (001..366) %k小时(按 24 小时制显示,去零显示) ( 0..23) %l小时(按 12 小时制显示,去零表示) ( 1..12) %m月份(用两位表示) (01..12) %M分钟数(用两位表示) (00..59) %n换行 %p当前时间是上午 AM 还是下午 PM %r时间,按 12 小时制显示 (hh:mm:ss [A/P]M) %s从 1970年1月1日0点0分0秒到现在历经的秒数 (GNU扩充) %S秒数(用两位表示)(00..60) %t水平方向的 tab 制表符 %T时间,按 24 小时制显示(hh:mm:ss) %U(一年中的)第几个星期,以星期天作为一周的开始(用两位表示) (00..53) %V(一年中的)第几个星期,以星期一作为一周的开始(用两位表示) (01..52) %w用数字表示星期几 (0..6); 0 代表星期天 %W(一年中的)第几个星期,以星期一作为一周的开始(用两位表示) (00..53) %x按照 (mm/dd/yy) 格式显示当前日期 %X按照 (%H:%M:%S) 格式显示当前时间 %y年的后两位数字 (00..99) %Y年(用 4 位表示) (1970...) %z按照 RFC-822 中指定的数字时区显示(如, -0500) (为非标准扩充) %Z时区(例如, EDT (美国东部时区)), 如果不能决定是哪个时区则为空 

默认情况下,用 0 填充数据的空缺部分. GNU 的 date 命令能分辨在 `%‘和数字指示之间的以下修改.`-‘ (连接号) 不进行填充 `_‘ (下划线) 用空格进行填充
[[email protected] ~]# date -s "16:43:00" #设置时间2016年 12月 03日 星期六 16:43:00 CST
# date -s #设置当前时间,只有root权限才能设置,其他只能查看。
# date -s 20080523 #设置成20080523,这样会把具体时间设置成空00:00:00
# date -s 01:01:01 #设置具体时间,不会对日期做更改
# date -s “01:01:01 2008-05-23″ #这样可以设置全部时间
# date -s “01:01:01 20080523″ #这样可以设置全部时间
# date -s “2008-05-23 01:01:01″ #这样可以设置全部时间
# date -s “20080523 01:01:01″ #这样可以设置全部时间
[[email protected] ~]# date -d "20161203" +%s #时间转时间戳
1480694400

[[email protected] ~]# date -d ‘1970-01-01 UTC 1480694400 seconds‘ #时间戳转时间
2016年 12月 03日 星期六 00:00:00 CST
# date +%Y%m%d #显示前天年月日
# date +%Y%m%d --date="+1 day" #显示前一天的日期
# date +%Y%m%d --date="-1 day" #显示后一天的日期
# date +%Y%m%d --date="-1 month" #显示上一月的日期
# date +%Y%m%d --date="+1 month" #显示下一月的日期
# date +%Y%m%d --date="-1 year" #显示前一年的日期
# date +%Y%m%d --date="+1 year" #显示下一年的日期

?

时间: 2024-10-13 18:31:06

Linux上命令的使用格式和基础命令详解的相关文章

inux系统上命令的使用格式及基础命令的使用

Linux系统上命令的使用格式: COMMAND[OPTIONS...] [ARGUMENTS...] command:命令 OPTIONS [选项]:用于启用或关闭命令的某个或某些功能: 短选项:-+一个字符, 例如:-l, -h:多个短选项可合并使用,例如-l -h, 可写作-lh:如何不合并,要使用空白字符隔开. 长选项:--word,例如:--long,--human-readable:多个长选项不可以合并使用. ARGUMENTS [参数]:命令的作用对象,向命令提供数据:多参数应该使

linux上的常用的系统自带命令

wikipedia 发现的分类,发现还有好多没用过.. Unix command-line interface programs and shell builtins   File system cat cd chmod chown chgrp cksum cmp cp dd du df file fsck fuser ln ls mkdir mount mv pax pwd rm rmdir size split tee touch type umask   Processes at bg c

Nmap扫描教程之基础扫描详解

Nmap扫描教程之基础扫描详解 Nmap扫描基础扫描 当用户对Nmap工具了解后,即可使用该工具实施扫描.通过上一章的介绍,用户可知Nmap工具可以分别对主机.端口.版本.操作系统等实施扫描.但是,在实施这些扫描工作之前,需要先简单了解下Nmap工具的使用,以方便后面实施扫描.所以,本章将通过使用Nmap工具实施基础的扫描,来帮助用户了解该工具. Nmap扫描扫描概述 在实施基本的扫描之前,需要先了解一些Nmap网络扫描的基本知识,及需要考虑的一些法律边界问题.本节将对网络基本扫描进行一个简单介

RabbitMQ,Apache的ActiveMQ,阿里RocketMQ,Kafka,ZeroMQ,MetaMQ,Redis也可实现消息队列,RabbitMQ的应用场景以及基本原理介绍,RabbitMQ基础知识详解,RabbitMQ布曙

消息队列及常见消息队列介绍 2017-10-10 09:35操作系统/客户端/人脸识别 一.消息队列(MQ)概述 消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以简单地描述为: 当不需要立即获得结果,但是并发量又需要进行控制的时候,差不多就是需要使用消息队列的时候. 消息队列主要解决了应用耦合.异步处理.流量削锋等问题. 当前使用较多的消息队列有RabbitMQ.RocketMQ.ActiveMQ.Kafka.ZeroMQ.MetaMq等,而部分数据库如Re

高性能Web服务之tomcat基础应用详解(一)

Tomcat概述: Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun 和其他一些公司及个人共同开发而成.由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范.因为Tomcat 技术先进.性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目

varnish基础概念详解

varnish基础概念详解 比起squid更加轻量级,大致有以下几个特点: ·可以基于内存缓存,也可以在磁盘上缓存,但是就算存放在磁盘上,也不能实现持久缓存 只要进程崩溃,此前缓存统统失效,无论是在内存还是在磁盘,但是现在已经具备持久缓存功能,但是仍然在实验阶段,经常容易崩溃,而且最大大小不能超过1G 如果期望内存大小超过几十个G,比如图片服务器,纯粹使用内存,性能未必好,这时候可以使用磁盘进行缓存,或SSD X 2 做RAID 避免磁盘损坏,在实现随机访问上 ssd硬盘要比机械硬盘要好的多,如

Tomcat基础配置详解

Tomcat基础配置详解 组件原理图如下: 任何tomcat实例就是一个server,而一个server内部要想能够解析jsp页面转义编译serlet程序,要靠其引擎来实现 而引擎才是真正意义上执行jsp代码的容器,都是tomcat用类来描述这些组件的 同时,为了接受用户的请求,需要基于connector组件,所谓监听的套接字的程序,能够接手用户的请求,被称为连接器 一个server内部可以完全运行N个引擎,无非就是运行多个虚拟机而已 war包的概念 放在网页目录可以直接访问,而部署的时候可以自

I2C 基础原理详解

今天来学习下I2C通信~ I2C(Inter-Intergrated Circuit)指的是 IC(Intergrated Circuit)之间的(Inter) 通信方式.如上图所以有很多的周边设备都是用I2C通信方式进行通信的. I2C(Inter-Intergrated Circuit)通信使用Clock Line(SCL:Serial Clock)和Data Line(SDA:Serial Data).数据通过时钟同步经过数据线进行传输.这里生成时钟信号并输出的设备便是Master, 时钟

jmeter 基础功能详解

jmeter 基础功能详解 thread group:包含一组线程,每个线程独立地执行测试计划. sampler:采样器,有多种不同的sample实现,用来发起各种请求,如http请求,jdbc请求,javaTest请求等等. logic controller:逻辑控制器有多种不同的实现,可以决定每个sample的执行顺序. listener:有多种不同的实现,主要用于统计测试接话运行中的数据并展示,如可以进行图形化方式展示响应时间. timer:定时器,有多种不同的实现,可用作每个请求见的停顿