首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux文件权限工作原理

理解用户权限工作原理是掌握 Linux 最重要部分之一。从这里开始学习基础知识。 译自 Linux: How File Permissions Work,作者 Damon M Garn。...目录中,创建 press-releases.txt 在 此处 找到有关 管理 Linux 文件和目录更多信息。...本节介绍管理 Linux 权限所需权限和身份。 了解访问级别 Linux 权限提供三种访问级别:读、写和执行。它们行为在应用于文件或目录时略有不同。...需要在文件上拥有执行权限才能将其作为程序或脚本运行。 了解身份 Linux 识别三种用于访问控制身份: 拥有文件或目录一个用户。 与文件或目录关联一个组。 所有不是该用户或组成员其他人。...本教程介绍了标准 Linux 权限,但还有一些额外特殊权限可以修改它们工作方式。额外 Linux 访问控制列表提供了更强大控制文件安全性方法。

8710
您找到你想要的搜索结果了吗?
是的
没有找到

linux程序运行结果在打印到屏幕同时写入文件

1、使用script工具script工具是一个非常使用工具,可以把输出到终端信息记录下来。...使用方法如:(1)输入 script log.txt命令开始保存终端输出信息 ,其中log.txt为需要写入log文件,可随意命名。(2)输入exit退出保存。...实例解析:2、使用tee工具tee工具用于将数据重定向到文件,另一方面还可以提供一份重定向数据副本作为后续命令stdin。简单说就是把数据重定向到给定文件和屏幕上。...若从管道接收输入数据,应该是缓冲区满,才将数据转存到指定文件中。若文件内容不到1024个字节,则接收完从标准输入设备读入数据后,将刷新一次缓冲区,并转存数据到指定文件

58620

Linux 进程、线程、文件描述符底层原理

Linux进程其实就是一个数据结构,顺带可以理解文件描述符、重定向、管道命令底层工作原理,最后我们从操作系统角度看看为什么说线程和进程基本没有区别。...我们用 C 语言写一个 hello 程序,编译后得到一个可执行文件,在命令行运行就可以打印出一句 hello world,然后程序退出。...举个例子,以我们角度 C 语言printf函数是向命令行打印字符,但是从进程角度来看,就是向files[1]写入数据;同理,scanf函数就是进程试图从files[0]这个文件中读取数据。...因为硬件都是由内核管理,我们进程需要通过「系统调用」让内核进程访问硬件资源。 PS:不要忘了,Linux 中一切都被抽象成文件,设备也是文件,可以进行读和写。...如果我们写程序需要其他资源,比如打开一个文件进行读写,这也很简单,进行系统调用,让内核把文件打开,这个文件就会被放到files第 4 个位置,对应文件描述符 3: 明白了这个原理,输入重定向就很好理解了

1.4K10

Linux 进程、线程、文件描述符底层原理

Linux进程其实就是一个数据结构,顺带可以理解文件描述符、重定向、管道命令底层工作原理,最后我们从操作系统角度看看为什么说线程和进程基本没有区别。...我们用 C 语言写一个 hello 程序,编译后得到一个可执行文件,在命令行运行就可以打印出一句 hello world,然后程序退出。...举个例子,以我们角度 C 语言printf函数是向命令行打印字符,但是从进程角度来看,就是向files[1]写入数据;同理,scanf函数就是进程试图从files[0]这个文件中读取数据。...明白了这个原理,输入重定向就很好理解了,程序想读取数据时候就会去files[0]读取,所以我们只要把files[0]指向一个文件,那么程序就会从这个文件中读取数据,而不是从键盘: ?...到这里,你可能也看出「Linux 中一切皆文件」设计思路高明了,不管是设备、另一个进程、socket 套接字还是真正文件,全部都可以读写,统一装进一个简单files数组,进程通过简单文件描述符访问相应资源

2.4K30

图解|Linux文件预读原理

概述 本文主要阐述内核(linux-3.12)文件系统预读设计和实现。...所谓预读,是指文件系统为应用程序一次读出比预期更多文件内容并缓存在page cache中,这样下一次读请求到来时部分页面直接从page cache读取即可。...,共进行三次读(且是顺序读),那让我们看看操作系统是如何对文件进行预读。...由于上面的两次顺序读,截至目前,该文件在操作系统中page cache状态如下: Read 3 接下来应用程序进行第三次读,顺序读,范围是[page3, page6],上面的预读其实已经将这些页面读入...,根据特定算法计算本次预读大小,更新预读窗口为 (12,16,16) ,新预读窗口如下: 对该情境简单总结下,由于三次顺序读加上内核预读行为,文件page cache中状态当前如下图所示:

16710

Linux文件删除原理及案例分析

谨记: 大多数服务在运行时,是不能删除对应服务正在写入日志文件,会带来意料之外结果!!!     ...Linux是通过link数量来控制文件删除,link包括被调用数量和硬链接数量。     真正删除一个文件,只有在文件未被进程调用情况下,删除该文件所有硬链接数即可。     ...如果在进程调用时,通过rm命令删除一个文件,是无法彻底删除,该文件依然存在,只不过通过ls命令无法看到而已!...可以看到,该文件并未彻底删除,因为系统进程正在写入数据到该文件中,进程调用数不为零导致!...,可能是删除了不该删除文件,导致文件大小一直增长,导致block满了,可通过 # lsof | grep deleted 查看  只有进程调用数为0并且硬链接数为0,该文件才能彻底删除!

1.6K40

VBA: 多份Excel文件批量顺序打印

文章背景:测试仪器数据有时会以Excel文件形式保存,工作量大时会选中多份文件进行批量打印。当office升级后,批量打印时可能会出现顺序错乱,这时需要手动排序,费事费力。...现在以批量打印Excel文件(.xlsx格式)为例,采用VBA编程,进行任务实现。...在批量打印文件按钮中指定如下宏命令代码: Sub printFiles() '批量打印Excel文件 Application.ScreenUpdating = False...因此,运行上述代码后,每打印一次,就会弹出对话框,选择 PDF 文档保存位置和文件名。 (2)实际工作当中,如果连接了实体打印机,运行上述代码后会按顺序依次打印出你所选择各个文件。...参考资料: [1] 利用Excel VBA实现批量打印思路(https://zhuanlan.zhihu.com/p/55800879) [2] 你还在挨个打印word、excel文件吗(https:

2.5K40

Linux分区原理介绍

1.Linux无论有多少个分区.分给哪一个目录,整个文件系统也只有一个根目录.它每一个分区都是用来组成整个文件系统一部分.Linux使用一种”载入”处理办法.将分区和目录联系起来.这时要载入一个分区...,将使它存储空间在一个目录下获得. 2.Linux硬盘编号说明 Linux硬盘分为IDE硬盘,SCSI硬盘和SATA硬盘 硬盘编号格式为”sdXY”,其中”sd”表示硬盘为SCSI类型(IDE类型为...对新硬盘进行分区 对新硬盘分区进行格式化 格式化指令: mkfs -t ext4 需要格式化磁盘分区文件 将分区挂载到linux对应目录上 挂载指令: mount 分区文件 挂载目录 注意: 挂载到目录需要提前创建...| grep “^d” | wc -l 统计/home目录下文件个数,包括子目录下文件 ll -R /home | grep “^-” | wc -l 统计/home目录下文件(子目录)夹个数,...包括子文件夹下目录.

6.6K00

PDFBox 打印带背景文件速度慢

打印原因 javaRasterPrinterJob会执行很多次printPage方法 他应该是按块填充, 如果页面元素非常复杂, 那么printPage方法可能会执行十几次....怎么解决 最好方式自然是改pdfbox源码, 不用每次都重新生成解析pdf文件. 不过那样稍微有点麻烦....还有个更简单方式, 既然pdf会被反复解析, 那么我们在print之前把pdf转成图片, 然后直接打印图片即可....return new TexturePaint(buffered, rec2D); 51 } 52 } 这一次print方法同样被执行了十几次, 但是每次也就十几毫秒, 文件很快就被打印出来了...实际打印哪一页就从远程获取哪一页 49 Book printBook = new Book(); 50 // 真正打印时候, 每页printable都new pdfprintable.print

2.1K70

VBA: 多份文件批量顺序打印(2)

文章背景:测试仪器数据有些会以Excel文件形式保存,工作量大时测试员会选中多份文件进行批量打印,同时可能需要删除一些无需打印测试数据(比如空白样,错误数据等)。...现在以批量打印Excel文件(.xlsx格式)为例,采用VBA编程,进行任务实现。 无需打印Excel文件名依次填在E列,打印时会跳过这些文件。...在模块中添加如下代码,批量打印文件按钮中指定宏命令为printFiles。...因此,运行上述代码后,每打印一次,就会弹出对话框,选择 PDF 文档保存位置和文件名。 (2)实际工作当中,如果连接了实体打印机,运行上述代码后会依次打印出你所需要文件。...相关资料: [1] VBA: 多份Excel文件批量顺序打印 [2] Excel: 提取路径中文件名 [3] VBA:获取指定数值在指定一维数组中位置

1.3K40

细说|Linux虚拟文件系统原理

今天,我们就来介绍虚拟文件系统原理与实现。 虚拟文件系统原理 在阐述虚拟文件系统原理前,我们先来介绍一个 Java 例子。通过这个 Java 例子,我们能够更容易理解虚拟文件系统原理。...虚拟文件系统原理 上面的 Java 例子已经大概说明虚拟文件系统原理,但由于 Linux 是使用 C 语言来编写,而 C 语言并没有接口这个概念。...3. dentry结构 到这里,虚拟文件系统原理基本分析完毕,但还有两个非常重要结构要介绍一下:dentry 和 inode。...4. inode结构 在 Linux 内核中,inode 结构表示一个真实文件。为什么有了 dentry 结构还需要 inode 结构呢?这是因为 Linux 存在硬链接概念。...正是有了 虚拟文件系统,Linux 才能支持各种各样文件系统。

1.3K10

Linux下用CUPS打印机服务

目前Linux发行版本基本上都使用cups作为Linux下管理打印服务应用。CUPS软件为Unix/Linux用户提供了有效而可靠方式来管理打印方法。...CUPS本身可以提供网络打印机功能,使用它可以非常方便LinuxLinux之间、Linux与Windows之间实现打印共享。  ...今天提到这个问题,是由于发现很多用户在使用Linux时候,沿用是Windows下习惯,用Samba进行打印机共享。...其实LinuxSamba打印机共享,是Samba连接本地cups服务,然后提供出来,这样会有几个问题: 引用 1、打印状态在Windows下看不到; 2、从Windows下访问Samba需要访问密码...但有个前提,就是客户端必须有打印机在linux驱动,否则机器是不能打印打印有错

3.8K50

Linux文件系统(rootfs原理详解)

具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件存取,当用户不再使用时撤销文件等。 尽管内核是linux核心,但文件却是用户与操作系统交互所采用主要工具。...文件系统和内核是完全独立两个部分。在嵌入式中移植内核下载到开发板上,是没有办法真正启动Linux操作系统,会出现无法加载文件系统错误。...Linux启动时,第一个必须挂载是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动。成功之后可以自动或手动挂载其他文件系统。因此,一个系统中可以同时存在不同文件系统。...6 顺便说下linux文件系统常用目录 Linux文件系统中一般有如下几个目录: /bin目录 该目录下存放所有用户都可以使用、基本命令,这些命令在挂接其它文件系统之前就可以使用,所以/bin目录必须和根文件系统在同一个分区中.../dev目录 该目录下存放是设备文件,设备文件Linux中特有的文件类型,在Linux系统下,以文件方式访问各种设备,即通过读写某个设备文件操作某个具体硬件。

12.4K40
领券