Linux系统上命令的使用格式

第一部分:Linux系统上命令的使用格式

命令的语法通用格式:

     COMMAND OPTIONS ARGUMENTS

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

     程序 —-> 进程

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

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

多数系统程序文件都存放在/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……….

     32位库:/lib,/usr/lib,/usr/local/lib

     64位库:/lib64,/usr/lib64,/usr/local/lib64

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

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

[root@localhost ~]# file /bin/ls  #查看文件内容类型

/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped

命令分为两类:

     由shell程序自带的命令:内置命令(built-in)

     独立的可执行程序文件,文件名即命令名:外部命令(可执行程序)

shell程序是独特的程序,负责解析用户提供的命令:

     环境变量:

          PATH:从哪些路径中查找用户键入的命令字符串所对应的命令文件

[root@localhost /]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

例如,从左向右开始,一个一个找ls命令;从左向右,因此顺序很重要;

PATH是针对外部命令而言的

SHELL自带的命令是不需要PATH的

那么如何区分命令类型?

type COMMAND

例如:

[root@localhost /]# type type

type 是 shell 内嵌

因此,type是内置命令

OPTIONS:指定命令的运行特性,或者调整命令运行时所要执行的代码和实现的功能

选项有两种表现形式:

     长选项:–character,长选项一般不能合并

     短选项:-C等;同时使用多个短选项,一般可以合并,例如 ls -ld = ls -l -d

注意,有些选项可以自带参数,选项参数,而不是命令参数

ARGUMENTS:命令的参数

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

例如:ls -l -d /var /etc

第二部分:一些常见命令

#1 ifconfig – 用于配置网卡

语法:

ifconfig [interface]
ifconfig interface [aftype] options | address …

参数:

up 启动指定网络设备/网卡。
down 关闭指定网络设备/网卡。该参数可以有效地阻止通过指定接口的IP信息流,如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。
arp 设置指定网卡是否支持ARP协议。
-a 显示全部接口信息
-s 显示摘要信息(类似于 netstat -i)
add 给指定网卡配置IPv6地址
del 删除指定网卡的IPv6地址
<硬件地址> 配置网卡最大的传输单元
mtu<字节数> 设置网卡的最大传输单元 (bytes)
netmask<子网掩码> 设置网卡的子网掩码。掩码可以是有前缀0x的32位十六进制数,也可以是用点分开的4个十进制数。如果不打算将网络分成子网,可以不管这一选项;如果要使用子网,那么请记住,网络中每一个系统必须有相同子网掩码。
tunel 建立隧道
dstaddr 设定一个远端地址,建立点对点通信
-broadcast<地址> 为指定网卡设置广播协议
-pointtopoint<地址> 为网卡设置点对点通讯协议
multicast 为网卡设置组播标志
address 为网卡设置IPv4地址
实例:

<1> ifconfig  #用于查看网卡具体信息

<2> ifconfig eth0 up   #启动eth0网卡

        ifconfig eth0 down  #关闭eth0网卡;注意,ssh登录服务器操作要小心,关闭了就不能开启了,除非有多网卡

<3> ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255   #配置IP地址

<4> ifconfig eth0 arp  #启用ARP协议

        ifconfig eth0 -arp  #关闭ARP协议

#2 echo – 显示一段文字,一般起到提示的作用

参数&举例

-n:不自动进行换行操作

[root@localhost /]# echo -n 'hello world'

hello world[root@localhost /]#

-e:让转移符生效

[root@localhost /]# echo 'hello \nworld'

hello \nworld

[root@localhost /]# echo -e 'hello \nworld'   #注意-e的用法

hello

world

     \n:表示换行

STRING可以使用引号,单引号和双引号均可用

     单引号:强引用,变量引用不执行替换

          [root@localhost /]# echo '$SHELL'

          $SHELL

     双引号:弱引用,变量引用会被替换

          [root@localhost /]# echo "$SHELL"

          /bin/bash

#3 startx – startx – initialize an X session

用于打开图形化界面

#4 pwd – print working directory,显示当前路径

相关的环境变量:

     $PWD:当前工作目录

     $OLDPWD:上一次工作目录

#5 history – 显示命令历史

history 命令 – shell内嵌命令

定制history的功能,可以通过环境变量来实现

     HISTSIZE    #shell进程中history命令所保存的历史的条数

    HISTFILE     #持久保存命令历史的文件

          .bash_history    #保存在用户家目录中,存储了历史命令

     HISTFILESIZE   #命令历史文件的大小

命令用法:

history [-c] [-d 偏移量] [n]

或 history -anrw [文件名]

或 history -ps 参数 [参数…]

参数:

-c:清空命令历史(清空内存中的内容)

-d offset [n]:根据offset偏移量来删除指定条目,如果添加[n],表示从指定位置开始删除n个

-a:从内存到文件

-r:从文件读取命令历史至列表中  #如果history -c清空后,直接history -r,再history,可以读取文件中的内容

-w:保存到文件中

 n:显示最近的n条命令

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

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

!!  再次执行上一条命令

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

     注意,命令的重复执行需要依赖于幂等性(可重复多次执行,例如删除一个文件后,不能再次删除相同的文件)

调用上一条命令的最后一个参数:

esc.    #按下esc,松开后再按.

!$     

控制命令历史记录的方式:

     环境变量:HISTCONTROL

          ignoredups:忽略重复的命令

          ignorespace:忽略以空白字符开头的命令 

          ignoreboth:

#6 shutdown/poweroff/reboot

关机或重启命令:shutdown

shutdown 

     -r 重启

     -P 关机

     -c 取消操作

     -h 关机

TIME:

     now

     hh:mm

     +m

          +0 = now

WALL

     系统本身有wall指令,广播消息

shutdown -h now   #马上关机

shutdown -r +5      #5分钟后关机,消息会广播给所有用户

shutdown -c           #取消关机操作

#7 hwclock = clock

clock:显示硬件时钟

hwclock:显示硬件时钟 — clock和hwclock是同一个指令

参数

     -s, –hctosys   #以硬件为准,将系统时钟调整到与硬件时钟一致

     -w, –systohc  #以系统为准

语法:

hwclock [function] [option…]

具体用法:

[root@localhost ~]# hwclock   #显示硬件时间

2016年08月13日 星期六 03时54分48秒  -0.742017 秒

#8 date

date

     显示时间 :date [OPTION]… [+FORMAT]

          FORMAT:显示格式

               %F

               %m

               %s:从1970年1月1日(unix元年)0点0分0秒到命令执行那一刻经过的秒数

     date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]

     设定日期时间

[root@localhost ~]# date 101008082013.08    月日小时分钟年.秒钟

2013年 10月 10日 星期四 08:08:08 CST

原创文章,作者:vincent_chen,如若转载,请注明出处:http://www.178linux.com/34088

(0)
vincent_chenvincent_chen
上一篇 2016-08-15
下一篇 2016-08-15

相关推荐