精华内容
下载资源
问答
  • Linux

    千次阅读 多人点赞 2020-02-11 21:22:11
    文章目录1. Linux 介绍1.1 Linux 简介1.2 Linux 历史1.3 Linux 版本2. Linux 安装2.1 安装虚拟机2.2 安装 CentOS3.... Linux 的目录结构5. Linux 常用命令5.1 列出文件列表 ls5.2 切换目录命令 cd5.3 目录操作5.3....

    1. Linux 介绍

    1.1 Linux 简介

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    1.2 Linux 历史

    Linux 最初是由芬兰赫尔辛基大学学生 Linus Torvalds 由于自己不满意教学中使用的 MINIX 操作系统, 所以在 1990 年底由于个人爱好设计出了 LINUX 系统核心。后来发布于芬兰最大的 FTP 服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux 本身也逐渐发展壮大起来,之后 Linux 在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统。

    1.3 Linux 版本

    Linux的版本分为两种:

    1. 内核版本:内核版本是指在 Linus 领导下的内核小组开发维护的系统内核的版本号
    2. 发行版本:发行版本是一些组织和公司根据自己发行版的不同而自定的,但他们都使用了 Linux 内核

    主流的发行版本有:

    在这里插入图片描述

    2. Linux 安装

    2.1 安装虚拟机

    1. 下载 VMware Workstation

      https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
      
    2. 安装 VMware Workstation

      在这里插入图片描述

    2.2 安装 CentOS

    1. 下载 CentOS 镜像

      https://www.centos.org/download/
      
    2. 打开 VMware Workstation --> 创建新的虚拟机

      在这里插入图片描述

    3. 选择下载的 CentOS 映像文件

      在这里插入图片描述

    4. 配置用户名和密码

      在这里插入图片描述

    5. 设置虚拟机保存路径

      在这里插入图片描述

    6. 设置最大磁盘大小

      在这里插入图片描述

    7. 准备创建 CentOS

      在这里插入图片描述

    8. 成功安装 CentOS

      在这里插入图片描述

    3. 远程操作 Linux

    3.1 SecureCRT 介绍

    SecureCRT 是一款支持 SSH 的终端仿真程序,简单地说是 Windows 下登录 UNIX 或 Linux 服务器主机的软件。

    3.2 SecureCRT 登录 Linux

    1. 在 CentOS 中打开 Terminal,输入命令(显示网络设备)

      ifconfig
      

      这样我们就得到了虚拟机的 ip 地址:

      在这里插入图片描述

    2. 打开 SecureCRT,输入刚才得到的 ip 地址,连接

      在这里插入图片描述

    3. 以 root 用户登录

      在这里插入图片描述

    4. 登陆成功

      在这里插入图片描述

    4. Linux 的目录结构

    在这里插入图片描述

    5. Linux 常用命令

    5.1 列出文件列表 ls

    作用

    ls 用来显示当前目录下的内容。配合参数的使用,能以不同的方式显示目录内容。

    用法

    • ls 显示当前目录下的内容
    • ls -a 显示当前目录下的所有文件(包含隐藏的文件)
    • ls -l(简写为 ll) 显示当前目录下的详细信息

    5.2 切换目录命令 cd

    作用

    cd 命令用于切换当前工作目录至 dirName(目录参数)。

    用法

    • cd dirName 切换到 dirName 目录
    • cd … 切换到上一层目录
    • cd / 切换到系统根目录
    • cd ~ 切换到用户主目录
    • cd - 切换到上一个所在目录

    5.3 目录操作

    5.3.1 创建目录 mkdir

    作用

    mkdir 命令可用来创建子目录。

    用法

    • mkdir AAA 在工作目录下,建立一个名为 AAA 的子目录
    • mkdir -p BBB/Test 在工作目录下的 BBB 目录中,建立一个名为 Test 的子目录。 若 BBB 目录原本不存在,则建立一个。

    5.3.2 删除目录 rmdir

    作用

    rmdir 命令删除空的目录。

    不同参数

    • redir AAA 将工作目录下,名为 AAA 的子目录删除

    • rmdir -p BBB/Test 在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 也删除。

    5.4 浏览文件

    5.4.1 cat

    作用

    用于显示文件的内容。

    用法

    • cat fileName 显示文件的内容,文件太多时,会显示不完全

    5.4.2 more

    作用

    用于要显示的内容会超过一个画面长度的情况。按空格键显示下一个画面,回车显示下一行内容,按 q 键退出查看。

    用法

    • more fileName 按页显示文件的内容

    5.4.3 less

    作用

    less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。PgUp 和 PgDn 进行上下翻页。

    用法

    • more fileName 显示文件的内容,可以上下查看

    5.4.4 tail

    作用

    tail 命令可用于查看文件的内容,有一个常用的参数 -f 用于查阅正在改变的日志文件。

    用法

    • tail -10 fileName 查看文件后10行数据
    • tail -f fileName 动态查看文件(ctrl + c 退出)

    5.5 文件操作

    5.5.1 复制文件 cp

    作用

    cp 命令可以将文件从一处复制到另一处。一般在使用 cp 命令时将一个文件复制成另一个文件或复制到某目录时,需要指定源文件名与目标文件名或目录。

    用法

    • cp a.txt A/b.txt 将 a.txt 复制到 A 目录下 b.txt 文件
    • cp a.txt b.txt 将 a.txt 复制为 b.txt 文件

    5.5.2 移动文件 mv

    作用

    mv 命令用来为文件或目录改名、或将文件或目录移入其它位置。

    用法

    • mv a.txt A/b.txt 将 a.txt 移动到 A 目录下 b.txt 文件
    • mv a.txt b.txt 将 a.txt 重命名为 b.txt 文件

    5.5.3 删除文件 rm

    作用

    rm 命令用于删除一个文件或者目录。

    用法

    • rm a.txt 删除 a.txt 文件,删除需要用户确认(y/n)
    • rm -r A 将 A 目录及以下文件,删除需要用户确认
    • rm -rf A 将 A 目录及以下文件,不需要用户确认
    • rm -rf /* 删库命令,危险

    5.5.4 打包解压文件 tar

    作用

    tar 命令用于备份文件,解压备份文件

    用法

    • tar -cvf a.tar a.txt 将 a.txt 文件打包成 a.tar
    • tar -zcvf a.tar.gz a.txt 将 a.txt 文件压缩成 a.tar.gz
    • tar -xvf a.tar -C A 将 a.tar 文件解压到 A 目录
    • tar -zxvf a.tar.gz -C A 将 a.tar.gz 文件解压到 A 目录

    5.5.5 查找文件 find

    作用

    find 命令用来在指定目录下查找文件。

    用法

    • find / -name “a.txt” 在根目录下查找 a.txt 文件
    • find / -name “a*” 在根目录下查找以 “a” 开头的文件

    5.5.6 查找文件里的字符串 grep

    作用

    grep 命令用于查找文件里符合条件的字符串。

    用法

    • grep test a.txt --color 查找字符串 test 在 a.txt 文件中,并且高亮显示

    5.6 其他常用命令

    • pwd 显示当前所在目录
    • clear 清屏
    • touch a.txt 创建一个空的文件 a.txt

    6. Vim 编辑器

    6.1 Vim 的基本使用

    • vim fileName 打开文件

    6.2 Vim 的三种模式

    Vim 分为三种模式:

    • 命令模式:用户刚刚启动 vim,便进入了命令模式

    • 输入模式:在命令模式下按下 i 就进入了输入模式

      • ESC 退出输入模式,切换到命令模式
    • 底线命令模式:在命令模式下按下 : 就进入了底线命令模式

      • ESC 退出底线命令模式,切换到命令模式
      • :/a 查找 a
      • :wq 保存并退出
      • :q! 不保存退出

    6.3 重定向输出 > 和 >>

    作用

    > 重定向输出,覆盖原有内容

    >> 重定向输出,又追加功能

    用法

    • cat a.txtx > b.txt 将 a.txt 中内容覆盖到 b.txt 中

    • cat a.txt >> b.txt 将 a.txt 中内容追加到 b.txt 中

    • ifconfig > ifconfig.txt 将 ifconfig 的内容覆盖到 ifconfig.txt 中

    6.4 系统管理命令

    • ps 正在运行的某个进程的状态
      • ps –ef 查看所有进程
      • ps –ef | grep ssh 查找某一进程
    • kill 杀掉某一进程
      • kill 2868 杀掉 2868 编号的进程
      • kill -9 2868 强制杀死进程

    6.5 管道 |

    作用

    管道是 Linux 命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。

    用法

    • ls --help | more 分页查询帮助信息
    • ps –ef | grep java 查询名称中包含 Java 的进程

    7. Linux 的权限命令

    7.1 文件权限

    在这里插入图片描述

    从上图可以看到文件的权限分为了四部分:

    • 文件类型
      • - 表示文件
      • d 表示文件夹
      • l 表示链接
    • 属主权限
      • r 读 4
      • w 写 2
      • x 可执行 1
    • 属组权限
      • r 读 4
      • w 写 2
      • x 可执行 1
    • 其他用户权限
      • r 读 4
      • w 写 2
      • x 可执行 1

    7.2 变更文件的权限

    作用

    chmod 变更文件或目录的权限。

    用法

    chmod 755 a.txt 更改文件权限为 -rwxr-xr-x

    8. Linux 上常用网络操作

    8.1 主机名配置

    • hostname 查看主机
    • hostname xxx 修改主机名为 xxx,重启后无效
    • 修改 etc/sysconfig/network 文件中的 HOSTNAME,可以永久修改主机名

    8.2 IP 地址配置

    在这里插入图片描述

    可以看到当前使用的是 eth0 这个网卡以及 IP 地址,但这个 IP 地址是自动分配的,也就是说每次开机后,IP 地址可能会改变,这样很不方便,所以我们需要配置静态 IP 地址。

    配置静态 IP 地址

    1. vim /etc/sysconfig/network-scripts/ifcfg-eth0

      在这里插入图片描述

    2. i 进入输入模式,修改 BOOTPROTP=“static”,添加 IPADDR,NETMASK,GATEWAY

      在这里插入图片描述

    8.3 网络服务管理

    • service network status 查看指定服务的状态
    • service network stop 停止指定服务
    • service network start 启动指定服务
    • service network restart 重启制定服务

    防火墙设置

    • service iptables status 查看防火墙状态
    • service iptables stop 关闭防火墙
    • service iptables 启动防火墙
    展开全文
  • Linux根目录各个文件夹介绍及说明

    千次阅读 2019-01-01 22:36:45
    /usr/src 源代码,linux内核的源代码就放在/usr/src/linux里 /usr/local/bin 本地增加的命令 /usr/local/lib 本地增加的库根文件系统 通常情况下,根文件系统所占空间一般应该比较小,因为其中的绝大部分文件都不...
    /bin 二进制可执行命令
    
    /dev 设备特殊文件
    
    /etc 系统管理和配置文件
    
    /etc/rc.d 启动的配置文件和脚本
    
    /home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
    
    /lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件
    
    /sbin 系统管理命令,这里存放的是系统管理员使用的管理程序
    
    /tmp 公用的临时文件存储点
    
    /root 系统管理员的主目录(特权阶级)
    
    /mnt 系统提供这个目录是让用户临时挂载其他的文件系统。
    
    /lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里 /proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
    
    /var 某些大文件的溢出区,比方说各种服务的日志文件
    
    /run 里面的东西是系统运行时需要的, 不能随便删除. 但是重启的时候应该抛弃. 下次系统运行时重新生成
    
    /usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含:
    
    /usr/x11r6 存放x window的目录
    
    /usr/bin 众多的应用程序
    
    /usr/sbin 超级用户的一些管理程序
    
    /usr/doc linux文档
    
    /usr/include linux下开发和编译应用程序所需要的头文件
    
    /usr/lib 常用的动态链接库和软件包的配置文件
    
    /usr/man 帮助文档
    
    /usr/src 源代码,linux内核的源代码就放在/usr/src/linux里
    
    /usr/local/bin 本地增加的命令
    
    /usr/local/lib 本地增加的库根文件系统 通常情况下,根文件系统所占空间一般应该比较小,因为其中的绝大部分文件都不需要经常改动,而且包括严格的文件和一个小的不经常改变的文件系统不容易损坏。 除了可能的一个叫/ v m l i n u z标准的系统引导映像之外,根目录一般不含任何文件。所有其他文件在根文件系统的子目录中。
    

    解释:

    1. /bin: / b i n目录包含了引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。这些 命令都是二进制文件的可执行程序( b i n是b i n a r y - -二进制的简称),多是系统中重要的系统文件。

    2. /sbin: / s b i n目录类似/bin ,也用于存储二进制文件。因为其中的大部分文件多是系统管理员使用的基本的系统程序,所以虽然普通用户必要且允许时可以使用,但一般不给普通用户使用。

    3. /etc: / e t c目录存放着各种系统配置文件,其中包括了用户信息文件/ e t c / p a s s w d,系统初始化文件/ e t c / r c等。l i n u x正是有这些文件才得以正常地运行。

    4. /root: /root 目录是超级用户的目录。

    5. /lib: / l i b目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文件。这些文件包含了可被许多程序共享的代码,以避免每个程序都包含有相同的子程序的副本,故可以使得可执行文件变得更小,节省空间。

    6. /lib/modules: /lib/modules 目录包含系统核心可加载各种模块,尤其是那些在恢复损坏的系统时重新引导系统所需的模块(例如网络和文件系统驱动)。

    7. /dev: / d e v目录存放了设备文件,即设备驱动程序,用户通过这些文件访问外部设备。比如,用户可以通过访问/ d e v / m o u s e来访问鼠标的输入,就像访问其他文件一样。

    8. /tmp: /tmp 目录存放程序在运行时产生的信息和数据。但在引导启动后,运行的程序最好使用/ v a r / t m p来代替/tmp ,因为前者可能拥有一个更大的磁盘空间。

    9. /boot目录 / b o o t目录存放引导加载器(bootstrap loader)使用的文件,如l i l o,核心映像也经常放在这里,而不是放在根目录中。但是如果有许多核心映像,这个目录就可能变得很大,这时使用单独的文件系统会更好一些。还有一点要注意的是,要确保核心映像必须在i d e硬盘的前1 0 2 4柱面内。

    10. /mnt目录 / m n t目录是系统管理员临时安装( m o u n t )文件系统的安装点。程序并不自动支持安装到/mnt 。/mnt 下面可以分为许多子目录,例如/mnt/dosa 可能是使用m s d o s文件系统的软驱,而/mnt/exta 可能是使用e x t 2文件系统的软驱,/mnt/cdrom 光驱等等。

    11. /opt 这里主要存放那些可选的程序。你想尝试最新的firefox测试版吗?那就装到/opt目录下吧,这样,当你尝试完,想删掉firefox的时候,你就可以直接删除它,而不影响系统其他任何设置。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。 举个例子:刚才装的测试版firefox,就可以装到/opt/firefox_beta目录下,/opt/firefox_beta目录下面就包含了运行firefox所需要的所有文件、库、数据等等。要删除firefox的时候,你只需删除/opt/firefox_beta目录即可,非常简单。

    下面详细介绍:

    /etc文件系统

    /etc 目录包含各种系统配置文件,下面说明其中的一些。其他的你应该知道它们属于哪个程序,并阅读该程序的m a n页。许多网络配置文件在/etc 中。

    1. /etc/rc或/etc/rc.d或/etc/rc?.d 启动、或改变运行级时运行的脚本或脚本的目录。

    2. /etc/passwd 用户数据库,其中的域给出了用户名、真实姓名、用户起始目录、加密口令和用户的其他信息。

    3. /etc/fdprm 软盘参数表,用以说明不同的软盘格式。可用setfdprm 进行设置。更多的信息见s e t f d p r m的帮助页。

    4. /etc/fstab 指定启动时需要自动安装的文件系统列表。也包括用swapon -a启用的s w a p区的信息。

    5. /etc/group 类似/etc/passwd ,但说明的不是用户信息而是组的信息。包括组的各种数据。

    6. /etc/inittab init 的配置文件。

    7. /etc/issue 包括用户在登录提示符前的输出信息。通常包括系统的一段短说明或欢迎信息。具体内容由系统管理员确定。

    8. /etc/magic “f i l e”的配置文件。包含不同文件格式的说明,“f i l e”基于它猜测文件类型。

    9. /etc/motd m o t d是message of the day的缩写,用户成功登录后自动输出。内容由系统管理员确定。常用于通告信息,如计划关机时间的警告等。

    10. /etc/mtab 当前安装的文件系统列表。由脚本( s c r i t p )初始化,并由mount 命令自动更新。当需要一个当前安装的文件系统的列表时使用(例如df 命令)。

    11. /etc/shadow 在安装了影子( s h a d o w )口令软件的系统上的影子口令文件。影子口令文件将/ e t c / p a s s w d文件中的加密口令移动到/ e t c / s h a d o w中,而后者只对超级用户( r o o t )可读。这使破译口令更困难,以此增加系统的安全性。

    12. /etc/login.defs l o g i n命令的配置文件。

    13. /etc/printcap 类似/etc/termcap ,但针对打印机。语法不同。

    14. /etc/profile 、/ e t c / c s h . l o g i n、/etc/csh.cshrc 登录或启动时b o u r n e或c shells执行的文件。这允许系统管理员为所有用户建立全局缺省环境。

    15. /etc/securetty 确认安全终端,即哪个终端允许超级用户( r o o t )登录。一般只列出虚拟控制台,这样就不可能(至少很困难)通过调制解调器( m o d e m )或网络闯入系统并得到超级用户特权。

    16. /etc/shells 列出可以使用的s h e l l。chsh 命令允许用户在本文件指定范围内改变登录的s h e l l。提供一台机器f t p服务的服务进程ftpd 检查用户s h e l l是否列在/etc/shells 文件中,如果不是,将不允许该用户登录。

    17. /etc/termcap 终端性能数据库。说明不同的终端用什么“转义序列”控制。写程序时不直接输出转义序列(这样只能工作于特定品牌的终端),而是从/etc/termcap 中查找要做的工作的正确序列。这样,多数的程序可以在多数终端上运行。

    /dev文件系统

    /dev 目录包括所有设备的设备文件。设备文件用特定的约定命名,这在设备列表中说明。设备文件在安装时由系统产生,以后可以用/dev/makedev 描述。/ d e v / m a k e d ev.local 是系统管理员为本地设备文件(或连接)写的描述文稿(即如一些非标准设备驱动不是标准makedev 的一部分)。下面简要介绍/ d e v下一些常用文件。

    1. /dev/console 系统控制台,也就是直接和系统连接的监视器。

    2. /dev/hd i d e硬盘驱动程序接口。如: / d e v / h d a指的是第一个硬盘, h a d 1则是指/ d e v / h d a的第一个分区。如系统中有其他的硬盘,则依次为/ d e v / h d

    b、/ d e v / h d c、. . . . . .;如有多个分区则依次为h d a 1、h d a 2 . . . . . .

    1. /dev/sd s c s i磁盘驱动程序接口。如有系统有s c s i硬盘,就不会访问/ d e v / h a d,而会访问/ d e v / s d a。

    2. /dev/fd 软驱设备驱动程序。如: / d e v / f d 0指系统的第一个软盘,也就是通常所说的a:盘,/ d e v / f d 1指第二个软盘,. . . . . .而/ d e v / f d 1 h 1 4 4 0则表示访问驱动器1中的4 . 5高密盘。

    3. /dev/st s c s i磁带驱动器驱动程序。

    4. /dev/tty 提供虚拟控制台支持。如: / d e v / t t y 1指的是系统的第一个虚拟控制台, / d e v / t t y 2则是系统的第二个虚拟控制台。

    5. /dev/pty 提供远程登陆伪终端支持。在进行te l n e t登录时就要用到/ d e v / p t y设备。

    6. /dev/ttys 计算机串行接口,对于d o s来说就是“ c o m 1”口。 9. /dev/cua 计算机串行接口,与调制解调器一起使用的设备。

    7. /dev/null “黑洞”,所有写入该设备的信息都将消失。例如:当想要将屏幕上的输出信息隐藏起来时,只要将输出信息输入到/ d e v / n u l l中即可。

    /usr文件系统

    /usr 是个很重要的目录,通常这一文件系统很大,因为所有程序安装在这里。/usr 里的所有文件一般来自l i n u x发行版( d i s t r i b u t i o n );本地安装的程序和其他东西在/usr/local 下,因为这样可以在升级新版系统或新发行版时无须重新安装全部程序。/usr 目录下的许多内容是 可选的,但这些功能会使用户使用系统更加有效。/ u s r可容纳许多大型的软件包和它们的配置文件。下面列出一些重要的目录(一些不太重要的目录被省略了)。

    1. /usr/x11r6 包含x wi n d o w系统的所有可执行程序、配置文件和支持文件。为简化x的开发和安装,x的文件没有集成到系统中。x wi n d o w系统是一个功能强大的图形环境,提供了大量的图形工具程序。用户如果对microsoft wi n d o w s或m a c h i n t o s h比较熟悉的话,就不会对x wi n d o w系统感到束手无策了。

    2. /usr/x386 类似/ u s r / x 11r6 ,但是是专门给x 11 release 5的。

    3. /usr/bin 集中了几乎所有用户命令,是系统的软件库。另有些命令在/bin 或/usr/local/bin 中。

    4. /usr/sbin包括了根文件系统不必要的系统管理命令,例如多数服务程序。

    5. /usr/man、/ u s r / i n f o、/ u s r / d o c 这些目录包含所有手册页、g n u信息文档和各种其他文档文件。每个联机手册的“节”都有两个子目录。例如: / u s r / m a n /m a n 1中包含联机手册第一节的源码(没有格式化的原始文件),/ u s r / m a n / c a t 1包含第一节已格式化的内容。l联机手册分为以下九节:内部命令、系统调用、库函数、设备、文件格式、游戏、宏软件包、系统管理和核心程序。

    6. /usr/include 包含了c语言的头文件,这些文件多以. h结尾,用来描述c语言程序中用到的数据结构、子过程和常量。为了保持一致性,这实际上应该放在/usr/lib 下,但习惯上一直沿用了这个名字。

    7. /usr/lib 包含了程序或子系统的不变的数据文件,包括一些s i t e - w i d e配置文件。名字l i b来源于库(library); 编程的原始库也存在/usr/lib 里。当编译程序时,程序便会和其中的库进行连接。也有许多程序把配置文件存入其中。

    8. /usr/local 本地安装的软件和其他文件放在这里。这与/ u s r很相似。用户可能会在这发现一些比较大的软件包,如t e x、e m a c s等。/var文件系统/var 包含系统一般运行时要改变的数据。通常这些数据所在的目录的大小是要经常变化或扩充的。原来/ v a r目录中有些内容是在/ u s r中的,但为了保持/ u s r目录的相对稳定,就把那些需要经常改变的目录放到/ v a r中了。每个系统是特定的,即不通过网络与其他计算机共享。 下面列出一些重要的目录(一些不太重要的目录省略了)。

    9. /var/catman 包括了格式化过的帮助( m a n )页。帮助页的源文件一般存在/ u s r / m a n / m a n中;有些m a n页可能有预格式化的版本,存在/ u s r / m a n / c a t中。而其他的m a n页在第一次看时都需要格式化,格式化完的版本存在/var/man 中,这样其他人再看相同的页时就无须等待格式化了。 (/var/catman 经常被清除,就像清除临时目录一样。)

    10. /var/lib 存放系统正常运行时要改变的文件。

    11. /var/local 存放/usr/local 中安装的程序的可变数据(即系统管理员安装的程序)。注意,如果必要,即使本地安装的程序也会使用其他/var 目录,例如/var/lock 。

    12. /var/lock 锁定文件。许多程序遵循在/var/lock 中产生一个锁定文件的约定,以用来支持他们正在使用某个特定的设备或文件。其他程序注意到这个锁定文件时,就不会再使用这个设备或文件。

    13. /var/log 各种程序的日志( l o g )文件,尤其是login (/var/log/wtmp log纪录所有到系统的登录和注销) 和syslog (/var/log/messages 纪录存储所有核心和系统程序信息)。/var/log 里的文件经常不确定地增长,应该定期清除。

    14. /var/run 保存在下一次系统引导前有效的关于系统的信息文件。例如, /var/run/utmp 包含当前登录的用户的信息。

    15. /var/spool 放置“假脱机( s p o o l )”程序的目录,如m a i l、n e w s、打印队列和其他队列工作的目录。每个不同的s p o o l在/var/spool 下有自己的子目录,例如,用户的邮箱就存放在/var/spool/mail 中。

    16. /var/tmp 比/tmp 允许更大的或需要存在较长时间的临时文件。注意系统管理员可能不允许/var/tmp 有很旧的文件。

    /proc文件系统

    /proc 文件系统是一个伪的文件系统,就是说它是一个实际上不存在的目录,因而这是一个非常特殊的目录。它并不存在于某个磁盘上,而是由核心在内存中产生。这个目录用于提供关于系统的信息。下面说明一些最重要的文件和目录(/proc 文件系统在proc man页中有更详细的说明)。

    1. /proc/x 关于进程x的信息目录,这一x是这一进程的标识号。每个进程在/proc 下有一个名为自己进程号的目录。

    2. /proc/cpuinfo 存放处理器( c p u )的信息,如c p u的类型、制造商、型号和性能等。

    3. /proc/devices 当前运行的核心配置的设备驱动的列表。

    4. /proc/dma 显示当前使用的d m a通道。

    5. /proc/filesystems 核心配置的文件系统信息。

    6. /proc/interrupts 显示被占用的中断信息和占用者的信息,以及被占用的数量。

    7. /proc/ioports 当前使用的i / o端口。

    8. /proc/kcore 系统物理内存映像。与物理内存大小完全一样,然而实际上没有占用这么多内存;它仅仅是在程序访问它时才被创建。(注意:除非你把它拷贝到什么地方,否则/proc 下没有任何东西占用任何磁盘空间。)

    9. /proc/kmsg 核心输出的消息。也会被送到s y s l o g。

    10. /proc/ksyms 核心符号表。

    11. /proc/loadavg 系统“平均负载”; 3个没有意义的指示器指出系统当前的工作量。

    12. /proc/meminfo 各种存储器使用信息,包括物理内存和交换分区( s w a p )。

    13. /proc/modules 存放当前加载了哪些核心模块信息。

    14. /proc/net 网络协议状态信息。

    15. /proc/self 存放到查看/proc 的程序的进程目录的符号连接。当2个进程查看/proc 时,这将会是不同的连接。这主要便于程序得到它自己的进程目录。

    16. /proc/stat 系统的不同状态,例如,系统启动后页面发生错误的次数。

    17. /proc/uptime 系统启动的时间长度。

    18. /proc/version 核心版本。

    展开全文
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备(硬盘)。在系统关机前使用 shutdown命令,系统管理员会通知所有...
  • Linux常用命令总结 当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。 df df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。 df 统计数据块使用情况 ...

    目录

    Linux常用命令总结

    df

    语法

    示例

    英文显示内容参数说明:

    常用命令:

    du

    语法

    参数说明:

    常用命令:



    当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。

    df

    Linux df(英文全拼:disk free) 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。

    df 以磁盘分区为单位查看文件系统,可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

    语法

    df [选项]... [FILE]...
    • 文件-a, --all 包含所有的具有 0 Blocks 的文件系统
    • 文件--block-size={SIZE} 使用 {SIZE} 大小的 Blocks
    • 文件-h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...)
    • 文件-H, --si 很像 -h, 但是用 1000 为单位而不是用 1024
    • 文件-i, --inodes 列出 inode 资讯,不列出已使用 block
    • 文件-k, --kilobytes 就像是 --block-size=1024
    • 文件-l, --local 限制列出的文件结构
    • 文件-m, --megabytes 就像 --block-size=1048576
    • 文件--no-sync 取得资讯前不 sync (预设值)
    • 文件-P, --portability 使用 POSIX 输出格式
    • 文件--sync 在取得资讯前 sync
    • 文件-t, --type=TYPE 限制列出文件系统的 TYPE
    • 文件-T, --print-type 显示文件系统的形式
    • 文件-x, --exclude-type=TYPE 限制列出文件系统不要显示 TYPE
    • 文件-v (忽略)
    • 文件--help 显示这个帮手并且离开
    • 文件--version 输出版本资讯并且离开

    示例

    英文显示内容参数说明:

    • Filesystem:文件系统
    • Size: 分区大小
    • Used: 已使用容量
    • Avail: 还可以使用的容量
    • Use%: 已用百分比
    • Mounted on: 挂载点 

    常用命令:

    • df -hl:查看磁盘剩余空间
    • df -ia #列出各文件系统的i节点使用情况
    • df -T #列出文件系统的类型
    • df -h #目前磁盘空间和使用情况 以更易读的方式显示
    • df -k #以单位显示磁盘的使用情况

    du

    Linux du (英文全拼:disk usage)命令用于显示目录或文件的大小。

    du 会显示指定的目录或文件所占用的磁盘空间。

    语法

    du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>][--max-depth=<目录层数>][--help][--version][目录或文件]
    

    参数说明

    • -s:对每个Names参数只给出占用的数据块总数。
    • -a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
    • -b:以字节为单位列出磁盘空间使用情况(系统默认以k字节为单位)。
    • -k:以1024字节为单位列出磁盘空间使用情况。
    • -c:最后再加上一个总计(系统默认设置)。
    • -l:计算所有的文件大小,对硬链接文件,则计算多次。
    • -x:跳过在不同文件系统上的目录不予统计。
    • -h:以K,M,G为单位,提高信息的可读性。

    常用命令:

    • du -sh [目录名]:返回该目录的大小
    • du -sm [文件夹]:返回该文件夹总M数
    • du -h [目录名]:查看指定文件夹下的所有文件大小(包含子文件夹)
    • du -ah #详细查看当前目录,子目录下的,所有文件和目录
    • du test.bz2 #查看单个文件
    • du -h --max-depth=1 work/testing
    • du -sh * | grep G # 统计当前目录,文件大小(单位:gb)
    • du -sh * | grep m # 统计当前目录,文件大小(单位:mb)

    更多Linux命令:请参考-Linux常用命令总结

    展开全文
  • linux下proc文件夹详解

    千次阅读 2018-05-25 10:29:52
    Linux-proc proc 文件系统 在Linux中有额外的机制可以为内核和内核模块将信息发送给进程-- /proc 文件系统。最初设计的目的是允许更方便的对进程信息进行访问(因此得名),现在它被每一个有有趣的东西报告的内核...
    Linux-proc
        
    proc 文件系统
     
    在Linux中有额外的机制可以为内核和内核模块将信息发送给进程-- /proc 文件系统。最初设计的目的是允许更方便的对进程信息进行访问(因此得名),现在它被每一个有有趣的东西报告的内核使用,例如/proc/modules 有模块的列表/proc/meminfo 有内存使用的统计表。
     
      使用proc 文件系统的方法和使用设备驱动程序非常相似--创建一个/proc 文件需要的所有信息的结构,包括任何处理函数的指针(在我们的例子中只有一个,当某人试图从/proc 文件读时调用的那一个)。然后,init_module 在内核中登记该结构而cleanup_module 注销它。
     
      我们使用proc_register_dynamic(这是在2.0 版中的情况,在2.2 版中如果我们将节点设置为0系统将自动为我们做到) 的原因是我们不想预先决定我们的文件的节点数字,而是为防止冲突而由内核决定它。通常的文件系统存在于磁盘上而不是内存中(/proc 在内存中),在这中情况下,节点数是是指向文件的索引节点所在的磁盘位置的指针。节点包含文件的信息(例如文件的存取权限)和指向磁盘位置或文件数据可以被找到的几个位置的指针。
     
      因为当文件被打开或关闭的时候不能得到调用,所以在这个模块中没有地方放置MOD_INC_USE_COUNT 和MOD_DEC_USE_COUNT,并且,如果文件被打开随后模块被移除,我们没有办法避免后果。在下一章我们会看到一个艰难的但更灵活的可以处理/proc文件的实现方式,它也可以让我们防止那个问题。
     
    http://www.2cto.com/os/201202/119552.html
     
    Linux 内核提供了一种通过/proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。尽管在各种硬件平台上的Linux 系统的/proc 文件系统的基本概念都是相同的,但本文只讨论基于intel x86 架构的Linux /proc 文件系统。
     
    _________________ _________________ _________________
     
    /proc --- 一个虚拟文件系统
     
    /proc 文件系统是一种内核和内核模块用来向进程(process) 发送信息的机制(所以叫做/proc)。这个伪文件系统让你可以和内核内部数据结构进行交互,获取 有关进程的有用信息,在运行中(on the fly) 改变设置(通过改变内核参数)。 与其他文件系统不同,/proc 存在于内存之中而不是硬盘上。如果你察看文件/proc/mounts (和mount 命令一样列出所有已经加载的文件系统),你会看到其中 一行是这样的:
     
    grep proc /proc/mounts
    /proc /proc proc rw 0 0
     
    /proc 由内核控制,没有承载/proc 的设备。因为/proc 主要存放由内核控制的状态信息,所以大部分这些信息的逻辑位置位于内核控制的内存。对/proc 进行一次'ls -l' 可以看到大部分文件都是0 字节大的;不过察看这些文件的时候,确实可以看到一些信息。这怎么可能?这是因为/proc 文件系统和其他常规的文件系统一样把自己注册到虚拟文件系统层(VFS) 了。然而,直到当VFS 调用它,请求文件、目录的i-node 的时候,/proc 文件系统才根据内核中的信息建立相应的文件和目录。
     
    加载proc 文件系统
     
    如果系统中还没有加载proc 文件系统,可以通过如下命令加载proc 文件系统:
     
    mount -t proc proc /proc
    上述命令将成功加载你的proc 文件系统。更多细节请阅读mount 命令的man page。
     
    察看/proc 的文件
     
    /proc 的文件可以用于访问有关内核的状态、计算机的属性、正在运行的进程的状态等信息。大部分/proc 中的文件和目录提供系统物理环境最新的信息。尽管/proc 中的文件是虚拟的,但它们仍可以使用任何文件编辑器或像'more', 'less'或'cat'这样的程序来查看。当编辑程序试图打开一个虚拟文件时,这个文件就通过内核中的信息被凭空地(on the fly) 创建了。这是一些我从我的系统中得到的一些有趣结果:
     
    $ ls -l /proc/cpuinfo
    -r--r--r-- 1 root root 0 Dec 25 11:01 /proc/cpuinfo
     
    $ file /proc/cpuinfo
    /proc/cpuinfo: empty
     
    $ cat /proc/cpuinfo
     
    processor : 0
    vendor_id : GenuineIntel
    cpu family : 6
    model : 8
    model name : Pentium III (Coppermine)
    stepping : 6
    cpu MHz : 1000.119
    cache size : 256 KB
    fdiv_bug : no
    hlt_bug : no
    sep_bug : no
    f00f_bug : no
    coma_bug : no
    fpu : yes
    fpu_exception : yes
    cpuid level : 2
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
    cmov pat pse36 mmx fxsr xmm
    bogomips : 1998.85
     
    processor : 3
    vendor_id : GenuineIntel
    cpu family : 6
    model : 8
    model name : Pentium III (Coppermine)
    stepping : 6
    cpu MHz : 1000.119
    cache size : 256 KB
    fdiv_bug : no
    hlt_bug : no
    sep_bug : no
    f00f_bug : no
    coma_bug : no
    fpu : yes
    fpu_exception : yes
    cpuid level : 2
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
    cmov pat pse36 mmx fxsr xmm
    bogomips : 1992.29
     
    这是一个从双CPU 的系统中得到的结果,上述大部分的信息十分清楚地给出了这个系统的有用的硬件信息。有些/proc 的文件是经过编码的,不同的工具可以被用来解释这些编码过的信息并输出成可读的形式。这样的工具包括:'top', 'ps', 'apm' 等。
     
    得到有用的系统/内核信息
     
    proc 文件系统可以被用于收集有用的关于系统和运行中的内核的信息。下面是一些重要的文件:
     
    * /proc/cpuinfo - CPU 的信息(型号, 家族, 缓存大小等)
    * /proc/meminfo - 物理内存、交换空间等的信息
    * /proc/mounts - 已加载的文件系统的列表
    * /proc/devices - 可用设备的列表
    * /proc/filesystems - 被支持的文件系统
    * /proc/modules - 已加载的模块
    * /proc/version - 内核版本
    * /proc/cmdline - 系统启动时输入的内核命令行参数
     
    proc 中的文件远不止上面列出的这么多。想要进一步了解的读者可以对/proc 的每一个文件都'more'一下或读参考文献[1]获取更多的有关/proc 目录中的文件的信息。我建议使用'more'而不是'cat',除非你知道这个文件很小,因为有些文件(比如kcore) 可能会非常长。
     
    有关运行中的进程的信息
     
    /proc 文件系统可以用于获取运行中的进程的信息。在/proc 中有一些编号的子目录。每个编号的目录对应一个进程id (PID)。这样,每一个运行中的进程/proc 中都有一个用它的PID 命名的目录。这些子目录中包含可以提供有关进程的状态和环境的重要细节信息的文件。让我们试着查找一个运行中的进程。
     
    $ ps -aef | grep mozilla
    root 32558 32425 8 22:53 pts/1 00:01:23 /usr/bin/mozilla
     
    上述命令显示有一个正在运行的mozilla 进程的PID 是32558。相对应的,/proc 中应该有一个名叫32558 的目录
     
    $ ls -l /proc/32558
    total 0
    -r--r--r-- 1 root root 0 Dec 25 22:59 cmdline
    -r--r--r-- 1 root root 0 Dec 25 22:59 cpu
    lrwxrwxrwx 1 root root 0 Dec 25 22:59 cwd -> /proc/
    -r-------- 1 root root 0 Dec 25 22:59 environ
    lrwxrwxrwx 1 root root 0 Dec 25 22:59 exe -> /usr/bin/mozilla*
    dr-x------ 2 root root 0 Dec 25 22:59 fd/
    -r--r--r-- 1 root root 0 Dec 25 22:59 maps
    -rw------- 1 root root 0 Dec 25 22:59 mem
    -r--r--r-- 1 root root 0 Dec 25 22:59 mounts
    lrwxrwxrwx 1 root root 0 Dec 25 22:59 root -> //
    -r--r--r-- 1 root root 0 Dec 25 22:59 stat
    -r--r--r-- 1 root root 0 Dec 25 22:59 statm
    -r--r--r-- 1 root root 0 Dec 25 22:59 status
     
    文件"cmdline" 包含启动进程时调用的命令行。"envir" 进程的环境变两。"status" 是进程的状态信息,包括启动进程的用户的用户ID (UID) 和组ID(GID) ,父进程ID (PPID),还有进程当前的状态,比如"Sleelping"和"Running"。每个进程的目录都有几个符号链接,"cwd"是指向进程当前工作目录的符号链接,"exe"指向运行的进程的可执行程序,"root"指向被这个进程看作是根目录的目录(通常是"/")。目录"fd"包含指向进程使用的文件描述符的链接。"cpu"仅在运行SMP 内核时出现,里面是按CPU 划分的进程时间。
     
    /proc/self 是一个有趣的子目录,它使得程序可以方便地使用/proc 查找本进程地信息。/proc/self 是一个链接到/proc 中访问/proc 的进程所对应的PID 的目录的符号链接。
     
    通过/proc 与内核交互
     
    上面讨论的大部分/proc 的文件是只读的。而实际上/proc 文件系统通过/proc 中可读写的文件提供了对内核的交互机制。写这些文件可以改变内核的状态,因而要慎重改动这些文件。/proc/sys 目录存放所有可读写的文件的目录,可以被用于改变内核行为。
     
    /proc/sys/kernel - 这个目录包含反通用内核行为的信息。/proc/sys/kernel/{domainname, hostname} 存放着机器/网络的域名和主机名。这些文件可以用于修改这些名字。
     
    $ hostname
    machinename.domainname.com
     
    $ cat /proc/sys/kernel/domainname
    domainname.com
     
    $ cat /proc/sys/kernel/hostname
    machinename
     
    $ echo "new-machinename" > /proc/sys/kernel/hostname
     
    $ hostname
    new-machinename.domainname.com
     
    这样,通过修改/proc 文件系统中的文件,我们可以修改主机名。很多其他可配置的文件存在于/proc/sys/kernel/。这里不可能列出所有这些文件,读者可以自己去这个目录查看以得到更多细节信息。
    另一个可配置的目录是/proc/sys/net。这个目录中的文件可以用于修改机器/网络的网络属性。比如,简单修改一个文件,你可以在网络上瘾藏匿的计算机。
     
    $ echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
     
    这将在网络上瘾藏你的机器,因为它不响应icmp_echo。主机将不会响应其他主机发出的ping 查询。
     
    $ ping machinename.domainname.com
    no answer from machinename.domainname.com
     
    要改回缺省设置,只要
     
    $ echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
     
    /proc/sys 下还有许多其它可以用于改变内核属性。读者可以通过参考文献[1], [2] 获取更多信息。
     
    结论
     
    /proc 文件系统提供了一个基于文件的Linux 内部接口。它可以用于确定系统的各种不同设备和进程的状态。对他们进行配置。因而,理解和应用有关这个文件系统的知识是理解你的Linux 系统的关键。
     
    原文:http://www.sudu.cn/info/html/edu/20070101/292381.html
     
    什么是proc文件系统
    proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。它的目录结构如下:
    目录名称 目录内容
    apm 高级电源管理信息
    cmdline 内核命令行
    Cpuinfo 关于Cpu信息
    Devices 可以用到的设备(块设备/字符设备)
    Dma 使用的DMA通道
    Filesystems 支持的文件系统
    Interrupts 中断的使用
    Ioports I/O端口的使用
    Kcore 内核核心印象
    Kmsg 内核消息
    Ksyms 内核符号表
    Loadavg 负载均衡
    Locks 内核锁
    Meminfo 内存信息
    Misc 杂项
    Modules 加载模块列表
    Mounts 加载的文件系统
    Partitions 系统识别的分区表
    Rtc 实时时钟
    Slabinfo Slab池信息
    Stat 全面统计状态表
    Swaps 对换空间的利用情况
    Version 内核版本
    Uptime 系统正常运行时间
    并不是所有这些目录在你的系统中都有,这取决于你的内核配置和装载的模块。另外,在/proc下还有三个很重要的目录:net,scsi和sys。Sys目录是可写的,可以通过它来访问或修改内核的参数(见下一部分),而net和scsi则依赖于内核配置。例如,如果系统不支持scsi,则scsi 目录不存在。
    除了以上介绍的这些,还有的是一些以数字命名的目录,它们是进程目录。系统中当前运行的每一个进程都有对应的一个目录在/proc下,以进程的PID号为目录名,它们是读取进程信息的接口。而self目录则是读取进程本身的信息接口,是一个link。Proc文件系统的名字就是由之而起。进程目录的结构如下:
    目录名称 目录内容
    Cmdline 命令行参数
    Environ 环境变量值
    Fd 一个包含所有文件描述符的目录
    Mem 进程的内存被利用情况
    Stat 进程状态
    Status 进程当前状态,以可读的方式显示出来
    Cwd 当前工作目录的链接
    Exe 指向该进程的执行命令文件
    Maps 内存映象
    Statm 进程内存状态信息
    Root 链接此进程的root目录
    用户如果要查看系统信息,可以用cat命令。例如:
    # cat /proc/interrupts
    CPU0
    0: 8728810 XT-PIC timer
    1: 8Array5 XT-PIC keyboard
    2: 0 XT-PIC cascade
    3: 5316Array5 XT-PIC aha152x
    4: 2014133 XT-PIC serial
    5: 44401 XT-PIC pcnet_cs
    8: 2 XT-PIC rtc
    11: 8 XT-PIC i82365
    12: 182Array18 XT-PIC Mouse
    13: 1 XT-PIC fpu PS/2
    14: 1232265 XT-PIC ide0
    15: 7 XT-PIC ide1
    NMI: 0
    用户还可以实现修改内核参数。在/proc文件系统中有一个有趣的目录:/proc/sys。它不仅提供了内核信息,而且可以通过它修改内核参数,来优化你的系统。但是你必须很小心,因为可能会造成系统崩溃。最好是先找一台无关紧要的机子,调试成功后再应用到你的系统上。
    要改变内核的参数,只要用vi编辑或echo参数重定向到文件中即可。下面有一个例子:
    # cat /proc/sys/fs/file-max
    40Array6
    # echo 81Array2 > /proc/sys/fs/file-max
    # cat /proc/sys/fs/file-max
    81Array2
    如果你优化了参数,则可以把它们写成添加到文件rc.local中,使它在系统启动时自动完成修改。
    /proc文件系统中网络参数
    /proc/sys/kernel
    内核共享内存限制,默认最小为4M.两个参数可以改成一样.加大.
    /proc/sys/kernel/shmall 40Array6
    /proc/sys/kernel/shmmax 33554432
     
    /proc/sys/net/ipv4/
    该目录包含的是和tcp/ip协议相关的各种参数,下面我们就对这些网络参数加以详细的说明。
    ip_forward 参数类型:BOOLEAN
    0 - 关闭(默认值)
    not 0 - 打开ip转发
    在网络本地接口之间转发数据报。该参数非常特殊,对该参数的修改将导致其它所有相关配置参数恢复其默认值(对于主机参阅RFC1122,对于路由器参见RFC1812)
    /proc/sys/net/ipv4/ip_conntrack_max 65440 (默认)
    ip_default_ttl 参数类型:INTEGER
    默认值为64 。表示IP数据报的Time To Live值。
    ip_no_pmtu_disc 参数类型:BOOLEAN
    关闭路径MTU探测,默认值为FALSE
    ipfrag_high_thresh 参数类型:整型
    用来组装分段的IP包的最大内存量。当ipfrag_high_thresh数量的内存被分配来用来组装IP包,则IP分片处理器将丢弃数据报直到ipfrag_low_thresh数量的内存被用来组装IP包。
    ipfrag_low_thresh 参数类型:整型
    参见ipfrag_high_thresh。
    ipfrag_time 参数类型:整型
    保存一个IP分片在内存中的时间。
    inet_peer_threshold 参数类型:整型
    INET对端存储器某个合适值,当超过该阀值条目将被丢弃。该阀值同样决定生存时间以及废物收集通过的时间间隔。条目越多?存活期越低?GC 间隔越短
    inet_peer_minttl 参数类型:整型
    条目的最低存活期。在重组端必须要有足够的碎片(fragment)存活期。这个最低存活期必须保证缓冲池容积是否少于inet_peer_threshold。该值以jiffies为单位测量。
    inet_peer_maxttl 参数类型:整型
    条目的最大存活期。在此期限到达之后?如果缓冲池没有耗尽压力的话(例如?缓冲池中的条目数目非常少)?不使用的条目将会超时。该值以jiffies为单位测量。
    inet_peer_gc_mintime 参数类型:整型
    废物收集(GC)通过的最短间隔。这个间隔会影响到缓冲池中内存的高压力。 该值以jiffies为单位测量。
    inet_peer_gc_maxtime 参数类型:整型
    废物收集(GC)通过的最大间隔,这个间隔会影响到缓冲池中内存的低压力。 该值以jiffies为单位测量。
    tcp_syn_retries 参数类型:整型
    对于一个新建连接,内核要发送多少个SYN 连接请求才决定放弃。不应该大于255,默认值是5,对应于180秒左右。
    tcp_synack_retries 参数类型:整型
    对于远端的连接请求SYN,内核会发送SYN +ACK数据报,以确认收到上一个SYN连接请求包。这是所谓的三次握手( threeway handshake)机制的第二个步骤。这里决定内核在放弃连接之前所送出的SYN+ACK 数目。
    tcp_keepalive_time 参数类型:整型
    当keepalive打开的情况下,TCP发送keepalive消息的频率,默认值是2个小时。
    tcp_keepalive_probes 参数类型:整型
    TCP发送keepalive探测以确定该连接已经断开的次数,默认值是Array。
    tcp_keepalive_interval 参数类型:整型
    探测消息发送的频率,乘以tcp_keepalive_probes就得到对于从开始探测以来没有响应的连接杀除的时间。默认值为75秒,也就是没有活动的连接将在大约11分钟以后将被丢弃。
    tcp_retries1 参数类型:整型
    当出现可疑情况而必须向网络层报告这个可疑状况之前?需要进行多少次重试。最低的RFC 数值是3 ?这也是默认值?根据RTO的值大约在3秒- 8分钟之间。
    tcp_retries2 参数类型:整型
    在丢弃激活的TCP连接之前?需要进行多少次重试。RFC1122规定,该值必须大于100秒。默认值为15,根据RTO的值来决定,相当于13-30分钟,
    tcp_orphan_retries 参数类型:整型
    在近端丢弃TCP连接之前?要进行多少次重试。默认值是7 个?相当于50秒- 16分钟?视RTO 而定。如果您的系统是负载很大的web服务器?那么也许需要降低该值?这类sockets 可能会耗费大量的资源。另外参的考tcp_max_orphans 。
    tcp_fin_timeout 参数类型:整型
    对于本端断开的socket连接,TCP保持在FIN-WAIT-2状态的时间。对方可能会断开连接或一直不结束连接或不可预料的进程死亡。默认值为60 秒。过去在2.2版本的内核中是180 秒。您可以设置该值?但需要注意?如果您的机器为负载很重的web服务器?您可能要冒内存被大量无效数据报填满的风险?FIN-WAIT-2 sockets 的危险性低于FIN-WAIT-1 ?因为它们最多只吃1.5K 的内存?但是它们存在时间更长。另外参考tcp_max_orphans。
    tcp_max_tw_buckets 参数类型:整型
    系统在同时所处理的最大timewait sockets 数目。如果超过此数的话?time-wait socket 会被立即砍除并且显示警告信息。之所以要设定这个限制?纯粹为了抵御那些简单的DoS 攻击?千万不要人为的降低这个限制?不过?如果网络条件需要比默认值更多?则可以提高它(或许还要增加内存)。
    tcp_tw_recycle 参数类型:布尔
    打开快速TIME-WAIT sockets 回收。默认值是1。除非得到技术专家的建议或要求?请不要随意修改这个值。
    tcp_max_orphans 参数类型:整型
    系统所能处理不属于任何进程的TCP sockets最大数量。假如超过这个数量?那么不属于任何进程的连接会被立即reset,并同时显示警告信息。之所以要设定这个限制?纯粹为了抵御那些简单的DoS 攻击?千万不要依赖这个或是人为的降低这个限制
    tcp_abort_on_overflow 参数类型:布尔
    当守护进程太忙而不能接受新的连接,就象对方发送reset消息,默认值是false。这意味着当溢出的原因是因为一个偶然的猝发,那么连接将恢复状态。只有在你确信守护进程真的不能完成连接请求时才打开该选项,该选项会影响客户的使用。
    tcp_syncookies 参数类型:整型
    只有在内核编译时选择了CONFIG_SYNCOOKIES时才会发生作用。当出现syn等候队列出现溢出时象对方发送syncookies。目的是为了防止syn flood攻击。默认值是false。
    注意:该选项千万不能用于那些没有收到攻击的高负载服务器,如果在日志中出现synflood消息,但是调查发现没有收到synflood攻击,而是合法用户的连接负载过高的原因,你应该调整其它参数来提高服务器性能。参考: tcp_max_syn_backlog, tcp_synack_retries, tcp_abort_on_overflow.
    syncookie严重的违背TCP协议,不允许使用TCP扩展,可能对某些服务导致严重的性能影响(如SMTP转发)。
    tcp_stdurg 参数类型:整型
    使用TCP urg pointer 字段中的主机请求解释功能。大部份的主机都使用老旧的BSD解释,因此如果您在Linux 打开它?或会导致不能和它们正确沟通。默认值为为?FALSE
    tcp_max_syn_backlog 参数类型:整型
    对于那些依然还未获得客户端确认的连接请求?需要保存在队列中最大数目。对于超过128Mb 内存的系统?默认值是1024 ?低于128Mb 的则为128。如果服务器经常出现过载?可以尝试增加这个数字。警告?假如您将此值设为大于1024?最好修改include/net/tcp.h 里面的TCP_SYNQ_HSIZE ?以保持TCP_SYNQ_HSIZE*16 0)或者bytes-bytes/2^(-tcp_adv_win_scale)(如果tcp_adv_win_scale  128Mb 32768-61000
    0)则系统将忽略所有发送给自己的ICMP ECHO请求或那些广播地址的请求。
    icmp_destunreach_rate - 整数
    icmp_paramprob_rate - 整数
    icmp_timeexceed_rate - 整数
    icmp_echoreply_rate - 整数(not enabled per default)
    限制发向特定目标的ICMP数据报的最大速率。0表示没有任何限制,否则表示jiffies数据单位中允许发送的个数。
    icmp_ignore_bogus_error_responses - 布尔类型
    某些路由器违背RFC1122标准,其对广播帧发送伪造的响应来应答。这种违背行为通常会被以告警的方式记录在系统日志中。如果该选项设置为True,内核不会记录这种警告信息。默认值为False。
    (1) Jiffie: 内核使用的内部时间单位,在i386系统上大小为1/100s,在Alpha中为1/1024S。在/usr/include/asm/param.h中的HZ定义有特定系统的值。
    conf/interface/*:
    conf/all/*是特定的,用来修改所有接口的设置,is special and changes the settings for all interfaces.
    Change special settings per interface.
    log_martians - 布尔类型
    记录带有不允许的地址的数据报到内核日志中。
    accept_redirects - 布尔类型
    收发接收ICMP重定向消息。对于主机来说默认为True,对于用作路由器时默认值为False。
    forwarding - 布尔类型
    在该接口打开转发功能
    mc_forwarding - 布尔类型
    是否进行多播路由。只有内核编译有CONFIG_MROUTE并且有路由服务程序在运行该参数才有效。
    proxy_arp - 布尔类型
    打开proxy arp功能。
    shared_media - 布尔类型
    发送(路由器)或接收(主机) RFC1620 共享媒体重定向。覆盖ip_secure_redirects的值。默认为True。
    secure_redirects - 布尔类型
    仅仅接收发给默认网关列表中网关的ICMP重定向消息,默认值是TRUE。
    send_redirects - 布尔类型
    如果是router,发送重定向消息,默认值是TRUE
    bootp_relay - 布尔类型
    接收源地址为0.b.c.d,目的地址不是本机的数据报。用来支持BOOTP转发服务进程,该进程将捕获并转发该包。默认为False,目前还没有实现。
    accept_source_route - 布尔类型
    接收带有SRR选项的数据报。对于主机来说默认为False,对于用作路由器时默认值为True。
    rp_filter 参数类型
    1 - 通过反向路径回溯进行源地址验证(在RFC1812中定义)。对于单穴主机和stub网络路由器推荐使用该选项。
    0 - 不通过反向路径回溯进行源地址验证。
    默认值为0。某些发布在启动时自动将其打开。
    /proc/sys/net/ipv4/netfilter
    ip_conntrack_buckets
    ip_conntrack_count
    ip_conntrack_generic_timeout
    ip_conntrack_icmp_timeout
    ip_conntrack_log_invalid
    ip_conntrack_max 65536(默认)
    ip_conntrack_tcp_be_liberal
    ip_conntrack_tcp_loose
    ip_conntrack_tcp_max_retrans
    ip_conntrack_tcp_timeout_close
    ip_conntrack_tcp_timeout_close_wait
    ip_conntrack_tcp_timeout_established 432000(单位为秒,5天)
    ip_conntrack_tcp_timeout_fin_wait
    ip_conntrack_tcp_timeout_last_ack
    ip_conntrack_tcp_timeout_max_retrans
    ip_conntrack_tcp_timeout_syn_recv
    ip_conntrack_tcp_timeout_syn_sent
    ip_conntrack_tcp_timeout_time_wait
    ip_conntrack_udp_timeout
    ip_conntrack_udp_timeout_stream
     
    #
     
    #
    #
     
     
    Linux Linux Linux Linux 中/proc /proc /proc /proc 目录下文件详解
    声明:可以自由转载本文, 但请务必保留本文的完整性。
    作者:张子坚
    email:zhangzijian@163.com
    说明:本文所涉及示例均在fedora core3 下得到。
    --------------------------------------------------------------------------------
    /proc 文件系统下的多种文件提供的系统信息不是针对某个特定进程的, 而是能够在整个系统范围的上下文
    中使用。可以使用的文件随系统配置的变化而变化。命令procinfo 能够显示基于其中某些文件的多种系统
    信息。
    以下详细描述/proc 下的文件:
    --------------------------------------------------------------------------------
    /proc/cmdline 文件
    这个文件给出了内核启动的命令行。它和用于进程的cmdline 项非常相似。
    示例:
    [root@localhost proc]# cat cmdline
    ro root=LABEL=/ rhgb quiet
    --------------------------------------------------------------------------------
    /proc/cpuinfo 文件
    这个文件提供了有关系统CPU 的多种信息。这些信息是从内核里对CPU 的测试代码中得到的。文件列出
    了CPU 的普通型号 (386,486,586,686 等 ), 以及能得到的更多特定信息 ( 制造商, 型号和版本 ) 。 文件还包含
    了以bogomips 表示的处理器速度, 而且如果检测到CPU 的多种特性或者bug, 文件还会包含相应的标志。这
    个文件的格式为:文件由多行构成, 每行包括一个域名称, 一个冒号和一个值。
    示例:
    [root@localhost proc]# cat cpuinfo
    processor : 0
    vendor_id : AuthenticAMD
    cpu family : 6
    model : 8
    model name : AMD Athlon(tm) XP 1800+
    stepping : 1
    cpu MHz : 1530.165
    cache size : 256 KB
    fdiv_bug : no
    hlt_bug : no
    f00f_bug : nocoma_bug : no
    fpu : yes
    fpu_exception : yes
    cpuid level : 1
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext
    3dnowext 3dnow
    bogomips : 2998.27
    --------------------------------------------------------------------------------
    /proc/devices 文件
    这个文件列出字符和块设备的主设备号, 以及分配到这些设备号的设备名称。
    示例:
    [root@localhost /]# cat /proc/devices
    Character devices:
    1 mem
    4 /dev/vc/0
    4 tty
    4 ttyS
    5 /dev/tty
    5 /dev/console
    5 /dev/ptmx
    6 lp
    7 vcs
    10 misc
    13 input
    14 sound
    29 fb
    36 netlink
    116 alsa
    128 ptm
    136 pts
    180 usb
    Block devices:
    1 ramdisk
    2 fd
    3 ide0
    9 md
    22 ide1
    253 device-mapper
    254 mdp
    --------------------------------------------------------------------------------/proc/dma 文件
    这个文件列出由驱动程序保留的DMA 通道和保留它们的驱动程序名称 。casade 项供用于把次DMA 控制器
    从主控制器分出的DMA 行所使用; 这一行不能用于其它用途。
    示例:
    [root@localhost ~]# cat /proc/dma
    4: cascade
    --------------------------------------------------------------------------------
    /proc/filesystems 文件
    这个文件列出可供使用的文件系统类型, 一种类型一行 。 虽然它们通常是编入内核的文件系统类型, 但该文件
    还可以包含可加载的内核模块加入的其它文件系统类型。
    示例:
    [root@localhost proc]# cat /proc/filesystems
    nodev sysfs
    nodev rootfs
    nodev bdev
    nodev proc
    nodev sockfs
    nodev binfmt_misc
    nodev usbfs
    nodev usbdevfs
    nodev futexfs
    nodev tmpfs
    nodev pipefs
    nodev eventpollfs
    nodev devpts
    ext2
    nodev ramfs
    nodev hugetlbfs
    iso9660
    nodev mqueue
    nodev selinuxfs
    ext3
    nodev rpc_pipefs
    nodev autofs
    --------------------------------------------------------------------------------
    /proc/interrupts 文件
    这个文件的每一行都有一个保留的中断 。 每行中的域有 : 中断号, 本行中断的发生次数, 可能带有一个加号的
    域(SA_INTERRUPT 标志设置), 以及登记这个中断的驱动程序的名字。可以在安装新硬件前, 像查看
    /proc/dma 和/proc/ioports 一样用cat 命令手工查看手头的这个文件 。 这几个文件列出了当前投入使用的资源
    (但是不包括那些没有加载驱动程序的硬件所使用的资源 ) 。
    示例:
    [root@localhost SPECS]# cat /proc/interruptsCPU0
    0: 7039406 XT-PIC timer
    1: 6533 XT-PIC i8042
    2: 0 XT-PIC cascade
    3: 0 XT-PIC uhci_hcd
    5: 108 XT-PIC VIA8233, uhci_hcd
    8: 1 XT-PIC rtc
    9: 0 XT-PIC acpi
    10: 0 XT-PIC ehci_hcd
    11: 17412 XT-PIC uhci_hcd, eth0
    12: 140314 XT-PIC i8042
    14: 37897 XT-PIC ide0
    15: 60813 XT-PIC ide1
    NMI: 0
    ERR: 1
    --------------------------------------------------------------------------------
    /proc/ioports 文件
    这个文件列出了诸如磁盘驱动器, 以太网卡和声卡设备等多种设备驱动程序登记的许多I/O 端口范围。
    示例:
    [root@localhost SPECS]# cat /proc/ioports
    0000-001f : dma1
    0020-0021 : pic1
    0040-0043 : timer0
    0050-0053 : timer1
    0060-006f : keyboard
    0070-0077 : rtc
    0080-008f : dma page reg
    00a0-00a1 : pic2
    00c0-00df : dma2
    00f0-00ff : fpu
    0170-0177 : ide1
    01f0-01f7 : ide0
    0376-0376 : ide1
    0378-037a : parport0
    037b-037f : parport0
    03c0-03df : vga+
    03f6-03f6 : ide0
    03f8-03ff : serial
    0800-0803 : PM1a_EVT_BLK
    0804-0805 : PM1a_CNT_BLK
    0808-080b : PM_TMR
    0810-0815 : ACPI CPU throttle
    0820-0823 : GPE0_BLK0cf8-0cff : PCI conf1
    dc00-dcff : 0000:00:12.0
    dc00-dcff : via-rhine
    e000-e0ff : 0000:00:11.5
    e000-e0ff : VIA8233
    e400-e41f : 0000:00:10.0
    e400-e41f : uhci_hcd
    e800-e81f : 0000:00:10.1
    e800-e81f : uhci_hcd
    ec00-ec1f : 0000:00:10.2
    ec00-ec1f : uhci_hcd
    fc00-fc0f : 0000:00:11.1
    fc00-fc07 : ide0
    fc08-fc0f : ide1
    --------------------------------------------------------------------------------
    /proc/kcore 文件
    这个文件是系统的物理内存以core 文件格式保存的文件。例如,GDB 能用它考察内核的数据结构。它不是
    纯文本, 而是/proc 目录下为数不多的几个二进制格式的项之一。
    示例:
    暂无
    --------------------------------------------------------------------------------
    /proc/kmsg 文件
    这个文件用于检索用printk 生成的内核消息。任何时刻只能有一个具有超级用户权限的进程可以读取这个
    文件。也可以用系统调用syslog 检索这些消息。通常使用工具dmesg 或守护进程klogd 检索这些消息。
    示例:
    暂无
    --------------------------------------------------------------------------------
    /proc/ksyms 文件
    这个文件列出了已经登记的内核符号; 这些符号给出了变量或函数的地址 。 每行给出一个符号的地址, 符号名
    称以及登记这个符号的模块。程序ksyms,insmod 和kmod 使用这个文件。它还列出了正在运行的任务数,
    总任务数和最后分配的PID 。
    示例:
    暂无
    --------------------------------------------------------------------------------
    /proc/loadavg 文件
    这个文件给出以几个不同的时间间隔计算的系统平均负载, 这就如同uptime 命令显示的结果那样 。 前三个数
    字是平均负载 。 这是通过计算过去1 分钟,5 分钟,15 分钟里运行队列中的平均任务数得到的 。 随后是正在运行
    的任务数和总任务数。最后是上次使用的进程号。
    示例:[root@localhost ~]# cat /proc/loadavg
    0.11 0.16 0.14 3/126 3912
    --------------------------------------------------------------------------------
    /proc/locks 文件
    这个文件包含在打开的文件上的加锁信息。文件中的每一行描述了特定文件和文档上的加锁信息以及对文
    件施加的锁的类型。内核也可以需要时对文件施加强制性锁。
    示例:
    [root@localhost redhat]# cat /proc/locks
    1: POSIX ADVISORY READ 3822 03:0a:1067117 0 EOF
    2: POSIX ADVISORY READ 3822 03:0a:1067138 0 EOF
    3: POSIX ADVISORY WRITE 3326 03:0a:2326540 0 EOF
    4: POSIX ADVISORY WRITE 2639 03:0a:2966595 0 EOF
    5: FLOCK ADVISORY WRITE 2591 03:0a:2966586 0 EOF
    6: POSIX ADVISORY WRITE 2540 03:0a:2966578 0 EOF
    7: POSIX ADVISORY WRITE 2530 03:0a:2966579 0 EOF
    8: POSIX ADVISORY WRITE 2402 03:0a:2966563 0 EOF
    9: POSIX ADVISORY WRITE 2371 03:0a:2966561 0 EOF
    --------------------------------------------------------------------------------
    /proc/mdstat 文件
    这个文件包含了由md 设备驱动程序控制的RAID 设备信息。
    示例:
    [root@localhost ~]# cat /proc/mdstat
    Personalities :
    unused devices: <none>
    --------------------------------------------------------------------------------
    /proc/meminfo 文件
    这个文件给出了内存状态的信息 。 它显示出系统中空闲内存, 已用物理内存和交换内存的总量 。 它还显示出
    内核使用的共享内存和缓冲区总量。这些信息的格式和free 命令显示的结果类似。
    示例:
    [root@localhost ~]# cat /proc/meminfo
    MemTotal: 223812 kB
    MemFree: 3764 kB
    Buffers: 9148 kB
    Cached: 92112 kB
    SwapCached: 364 kB
    Active: 183640 kB
    Inactive: 17196 kB
    HighTotal: 0 kB
    HighFree: 0 kB
    LowTotal: 223812 kB
    LowFree: 3764 kBSwapTotal: 626524 kB
    SwapFree: 620328 kB
    Dirty: 12 kB
    Writeback: 0 kB
    Mapped: 142880 kB
    Slab: 12668 kB
    Committed_AS: 376732 kB
    PageTables: 2336 kB
    VmallocTotal: 3907576 kB
    VmallocUsed: 2968 kB
    VmallocChunk: 3904224 kB
    HugePages_Total: 0
    HugePages_Free: 0
    Hugepagesize: 4096 kB
    --------------------------------------------------------------------------------
    /proc/misc 文件
    这个文件报告用内核函数misc_register 登记的设备驱动程序。
    示例:
    [root@localhost ~]# cat /proc/misc
    63 device-mapper
    175 agpgart
    135 rtc
    --------------------------------------------------------------------------------
    /proc/modules 文件
    这个文件给出可加载内核模块的信息 。lsmod 程序用这些信息显示有关模块的名称, 大小, 使用数目方面的信
    息。
    示例:
    [root@localhost /]# cat /proc/modules
    md5 4033 1 - Live 0x10a7f000
    ipv6 232577 8 - Live 0x10b0c000
    parport_pc 24705 1 - Live 0x10a8b000
    lp 11565 0 - Live 0x10a7b000
    parport 41737 2 parport_pc,lp, Live 0x10a55000
    autofs4 24005 0 - Live 0x10a74000
    i2c_dev 10433 0 - Live 0x109d2000
    i2c_core 22081 1 i2c_dev, Live 0x10a6d000
    sunrpc 160421 1 - Live 0x10a9d000
    ipt_REJECT 6465 1 - Live 0x109da000
    ipt_state 1857 5 - Live 0x109eb000
    ip_conntrack 40693 1 ipt_state, Live 0x10a62000
    iptable_filter 2753 1 - Live 0x10896000
    ip_tables 16193 3 ipt_REJECT,ipt_state,iptable_filter, Live 0x109ed000dm_mod 54741 0 - Live 0x109f8000
    button 6481 0 - Live 0x10905000
    battery 8517 0 - Live 0x109d6000
    ac 4805 0 - Live 0x10908000
    uhci_hcd 31449 0 - Live 0x109dd000
    ehci_hcd 31557 0 - Live 0x10949000
    snd_via82xx 27237 2 - Live 0x10953000
    snd_ac97_codec 64401 1 snd_via82xx, Live 0x10912000
    snd_pcm_oss 47609 0 - Live 0x1093c000
    snd_mixer_oss 17217 2 snd_pcm_oss, Live 0x1090c000
    snd_pcm 97993 2 snd_via82xx,snd_pcm_oss, Live 0x10923000
    snd_timer 29765 1 snd_pcm, Live 0x108ec000
    snd_page_alloc 9673 2 snd_via82xx,snd_pcm, Live 0x108bd000
    gameport 4801 1 snd_via82xx, Live 0x108a6000
    snd_mpu401_uart 8769 1 snd_via82xx, Live 0x108b9000
    snd_rawmidi 26725 1 snd_mpu401_uart, Live 0x108e4000
    snd_seq_device 8137 1 snd_rawmidi, Live 0x1083b000
    snd 54053 11
    snd_via82xx,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,sn
    d_seq_device, Live 0x108f6000
    soundcore 9889 2 snd, Live 0x1089b000
    via_rhine 23497 0 - Live 0x1089f000
    mii 4673 1 via_rhine, Live 0x10893000
    floppy 58609 0 - Live 0x108a9000
    ext3 116809 1 - Live 0x10875000
    jbd 74969 1 ext3, Live 0x10861000
    lsmod 命令显示结果如下:
    [root@localhost /]# lsmod
    Module Size Used by
    md5 4033 1
    ipv6 232577 8
    parport_pc 24705 1
    lp 11565 0
    parport 41737 2 parport_pc,lp
    autofs4 24005 0
    i2c_dev 10433 0
    i2c_core 22081 1 i2c_dev
    sunrpc 160421 1
    ipt_REJECT 6465 1
    ipt_state 1857 5
    ip_conntrack 40693 1 ipt_state
    iptable_filter 2753 1ip_tables 16193 3 ipt_REJECT,ipt_state,iptable_filter
    dm_mod 54741 0
    button 6481 0
    battery 8517 0
    ac 4805 0
    uhci_hcd 31449 0
    ehci_hcd 31557 0
    snd_via82xx 27237 2
    snd_ac97_codec 64401 1 snd_via82xx
    snd_pcm_oss 47609 0
    snd_mixer_oss 17217 2 snd_pcm_oss
    snd_pcm 97993 2 snd_via82xx,snd_pcm_oss
    snd_timer 29765 1 snd_pcm
    snd_page_alloc 9673 2 snd_via82xx,snd_pcm
    gameport 4801 1 snd_via82xx
    snd_mpu401_uart 8769 1 snd_via82xx
    snd_rawmidi 26725 1 snd_mpu401_uart
    snd_seq_device 8137 1 snd_rawmidi
    snd 54053 11
    snd_via82xx,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,sn
    d_seq_device
    soundcore 9889 2 snd
    via_rhine 23497 0
    mii 4673 1 via_rhine
    floppy 58609 0
    ext3 116809 1
    jbd 74969 1 ext3
    --------------------------------------------------------------------------------
    /proc/mounts 文件
    这个文件以/etc/mtab 文件的格式给出当前系统所安装的文件系统信息。这个文件也能反映出任何手工安装
    从而在/etc/mtab 文件中没有包含的文件系统。
    示例:
    [root@localhost /]# cat /proc/mounts
    rootfs / rootfs rw 0 0
    /proc /proc proc rw,nodiratime 0 0
    none /dev tmpfs rw 0 0
    /dev/root / ext3 rw 0 0
    none /dev tmpfs rw 0 0
    none /selinux selinuxfs rw 0 0
    /proc /proc proc rw,nodiratime 0 0
    /proc/bus/usb /proc/bus/usb usbfs rw 0 0
    /sys /sys sysfs rw 0 0none /dev/pts devpts rw 0 0
    none /dev/shm tmpfs rw 0 0
    none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
    sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
    --------------------------------------------------------------------------------
    /proc/pci 文件
    这个文件给出PCI 设备的信息。用它可以方便地诊断PCI 问题。你可以从这个文件中检索到的信息包括诸
    如IDE 接口或USB 控制器这样的设备, 总线, 设备和功能编号, 设备延迟以及IRQ 编号。
    示例:
    [root@localhost /]# cat /proc/pci
    PCI devices found:
    Bus 0, device 0, function 0:
    Class 0600: PCI device 1106:3116 (rev 0).
    Master Capable. Latency=8.
    Prefetchable 32 bit memory at 0xe0000000 [0xe7ffffff].
    Bus 0, device 1, function 0:
    Class 0604: PCI device 1106:b091 (rev 0).
    Master Capable. No bursts. Min Gnt=12.
    Bus 0, device 16, function 2:
    Class 0c03: PCI device 1106:3038 (rev 12.
    IRQ 5.
    Master Capable. Latency=32.
    I/O at 0xec00 [0xec1f].
    Bus 0, device 16, function 1:
    Class 0c03: PCI device 1106:3038 (rev 12.
    IRQ 3.
    Master Capable. Latency=32.
    I/O at 0xe800 [0xe81f].
    Bus 0, device 16, function 0:
    Class 0c03: PCI device 1106:3038 (rev 12.
    IRQ 11.
    Master Capable. Latency=32.
    I/O at 0xe400 [0xe41f].
    Bus 0, device 16, function 3:
    Class 0c03: PCI device 1106:3104 (rev 130).
    IRQ 10.
    Master Capable. Latency=32.
    Non-prefetchable 32 bit memory at 0xdfffff00 [0xdfffffff].
    Bus 0, device 17, function 0:
    Class 0601: PCI device 1106:3177 (rev 0).
    Bus 0, device 17, function 1:Class 0101: PCI device 1106:0571 (rev 6).
    IRQ 255.
    Master Capable. Latency=32.
    I/O at 0xfc00 [0xfc0f].
    Bus 0, device 17, function 5:
    Class 0401: PCI device 1106:3059 (rev 80).
    IRQ 5.
    I/O at 0xe000 [0xe0ff].
    Bus 0, device 18, function 0:
    Class 0200: PCI device 1106:3065 (rev 116).
    IRQ 11.
    Master Capable. Latency=32. Min Gnt=3.Max Lat=8.
    I/O at 0xdc00 [0xdcff].
    Non-prefetchable 32 bit memory at 0xdffffe00 [0xdffffeff].
    Bus 1, device 0, function 0:
    Class 0300: PCI device 5333:8d04 (rev 0).
    IRQ 11.
    Master Capable. Latency=32. Min Gnt=4.Max Lat=255.
    Non-prefetchable 32 bit memory at 0xdfe80000 [0xdfefffff].
    Prefetchable 32 bit memory at 0xd0000000 [0xd7ffffff].
    --------------------------------------------------------------------------------
    /proc/stat 文件
    这个文件包含的信息有CPU 利用率, 磁盘, 内存页, 内存对换, 全部中断, 接触开关以及赏赐自举时间(自1970
    年1 月1 日起的秒数 ) 。
    示例:
    [root@localhost /]# cat /proc/stat
    cpu 31994 3898 7161 381600 15254 451 0
    cpu0 31994 3898 7161 381600 15254 451 0
    intr 4615930 4404290 3364 0 0 12 0 7 0 2 0 0 12618 112114 0 44142 39381
    ctxt 1310498
    btime 1148891913
    processes 4249
    procs_running 4
    procs_blocked 0
    --------------------------------------------------------------------------------
    /proc/uptime 文件
    这个文件给出自从上次系统自举以来的秒数, 以及其中有多少秒处于空闲 。 这主要供uptime 程序使用 。 比较
    这两个数字能够告诉你长期来看CPU 周期浪费的比例。
    示例:
    [root@localhost /]# cat /proc/uptime
    4477.04 4021.10--------------------------------------------------------------------------------
    /proc/version 文件
    这个文件只有一行内容, 说明正在运行的内核版本。可以用标准的 编程方法进行分析获得所需的系统信息 。
    示例:
    [root@localhost /]# cat /proc/version
    Linux version 2.6.9-1.667 ( bhcompile@tweety.build.redhat.com ) (gcc version 3.4.2 20041017 (Red Hat
    3.4.2-6.fc3)) #1 Tue Nov 2 14:41:25 EST 2004
    --------------------------------------------------------------------------------
    /proc/net 子目录
    此目录下的文件描述或修改了联网代码的行为。可以通过使用 arp,netstat,route 和ipfwadm 命令设置或查询
    这些特殊文件中的许多文件。
    示例:
    [root@localhost /]# ls /proc/net
    anycast6 ip_conntrack mcfilter6 rt6_stats tcp
    arp ip_conntrack_expect netlink rt_acct tcp6
    dev ip_mr_cache netstat rt_cache udp
    dev_mcast ip_mr_vif packet snmp udp6
    dev_snmp6 ip_tables_matches psched snmp6 unix
    if_inet6 ip_tables_names raw sockstat wireless
    igmp ip_tables_targets raw6 sockstat6
    igmp6 ipv6_route route softnet_stat
    ip6_flowlabel mcfilter rpc stat
    --------------------------------------------------------------------------------
    以下摘要介绍此目录下文件的功能:
    arp
    转储每个网络接口的arp 表中dev 包的统计
    dev
    来自网络设备的统计
    dev_mcast
    列出二层(数据链路层)多播组
    igmp
    加入的IGMP 多播组
    netlink
    netlink 套接口的信息
    netstat
    网络流量的多种统计。第一行是信息头, 带有每个变量的名称。接下来的一行保存相应变量的值
    raw
    原始套接口的套接口表
    route
    静态路由表
    rpc
    包含RPC 信息的目录rt_cache
    路由缓冲
    snmp
    snmp agent 的ip/icmp/tcp/udp 协议统计; 各行交替给出字段名和值
    sockstat
    列出使用的tcp/udp/raw/pac/syc_cookies 的数量
    tcp
    TCP 连接的套接口
    udp
    UDP 连接的套接口表
    unix
    UNIX 域套接口的套接口表
    --------------------------------------------------------------------------------
    示例:[root@localhost /]# cat /proc/net/route
    Iface Destination Gateway Flags RefCnt Use Metric Mask MTU
    Window IRTT
    eth0 0035C2DA 00000000 0001 0 0 0 80FFFFF0
    eth0 0000FEA9 00000000 0001 0 0 0 0000FFF0
    eth0 00000000 0135C2DA 0003 0 0 0 00000000
    --------------------------------------------------------------------------------
    [root@localhost /]# cat /proc/net/tcp
    sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
    0: 00000000:8000 00000000:0000 0A 00000000:00000000 00:00000000 00000000 29 0 9525 1
    0dde7500 3000 0 0 2 -1
    1: 00000000:006F 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 9484 1
    0dde79e0 3000 0 0 2 -1
    2: 0100007F:0277 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 10049 1
    0a8e3a00 3000 0 0 2 -1
    3: 0100007F:14D7 00000000:0000 0A 00000000:00000000 00:00000000 00000000 99 0 9847 1
    0dde7020 3000 0 0 2 -1
    4: 0100007F:0019 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 10286 1
    0a8e3520 3000 0 0 2 -1
    --------------------------------------------------------------------------------
    [root@localhost /]# cat /proc/net/arp
    IP address HW type Flags HW address Mask Device
    218.194.53.1 0x1 0x2 00:0D:BC:78:07:3F * eth0
    --------------------------------------------------------------------------------
    [root@localhost /]# cat /proc/net/udp
    sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
    0: 00000000:8000 00000000:0000 07 00000000:00000000 00:00000000 00000000 29 0 9520 2
    0b4ef7c0
    105: 00000000:14E9 00000000:0000 07 00000000:00000000 00:00000000 00000000 99 0 10284 20b4ef040
    111: 00000000:006F 00000000:0000 07 00000000:00000000 00:00000000 00000000 0 0 9483 2
    0b4efcc0
    116: 00000000:02F4 00000000:0000 07 00000000:00000000 00:00000000 00000000 0 0 9511 2
    0b4efa40
    119: 00000000:0277 00000000:0000 07 00000000:00000000 00:00000000 00000000 0 0 10050 2
    0b4ef2c0
    --------------------------------------------------------------------------------
    /proc/scsi 子目录
    此目录下包含一个列出了所有检测到的SCSI 设备的文件, 并且为每种控制器驱动程序提供一个目录, 在这个
    目录下又为已安装的此种控制器的每个实例提供一个子目录。
    示例:
    由于本人的机器没有SCSI 设备, 顾暂时无法提供示例。
    --------------------------------------------------------------------------------
    /proc/sys 子目录
    在此目录下有许多子目录 。 此目录中的许多项都可以用来调整系统的性能 。 这个目录包含信息太多, 无法介
    绍全部。只在示例中展示目录下的一些文件。
    示例:[root@localhost /]# ls /proc/sys
    debug dev fs kernel net proc sunrpc vm
    --------------------------------------------------------------------------------
    [root@localhost ~]# ls /proc/sys/fs
    aio-max-nr dentry-state file-nr lease-break-time overflowgid
    aio-nr dir-notify-enable inode-nr leases-enable overflowuid
    binfmt_misc file-max inode-state mqueue quota
    --------------------------------------------------------------------------------
    [root@localhost ~]# ls /proc/sys/kernel
    acct hotplug panic sem
    cad_pid modprobe panic_on_oops shmall
    cap-bound msgmax pid_max shmmax
    core_pattern msgmnb print-fatal-signals shmmni
    core_uses_pid msgmni printk sysrq
    ctrl-alt-del ngroups_max printk_ratelimit tainted
    domainname osrelease printk_ratelimit_burst threads-max
    exec-shield ostype pty vdso
    exec-shield-randomize overflowgid random version
    hostname overflowuid real-root-dev
    --------------------------------------------------------------------------------
    [root@localhost ~]# ls /proc/sys/net
    core ethernet ipv4 ipv6 unix
    --------------------------------------------------------------------------------
    [root@localhost sys]# ls /proc/sys/vmblock_dump laptop_mode nr_pdflush_threads
    dirty_background_ratio legacy_va_layout overcommit_memory
    dirty_expire_centisecs lower_zone_protection overcommit_ratio
    dirty_ratio max_map_count page-cluster
    dirty_writeback_centisecs min_free_kbytes swappiness
    hugetlb_shm_group nr_hugepages vfs_cache_pressure
    --------------------------------------------------------------------------------
    [root@localhost sys]# ls /proc/sys/net/ipv4
    conf tcp_fack
    icmp_echo_ignore_all tcp_fin_timeout
    icmp_echo_ignore_broadcasts tcp_frto
    icmp_ignore_bogus_error_responses tcp_keepalive_intvl
    icmp_ratelimit tcp_keepalive_probes
    icmp_ratemask tcp_keepalive_time
    igmp_max_memberships tcp_low_latency
    igmp_max_msf tcp_max_orphans
    inet_peer_gc_maxtime tcp_max_syn_backlog
    inet_peer_gc_mintime tcp_max_tw_buckets
    inet_peer_maxttl tcp_mem
    inet_peer_minttl tcp_moderate_rcvbuf
    inet_peer_threshold tcp_no_metrics_save
    ip_autoconfig tcp_orphan_retries
    ip_conntrack_max tcp_reordering
    ip_default_ttl tcp_retrans_collapse
    ip_dynaddr tcp_retries1
    ip_forward tcp_retries2
    ipfrag_high_thresh tcp_rfc1337
    ipfrag_low_thresh tcp_rmem
    ipfrag_secret_interval tcp_sack
    ipfrag_time tcp_stdurg
    ip_local_port_range tcp_synack_retries
    ip_nonlocal_bind tcp_syncookies
    ip_no_pmtu_disc tcp_syn_retries
    neigh tcp_timestamps
    netfilter tcp_tso_win_divisor
    route tcp_tw_recycle
    tcp_abort_on_overflow tcp_tw_reuse
    tcp_adv_win_scale tcp_vegas_alpha
    tcp_app_win tcp_vegas_beta
    tcp_bic tcp_vegas_cong_avoid
    tcp_bic_fast_convergence tcp_vegas_gamma
    tcp_bic_low_window tcp_westwood
    tcp_dsack tcp_window_scalingtcp_ecn tcp_wmem
    --------------------------------------------------------------------------------
    [root@localhost sys]# cat /proc/sys/kernel/shmall
    2097152
    --------------------------------------------------------------------------------
    [root@localhost sys]# cat /proc/sys/kernel/osrelease
    2.6.9-1.667
    --------------------------------------------------------------------------------
    总结 :/proc 文件系统包含了大量的有关当前系统状态的信息 。proc 的手册页中也有对这些文件的解释文档 。

    把文件和分析这些文件的工具产生的输出进行比较能够更加清晰地了解这些文件

    转载自:https://www.cnblogs.com/zlhff/p/5435720.html

    展开全文
  • Linux总结

    千次阅读 多人点赞 2020-01-14 20:36:45
    一 、从认识操作系统开始 1.1 操作系统简介 1.2 操作系统简单分类 ...3.2 文件类型与目录结构 四 、Linux基本命令 4.1 目录切换命令 4.2 目录的操作命令(增删改查) 4.3 文件的操作命令(增删...
  • Linux初学者面试问题 Linux基本面试问题 1.什么是Linux? 回答:Linux是基于Linux内核的操作系统。它是一个开源操作系统,可以在不同的硬件平台上运行。它为用户提供了免费的低成本操作系统。这是一个用户友好的...
  • 详解linux系统下/proc文件夹目录

    千次阅读 2020-10-10 11:45:48
    Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作...
  • linux文件权限和文件夹权限解读

    千次阅读 2019-04-24 09:38:46
    使用ll命令可以查看当前文件夹下所有文件的具体信息 输出结果的第一个字段就是描述文件和目录权限的编码。这个字段的第一个字符代表了对象的类型: - 代表文件 d 代表目录 l 代表链接 c 代表字符型设备 b ...
  • Linux环境下移动一个文件夹下的所有文件到另一个文件夹 最近需要把一个环境里的文件,迁移到另一个环境里去,迁移之前我先做了文件备份,然后网上查了下命令。 研究命令 #移动a文件夹下的所有文件到b文件夹 mv /a/* ...
  • Linux下递归遍历文件和文件夹

    千次阅读 2018-11-29 23:34:34
    Linux下检索文件跟windows下一样,只不过文件结构稍有不同,需要了解linux下的文件存储方式 struct stat 是一个指向文件指针的结构体。查看stat的信息可以通过man 2 struct stat查看 如下 struct stat { /...
  • 第五章-Linux实操篇

    千次阅读 多人点赞 2019-10-24 18:45:20
    title: 第五章 Linux实操篇 categories: Linux tags: linux typora-root-url: … abbrlink: 93414991 date: 2019-08-15 15:27:58 第五章 Linux实操篇 远程登录Linux系统 5.1 为什么要远程登录服务器 5.2 xhell5...
  • linux入门

    千次阅读 多人点赞 2016-11-02 10:32:23
    Linux入门简介 常用命令 软件安装 环境搭建 Ubuntu
  • 权限对于文件和目录的意义 ...且如果用户对于某目录不具有x权限,则该用户不能查询该目录下的文件的内容,注意:指的是内容,如果有r 权限是可以查看该目录下的文件名列表或子目录列表的。所以要开放目录给...
  • 首先linux中的文件和文件夹的区别 使用ls -l查询类似得出,不能查询该文件夹下的子文件夹里面的内容 total 1060drwxr-xr-x 5 ypp ypp 4096 1月 9 14:19 datasets(文件夹)-rw-r--r-- 1 ypp ypp 636 1月 9 15:55 ...
  • linux 查看文件目录

    千次阅读 2021-02-20 15:07:27
    ls ls(文件与目录的查看) ls这个命令官方提供的可选参数太多,本文就列举了一些平时比较常用的几个参数进行讲解与说明,可以在文末查看该命令的全部...-F:根据文件、目录等信息,给予附件数据结构,例如:*:代表可..
  • linux下各文件夹的用途和功能

    千次阅读 2015-05-26 21:00:40
    第一部分:各目录的用途 ... 这个目录包含着与终端和外设的文件接口,在Linux下,文件和设备是用同种方法访问的.系统上的每个设备都应该在这里有一个对应的设备文件.  /home   存放用户主目录的地方,
  • Linux 目录结构说明

    万次阅读 多人点赞 2018-12-29 16:56:48
     Filesystem Hierarchy Standard(文件系统目录标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小...
  • 1./根目录 ————所有目录挂在其下 2./boot ————存放Ubuntu内核和系统启动文件。系统启动时这些文件先被装载 ...15./bin————这个目录沿袭了Unix系统的结构,存放着使用者经常使用的命令
  • Linux---查看文件目录和目录结构(3)

    万次阅读 多人点赞 2018-04-06 14:44:59
    一、查看文件和目录: 1---查看当前所在的路径:pwd /root:表示是在根目录下的root目录里面(“/”表示根目录) 2---命令格式:命令 -选项 -参数(目录) 3---查看当前路径下的文件:ls -d:只看当前目录的...
  • linux的目录结构
  • 一.Linux /proc目录 简介Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为...
  • Linux 下,我们是看不到这些盘符,我们看到的是文件夹(目录): 在早期的 UNIX 系统中,各个厂家各自定义了自己的 UNIX 系统文件目录,比较混乱。Linux 面世不久后,对文件目录进行了标准化,于1994年对根...
  • 最近在看unix/Linux编程...内容很好理解,比如一个exel文件中的数据,一个文件夹中的文件/子文件夹等等 属性是指文件的大小、文件所有者等等,i-节点就是一个用来存放文件属性的东西,类似于一个struct,而i节点表就...
  • 拟解决问题:把aishell-2...aishell数据目录结构为:AISHELL-2/data/wav/speaker_id/*.wav.(speaker_id 的文件共1992个,每个speaker_id下有500左右的wav文件)。 实现代码: for i in `ls /work/data/record/use...
  • Linux的根目录下的文件夹

    千次阅读 2018-03-12 11:36:06
    linux根目录下的文件夹名字的完整含义
  • find . -type d -exec mkdir -p /data/datasets/musan1/{} ; 在当前目录下找类型为d的文件(即目录类型),然后执行后面的操作。 当前目录是你要copy的文件夹,-p后面接的目的文件夹 ...
  • 操作使用linux系统的用户如果细心的话,那么应该都知道到proc这个文件夹,在这个文件夹中集合了很多的目录,那么这个/proc文件夹及这些目录都是存储着什么信息呢?下面豆豆来为大家一一介绍下proc文件夹。  详解...
  • Linux如何查看文件打开情况

    千次阅读 2020-03-07 17:45:00
    linux环境下,任何事物都以文件的形式存在,这便产生了一句格言:“一切皆文件”,通过lsof命令便能查看文件打开情况。而lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)等。 lsof...
  • Linux内核目录结构介绍(超详细)

    千次阅读 2019-09-25 14:45:30
    现在介绍一下Linux内核(kernel)的目录结构。 内核在系统目录下的路径,一般为:/usr/src/(我的ubuntu下测试的) 你也可以自己在/home目录下创建一个文件夹命名为work,作为自己开发内核的工作目录,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 92,410
精华内容 36,964
关键字:

linux数据结构查看文件夹

linux 订阅
数据结构 订阅