第一周博客要求

  1. 描述计算机的组成及其功能
  2. 按系列罗列Linux的发行版本,并描述不同发行版之间的联系与区别
  3. 描述Linux的哲学思想,并按照自己的理解对其进行解释性描述
  4. 说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff 、reboot、hwclock、date命令的使用,并配合相应的示例来阐述
  5. 如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的
  6. 请罗列Linux发行版的基础目录名称命令法则及功用规定

描述计算机的组成及其功能

  • 计算机的组成:

    计算机由硬件加软件组成;软件由系统软件和应用软件组成;硬件包括运算器、控制器、存储器、输入输出设备;

  • 计算机各部级的功能

运算器和控制器,即我们常见的CPU。运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。

存储器的作用是存储数据,分为内存和外存。通俗的讲,内存即RAM,外存是我们常见的硬盘、U盘、光盘等。内存掉电后信息丢失,外存存储的信息掉电后不丢失。因为硬盘的运行速度远低于CPU,所以将内存作为硬盘与CPU之间的一个缓冲区。

输入输出设备:作为人机交互接口,包括键盘、鼠标、显示器、打印机等设备

按系列罗列Linux的发行版本,并描述不同发行版之间的联系与区别

REDHAT:包括了服务器版的RHEL、社区版的CentOS以及Fedora等

SLS:其中最出名的是S.U.S.E

Debian:包括Debian和Ubuntu等。Debian是社区类Linux的典范,也最遵循GNU规范。

描述Linux的哲学思想,并按照自己的理解对其进行解释性描述

  • Linux的哲学思想:

一切皆文件; 这里的文件不仅仅是我们通常所指的文件,在linux和unix中它代表的更为宽泛。目录、字符设备、块设备、 套接字、进程、线程、管道等都被视为是一个“文件”

由目的单一的小程序组成;组合小程序完成复杂任务; 比如bash脚本,就是使用多个外部的命令来实现某个复杂的功能

尽量避免捕获用户接口;

配置文件保存为纯文本格式;

说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff 、reboot、hwclock、date命令的使用,并配合相应的示例来阐述

命令的使用格式

Linux的命令使用格式一般是 ~]#COMMAND [Option] [Argment]

COMMAND:指的是一条Linux命令

Option指的是这个命令的先项,用于调整命令的作用或者功能

Argment指的是参数,一般是指命令的作用对象

例如: 下面的命令ls指的是linux的一条命令, -l 是ls的选项,用于修正命令的显示结果,用长格式来显示; /etc/init.d是参数,指这个命令将作用于/etc/init.d这个目录

        ~]#  ls -l /etc/init.d

命令详解

  • ifconfig: 配置网络接口、显示接口相关信息;常用于配置和显示接口的IP
ifconfig
参数:
-a: 显示所有接口的信息,包括未启用的接口
-up: 启用某个接口
-down: 关闭某个接口

[root@localhost ~]# ifconfig eth0 192.168.99.20 netmask 255.255.255.0 

[root@localhost ~]# route add default gw 192.168.99.254

[root@localhost ~]# ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.99.20  netmask 255.255.255.0  broadcast 192.168.99.255
        inet6 fe80::b107:482e:27bd:7123  prefixlen 64  scopeid 0x20<link>
        ether 00:15:5d:63:5a:04  txqueuelen 1000  (Ethernet)
        RX packets 346323  bytes 25152778 (23.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3547  bytes 559794 (546.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 16  bytes 1748 (1.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 16  bytes 1748 (1.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
       
[root@localhost ~]# ifconfig 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.99.20  netmask 255.255.255.0  broadcast 192.168.99.255
        inet6 fe80::b107:482e:27bd:7123  prefixlen 64  scopeid 0x20<link>
        ether 00:15:5d:63:5a:04  txqueuelen 1000  (Ethernet)
        RX packets 346439  bytes 25165224 (23.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3609  bytes 573382 (559.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 16  bytes 1748 (1.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 16  bytes 1748 (1.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@localhost ~]# ifconfig lo down
[root@localhost ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.99.20  netmask 255.255.255.0  broadcast 192.168.99.255
        inet6 fe80::b107:482e:27bd:7123  prefixlen 64  scopeid 0x20<link>
        ether 00:15:5d:63:5a:04  txqueuelen 1000  (Ethernet)
        RX packets 346479  bytes 25169946 (24.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3637  bytes 578510 (564.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@localhost ~]# ifconfig lo up
[root@localhost ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.99.20  netmask 255.255.255.0  broadcast 192.168.99.255
        inet6 fe80::b107:482e:27bd:7123  prefixlen 64  scopeid 0x20<link>
        ether 00:15:5d:63:5a:04  txqueuelen 1000  (Ethernet)
        RX packets 346525  bytes 25175586 (24.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3671  bytes 584138 (570.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 16  bytes 1748 (1.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 16  bytes 1748 (1.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • echo:显示一行文本,用法非常多,常见的是将输入的信息在屏幕上显示出来
echo
参数:
-n: 不输出行尾的换行符
-e: 允许对下面列出的加反斜线转义的字符进行解释.

[root@localhost ~]# echo -n "This is line 1"
This is line 1[root@localhost ~]# 

[root@localhost ~]# echo  "This is line 1"
This is line 1



[root@localhost ~]# echo -e "\033[31m 红色字 \033[0m"
 红色字 
 

tty: 示连接标准输入的终端的文件名,常使用的有虚拟终端和伪终端。 虚拟终端其实是附加在物理终端上的,我们也可以理解为虚拟终端就是Console,使用tty表示 伪终端:在图形界面打开的命令接口,还有远程登录过来的终端,使用pts表示

[root@localhost ~]# tty
/dev/pts/1

  • startx: 启动图形界面会话
参数
-w: 强制启动x会话
  • export: 为 shell 变量设定导出属性,用于定义环境变量,环境变量是指在子shell中还可以使用的变量
[root@localhost ~]# export name=liuqing
[root@localhost ~]# echo $name
liuqing

[root@localhost ~]# sh
sh-4.2# echo $name
liuqing
  • pwd: 显示当前(工作)目录的名称,
[root@localhost ~]# pwd
/root
  • history: 显示或操纵历史列表。
history: history [-c] [-d 偏移量] [n] 
        或 history -anrw [文件名]
        或 history -ps 参数 [参数...]
    显示或操纵历史列表。
    
    带行号显示历史列表,将每个被修改的条目加上前缀 `*'。
    参数 N 会仅列出最后的 N 个条目。
    
    选项:
      -c        删除所有条目从而清空历史列表。
      -d 偏移量 从指定位置删除历史列表。
    
      -a        将当前会话的历史行追加到历史文件中
      -n        从历史文件中读取所有未被读取的行
      -r        读取历史文件并将内容追加到历史列表中
        中
      -w        将当前历史写入到历史文件中
        并追加到历史列表中
    
      -p        对每一个 ARG 参数展开历史并显示结果
        而不存储到历史列表中
      -s        以单条记录追加 ARG 到历史列表中
      
      

示例:
[root@localhost ~]# history   
    不带参数的history,用于显示所有的命令历史

[root@localhost ~]# history -c
[root@localhost ~]# history
    1  history
用于清空内存中的命令历史

[root@localhost ~]# history -r
用于将配置文件中的命令历史读入到内存中,这个配置文件在每个用户的家目录下的.bash_history文件中

[root@localhost ~]# echo $HISTFILE
/root/.bash_history

[root@localhost ~]# history -w
    用于将内存中的命令历史写入到配置文件
    
[root@localhost ~]# history -w
  804  history  # 当前的内存中,总共有804条命令历史记录,接下来,我们删除从第10条开始,后面的700条
 
 [root@localhost ~]# history   
 ...
 797  exit
 ...
 使用命令历史,查看当前的第797条命令历史为exit, 现在我们删除这个命令历史,使用history -c 797
 
 
  
 [root@localhost ~]# history -d 797    #这条命令的意思是删除命令历史中的第797条。
 [root@localhost ~]# history 
 ...
 797  history
 ...
 
 关于 -d 偏移量  连续值  ,这条命令测试结果无效。
 
 
  • shutdown: 以一种安全的方式关闭系统,阻止用户登录,所有用户都可以看到关机的提示信息。
参数:
选项 OPTIONS
      

       -t sec 通知    init(8)    在转换到其它运行级别前,发送警告    (warning)
              信号后延时 (sec) 秒数后再发送关闭 (kill) 信号。

       -k     并非真正关机,只向所有人显示警告信息。

       -r     重启。

       -h     停机。

       -n     [DEPRECATED(不应再使用)]             不调用              init(8)
              程序进行关机操作,而由自己进行。不建议用户使用这种关机方式,它的结果一般也不是你希望的那样。

       -f     重启时跳过磁盘检测。

       -F     重启时强制磁盘检测。

       -c     取消运行中的     shutdown     进程。不可能为此选项指定      time
              参数,但你可以在命令行输入一条解释消息来向所有用户说明。(一般的shut‐
              down指令可以用按“+”号来进行中断)

       time   关机时间。

       warning-message
              发送给所有用户的消息。

        time 参数的格式可以有很多种。首先,可以是  hh:mm  格式的绝对时间,其中
       hh   指的是小时(一到二位数),mm   指的是分钟(二位数)。第二种是   +m
       格式,其中 m 指的是等待的分钟数。 now 是 +0 的别名。

       如果 shutdown 在调用时使用了延时,它将自动创建一个咨询 (advisory)  文件
       /etc/nologin  ,作用是禁止  login(1) 允许新用户登陆,除非 shutdown 在向
       init 发信号前意外中止 (就是说,它被取消或出了什么问题)。它会在调用 init
       改变运行级之前删除这个文件。

       -f  标志意味着  `快速重启'。这将创建一个咨询  (advisory) 文件 /fastboot
       ,此文件在系统重启时会被检测到。启动脚本                             rc
       会检测是否存在这样的文件,如果有,就不会再运行
       fsck(1),因为系统是以正常方式关闭的。这之后,启动进程会删除 /fastboot。

示例:
# -k选项并不真正关机,只是会出现一个提示信息。
[root@localhost ~]# shutdown -k
Shutdown scheduled for 一 2017-12-04 22:48:28 CST, use 'shutdown -c' to cancel.
[root@localhost ~]# 
Broadcast message from root@localhost.localdomain (Mon 2017-12-04 22:47:28 CST):

The system is going down for power-off at Mon 2017-12-04 22:48:28 CST!

^C
[root@localhost ~]# 

# -r选项用于重启计算机,可以使用-c来取消关机
[root@localhost ~]# shutdown -r
Shutdown scheduled for 一 2017-12-04 22:51:25 CST, use 'shutdown -c' to cancel.
[root@localhost ~]# 
Broadcast message from root@localhost.localdomain (Mon 2017-12-04 22:50:25 CST):

The system is going down for reboot at Mon 2017-12-04 22:51:25 CST!

^C
[root@localhost ~]# shutdown -c

Broadcast message from root@localhost.localdomain (Mon 2017-12-04 22:50:35 CST):

The system shutdown has been cancelled at Mon 2017-12-04 22:51:35 CST!

# -h选项,可用于关闭计算机,后面需要跟一个时间,时间可以是hh:mm格式,表示小时:分钟,也可以是+m格式,m表示分钟。now表示立即关机

Last login: Mon Dec  4 22:47:24 2017 from 175.9.42.209
[root@localhost ~]# shutdown -h +5
Shutdown scheduled for 二 2017-12-05 14:26:20 CST, use 'shutdown -c' to cancel.
[root@localhost ~]# 
Broadcast message from root@localhost.localdomain (Tue 2017-12-05 14:21:21 CST):

The system is going down for power-off at Tue 2017-12-05 14:26:20 CST!

^C
[root@localhost ~]# shutdown -c

Broadcast message from root@localhost.localdomain (Tue 2017-12-05 14:21:26 CST):

The system shutdown has been cancelled at Tue 2017-12-05 14:22:26 CST!

#-t选项,指明了shutdown操作的时间,以秒为单位
[root@localhost ~]# shutdown -h -t 1000
Shutdown scheduled for 二 2017-12-05 15:08:49 CST, use 'shutdown -c' to cancel.
[root@localhost ~]# 
Broadcast message from root@localhost.localdomain (Tue 2017-12-05 15:07:49 CST):

The system is going down for power-off at Tue 2017-12-05 15:08:49 CST!

^C
[root@localhost ~]# shutdown -c

Broadcast message from root@localhost.localdomain (Tue 2017-12-05 15:07:53 CST):

The system shutdown has been cancelled at Tue 2017-12-05 15:08:53 CST!

  • poweroff 、reboot:停止、关机、重启计算机
选项

       --halt
           Halt the machine, regardless of which one of the three commands is invoked.

       -p, --poweroff
           Power-off the machine, regardless of which one of the three commands is invoked.

       --reboot
           Reboot the machine, regardless of which one of the three commands is invoked.

       -f, --force
           Force immediate halt, power-off, reboot. Do not contact the init system.

  • hwclock: query or set the hardware clock (RTC) 查询或者设置硬件时钟
    [root@localhost ~]# file /usr/sbin/clock
/usr/sbin/clock: symbolic link to `hwclock'

   hwclock:显示硬件时钟
   hwclock  -s      hctosys     以硬件时钟为准,将系统时钟设置成硬件时钟一致
   hwclock  -w     systohc     以系统时钟为准,把硬件时钟设置为和系统时钟一致。    
  • date:显示和设置日期、时间

 格式 FORMAT 控制着输出格式. 仅当选项指定为全球时间时本格式才有效。 分别解释如下:

       %%     文本的 %

       %a     当前区域的星期几的简写 (Sun..Sat)

       %A     当前区域的星期几的全称 (不同长度) (Sunday..Saturday)

       %b     当前区域的月份的简写 (Jan..Dec)

       %B     当前区域的月份的全称(变长) (January..December)

       %c     当前区域的日期和时间 (Sat Nov 04 12:02:33 EST 1989)

       %d     (月份中的)几号(用两位表示) (01..31)

       %D     日期(按照 月/日期/年 格式显示) (mm/dd/yy)

       %e     (月份中的)几号(去零表示) ( 1..31)

       %h     同 %b

       %H     小时(按 24 小时制显示,用两位表示) (00..23)

       %I     小时(按 12 小时制显示,用两位表示) (01..12)

       %j     (一年中的)第几天(用三位表示) (001..366)

       %k     小时(按 24 小时制显示,去零显示) ( 0..23)

       %l     小时(按 12 小时制显示,去零表示) ( 1..12)

       %m     月份(用两位表示) (01..12)

       %M     分钟数(用两位表示) (00..59)

       %n     换行

       %p     当前时间是上午 AM 还是下午 PM

       %r     时间,按 12 小时制显示 (hh:mm:ss [A/P]M)

       %s     从 1970年1月1日0点0分0秒到现在历经的秒数 (GNU扩充)

       %S     秒数(用两位表示)(00..60)

       %t     水平方向的 tab 制表符

       %T     时间,按 24 小时制显示(hh:mm:ss)

       %U     (一年中的)第几个星期,以星期天作为一周的开始(用两位表示) (00..53)

       %V     (一年中的)第几个星期,以星期一作为一周的开始(用两位表示) (01..52)

       %w     用数字表示星期几 (0..6); 0 代表星期天

       %W     (一年中的)第几个星期,以星期一作为一周的开始(用两位表示) (00..53)

       %x     按照 (mm/dd/yy) 格式显示当前日期

       %X     按照 (%H:%M:%S) 格式显示当前时间

       %y     年的后两位数字 (00..99)

       %Y     年(用 4 位表示) (1970...)

       %z     按照 RFC-822 中指定的数字时区显示(如, -0500) (为非标准扩充)

       %Z     时区(例如, EDT (美国东部时区)), 如果不能决定是哪个时区则为空

       默认情况下,用 0 填充数据的空缺部分.  GNU 的 date 命令能分辨在 `%'和数字指示之间的以下修改.

              `-' (连接号) 不进行填充 `_' (下划线) 用空格进行填充
              
[MMDDhhmm[[CC]YY][.ss]]
表示方法为 月月日日时时分分[[分分]年年年年][秒秒]
总览 date [选项]... [+格式] date [选项] [MMDDhhmm[[CC]YY][.ss]]

[root@localhost ~]# date 
2017年 11月 26日 星期日 11:51:00 CST

显示日期 [root@localhost ~]# date 
2017年 11月 26日 星期日 11:51:00 CST

调整当前日期为2015年1月1日0点0分0秒 
[root@localhost ~]# date 010100002015.00 
2015年 01月 01日 星期四 00:00:00 CST

显示日期格式为今天是今年的第多少天 
[root@localhost etc]# date +%j 
320

只显示年
[root@localhost etc]# date +%y 
17

[root@localhost etc]# date +%Y 
2017

只显示月
[root@localhost etc]# date +%b 
11月 
[root@localhost etc]# date +%B 
十一月

只显示年月日 
[root@localhost etc]# date +%Y年%b%e日 
2017年11月16日

显示当前时间,不显示年月日 
[root@localhost etc]# date +%H时%M分 
12时16分

说明: shutdown实际上是调用init 0, init 0会cleanup一些工作然后调用halt或者poweroff。其实主要区别是halt和poweroff,做没有acpi的系统上,halt只是关闭了os,电源还在工作,你得手动取按一下那个按钮,而poweroff会发送一个关闭电源的信号给acpi。但在现在的系统上,他们实际上都一样了

如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。

获取帮助

  • Linux系统上的命令包括内部命令和外部命令两种,它们获取帮助的方法各不相同
  • 使用type命令可以查看命令是内部命令还是外部命令
示例:
[root@localhost ~]# type cd
cd 是 shell 内嵌
[root@localhost ~]# type ls
ls 是 `ls --color=auto' 的别名
[root@localhost ~]# type pwd
pwd 是 shell 内嵌
[root@localhost ~]# type date
date 已被哈希 (/usr/bin/date)
  • 内部命令获取帮助 使用help COMANND来获取命令的帮助

  • 外部命令获取帮助 使用COMMAND --help来获取较为简明的帮助 使用man COMMAND来获取命令的手册

man的使用方法

  • man分成8个章节
  1. 用户命令
  2. 系统调用
  3. C库调用
  4. 设备文件及特殊文件
  5. 文件格式(配置文件格式的说明)
  6. 游戏玩法说明
  7. 杂项
  8. 管理工具及守护进程
  • 如何知道命令有哪些man章节呢,使用whereis命令。 [root@localhost ~]# whereis passwd passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz

  • man的使用方法同 less命令,可以分屏查看,并且进行关键字查找

  • 使用方法

空格键:向文件尾翻一屏,向后翻页;
b: 向文件首部翻一屏; 
trl+d: 向文件尾部翻半页;
Ctrl+u: 向文件首部翻半屏;
回车键:一次向文件尾部翻一行;
k: 向文件首部翻一行;
G:跳转最后一行
#G:表示跳到指定行#,比如1G,跳转到第1行
        

文本搜索:
    /keyword:从文件当前首部向文件尾部依次查找;不区分字符大小写
        ?keyword::从文件尾部向文件首部依次查找;
      
        n,与查找命令方向相同
        N,与查找命令方向相反

请罗列Linux发行版的基础目录名称命令法则及功用规定

*Linux的发行版,都遵循FHS这个协定,即文件系统层级标准。英文为:Filesystem Hierarchy Standard

  • 维基百科--文件系统层级标准
  • 在FHS中,所有的(包括存储于不同物理/虚拟设备中的)文件和目录都存在于根目录 / 下。其中,部分目录仅当特定系统(如X Window)安装后才会存在。
  • 文件系统的常见的子目录
/lib:     -->/usr/lib:基本的共享库和内核共享模块(/lib/modeles)
/lib64:   -->/usr/lib64, 专用于x86_64系统上的辅助共享库文件的存放位置
/etc:    配置文件目录,有三个子目录需要关注 ,大多数都是纯文本文件
        /etc/opt:    早期第三方程序安装到/opt,现在不常使用, /etc/opt专门为/opt存放配置文件的目录
        /etc/X11: 图形界面的相关配置文件
        /etc/sgml: 
/home: 用户的家目录,普通用户的家目录
/root:    管理员的家目录,  一定不要使用管理员登录操作。
/media: 挂载便携式媒体文件,如U盘
       cdrom
       usb
/mnt:  挂载临时文件系统
/dev: 设备文件目录,
       b: block device:    支持随机访问
       c: character device: 线性访问
/opt:  安装第三方应用程序的位置,早期
/tmp 临时文件,所有用户都拥有读写权限
/usr:  /usr is  shareable read-only data   全局共享、只读数据   universal     通常独立分区
            额外其他命令程序,用户用到的只读资源文件
    bin:  保证系统拥有完整功能而提供的应用程序
    sbin:    
    lib:
    lib64:
    配置文件,依旧在/etc目录下
    include:   描述库文件的调用,C程序的头文件存放位置,以.h结尾
    share:    结构化独立的数据,例如doc, man等
    local:  第三方应用程序的安装位置,现在的应用程序一般都安装到此处。
             bin    sbin   lib   lib64   etc  share
/var:    通常独立分区,可变数据文件,存放经常发生变化的数据文件
    cache: 应用程序缓存数据目录
    lib:    可变状态信息
    

/proc:   基于内存的虚拟文件系统, 内核和进程信息的虚拟文件系统,多为内核参数;内核输出的信息,给予用户来查看
             例如 net.ipv4.ip_forward,虚拟为net/ipv4/ip_forward,存储在/proc/sys目录下,因此其完整路径为/proc/sys/net/ipv4/ip_forward
/sys:    sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径,与/proc类似,主要用来管理设备,如调整硬盘参数等。用于挂载sysfs文件系统,其主要作用是为管理linux设备提供了一种统一模型的接口。
/run:    

注: 本文部分内容来源于网络及马哥笔记。