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

相关推荐

  • shell 脚本的编辑基础

          shell脚本是Linux运维工程师必须掌握的技能之一,shell脚本的使用让我们更好的操作Linux系统,方便了我们的执行。 一,编程基础 编程基本概念 编程逻辑处理方式:顺序执行,循环执行,选择执行 程序:指令+ 数据 shell 编程:过程式、解释执行 shell程序:提供了编程能力,解释执…

    Linux干货 2016-08-22
  • Linux第八周小结

    1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态 在线的主机使用绿色显示 不在线的主使用红色显示 #!/bin/bash # for i in {1..254};do if ping -c 6 -w 1 192.168.1.$i &> /dev/null;then echo -e…

    Linux干货 2017-08-20
  • 网络基础笔记

    网络管理笔记 1. 网络概念:     一组网络设备或计算机,通过无形的规则链接起来的体系!    2. 应用程序种类:     (1)批处理应用程序:            FTP、TFTP、库存更新    &nbsp…

    Linux干货 2017-03-16
  • N28-第三周博客作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。
    2、取出最后登录到当前系统的用户的相关信息。
    3、取出当前系统上被用户当作其默认shell的最多的那个shell。
    4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。
    5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
    6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
    7、显示/var目录下一级子目录或文件的总个数。
    8、取出/etc/group文件中第三个字段数值最小的10个组的名字。
    9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
    10、请总结描述用户和组管理类命令的使用方法并完成以下练习:
    (1)、创建组distro,其GID为2016;
    (2)、创建用户mandriva, 其ID号为1005;基本组为distro;
    (3)、创建用户mageia,其ID号为1100,家目录为/home/linux;
    (4)、给用户mageia添加密码,密码为mageedu;
    (5)、删除mandriva,但保留其家目录;
    (6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
    (7)、修改slackware的默认shell为/bin/tcsh;
    (8)、为用户slackware新增附加组admins;

    Linux干货 2017-12-19
  • Linux基础之安全加密及CA、证书实战应用

    一、建立私有CA并让客户端申请请求,需要两台虚拟机完成 1、建立私有CA,生成私钥 2、CA公司给自己,生成自签证书 3、为CA提供所需要的目录及文件(如果事先存在,此步骤可以跳过) 二、CA公司已建立,需要一台客户机配合CA签署证书 1、客户端用到证书,因此生成私钥 2、客户端生成证书签署请求 3、将请求通过可靠方式发送给CA主机,这里作为测试,因此使用s…

    Linux干货 2016-10-04
  • lvs——高可用集群

    技术简介: LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性 集群采用…

    Linux干货 2016-10-26