精华内容
下载资源
问答
  • 一切皆文件

    2017-02-11 16:32:35
    对于linux来说,一切 皆文件。包括硬件 。。。。。 因此每个文件都有它们的文件名, 1  硬件 设备文件名:  IDE硬盘 /dev/hd[a-d]  SCSI/SATA/USB硬盘

    对于linux来说,一切 皆文件。包括硬件  。。。。。

    因此每个文件都有它们的文件名,

    1

      硬件                                                     设备文件名:

     IDE硬盘                                               /dev/hd[a-d]

     SCSI/SATA/USB硬盘                          /dev/sd[a-p]

     光驱                                                     /dev/cdrom 或/dev/hdc

     软盘                                                   /dev/fd[0-1]

     鼠标                                                 /dev/mouse 

    打印机(USB)                             /dev/usb/lp[0-15]

    打印机(25针)                           /dev/lp[0-2]

    2 知识 

    hd /sd

      代表硬盘接口,hd 代表IDE接口,sd 代表SCSI/SATA/USB接口

    挂载:

    给分区分配盘符的过程,叫挂载,但是linux中,其中挂载点称之为盘符,但是与windows不同,Linux中的盘符不叫abcd 叫!!!!!!!!!!!目录!!!!!!!其中绝大多数的目录都可以单独做一个分区,但也有部分目录必须和根目录在同一个分区才能正常工作

    其中必需分区有:

    根分区:一切文件系统的根基

    swap分区:当存储空间不够时,我们用swap分区中的虚拟内存,作为存储空间,一般SWAP分区大小为<4g ,分2倍,>4g分一倍

    推荐分区:boot分区,防止硬盘被写满后,无法进行电脑启动,因此单独分区,

    3 文件系统结构

    一级目录:根目录/

    二级目录:/boot   /home   /etc   每个目录都有其分区,这样可以保证如果某个分区在写满后,不会影响其他的分区的功能,虽然BOOT  HOME   ETC目录都是根目录的子目录,但是他们都有独立的存储空间,









    展开全文
  • Linux中一切皆文件

    千次阅读 2020-01-22 08:08:12
    Linux文件中一切皆文件 linux系统中一切皆文件是一个基本哲学。建立此贴希望以在学习中能以这个哲学基础为中心,展开思路进行融会贯通。

    Linux文件中一切皆文件

    linux系统中一切皆文件是一个基本哲学。建立此贴希望以在学习中能以这个哲学基础为中心,展开思路进行融会贯通。
    在这里插入图片描述

    文件的种类

    文件类型 字符代码 文件实例
    常规文件 - 二进制文件、纯文本、XML、压缩文件等
    目录文件 d 文件夹
    字符设备 c character device,如串口、键盘、鼠标、EEPROM等,以char为单位进行随机访问
    块设备 b block device,如硬盘、SD卡、eMMC等,以block为单位进行随机访问
    命名管道 p pipe,存在于内存中,用于进程间通信
    套接字 s socket文件,用于C/S网络通信
    软链接 l symbolic link,类似Windows快捷方式

    文件的属性和权限

    种类 文件应用 目录应用 数值
    r:读取 读取文件内容 可读取目录内文件列表 4
    w:写入 修改文件内容 可新建,删除目录内文件 2
    x:执行 脚本文件可执行 进入一个目录的权限 1
    SUID:S(s) 临时拥有所有者权限 仅对文件有效 4
    SGID:S(s) 临时拥有所属组权限 新文件继承所属组权限 2
    SBIT:T(t) 非所有者不可删除 目录中的所有文件非所有者都不可以删除 1

    例:
    rwS r-s -wT=7652
    6543=ss+r-xr—wx=r-sr-S-wx
    7654=rwSr-sr–T

    文件的主人

    对文件的操作

    2.3系统工作命令 2.4系统状态检测 2.5工作目录切换 2.6文本文件编辑 2.7文件目录管理 2.8打包压缩搜索
    echo ifconfig pwd cat touch tar
    date uname cd more cp grep
    reboot uptime ls head mv find
    poweroff free tail dd
    wget who tr file
    ps last wc mkdir
    top history stat rm
    pidof sosreport cut
    kill diff
    killall

    文件的功能

    文件之间的关系

    展开全文
  • Linux一切皆文件

    千次阅读 2018-12-18 20:59:41
    1.一切皆文件 ​ Linux 一切皆文件,不仅是狭义上的文件,像键盘、打印机、虚拟终端,进程间通信和网络通信等输入/输出资源都是定义在文件系统空间下的字节流 ​ 好处:对于输入/输出资源,可以使用同一套api(read...

    1.一切皆文件

    ​ Linux 一切皆文件,不仅是狭义上的文件,像键盘、打印机、虚拟终端,进程间通信和网络通信等输入/输出资源都是定义在文件系统空间下的字节流

    ​ 好处:对于输入/输出资源,可以使用同一套api(read, write)和工具(cat , 重定向, 管道)来处理unix中大多数的资源 (注:api是应用程序编程接口)

    ​ 操作系统为解决信息能独立于进程之外被长期存储引入了文件,文件作为进程创建信息的逻辑单元可被多个进程并发使用

    ​ 在 UNIX 系统中,操作系统为磁盘上的文本与图像、鼠标与键盘等输入设备及网络交互等 I/O 操作设计了一组通用 API,使他们被处理时均可统一使用字节流方式

    ​ 注意点:Linux 文件是没有所谓的扩展名的,一个 Linux文件能否被执行与它是否可执行的属性有关,只要权限中有x就可以执行(不一定执行成功)虽然如此,但期望通过扩展名来了解该文件是什么东西,所以一般还会以适当的扩展名来表示该文件是什么

    2.物理存储机制:

    ​ 磁性存储介质磁化后会保留被磁化状态,且状态能被读取和修改,磁化有两个方向可表示0和1,所以用磁性存储介质来存储信息
    ​ 而硬盘就是把磁性存储介质做成多个盘片(包含数以亿计的磁性存储单位),并使用磁性读写头对盘片进行读写

    ​ 由于硬盘中磁性存储单元众多,所以需要一套规则来规划信息如何存取,于是就有了物理、逻辑概念:

    1. 一个硬盘有多张盘片叠成
    2. 每张盘片上的存储颗粒(一存储颗粒为1bit)成环形一圈圈地排布,每一圈称为磁道
    3. 每条磁道上都有一圈存储颗粒,每512*8(512byte,0.5KB)个存储颗粒作为一个扇区
    4. 扇区是硬盘最小的物理存储单位
    5. N个扇区可以组成簇,N取决于不同的文件系统或是文件系统的配置
    6. 簇是文件系统的最小存储单位
    7. 所有盘面上的同一磁道构成一个圆柱,称为柱面
    8. 柱面是系统分区的最小单位

    ​ 磁头读写文件时先分区读写,由inode编号(区内唯一的编号)找到对应磁道和扇区,然后一个柱面一个柱面地进行读写

    在这里插入图片描述

    3.Linux文件体系:

    ​ Linux以文件的形式对计算机中的数据和硬件资源进行管理,反映在Linux的文件类型上就是:普通文件、目录文件(也就是文件夹)、设备文件、链接文件、管道文件、套接字文件(数据通信的接口)等等。而这些种类繁多的文件被Linux使用目录树进行管理(就是以根目录(/)为根,向下呈现分支状的一种树形结构)

    3.1. 普通文件

    ​ 类似mp4、pdf这样应用层面上的文件类型都属于普通文件,Linux用户可以根据访问权限对普通文件进行查看、更改和删除

    3.2. 目录文件

    ​ 目录文件包含了目录下的文件名和指向这些文件的指针,打开目录事实上就是打开目录文件

    3.3. 链接文件

    ​ 类似快捷方式,是指向另一个文件的间接指针

    3.4. 块设备文件和字符设备文件

    ​ 这些文件一般隐藏在/dev目录下,在进行设备读取和外设交互时会被使用到。比如磁盘光驱就是块设备文件,串口设备则属于字符设备文件

    3.5. 管道文件

    ​ 主要用于进程间通讯

    .6. 套接字文件

    ​ 用于进程间的网络通信,也可以用于本机之间的非网络通信,这些文件一般隐藏在/var/run目录下,证明着相关进程的存在

    展开全文
  • lsof 一切皆文件

    2015-10-07 17:09:00
    lsof 一切皆文件 Docs » 工具参考篇 » 3. lsof 一切皆文件 Docs » 工具参考篇 » 3. lsof 一切皆文件 Edit on GitHub 3. lsof 一切皆文件¶ lsof(list open files)是一个...
    • Docs »
    • 工具参考篇 »
    • 3. lsof 一切皆文件

    • 3. lsof 一切皆文件

      lsof(list open files)是一个查看当前系统文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,该文件描述符提供了大量关于这个应用程序本身的信息。

      lsof打开的文件可以是:

      1. 普通文件
      2. 目录
      3. 网络文件系统的文件
      4. 字符或设备文件
      5. (函数)共享库
      6. 管道,命名管道
      7. 符号链接
      8. 网络文件(例如:NFS file、网络socket,unix域名socket)
      9. 还有其它类型的文件,等等

      3.1. 命令参数

      • -a 列出打开文件存在的进程
      • -c<进程名> 列出指定进程所打开的文件
      • -g 列出GID号进程详情
      • -d<文件号> 列出占用该文件号的进程
      • +d<目录> 列出目录下被打开的文件
      • +D<目录> 递归列出目录下被打开的文件
      • -n<目录> 列出使用NFS的文件
      • -i<条件> 列出符合条件的进程。(4、6、协议、:端口、 @ip )
      • -p<进程号> 列出指定进程号所打开的文件
      • -u 列出UID号进程详情
      • -h 显示帮助信息
      • -v 显示版本信息

      3.2. 使用实例

      实例1:无任何参数

      $lsof| more
      COMMAND     PID      USER   FD      TYPE             DEVICE SIZE/OFF       NODE NAME
      init          1      root  cwd       DIR              253,0     4096          2 /
      init          1      root  rtd       DIR              253,0     4096          2 /
      init          1      root  txt       REG              253,0   150352    1310795 /sbin/init
      init          1      root  mem       REG              253,0    65928    5505054 /lib64/libnss_files-2.12.so
      init          1      root  mem       REG              253,0  1918016    5521405 /lib64/libc-2.12.so
      init          1      root  mem       REG              253,0    93224    5521440 /lib64/libgcc_s-4.4.6-20120305.so.1
      init          1      root  mem       REG              253,0    47064    5521407 /lib64/librt-2.12.so
      init          1      root  mem       REG              253,0   145720    5521406 /lib64/libpthread-2.12.so
      ...
      

      说明:

      lsof输出各列信息的意义如下:

      • COMMAND:进程的名称

      • PID:进程标识符

      • PPID:父进程标识符(需要指定-R参数)

      • USER:进程所有者

      • PGID:进程所属组

      • FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等:

        (1)cwd:表示current work dirctory,即:应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改
        (2)txt :该类型的文件是程序代码,如应用程序二进制文件本身或共享库,如上列表中显示的 /sbin/init 程序
        (3)lnn:library references (AIX);
        (4)er:FD information error (see NAME column);
        (5)jld:jail directory (FreeBSD);
        (6)ltx:shared library text (code and data);
        (7)mxx :hex memory-mapped type number xx.
        (8)m86:DOS Merge mapped file;
        (9)mem:memory-mapped file;
        (10)mmap:memory-mapped device;
        (11)pd:parent directory;
        (12)rtd:root directory;
        (13)tr:kernel trace file (OpenBSD);
        (14)v86  VP/ix mapped file;
        (15)0:表示标准输出
        (16)1:表示标准输入
        (17)2:表示标准错误
        一般在标准输出、标准错误、标准输入后还跟着文件状态模式:r、w、u等
        (1)u:表示该文件被打开并处于读取/写入模式
        (2)r:表示该文件被打开并处于只读模式
        (3)w:表示该文件被打开并处于
        (4)空格:表示该文件的状态模式为unknow,且没有锁定
        (5)-:表示该文件的状态模式为unknow,且被锁定
        同时在文件状态模式后面,还跟着相关的锁
        (1)N:for a Solaris NFS lock of unknown type;
        (2)r:for read lock on part of the file;
        (3)R:for a read lock on the entire file;
        (4)w:for a write lock on part of the file;(文件的部分写锁)
        (5)W:for a write lock on the entire file;(整个文件的写锁)
        (6)u:for a read and write lock of any length;
        (7)U:for a lock of unknown type;
        (8)x:for an SCO OpenServer Xenix lock on part      of the file;
        (9)X:for an SCO OpenServer Xenix lock on the      entire file;
        (10)space:if there is no lock.
        
      • TYPE:文件类型,如DIR、REG等,常见的文件类型:

        (1)DIR:表示目录
        (2)CHR:表示字符类型
        (3)BLK:块设备类型
        (4)UNIX: UNIX 域套接字
        (5)FIFO:先进先出 (FIFO) 队列
        (6)IPv4:网际协议 (IP) 套接字
        
      • DEVICE:指定磁盘的名称

      • SIZE:文件的大小

      • NODE:索引节点(文件在磁盘上的标识)

      • NAME:打开文件的确切名称

      实例2:查找某个文件相关的进程

      $lsof /bin/bash
      COMMAND     PID USER  FD   TYPE DEVICE SIZE/OFF    NODE NAME
      mysqld_sa  2169 root txt    REG  253,0   938736 4587562 /bin/bash
      ksmtuned   2334 root txt    REG  253,0   938736 4587562 /bin/bash
      bash      20121 root txt    REG  253,0   938736 4587562 /bin/bash
      

      实例3:列出某个用户打开的文件信息

         $lsof -u username
      
      -u 选项,u是user的缩写
      

      实例4:列出某个程序进程所打开的文件信息

      $lsof -c mysql
      

      -c 选项将会列出所有以mysql这个进程开头的程序的文件,其实你也可以写成 lsof | grep mysql, 但是第一种方法明显比第二种方法要少打几个字符;

      实例5:列出某个用户以及某个进程所打开的文件信息

      $lsof  -u test -c mysql
      

      实例6:通过某个进程号显示该进程打开的文件

      $lsof -p 11968
      

      实例7:列出所有的网络连接

      $lsof -i
      

      实例8:列出所有tcp 网络连接信息

      $lsof -i tcp
      
      $lsof -n -i tcp
      COMMAND     PID  USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
      svnserve  11552 weber    3u  IPv4 3799399      0t0  TCP *:svn (LISTEN)
      redis-ser 25501 weber    4u  IPv4  113150      0t0  TCP 127.0.0.1:6379 (LISTEN)
      

      实例9:列出谁在使用某个端口

      $lsof -i :3306
      

      实例10:列出某个用户的所有活跃的网络端口

      $lsof -a -u test -i
      

      实例11:根据文件描述列出对应的文件信息

      $lsof -d description(like 2)
      

      示例:

      $lsof -d 3 | grep PARSER1
      tail      6499 tde    3r   REG    253,3   4514722     417798 /opt/applog/open/log/HOSTPARSER1_ERROR_141217.log.001
      

      说明: 0表示标准输入,1表示标准输出,2表示标准错误,从而可知:所以大多数应用程序所打开的文件的 FD 都是从 3 开始

      实例12:列出被进程号为1234的进程所打开的所有IPV4 network files

      $lsof -i 4 -a -p 1234
      

      实例13:列出目前连接主机nf5260i5-td上端口为:20,21,80相关的所有文件信息,且每隔3秒重复执行

      lsof -i @nf5260i5-td:20,21,80 -r 3
      
    posted on 2015-10-07 17:09 桑海 阅读(...) 评论(...) 编辑 收藏

    转载于:https://www.cnblogs.com/sanghai/p/4858978.html

    展开全文
  • 来自《实例演绎Unix/Linux的"一切皆文件"思想》 大家习惯了使用socket来编写网络程序,socket是网络编程事实上的标准。 我们知道,在Unix/Linux系统中“一切皆文件”,socket也被认为是一种文件,socket被表示成文件...
  • linux一切皆文件

    2018-03-21 23:35:47
    一切皆文件 FHS 标准目录结构树形结构/bin 二进制文件 存放普通用户可以使用的命令/sbin 只有root用户可以使用的命令/root root用户的家目录 /home 普通用户的家目录的父目录/dev device 存放设备文件的目录/etc ...
  • Linux 一切皆文件认知

    2020-04-25 10:38:10
    Linux的一切皆文件 一切都可看作是文件,其最显著的好处是对于上面所列出的输入/输出资源,只需要相同的一套 Linux 工具、实用程序和 API。你可以使用同一套api(read, write)和工具(cat , 重定向, 管道)来处理unix...
  • Linux 一切皆文件思想

    千次阅读 2018-07-27 10:42:56
    一切皆文件” 在linux开发过程中,相信大家都听过一句话叫作“limux下,一切皆文件”。这句话是linux/unix的哲学核心思想,下面我们就针对这句话给大家进行展开解释下。 这句话中的“文件”不仅仅是我们通常所指...
  • linux系统中一切皆文件

    万次阅读 2018-07-27 15:21:46
    linux系统中一切皆文件 linux下“一切皆文件”是Unix/Linux的基本哲学之一。 普通文件、目录、字符设备、块设备和网络设备(套接字)等在Unix/Linux都被当做文件来对待。虽然他们的类型不同,但是linux系统为...
  • 关于linux下一切皆文件的思考linux和windows的区别了解一切皆文件的内容文件解析图虚拟文件系统VFS文件系统 linux和windows的区别 今天突然想到 在linux中 我们所熟知的一句话叫做,“linux下一切皆文件” 于是乎就...
  • 一切皆文件:一切硬件都是文件
  • Linux 的世界,一切皆文件 在linux的世界中,它会把一切都看作是文件,包括普通文件、目录文件、字符设备(键盘、鼠标等)、块设备(硬盘、光驱等)、socket、epoll、socket、管道、终端等等,所有一切都抽象成了...
  • 一切皆文件的编程思想和通信的思想类似,都是建立联系然后进行操作。 在常规的文件操作中,这个联系表现为文件的句柄; 在网络通信中,这个联系表现为socket连接; 在变量操作中,这个联系表现为变量和指针; ...
  • 3. lsof 一切皆文件

    2018-05-22 14:51:40
    3. lsof 一切皆文件lsof(list open files)是一个查看当前系统文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。如传输控制协议 (TCP) 和用户...
  • 初识Linux Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。 目录结构唯一 根目录 树形 绝对路径:从根目录开始表达的路径...linux 一切皆文件 文件类型:(以.开头为隐藏文件,可用ls -...
  • Linux中“一切皆文件

    千次阅读 2017-05-15 19:59:30
    一切皆文件” 在linux开发过程中,相信大家都听过一句话叫作“limux下,一切皆文件”。这句话是linux/unix的哲学核心思想,下面我们就针对这句话给大家进行展开解释下。 这句话中的“文件”不仅仅是我们通常所...
  • UNIX一切皆文件!!

    千次阅读 2017-05-09 17:32:45
    忘记从哪里听到这样一句话,UNIX一切皆文件。下面是我的理解,这句话真的UNIX最精髓的一句话! 我在研究管道的时候,用到popen和pclose,这里popen返回值是FILE *fp,大多是理解成管道,可以跟子进程的标准输入输出...
  • 深入解析Linux系统中的“一切皆文件

    千次阅读 2021-03-23 10:29:11
    一切皆文件1 C文件IO2 文件相关系统调用接口2.1 open 接口介绍3 文件描述符3.1 什么是文件描述符3.2 文件描述符的分配规则3 你是怎么理解重定向的(从OS的角度)4二级目录三级目录 1 C文件IO C默认会打开三个输入...
  • Linux一切皆文件(包含好处和弊端) http://c.biancheng.net/view/2852.html
  • 【Linux】Linux根目录下的文件说明(一切皆文件) 文章目录【Linux】Linux根目录下的文件说明(一切皆文件)1、/bin 目录2、/sbin 目录3、/home 目录4、/root 目录5、/dev 目录6、/tmp 目录7、/boot 目录8、/lib 目录9...
  • 是面向接口编程的典范。 使用统一的open,read,write,close等操作 ...商业转载请联系作者获得授权,非商业转载请注明出处。...“一切皆文件”的好处更多的表现在开发者上,好处就是大部分操作可以统一接口,甚至...
  • Linux 一切皆文件

    2021-02-20 10:43:58
    启动一个进程,需要一个程序文件,这是一个二进制文件。 启动的时候,要加载一些配置文件,例如 yml、properties 等,这是文本文件; 启动之后会打印一些日志,如果写到硬盘上,也是文本文件。 但是如果我想把...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,629
精华内容 2,251
关键字:

一切皆文件