Linux语法手册

96 阅读18分钟

〇、概述

1. 诞生与发展

1991年,芬兰赫尔辛基大学大二学生Linus Torvalds编写了Linux 0.0.1版本。后期加入GNU,基于GPL协议,允许开源、分享、传播和修改。

2. 系统组成

  • Kernel

    核心程序。用于管理硬件设备、线程进程、交换空间、文件系统等。主要实现系统程序和硬件之间的控制管理功能。

  • Shell

    包裹在Kernel之外的人机交互界面,实现用户和Kernel之间的交互沟通。

  • User Application

  • File System

3. 系统特性

  • 多用户
  • 多任务(多进程)
  • 多平台

一、File System

  • bin

    二进制文件目录,存储一下可执行的二进制文件。

  • dev

    设备目录,存放外接设备,其中外接设备需要先挂载才可使用。

  • etc

    配置文件目录。

  • home

    用户目录,存放除root外其他用户的文件。

  • proc

    进程目录,存储系统进行时的进程。

  • root

    root用户目录,存储root用户的文件。

  • sbin

    root用户二进制文件目录,存放root用户可执行的二进制文件。

  • tmp

    临时文件目录。

  • usr

    应用软件安装目录。

  • var

    系统或软件日志文件存放目录。

  • mnt

    外接设备挂在目录。

二、基本命令

  • 指令格式

    # [用户名@主机名 当前路径] $ 指令 选项 对象
    [admin@controller ~]$ rm -rf /
    
  • List命令

    # 含义:打印指定目录下所包含的文件和目录
    # 指令:ls
    # 选项:-a 打印所有(包含隐藏)文件和目录
    #      -l 打印文件和目录的详细信息
    # 对象:指定目录(省略时默认打印当前目录)
    # 备注:打印蓝色代表目录,黑色代表文件,绿色代表拥有所有权限
    [admin@controller ~]$ ls -al ~
    
  • Print Work Directory命令

    # 含义:打印当前所在目录
    # 指令:pwd
    [admin@controller ~]$ pwd
    
  • Change Directory命令

    # 含义:切换所在的工作目录
    # 指令:cd
    # 对象:指定目录(可以为绝对路径和相对路径)
    [admin@controller ~]$ cd ~
    
  • Make Directory命令

    # 含义:创建目录
    # 指令:mkdir
    # 选项:-p 递归创建多级目录
    # 对象:指定目录(可以为绝对路径和相对路径,此时需要用空格隔开)
    [admin@controller ~]$ mkdir -p ~/music/pop/
    
  • Touch命令

    # 含义:创建文件
    # 指令:touch
    # 对象:创建文件的相对路径或绝对路径(可以同时创建多个文件,此时需要用空格隔开)
    [admin@controller ~]$ touch ~/music/pop/Enemy.mp3
    
  • Copy命令

    # 含义:复制文件或目录至指定目录
    # 指令:cp
    # 选项:-r 复制对象为目录
    # 对象:复制对象 目标目录
    [admin@controller ~]$ cp -r music /root/
    
  • Move命令

    # 含义:移动文件或目录至指定目录
    # 指令:mv
    # 选项:-f 若指定目录已有同名文件或目录则强制覆盖
    # 对象:移动对象 目标目录或目标路径(绝对路径或相对路径)
    # 备注:对象中提到的目标目录和目标路径区别在于是否包含了移动对象本身
    [admin@controller ~]$ mv -f music /root/music
    
  • Remove命令

    # 含义:移除文件或目录
    # 指令:rm
    # 选项:-r 递归移除多级目录和文件
    #      -f 忽略二次确认强制移除
    # 对象:移除对象(可以同时移除多个文件和目录,此时需要用空格隔开)
    [admin@controller ~]$ rm -rf /root/music
    
  • Concatenate命令

    # 含义:打印指定文件内容
    # 指令:cat
    # 对象:打印文件的路径(可以同时打印多个文件,此时需要用空格隔开)
    [admin@controller ~]$ cat /etc/hosts
    

三、进阶命令

  • Disk Free命令

    # 含义:获取磁盘分区和容量等信息
    # 指令:df
    # 选项:-h 通过可视化格式进行显示
    # 备注:输出的各字段为Filesystem(分区名称)、Size(容量大小)、Used(已占用容量大小)、Avail(可用容量大小)、Use%(已占用百分比)、Mounted on(挂载点)
    [admin@controller ~]$ df -h
    
  • Free命令

    # 含义:查看内存使用情况
    # 指令:free
    # 选项:-m 内存大小以MB为单位显示,若省略则默认以B为单位显示
    # 备注:输出的各字段为total(总容量)、used(已占用容量大小)、free(可用容量大小)、shared(多进程共享内存大小)、buffers(缓冲区容量大小)、cached(缓存内容大小)
    [admin@controller ~]$ free -m
    
  • Head命令

    # 含义:从文件开头打印指定文件内容
    # 指令:head
    # 选项:-[n] 查看前n行内容,若省略则默认打印前10行内容
    # 对象:打印文件的路径
    [admin@controller ~]$ head -10
    
  • Tail命令

    # 含义:从文件结尾打印指定文件内容
    # 指令:tail
    # 选项:-[n] 查看后n行内容,若省略则默认打印后10行内容
    #      -f 持续刷新打印内容
    # 对象:打印文件的路径
    [admin@controller ~]$ tail -10
    
  • Word Count命令

    # 含义:统计并打印文件内容信息
    # 指令:wc
    # 选项:-l 打印统计的行数
    #      -w 打印统计的单词数
    #      -c 打印统计的字符数
    #      (若省略选项则上面内容将全部打印)
    # 对象:打印文件的路径(可同时打印多个文件,此时需要用空格隔开)
    [admin@controller ~]$ wc /etc/hosts
    
  • Date命令

    # 含义:获取或设置系统时间
    # 指令:date
    # 选项:-d 为打印输出的时间增加一个偏移量,偏移量作为命令操作对象之一紧邻该选项之后,具体格式可以为“+1year”、"-10day"等
    # 对象:可省略,则打印详细时间
    #      '+%F',等价于“+%Y-%m-%d”,输出格式为“年-月-日”
    #      '+%T',等价于“+%H:%M:%S”,输出格式为“时:分:秒”
    #      '+%F %T',等价于“+%Y-%m-%d %H:%M:%S”,输出格式为“年-月-日 时:分:秒”
    [admin@controller ~]$ date -d -1year '+%F %T'
    
  • Calendar命令

    # 含义:获取或设置系统日期
    # 指令:cal
    # 选项:-1 显示当前月历
    #      -3 显示当前月和相邻月的日历
    #      -y 显示指定年份的日历,紧邻该选项之后可以设置一个对象来指定年份,省略对象默认为当前年份
    [admin@controller ~]$ cal -1
    
  • Clear命令

    # 含义:清除终端中已经打印的信息
    # 指令:clear
    # 备注:等价于使用快捷键 Ctrl + L
    [admin@controller ~]$ clear
    
  • 管道符

    # 含义:用于串联多个指令,将前一个指令的输出作为后一个指令的输入
    # 指令:|
    [admin@controller ~]$ netstat -apn | grep sshd
    
  • Global Regular Expression Print命令

    # 含义:使用正则表达式搜索指定文档,并将与之匹配的所在行数据打印出来
    # 指令:grep
    # 选项:-r 递归查找
    #      -v 反向查找(打印输出无匹配内容的行)
    # 对象:匹配内容
    #      指定文档路径
    [admin@controller ~]$ grep 127 /etc/hosts
    
  • 重定向

    # 含义:更改输出内容的输出位置
    # 指令:> 将目标文件内容清空后再写入 
    #      >> 在目标文件末尾处追加写入
    # 对象:重定向目标文件路径
    # 备注:当重定向目标文件不存在时会自动创建
    [admin@controller ~]$ cal -1 > /root/date.txt
    

四、高级命令

  • Hostname命令

    # 含义:获取主机名称
    # 指令:hostname
    # 选项:-f 获取当前主机名中的FQDN
    # 备注:主机名配置文件路径为/etc/sysconfig/network
    [admin@controller ~]$ hostname -f
    
  • ID命令

    # 含义:获取用户相关信息
    # 指令:id
    # 对象:指定用户名称(若省略则默认为当前用户)
    # 备注:输出各字段为uid(用户ID)、gid(组ID)、groups(用户组ID)
    [admin@controller ~]$ id
    
  • Who am I命令

    # 含义:获取当前用户的用户名
    # 指令:whoami
    [admin@controller ~]$ whoami
    
  • Process命令

    # 含义:查看系统进程信息
    # 指令:ps
    # 选项:-e 显示所有进程
    #      -f 显示各进程所有信息
    # 备注:输出各字段为UID(用户ID)、PID(进程ID)、PPID(父进程ID)、C(CPU占用率)、STIME(创建日期)、TTY(运行终端)、TIME(运行时长)、CMD(进程名称或进程路径)
    #      若父进程ID对应进程不存在,则该进程为僵尸进程
    #      若TTY值为?,则表示该进程不是由终端发起
    [admin@controller ~]$ ps -ef
    
  • Top命令

    # 含义:查看系统硬件资源占用情况
    # 指令:top
    # 备注:输出各字段为PID(进程ID)、USER(所属用户)、PR(优先级)、NI(Nice值)、VIRT(虚拟内存)、RES(常驻内存)、SHR(共享内存)、S(睡眠状态)、%CPU(CPU占用率)、%MEM(内存占用率)、TIME+(运行时间)、COMMAND(进程名称或进程路径)
    #      命令会持续打印刷新,提供以下快捷键进行交互:
    #      q —— 结束打印输出
    #      P —— 按CPU占用率由高到低向下排序
    #      M —— 按内存占用率由高到低向下排序
    [admin@controller ~]$ top
    
  • Disk Usage命令

    # 含义:统计目录的存储空间大小
    # 指令:du
    # 选项:-s 仅显示总计
    #      -h 通过可视化格式打印
    [admin@controller ~]$ du -h
    
  • Find命令

    # 含义:用于查找文件路径
    # 指令:find
    # 选项:-name 搜索指定文件名模式的文件
    #      -type 搜索指定类型的文件或目录
    # 对象:搜索目录
    # 备注:-type d 表示仅搜索目录
    #      -tyoe f 表示仅搜索文件
    [admin@controller ~]$ find / -type f -name hosts
    
  • Service

    # 含义:控制系统服务开启关闭
    # 指令:service
    # 对象:对象一为服务名称
    #      对象二为操作类型start/stop/restart/status
    [admin@controller ~]$ service NetworkManager restart
    
  • Kill命令

    # 含义:终止指定的进程
    # 指令:kill
    # 选项:-9 彻底杀死进程
    #      -u 杀死指定用户所有进程
    # 对象:进程ID
    [admin@controller ~]$ kill -u admin
    
  • Ifconfig命令

    # 含义:打印网卡信息
    [admin@controller ~]$ ifconfig
    
  • Reboot命令

    # 含义:重启系统
    # 指令:reboot
    # 选项:-w 模拟重启(只记录重启日志不重启系统)
    [admin@controller ~]$ reboot
    
  • Shutdown命令

    # 含义:关闭系统
    # 指令:shutdown
    # 选项:-H 定时关机,后紧邻关机时间,可以为now或时间如12:00
    #      -c 取消预设的定时关机计划
    #      -r 定时重启,后紧邻重启时间,可以为now或时间如12:00
    [admin@controller ~]$ shutdown -H now
    
  • Uptime命令

    # 含义:查看计算机在线时长
    # 指令:uptime
    # 备注:打印输出格式为“系统当前时间 up 持续在线时长, 在线用户数 users, load average: 最近一分钟系统平均负载, 最近五分钟系统平均负载, 最近十五分钟系统平均负载”
    #      其中系统平均负载是指指定时间间隔内CPU内核队列中平均活动进程数
    [admin@controller ~]$ uptime
    
  • Uname命令

    # 含义:查看系统信息
    # 指令:uname
    # 选项:-a 查看系统详细信息
    [admin@controller ~]$ uname -a
    
  • Netstat命令

    # 含义:查看网络连接状态
    # 指令:netstat
    # 选项:-t 只列出TCP连接
    #      -n 将IP地址转换为数字形式
    #      -l 只列出处在监听状态的连接
    #      -p 显示发起连接的进程的ID和名称或路径
    #      -a 显示所有连接
    [admin@controller ~]$ netstat -apn
    
  • Manual命令

    # 含义:查询指令的用法
    # 指令:man
    # 对象:指令
    # 备注:命令会持续打印刷新,可以使用快捷键q退出打印
    [admin@controller ~]$ man ps
    

五、Vim编辑器

  • 概念:Vim是从Vi编辑器发展出来的一个文本编辑器,具有代码补全、编译、错误跳转等功能。

  • Vim命令

    # 含义:用Vim编辑器打开文本文件
    # 指令:vim
    # 选项:+数字 打开文件时光标定位到指定行
    #      +/关键词 打开文件时高亮标出关键词
    # 对象:文本文件路径
    [admin@controller ~]$ vim /etc/hosts
    
  • 运行模式

    # 命令模式:进入Vim编辑器时的默认模式,该模式下可通过快捷键命令对文件实现快速操作
    # 编辑模式:该模式下可以对文本内容进行编辑
    # 末行模式:通过在末行输入命令对文件进行操作
    
  • 模式切换

    不同模式间的相互切换流程和方式如下图所示:

vim编辑器模式切换.png

  • 命令模式

    1. 移动光标

      光标移至行首:shift + 6或^

      光标移至行尾:shift + 4或$

      光标移至首行:g -> g

      光标移至末行:G

      光标移至第n行:n -> G

      光标上/下/左/右移动n行:n -> 方向键

    2. 屏幕翻页

      向上翻屏:ctrl + b 或 PgUp

      向下翻屏:ctrl + f 或 PgDn

    3. 复制粘贴

      复制光标所在行:y -> y

      以光标所在行为准向下复制n行:n -> y -> y

      粘贴:p

      可视化复制:ctrl + v -> 方向键选定复制范围 -> y -> y

    4. 剪切/删除

      剪切/删除光标所在行:d -> d

      以光标所在行为准向下删除/剪切n行:n -> d -> d

      剪切/删除光标所在行的内容:D

    5. 撤销和恢复

      撤销:u

      恢复:ctrl + r

  • 末行模式

    1. 保存操作

      保存:w

      另存为:w 文件路径

    2. 推出vim编辑器

      直接退出:q

      保存退出:wq

      强制退出:q!

      临时退出并执行外部命令:!命令

    3. 查找

      查找:/关键词

      查找结果向下查找:n

      查找结果向上查找:N

    4. 取消关键词高亮

      取消高亮:nohi

    5. 替换

      替换光标所在行首次出现的匹配内容:s/匹配模式/替换内容

      替换光标所在行全部的匹配内容:s/匹配模式/替换内容/g

    6. 设置行号

      显示行号:set nu

      隐藏行号:set nonu

    7. 多文件并行操作

      查看一打开的所有文档文件:files

      切换正在编辑的文件:open 文件名

      切换至下一个要编辑的文件:bn

      切换至上一个要编辑的文件:bp

    8. 文档着色

      显示着色:syntax on

      隐藏着色:syntax off

  • 编辑模式

    1. 进入编辑模式

      在光标所在字符前开始编辑:i

      在光标所在字符后开始编辑:a

      在光标所在行下新建一行开始编辑:o

六、Linux内置服务

  • init进程

    1. 含义

      init进程是一个用户级进程,在系统启动时由系统内核自动发起,为系统的第一个进程,进程号为1,是所有Linux进程的父进程,它可以指定Linux系统的运行级别。

    2. 系统运行级别

      操作系统当前正在运行的功能级别,其配置和释义存放在/etc/inittab中。其定义的各运行级别功能如下:

      运行级别功能
      0停机
      1单用户模式
      2多用户模式(不含网络服务)
      3多用户模式
      4保留模式
      5X11(图形界面模式)
      6重启
    3. 切换运行级别

      # 指令:init
      # 对象:系统运行级别
      # 备注:切换模式必须在root用户下进行
      [root@controller ~]# init 1
      
  • 用户管理

    1. 含义

      Linux系统下用户账号的添加、删除、修改以及用户组管理

    2. 配置文件

      存储用户账号等关键信息:/etc/passwd

      存储用户组等关键信息:/etc/group

      存储用户密码信息:/etc/shadow

    3. 添加用户

      # 指令:useradd
      # 选项:-g 指定用户所属主用户组,后紧邻用户组id或用户名
      #      -G 指定用户所属附加组,后紧邻用户组id或组名
      #      -u 用户id(uid),若不设置系统会默认从500开始按序分配
      # 对象:用户名
      [root@controller ~]# useradd -g admins admin
      
    4. 修改用户

      # 指令:usermod
      # 选项:-g 重设用户所属主用户组,后紧邻用户组id或用户名
      #      -G 重设用户所属的附件组,后紧邻用户组id或用户名
      #      -u 重设用户id(uid),后紧邻新用户id
      #      -l 重设用户名,后紧邻新用户名
      # 对象:用户名
      [root@controller ~]# usermod -g admins admin
      
    5. 设置用户密码

      # 指令:passwd
      # 对象:用户名(若省略则默认为当前用户)
      [root@controller ~]# passwd admin
      
    6. 切换登录用户

      # 指令:su
      # 对象:用户名(若省略则默认为root用户)
      [root@controller ~]# su admin
      
    7. 删除用户

      # 指令:userdel
      # 选项:-r 同时删除该用户对应home目录
      # 对象:用户名
      [root@controller ~]# userdel -r admin
      
  • 用户组管理

    1. 含义

      每个用户都属于某个用户组,通过用户组可以实现对同一用户组下各用户的集中管理,用户组信息态存放于/etc/group文件中

    2. 添加用户组

      # 指令:groupadd
      # 选项:-g 设置用户组id,若不设置默认会从500开始按序分配,后紧邻具体的用户组id
      # 对象:用户组名
      [root@controller ~]# groupadd -g 888 admins
      
    3. 修改用户组

      # 指令:groupmod
      # 选项:-g 重设用户组id,后紧邻具体的用户组id
      #      -n 重设用户组名称,后紧邻新用户组名称
      # 对象:用户组名
      [root@controller ~]# groupmod -g 999 admins
      
    4. 删除用户组

      # 指令:groupdel
      # 对象:用户组名
      # 备注:操作前需保证被删除的用户组不为任何用户的主用户组
      [root@controller ~]# groupdel admins
      
  • 网络配置

    1. 配置文件

      网络配置文件存放目录:/etc/sysconfig/network-scripts

      网络配置文件命名格式:ifcfg-网卡名称

    2. 重启网络服务

      [root@controller ~]# systemctl restart network
      # 或使用以下命令
      [root@controller ~]# /etc/init.d/network restart
      
    3. 停用网卡

      # 指令:ifdown
      # 对象:网卡名称
      [root@controller ~]# ifdown ifcfg-eth0
      
    4. 启用网卡

      # 指令:ifup
      # 对象:网卡名称
      [root@controller ~]# ifup ifcfg-eth0
      
  • SSH服务

    1. 含义

      实现Linux系统的远程连接和远程文件传输功能,该服务使用TCP协议实现,默认端口号为22

    2. 配置文件

      服务配置文件:/etc/ssh/ssh_config

    3. 服务启动/停止/重启

      [root@controller ~]# systemctl start/stop/restart sshd
      
    4. 远程登录SSH服务

      # 指令:ssh
      # 选项:-p 自定义远程SSH服务端口号,后紧邻具体的端口号,若省略默认为22
      # 对象:用户名@主机名或主机IP
      [root@controller ~]# ssh root@192.168.1.1
      
    5. 远程文件传输

      # 含义:从远端主机下载文件至本地
      # 指令:scp
      # 选项:-r 递归下载指定目录下的所有文件
      # 对象:对象一为用户名@主机:文件路径
      #      对象二为本地下载存放路径
      [root@controller ~]# scp root@192.168.1.1:/root/assets.zip /root/
      
      # 含义:从本地上传文件至远端主机
      # 指令:scp
      # 选项:-r 递归上传指定目录下的所有文件
      # 对象:对象一为本地上传文件路径
      #      对象二为用户名@主机:存放路径
      [root@controller ~]# scp /root/assets.zip root@192.168.1.1:/root/
      
  • 应用服务自启动

    1. 含义

      管理系统应用服务在各系统运行级别下自启动配置

    2. 应用服务自启动配置查询

      [root@controller ~]# chkconfig --list
      
    3. 删除应用服务的自启动配置

      [root@controller ~]# chkconfig --del 服务名称
      
    4. 添加应用服务的自启动配置

      [root@controller ~]# chkconfig --add 服务名称
      
    5. 修改应用服务的自启动配置

      [root@controller ~]# chkconfig --level 系统运行级别 服务名称 on/off
      
  • NTP服务

    1. 含义

      管理系统时间同步配置

    2. 手动同步系统时间

      [root@controller ~]# ntp date 时间服务器地址
      
    3. NTP服务启动/停止/重启

      [root@controller ~]# systemctl start/stop/restart ntpd
      
  • 防火墙

    1. 含义

      防范网络攻击的软件防火墙

    2. 防火墙开启/关闭/重启

      [root@controller ~]# systemctl start/stop/restart iptables
      
    3. 查看防火墙配置

      [root@controller ~]# systemctl status iptables
      # 或使用以下命令
      [root@controller ~]# iptables -L
      
    4. 屏蔽指定IP

      [root@controller ~]# iptables -I INPUT -s IP地址或网段 -j DROP
      
    5. 将iptables修改的设置保存至配置文件/etc/sysconfig/iptables中:

      [root@controller ~]# /etc/init.d/iptables save
      
  • RPM服务

    1. 含义

      对系统应用程序进行管理,包括应用程序的查询、安装、卸载

    2. 应用查询

      [root@controller ~]# rpm -q[a] | grep 应用名称 # 选项-a表示查询所有应用
      
    3. 应用安装

      [root@controller ~]# rpm -i[vh] 应用安装包路径 # 选项-v表示安装时显示进度条,-h表示用#号显示进度条
      
    4. 应用卸载

      [root@controller ~]# rpm -e 应用名称 [--nodeps] # 选项--nodeps表示当应用存在依赖时忽略依赖关系直接卸载
      
  • 块设备管理

    1. 含义

      对硬盘、闪存、CD-ROM等块设备进行挂载和卸载操作

    2. 查看所有块状设备

      [root@controller ~]# lsblk
      
    3. 设备挂载

      # 指令:mount
      # 对象:对象一为设备原始挂载路径
      #      对象二为指定挂载路径
      # 备注:设备原始挂载路径统一在/dev下,挂载路径一般指定在/mnt下
      [root@controller ~]# mount /dev/usb1 /mnt/usb1
      
    4. 设备卸载

      # 指令:umount
      # 对象:挂载点
      [root@controller ~]# umount /mnt/usb1
      
  • 定时任务

    1. 含义

      实现系统在指定时间节点执行预先设定的任务,不同用户可以设置各自的定时任务

    2. 查看已有定时任务

      [root@controller ~]# crontab -l [-u 用户名] # 选项-u用以指定打印的定时任务所属用户,若省略则默认打印当前用户
      
    3. 修改定时任务

      [root@controller ~]# crontab -e [-u 用户名] # 选项-u用以指定打印的定时任务所属用户,若省略则默认打印当前用户
      

      上面命令会打开定时任务配置文档,文档内容每行格式为:

      分 时 日 月 周 计划执行的命令
      

      取值范围:

      单位最小值最大值
      059
      023
      131
      112
      06

      其中,可用以下符号简化书写:

      符号含义
      *表示取值为任意数字
      -连接两个数字表示区间
      /其后接的数字表示每隔的时间段
      ,连接两个数字表示他们都属于取值范围
    4. 删除定时任务

      [root@controller ~]# crontab -r [-u 用户名] # 选项-u指定删除特定用户的定时任务,若省略则默认为当前用户
      
    5. 禁用定时任务

      在配置文件/etc/cron.deny中添加需要禁用的用户的用户名,便可以禁止该用户创建定时任务

    6. 启用定时任务

      在配置文件/etc/cron.allow中添加需要启用的用户的用户名,便会允许该用户使用定时任务,且该文件执行优先级高于/etc/cron.deny

  • 权限管理

    1. 含义

      在多用户操作系统管理中,权限指特定用户具有特定的系统资源使用权力。在Linux系统中,系统资源的使用权力包括了读(read)、写(write)、执行(execute),用户身份包括了Owner、Group、Others和Root几种用户身份。

    2. 查看权限属性

      [root@controller ~]# ls -l # 选项-l表示显示文件和目录的详细信息,包括权限属性
      

      上面命令打印结果中,权限属性使用长度为10位的字符串表示,各字符含义如下:

      位数含义
      1表示文档类型,常见取值有d(目录)、-(文件)、l(软链接)、s(套接字)等
      2表示Owner身份用户读(read)权限,其值可以为r(可读)和-(不可读)
      3表示Owner身份用户写(write)权限,其值可以为w(可写)和-(不可写)
      4表示Owner身份用户执行(execute)权限,其值可以为x(可执行)和-(不可执行)
      5-7权限分配与第2-4位一致,表示Group身份用户
      8-10权限分配与第2-4位一致,表示Others身份用户
    3. 编辑权限属性

      # 指令:chmod
      # 选项:-R 表示为目录设置权限时递归修改目录内所有文档的权限
      #       权限模式 表示需要设置的权限模式,共有字母和数字两种模式。
      #               其中,字母模式的格式为用户身份加上运算符加上具体权限。用户身份可以为u(Owner)、g(Group)、o(Others)、a(所有身份);运算符可以为+(添加权限)、-(移除权限)、=(覆盖权限);具体权限可以为r(读)、w(写)、x(执行)、-(无权限)。若同时设置多个身份的用户权限,可以在它们之间用逗号分隔。
      #               其次,数字模式的格式是由三位数字组成,分别对应Owner、Group、Others三种用户身份,其值可以为4(读)、2(写)、1(执行)相加减的结果
      # 对象:文档或目录
      [root@controller ~]# chmod -R a+7 /root/music/
      
    4. 编辑所属用户

      # 指令:chown
      # 选项:-R 表示为目录设置权限时递归修改目录内所有文档的权限
      # 对象:对象一为指定用户名
      #      对象二为指定文档或目录
      [root@controller ~]# chown -R admin /root/music/
      
    5. 编辑文档所属用户组

      # 指令:chgrp
      # 选项:-R 表示为目录设置权限时递归修改目录内所有文档的权限
      # 对象:对象一为指定用户组名
      #      对象二为指定文档或目录
      [root@controller ~]# chgrp -R admins /root/music/
      
    6. 同时编辑所属用户和用户组

      # 指令:chown
      # 选项:-R 表示为目录设置权限时递归修改目录内所有文档的权限
      # 对象:对象一为指定用户名加冒号加指定用户组名
      #      对象二为指定文档或目录
      [root@controller ~]# chown -R admin:admins /root/music/
      

七、网络服务

  • Ping命令

    # 含义:检测当前主机与目标主机之间的连通性
    # 指令:ping
    # 选项:-t 持续发送ICMP报文直至手动停止
    # 对象:目标主机的主机名或IP地址或域名等
    # 备注:如果未能Ping通并不代表一定不连通,也有可能是因为目标机器禁用了Ping
    [root@controller ~]# ping 127.0.0.1
    
  • Traceroute命令

    # 含义:检测当前主机与目标主机之间所有网关
    # 指令:traceroute
    # 对象:目标主机的主机名或IP地址或域名等
    # 备注:该命令非Linux内置命令,使用前需手动安装。Windows系统中该命令为tracert
    [root@controller ~]# traceroute 127.0.0.1
    
  • ARP命令

    # 含义:查看或操作ARP信息表
    # 指令:arp
    # 选项:-a 查看本地所有ARP缓存信息
    #      -d 删除指定主机的缓存记录,后紧邻指定主机IP地址
    [root@controller ~]# arp -a
    
  • TCPDump命令

    # 含义:抓取数据包信息
    # 指令:tcpdump
    # 选项:-i 指定抓取的网卡接口,后紧邻网卡接口号
    # 对象:(1)tcp port 端口号  抓取指定端口的数据包
    #      (2)host 主机名/IP地址  抓取指定主机的数据包
    #      (3)tcp port 端口号 and host 主机名或IP地址  同时指定IP地址和端口号
    [root@controller ~]# tcpdump -i ifcfg-eth0 tcp port 80 and host 127.0.0.1