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 12:06
下一篇 2016-08-15 12:06

相关推荐

  • 下载编译安装httpd 2.4最新版本

    关于这个问题分三步讲:1.下载最新版本;2.编译;3.安装 一:下载httpd 2.4的最新版本:(这里以Centos 7为例,Centos 6里用的是2.2版本的) 下载的话如何找下载路径—–>下载后是存在windows下,如何将其移进linux中  1.下载路径: 当然我们现在只要是碰到不会或者不知道的东西,通常会…

    2017-08-26
  • 优云软件数据专家最佳实践:数据挖掘与运维分析

    这份研究报告,作者是优云软件数据专家陈是维,在耗时1年时间制作的一份最佳实践,今天和大家分享下,关于《数据采矿和运维分析》,共同探讨~ 数据挖掘(Data Mining)是从大量数据中提取或“挖掘”知识。 广义数据挖掘:数据挖掘是从存放在数据库、数据仓库或其它信息库中的大量数据挖掘有趣知识的过程。 数据挖掘技术侧重:1)概率与数理统计 2)数据库技术 3)人…

    大数据运维 2016-07-16
  • Hadoop hdfs分布式文件系统

    一、MapReduce理论基础 每个MapReduce job都是Hadoop客户端想要执行的一个工作单元,它一般由输入数据、MapReduce程序和配置信息组成,而Hadoop会把每个job分隔成两类任务(task):map任务和reduce任务。在Hadoop集群中有两类节点来执行两类job进程的执行 1.1 大数据处理 任何基础业务包含了收集、分析、监…

    2017-12-08
  • awk用法指北

    awk用法指北 awk是对Linux系统中文本三剑客之一。其功能强大,支持条件判断、数组、循环,并且内置大量函数,近乎于一门独立的编程语言。 awk基本语法awk [option] ‘program’ FILE 最常用选项 -F “” 指定字段分隔符 //分隔符为PATTERN-v VAR=value 指定变量…

    Linux干货 2017-05-21
  • echo命令的简单用法和实例

        在CentOS 6.8版本下,通过实例的形式,展现选项和参数的灵活运用,可以简明的了解echo的用法。 一、语法:echo [SHORT-OPTION]… [STRING]… ;echo [选项]…[参数]       作用:将需要的内容输出到终端或者其他文件。 二、实例和选项参数的用法: (1)文本…

    Linux干货 2017-03-27
  • 程序员的相关笑话(二)

    从前,有一个牧羊人,他有很多的羊。一天他赶着他的那群羊到了一条公路边上。突然,有一辆保时洁急驶过来,上面坐着一个年轻人人,穿着Armani的衣服,和Cerutti的皮鞋,Ray-Ban的太阳眼镜,TAG-Heuer的手表,以前Versace的领带。 他走到牧羊人面前问牧羊人:“如果我能说出你有多少只羊,你能给我一只吗?” 牧羊人看了看他那一大群数都数不过来的…

    Linux干货 2016-07-10