当前位置: 首页 > unix
-
每周学点测试小知识-Linux文件属性
在课堂上,芒果曾向大家介绍过Linux系统是一种典型的多用户操作系统,其中不同用户拥有不同的权限和地位。Linux的文件或目录属性包括节点、类型、权限、链接数量、所有者和所属组、最近访问或修改的时间等。我们可以使用ls-ali命令来查看这些文件属性:这些属性分别表示:iNode号、文件类型、文件权限、链接数目(硬链接数目)、文件所有者、文件所属组、文件大小、文件修改时间、文件名。iNode什么是iNode?要理解iNode,我们需要从文件存储开始说起。文件存储在硬盘上,硬盘的最小存储单位是“扇区
linux运维 6622025-07-16 09:34:02
-
Linux文件系统十问
我在知乎和公众号上都提到过,我在2012年于腾讯工作时写过一篇《Linux文件系统十问》。一直有人问我这篇文章在哪里能看到,如今外网唯一的正版链接——腾讯学堂也已经失效,网上能搜到的全是盗版。所以今天我干脆正式地再发一遍这篇文章。以下是文章的正文。关于文件系统,相信大家都不陌生。作为程序员的我们几乎每天都会与之打交道,但深入探讨一下,其中又有多少是我们理解不深的呢?那么,让我们一起来看一下下面这一组关于Linux文件系统的问题吧:1、机械磁盘在进行随机读写时速度非常慢,操作系统是采用什么技巧来提
linux运维 1652025-07-14 09:20:43
-
Linux 文件系统详解
在LINUX系统中有一个重要的概念:一切都是文件。其实这是UNIX哲学的一个体现,而Linux是重写UNIX而来,所以这个概念也就传承了下来。在UNIX系统中,把一切资源都看作是文件,包括硬件设备。UNIX系统把每个硬件都看成是一个文件,通常称为设备文件,这样用户就可以用读写文件的方式实现对硬件的访问。和DOS等操作系统不同,Linux操作系统中单独的文件系统并不是由驱动器号或驱动器名称(如A:或C:等)来标识的。相反,和UNIX操作系统一样,Lin
linux运维 2402025-07-14 08:58:15
-
浅谈文件系统中的核心数据结构
在宏观层面上,文件系统在内核中的运作流程可以概括为从虚拟文件系统(VFS)到实际磁盘文件系统的一系列步骤:VFS->磁盘缓存->实际磁盘文件系统->通用块设备层->IO调度层->块设备驱动层->磁盘。具体的操作流程如图所示:理解文件系统中的数据结构是理解Linux文件系统运作的关键。Linux中的文件系统包含几种核心数据结构:super_block、inode、dentry和file。super_block:这是磁盘文件系统(如XFS、EXT4)
linux运维 4882025-07-13 08:34:40
-
解决:如何写一个shell脚本(脚本名称:xsync,也称:xsync命令):实现多个电脑或者虚拟机之间的文件同步?
大家好,又见面了,我是你们的朋友全栈君。如何编写一个名为xsync的shell脚本(也称为xsync命令),以实现多个电脑或虚拟机之间的文件同步?让我们逐步了解其实现方法和相关问题。一、xsync命令与rsync命令之间的关系介绍:(1)xsync命令来源于一个xsync脚本,这个脚本不是Linux系统自带的,而是由程序员编写的。(2)xsync脚本的底层实际上是调用Linux系统自带的rsync命令,来实现多个电脑之间的快速文件同步。(3)rsync命令可以直接使用:其本质是通过“用户+电脑I
linux运维 3432025-07-11 10:28:36
-
学习笔记0319----linux基本命令(二)(文件管理)
linux基本命令预习内容1.文件增加隐藏权限(chattr)和查看隐藏权限(lsattr)1.1chattr选项+i权限1.2chattr选项+a权限1.3chattr选项“i”与“a”区别1.4lsattr选项-a-d-R2.特殊权限2.1set_uid权限,作用于二进制文件,可执行文件2.2set_gid权限2.3stick_bit防删位3.软链接和硬链接3.1软链接文件3.2硬链接文件3.3软链接和硬链接区别4.搜索文件命令4.1其他搜索命令:4.
linux运维 8842025-07-11 08:30:27
-
如何使用OnionJuggler在类Unix系统上通过命令行管理你的Onion服务
关于OnionJugglerOnionJuggler是一款功能丰富的Onion服务管理工具,适用于类Unix操作系统。该工具使用POSIX兼容的Shell脚本进行编写,可以帮助广大研究人员在类Unix系统上通过命令行管理自己的Onion服务。OnionJuggler是一个低要求、可移植的脚本和文档集合,用于帮助服务运营商处理和管理自己的Onion服务。项目目标功能介绍工具要求系统&权限所需组件可选组件开发组件工具安装首先,广大研究人员需要使用下列命令将该项目源码克隆至本地:代码语言:j
linux运维 4062025-07-10 12:24:02
-
聊聊Posix语义之open和close系统调用
在Linux操作系统中,文件操作通常涉及系统调用,特别是open和close。这些系统调用通过内核的虚拟文件系统(VFS)和具体的文件系统(如ext4)来执行。让我们详细探讨这两个系统调用的过程和实现。Posix之openopen系统调用允许用户态进程通过文件路径名称打开文件,并创建一个structfile结构体。这个结构体与进程的文件描述符(fd)关联,并返回给用户态进程以便后续操作。open系统调用的流程如下://进入系统调用do_sys_open//本进程内部申请一个空闲的fdget_un
linux运维 10362025-07-09 12:06:28
-
Linux系统进程编程(二)
在前一篇文章中,我们已经对进程有了基本的认识,今天我们将继续探讨进程的实际操作——父子进程对文件的操作,以及什么是僵尸进程和孤儿进程?现在让我们揭开这些神秘的面纱!一、父子进程对文件的操作:1、子进程继承父进程中打开的文件:父进程首先使用open函数打开一个文件并获得文件描述符(fd),然后通过fork函数创建子进程。之后,父子进程各自通过write函数向fd中写入内容,代码如下:#include#include#include
linux运维 8952025-07-09 11:28:10
-
fork系统调用分析
在Linux中,新的进程主要通过fork函数来创建。我们知道,每个进程在内核中对应一个PCB块,内核通过对PCB块的操作来管理进程。在Linux内核中,PCB对应的结构体是task_struct,即所谓的进程描述符(processdescriptor)。这个数据结构包含了与进程相关的所有信息,包括描述进程属性的多个字段以及指向其他与进程相关的结构体的指针。因此,进程描述符内部结构相当复杂。该结构体的声明位于include/linux/sched.h文件中。在Linux中,新的进程主要通过fork
linux运维 9372025-06-26 12:46:01
-
linux三剑客之awk,linux必学的强大工具!
在Linux中,文本处理的三大利器grep、sed和awk在工作和面试中频繁出现。即使是复杂的需求,往往只需一条简单的命令就能解决。本文将重点介绍其中最强大的工具awk。awk的概念及作用awk是一种强大的文本处理工具,常用于处理和分析文本数据。其基本语法如下:awk[options]'BEGIN{print"start"}‘pattern{commands}’END{print"end"}'file在awk中,BEGIN和END是关键字,必须大写,且为可选部分。BEGIN块在处
linux运维 6032025-06-25 12:08:37
-
为什么程序员都想拥有一台Mac电脑?
在电子产品领域,苹果电脑显得独树一帜,尤其受到程序员的追捧。我曾与一位刚入行的同事聊天,他近期准备购买一台苹果电脑。尽管苹果电脑在性价比上可能不是最佳选择,但对于编程人员来说,拥有一台Mac电脑似乎是一种期待的满足,这正是典型的苹果情怀。为何许多程序员心中都怀有这样的苹果情怀呢?就像多年前程序员们钟爱ThinkPad一样,自从ThinkPad被收购后,这种感觉已大不如前。Mac电脑成为了许多程序员心中的灯塔,一个电脑品牌为何能赢得如此多的技术人员的青睐呢?1.苹果电脑的操作系统基于Unix,与L
Windows系列 3292025-05-15 14:24:02
-
[一]FileDescriptor文件描述符 标准输入输出错误 文件描述符
当应用程序请求打开或操作文件时,操作系统会为该应用程序提供一个文件列表,并分配一个非负整数作为索引号。这个索引号就像地址或指针,用于在内存中定位文件数据。在类Unix系统中,这个索引号被称为文件描述符,而在Windows系统中则被称为句柄,用于标识各种对象。文件描述符是类Unix系统中用于描述任何资源对象的概念,类似于Java中的Class对象。在Java中,文件描述符的概念通过java.io.FileDescriptor类来抽象。对于FileInputStream、FileOutputStre
Windows系列 11412025-05-10 09:20:29
-
绕过黑名单的命令执行tips(二)
在第一篇文章中,我们探讨了如何通过使用分隔符等方法来绕过命令执行的黑名单限制。以下是详细的描述:在第二篇文章中,我们将讨论如何利用环境变量来绕过黑名单和空格的限制。首先,我们来看Windows系统的情况。我们先查看环境变量:假设现在某个命令执行漏洞过滤了空格,我们该怎么办?请看下图:你发现了什么?我们可以利用环境变量的值来获取我们想要的内容。例如,我们现在尝试绕过空格来执行命令:有人可能会问,如果环境变量中没有我们需要的关键词怎么办?当然,我们可以添加:接下来,我们来看Unix系统的情况,这里我
Windows系列 10942025-05-07 09:22:20
社区问答
-
vue3+tp6怎么加入微信公众号啊
阅读:4944 · 6个月前
-
老师好,当客户登录并立即发送消息,这时候客服又并不在线,这时候发消息会因为touid没有赋值而报错,怎么处理?
阅读:5973 · 6个月前
-
RPC模式
阅读:4990 · 7个月前
-
insert时,如何避免重复注册?
阅读:5785 · 9个月前
-
vite 启动项目报错 不管用yarn 还是cnpm
阅读:6380 · 10个月前
最新文章
-
sublime怎么把窗口置顶_sublime窗口置顶设置方法
阅读:844 · 39分钟前
-
VSCode缩进参考线配置
阅读:394 · 43分钟前
-
iPhone 13 Pro如何设置照片水印_iPhone 13 Pro照片水印设置教程
阅读:718 · 45分钟前
-
在Java中如何使用DoubleStream处理浮点数集合_DoubleStream实践经验
阅读:879 · 47分钟前
-
如何在mysql中使用行级锁和表级锁
阅读:751 · 49分钟前
-
c++中的std::atomic是什么_原子操作的概念与多线程安全实现
阅读:688 · 51分钟前
-
tinkpad预装office如何_ThinkPad预装Office软件使用等相关方法
阅读:323 · 53分钟前
-
mysql中存储引擎对锁等待和死锁的处理
阅读:969 · 55分钟前
-
CSS伪元素和动画结合如何实现平滑效果_before after动画应用
阅读:959 · 57分钟前




