~]#COMMAND OPTIONS ARGUMENTS
CMMMAND:发起一命令:请求内核将某个二进制程序运行为一个进程;
OPTIONS:指定命令的运行特性;
短选项:-C, 例如-l, -d
注意:有些命令的选项没有-;
如果同一命令同时使用多个短选项,多数可合并:-l -d = -ld
长选项:--word, 例如--help, --human-readable
注意:长选项不能合并;
注意:不同的命令的参数;有些命令可同时带多个参数,多个之间以空白字符分隔;
例如:ls -ld /var /etc
ifconfig被用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。
语法
ifconfig (参数)
实例
ifconfig -a :显示所有网卡配置
[root@localhost ~]# ifconfig -a
ens33: flags=4163 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
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 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
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 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
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 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
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命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。
语法
echo(选项)(参数)
选项
-e:激活转义字符。
使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
实例
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(选项)
选项
实例
显示当前终端
[root@localhost ~]# tty
/dev/pts/2
startx命令用来启动X Window,实际上启动X Window的程序为xinit。
语法
startx(参数)
参数
实例
startx:启动图形界面
startx
startx -w:强行启动图像界面
startx -w
export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量
语法
export [-fnp][变量名称]=[变量设置值]
参数
实例
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(选项)
参数:
实例
[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命令用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。
系统默认保留1000条。
语法
history(选项)(参数)
选项
参数
n:打印最近的n条历史命令。
实例
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 -n now
给所有登录用户发送信息
shutdown -k now "this is a test wall message!"
指定5分钟后关机,同时送出告警信息给登入用户
shutdown +5 "system will shutdown after 5 minutes"
poweroff命令用来关闭计算机操作系统并且切断系统电源。
语法
poweroff(选项)
选项
实例
如果确认系统中已经没有用户存在且所有数据都已保存,需要立即关闭系统,可以使用poweroff命令。
使用poweroff立即关闭系统:
poweroff
reboot命令用来重新启动正在运行的Linux操作系统。
语法
reboot(选项)
选项
实例
重新开机
reboot
hwclock命令是一个硬件时钟访问工具,它可以显示当前时间、设置硬件时钟的时间和设置硬件时钟为系统时间,也可设置系统时间为硬件时钟的时间。
在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。
语法
hwclock(选项)
选项
实例
查看当前的硬件日期和时间
[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命令是显示或设置系统时间与日期。
很多shell脚本里面需要打印不同格式的时间或日期,以及要根据时间和日期执行操作。延时通常用于脚本执行过程中提供一段等待的时间。日期可以以多种格式去打印,也可以使用命令设置固定的格式。在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起流逝的秒数。
语法
date(选项)(参数)
选项
参数
<+时间日期格式>:指定显示时使用的日期时间格式。
日期格式字符串列表
%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