精华内容
下载资源
问答
  • c 语言实现修改文件中的内容(很多情况下都可以这么类似处理)
    千次阅读
    2020-09-18 11:01:47

    c语言修改文件内容处理思路,没有shell或者python那么方便

    • 1.打开原文件和临时备份文件
    • 2.从原文件中读取一行,写入临时文件中
    • 3.如果是需要修改的地方,在内存中解析修改后写入临时文件
    • 4.修改完成,删除原文件
    • 5.重命名临时文件为原文件
      下面代码实现修改a.cfg中一行中的一个或者多个内容,当然,每个人处理的文件不同,需求也不同,但总的思路一致。
      区别和修改最多的也就是字符串处理的地方

    部分代码
    代码中部分变量未展示定义部分.
    编码注意: 尽量不要出现魔鬼数字
    指针非空判断,NULL在等号前(变量和常量比较类似,变量在前)
    打开的文件句柄在返回前一定记得释放

    fp = fopen(szFileName, "r+");			/* r+打开原文件, 不存在返回NULL */
    if(NULL == fp)
    {
    	printf("File does not exist.\n");
    	return -1;
    }
    fpBak = fopen(szFileNameBak, "w+");		/* 若文件存在,则清空文件,如果文件不存在,创建 */
    if(NULL == fpBak)
    {
    	fclose(fp);
    	return -1;
    }
    

    逐行读取一行,直到文件尾

    while(!feof(fp))
    {
    	bzero(szFileLine, MY_STRING_LEN_1024);
    	if (NULL == fgets(szFileLine, MY_STRING_LEN_1024, fp))
    	{
    		continue;		/* 如果获取失败,结束本次循环 */
    	}
    	if(0 == strncmp(szFileLine, “RtDirName“,  sizeof(RtDirName) - 1))
    	{
    		/* 找到指定部分,写入备份文件 */
    		if(-1 == fprintf(fpBak, "%s", szFileLine))
    		{
    			fclose(fp);
    			fclose(fpBak);
    			unlink(szFileNameBak);
    			return -1;
    		}
    		continue;
    	}
    	...
    	....../* 其他类型需求处理 */
    }
    
    更多相关内容
  • 这是通过修改注册表达到右键出现获取trustedinstaller项,点击获取strustedinstaller后通过cmd获取权限
  • 关于Linux修改文件权限,首先要了解下Linux文件权限的定义。linux每一个用户都属于一个组,不能独立于组外。linux的文件权限需要定义三个实体对它的权限。核心概念:1、 user: 文件所有者2、group: 文件所在组3、...

    关于Linux修改文件权限,首先要了解下Linux文件权限的定义。linux每一个用户都属于一个组,不能独立于组外。linux的文件权限需要定义三个实体对它的权限。

    核心概念:

    1、 user: 文件所有者

    2、group: 文件所在组

    3、other:其他组


    一、LINUX用一个3位二进制数对应着文件的3种权限(1表示有该权限,0表示无):

    1. 第1位 读 r 100 4
    2. 第2位 写 w 010 2
    3. 第3位 执行 x 001 1

    r 代表可读(read),其值是4

    w 代表可写(write),其值是2

    x 代表可执行(execute),其值是1


    二、案例:

    -rw-r--r--. 1 root root 0 8月 22 14:28

    test.txt

    e1ade0742d64e5b01ee6f98fc470037c.png

    解释:

    第1列:“”-“” 表示是一个文件

    第2至4列:“rw-”是用户权限 表示读写

    第5至7列:“r--”是用户组权限 表示读

    第8至10列:“r--” 是其他组权限 表示读

    含义:表示当前

    test.txt

    当前用户权限有读写,用户组和其他组权限为只读。

    三、Linux修改文件权限:

    命令:chmod [ugoa][+-=][rwx] 文件名

    u 代表user

    g 代表group

    o 代表othera

    +表示添加权限

    -表示删除权限

    =表示使之成为唯一的权限

    rwx 是数字表达法

    r : 4

    w : 2

    x : 1


    四、添加权限案例

    1、添加权限

    test.txt

    文件,当前用户读写执行权限,用户组和其他组无权限

    方法1

    chmod u+rwx,g-rwx,o-rwx test.txt

    方法2

    chmod 700

    test.txt

    de20815ca2e6408c4f9abc5a7ef1b67d.png

    2、删除权限

    test.txt

    文件,删除所有权限

    方法1

    chmod u-rwx,g-rwx,o-rwx test.txt

    方法2

    chmod 000 test.txt

    c2747deaac7c71f93b68e1839e38a940.png

    3、修改权限

    test.txt

    文件,用户添加读写执行,用户组和其他组读权限

    方法1

    chmod u=rwx,g=r,o=r test.txt

    方法2

    chmod 744

    test.txt

    ce9c3b6c7b55186c4c461719c68a2bda.png

    展开全文
  • 从上图可以看出每个文件权限与类型都是不一样的,如果对各个字母表达的含义不了解,那么看的真是一脸懵逼。别急,具体解释如下:d rwx rwx rwx- rwx r-- rw-第一列含义:文件类型首先第一列的意思表示当前文件的类型...

    cca0151f73e243844c67625f391608b0.png

    d0a63651444e47d3e3ae97212f42d267.png

    从上图可以看出每个文件权限与类型都是不一样的,如果对各个字母表达的含义不了解,那么看的真是一脸懵逼。

    别急,具体解释如下:

    d rwx  rwx  rwx

    -  rwx  r--  rw-

    第一列含义:文件类型

    首先第一列的意思表示当前文件的类型,linux文件下有七种文件类型:

    -     #Linux中最多的一种文件类型, 包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件

    d    #就是目录的意思,可以用cd命令进入

    b    #块设备文件,二进制文件

    c    #字符设备文件 ,在Linux系统中将设备作为文件来处理,操作设备就像是操作普通文件一样。每一个设备对应一个设备文件,存放在 /dev 目录中

    l     #链接文件,类似Windows下面的快捷方式,链接又可以分为软链接(符号链接)和硬链接

    p    #管道文件,主要用于在进程间传递数据的一种特殊文件

    s    #套接字文件,这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。最常在 /var/run目录中看到这种文件类型

    第二到第十列含义:权限

    d rwx  r--  rw-

    第2~4列三个 rwx 代表的是所有者(user)拥有的权限

    第5~7列三个 r-- 代表的是组群(group)拥有的权限

    第8~10列三个 rw- 代表的是其他人(other)拥有的权限

    R,W,X 含义

    r 表示文件可以被读(read)

    w 表示文件可以被写(write)

    x 表示文件可以被执行(如果它是程序的话)

    R,W,X,-对应数字

    r ------------4

    w -----------2

    x ------------1

    - ------------0

    常用的权限整理

    -rw------- (600) 只有所有者才有读和写的权限

    -rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限

    -rwx------ (700) 只有所有者才有读,写,执行的权限

    -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限

    -rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限

    -rw-rw-rw- (666) 每个人都有读写的权限

    -rwxrwxrwx (777) 每个人都有读写和执行的权限

    命令设置权限

    [root@localhost ~]# chmod 700 /mnt/fileA注:仅把fileA目录的权限设置为700

    [root@localhost ~]# chmod -R 744 /mnt/fileA注:表示将整个/mnt/fileA目录与其中的文件和子目录的权限都设置为744

    8430e38541070965c5905de63f288f28.png

    以上就是对权限的整理

    如果本文对你有帮助,麻烦点下右下角推荐一下。

    展开全文
  • 文件类型对于文件和目录的访问权力是根据读访问,写访问,和执行访问来定义的。现在介绍Linux文件系统两种很实用的权限i和a。使用 ls –l 命令可以显示文件的属性以及文件所属的用户和组。列表的前十个字符是文件的...

    文件类型

    对于文件和目录的访问权力是根据读访问,写访问,和执行访问来定义的。现在介绍Linux文件系统两种很实用的权限i和a。

    使用 ls –l 命令可以显示文件的属性以及文件所属的用户和组。

    a144e3ef1e5c8ba6635874be224f5c26.png

    列表的前十个字符是文件的属性。

    这十个字符的第一个字符表明文件类型。

    常用的文件类型(还有其它的,不常见类型):

    属性文件类型

    -

    一个普通文件

    d

    一个目录

    l

    一个符号链接。注意对于符号链接文件,剩余的文件属性总是"rwxrwxrwx",而且都是 虚拟值。真正的文件属性是指符号链接所指向的文件的属性。

    c

    一个字符设备文件。这种文件类型是指按照字节流,来处理数据的设备。 比如说终端机,或者调制解调器

    b

    一个块设备文件。这种文件类型是指按照数据块,来处理数据的设备,例如一个硬盘,或者 CD-ROM 盘。

    剩下的九个字符,叫做文件模式,代表着文件所有者,文件组所有者,和其他人的读,写,执行权限。

    常用的Linux文件权限

    444 r--r--r--

    600 rw-------

    644 rw-r--r--

    666 rw-rw-rw-

    700 rwx------

    744 rwxr--r--

    755 rwxr-xr-x

    777 rwxrwxrwx

    读取的权限等于4,用r表示;

    写入的权限等于2,用w表示;

    执行的权限等于1,用x表示;

    通过4、2、1的组合,得到以下几种权限:

    0(没有权限);4(读取权限);5(4+1 | 读取+执行);6(4+2 | 读取+写入);7(4+2+1 | 读取+写入+执行)

    安全权限的临界点

    1.目录755,文件644是相对安全的权限;

    2.用户为root以及用户组为root

    chmod 更改权限

    通过八进制表示法,我们使用八进制数字来设置所期望的权限模式。因为每个八进制数字代表了 3个二进制数字,这种对应关系,正好映射到用来存储文件模式所使用的方案上。下表展示了 我们所要表达的意思:

    八进制二进制文件模式

    0

    000

    ---

    1

    001

    --x

    2

    010

    -w-

    3

    011

    -wx

    4

    100

    r--

    5

    101

    r-x

    6

    110

    rw-

    7

    111

    rwx

    通过传递参数 “600”,我们能够设置文件所有者的权限为读写权限,而删除用户组和其他人的所有 权限。虽然八进制到二进制的映射看起来不方便,但通常只会用到一些常见的映射关系: 7 (rwx),6 (rw-),5 (r-x),4 (r--),和 0 (---)。

    chmod 命令支持一种符号表示法,来指定文件模式。符号表示法分为三部分:更改会影响谁, 要执行哪个操作,要设置哪种权限。通过字符 “u”,“g”,“o”,和 “a” 的组合来指定 要影响的对象,

    chmod 命令符号表示法

    命令

    解释

    u+x

    为文件所有者添加可执行权限。

    u-x

    删除文件所有者的可执行权限。

    +x

    为文件所有者,用户组,和其他所有人添加可执行权限。 等价于 a+x。

    o-rw

    除了文件所有者和用户组,删除其他人的读权限和写权限。

    go=rw

    给群组的主人和任意文件拥有者的人读写权限。如果群组的主人或全局之前已经有了执行的权限,他们将被移除。

    u+x,go=rw

    给文件拥有者执行权限并给组和其他人读和执行的权限。多种设定可以用逗号分开。

    符号表示法的优点是, 允许你设置文件模式的单个组成部分的属性,而没有影响其他的部分。

    chown - 更改文件所有者和用户组

    参数结果

    cqh

    把文件所有者从当前属主更改为用户 cqh。

    cqh:users

    把文件所有者改为用户 cqh,文件用户组改为用户组 users。

    :cqh

    把文件用户组改为组cqh,文件所有者不变。

    cqh:

    文件所有者改为用户 cqh,文件用户组改为,用户 cqh 登录系统时,所属的用户组。

    chattr和lsattr -文件或者目录的隐藏属性

    chattr可以创建root都不能修改的文件,但是它并不适合所有的目录,不能保护/、/dev、/tmp、/var目录

    lsattr可以显示chattr命令设置的文件属性

    与chmod这个命令相比,chmod只是改变文件的读写、执行权限,更底层的属性控制是由chattr来改变的。

    chattr命令的用法:chattr [ -RVf ] [ -v version ] [ mode ] files…

    最关键的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]这些字符组合的,这部分是用来控制文件的

    属性。

    + :在原有参数设定基础上,追加参数。

    - :在原有参数设定基础上,移除参数。

    = :更新为指定参数设定。

    A:文件或目录的 atime (access time)不可被修改(modified), 可以有效预防例如手提电脑磁盘I/O错误的发生。

    S:硬盘I/O同步选项,功能类似sync。

    a:即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性。

    c:即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。

    d:即no dump,设定文件不能成为dump程序的备份目标。

    i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。

    j:即journal,设定此参数使得当通过mount参数:data=ordered 或者 data=writeback 挂 载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为 data=journal,则该参数自动失效。

    s:保密性地删除文件或目录,即硬盘空间被全部收回。

    u:与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion。

    各参数选项中常用到的是a和i。a选项强制只可添加不可删除,多用于日志系统的安全设定。而i是更为严格的安全设定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE处理能力(标识)的进程能够施加该选项。

    创建不可删除的文件

    i:不可修改权限 例:chattr u+i filename 则filename文件就不可修改,无论任何人,如果需要修改需要先删除i权限,用chattr -i filename就可以了。查看文件是否设置了i权限用lsattr filename。

    root@linuxidc:/home/linuxidc/www.linuxidc.com# lsattr linuxmi.txt

    -----a--------e--- linuxmi.txt

    9c63e0c158232e244cb395d9d88a7ac6.png

    root@linuxidc:/home/linuxidc/www.linuxidc.com# chattr +i linuxmi.txt

    chattr: 没有那个文件或目录 尝试对linuxmi.txt进行stat调用时

    root@linuxidc:/home/linuxidc/www.linuxidc.com# chattr +i linuxmi.txt

    root@linuxidc:/home/linuxidc/www.linuxidc.com# rm -f linuxmi.txt

    rm: 无法删除'linuxmi.txt': 不允许的操作

    root@linuxidc:/home/linuxidc/www.linuxidc.com# lsattr linuxmi.txt

    ----i---------e--- linuxmi.txt

    root@linuxidc:/home/linuxidc/www.linuxidc.com# chattr -i linuxmi.txt

    root@linuxidc:/home/linuxidc/www.linuxidc.com# rm -f linuxmi.txt

    0e0176b46340c88b67e11a69cee8d236.png

    创建只可能追加数据而不能删除的文件(不可使用vim,不可echo >,只能使用echo >>追加)

    a:只追加权限, 对于日志系统很好用,这个权限让目标文件只能追加,不能删除,而且不能通过编辑器追加。可以使用chattr +a设置追加权限。

    root@linuxidc:/home/linuxidc/www.linuxidc.com# chattr +a linuxmi.txt

    root@linuxidc:/home/linuxidc/www.linuxidc.com# rm linuxmi.txt

    rm: 无法删除'linuxmi.txt': 不允许的操作

    root@linuxidc:/home/linuxidc/www.linuxidc.com# echo 'linuxidc.com' > linuxmi.txt

    -su: linuxmi.txt: 不允许的操作

    root@linuxidc:/home/linuxidc/www.linuxidc.com# echo 'linuxidc.com' >> linuxmi.txt

    b071d0311f361cde56ac5335341dfb93.png

    0b1331709591d260c1c78e86d0c51c18.png

    展开全文
  • linux-root都不能修改文件权限

    千次阅读 2020-08-14 21:08:20
    昨天在工作中遇到一个超越我现有认知的知识盲区,经过自己...从上图可以看到,owner 为HwHiAiUser, group 为HwHiAiUser,当前用户为HwHiAiUser,libprotobuf.so文件的权限为-r-xr-x---,目的是想要使others用户可能具有
  • chmod命令修改文件权限

    千次阅读 2019-06-18 10:52:17
    chmod命令可以用来修改文件或文件夹的读写权限。 chmod命令有两种使用方式: chmod [u/g/o/a] [+/-/=] [r/w/x] file u表示user,是文件的所有者。 g表示和user同group的用户。 o表示other,即其它用户。 a表示all,...
  • Python修改文件的两种方法

    千次阅读 2019-07-15 20:52:10
     文件修改的方法从操作方式上大致可以分为两类,一种是以占用电脑内存的方式,将文件读取到内存中修改再存回硬盘;第二种方法是分别打开和新建一个文件修改文件后写入到新的文件中,直接保存到硬盘,即占用硬盘的...
  • 学习Linux系统的第二篇博客:了解如何修改文件的权限。
  • chmod -change file mode bits :更改文件权限chmod是用来改变文件或者目录权限的命令,但只有文件的属主和超级用户(root)才有这种权限。更改文件权限的2种方式:一、权限字母+操作符表达式二、数字方法(常用)chmod...
  • 简单的FTP部署操作 ... 如果将其设置为"true" ,则将使用文件大小进行决定,这意味着如果仅更改文档中的拼写错误-而未更改文件大小,则该文件将被忽略。 exclude 忽略文件和/或目录。 填充一个正则表达
  • windows常用文件操作dos命令

    万次阅读 多人点赞 2019-07-15 12:50:12
    文章目录dir 命令文件、目录(创建、修改、删除、复制、移动)创建目录创建文件,查看、追加、修改文件内容删除文件删除目录修改、替换目录或文件名复制、移动文件、目录复制移动other常用、实用的DOS命令 windows dos...
  • YAML详解,如何快速生成一个yaml文件修改,快速部署k8s项目。
  • 使用PHP+Apache组合进行开发时,后台对上传文件的大小、上传时间等都有默认限制(例如内存限制为2M),2M这一限定值显然有很多需求不能满足,如果想要上传更大的文件,需要对PHP的配置文件进行更改,主要分为一下几...
  • XML文件的转换与修改

    千次阅读 2018-06-28 17:23:42
    原文发布时间:2013-12-13作者:tenniwdy对于基于web和开放标准数据,XML变得越来越普遍,XML里面也包含很多我们需要的信息与数据。因此,我们就需要转换...因此今天我就对XML进行简单的转换和修改。一.XML文件的...
  • 批阅文件用词

    万次阅读 2020-12-22 11:45:59
    批阅文件常用词有“阅示”、“阅处”、“阅办”、“拟”、“同意”等,主要遵循如下原则:一、要请领导批示的,用“阅示”。如“请张总裁阅示”。二、要请你的下级领导办理的,此时多是高层领导批给中层领导,用“阅...
  • Linux驱动开发_设备文件系统详解

    千次阅读 多人点赞 2021-05-11 14:09:24
    suppress:如果该字段为1,则表示忽略所有上报的uevent事件,此成员是为udev提供的 可以看到有许多针对sysfs的变量,最早它是没有的,在Linux2.6版本推出sysfs时,为了支持sysfs文件系统,对kobject进行了修改。...
  • Linux文件权限更改

    千次阅读 2018-08-19 21:37:57
    Linux文件权限更改: chmod: 只能文件属主或特权用户才能使用该功能来改变文件存取模式。mode可以是数字形式或以who opcode permission形式表示。who是可选的,默认是a(所有用户)。只能选择一个opcode(操作码)。...
  • FileO文件批量处理器能够通过文件名、大小、创建及修改时间对指定路径下的数据进行筛选,以便对其进行批量处理,需要的朋友快来下载使用吧。 FileO文件批量处理器功能特色  创建和修改时间筛选精确到时分秒;  ...
  • 文件的权限管理(查看及修改

    千次阅读 2019-08-14 01:04:15
    文件权限相当于系统的法律法规,保证系统的稳定性和安全 一、文件权限的查看 ls -l 更详细的信息显示目录里面的内容 ls -l file 文件的属性 ls -d dir 目录本身 ls -a dir 包含隐藏文件 ls -S dir ...
  • sct文件编写与使用

    千次阅读 多人点赞 2019-12-08 16:14:54
    我们都知道,编译器在生成可执行文件时,先将每个.c文件编译成.o文件(此过程叫编译),然后将很多个.o文件链接成可执行文件(此过程叫链接)。在链接的过程中,会用到一个描述文件,用来指定链接时的...
  • Ubuntu下查看和修改文件的权限   查看当前登陆用户  whoami 使用该命令可以查看当前登陆用户 修改文件权限 文字设定法: chmod [who] [+ | - | =] [mode] [目标文件]  该命令意为:change mode 修改模式  ...
  • 文件上传漏洞2

    千次阅读 2022-03-22 16:32:24
    有些系统只是在客户端使用js对上传文件的后缀进行检查,服务端没有进行检查。由于客户端的js用户可以禁用,修改等等,导 致可以绕过客户端的检测,上传不合法文件。漏洞利用 1.将js禁用 2.修改客户端的js 3.上传合法...
  • Linux更改文件及目录权限问题

    千次阅读 2018-05-24 16:09:42
    1. 快速实例学习:修改某个目录下的所有文件的权限,包括子目录中的文件,例子如下:# chmod 777 /home/user 注:仅把/home/user目录的权限设置为rwxrwxrwx # chmod -R 777 /home/user 注:表示将整个/home/user...
  • 在源代码中修改参数每次都需要重新编译才能运行,费时费力,我们可以利用ROS的参数服务器,并且把修要修改的参数写在launch文件中,这样每次修改launch文件后Ctrl+S,就可以马上运行看看效果。在answer.ros.org上...
  • 新建文本文件 这里我们新建一个记事本,注意里面的表格属性(列...我们继续将文件扩展名改为txt,打开后另存为,发现他的编码方式是UTF-8,我们将其修改为ANSI即可 再次重命名为csv文件,打开就不会出现乱码 ...
  • 一、chown – 更改文件拥有者 (a)语法 1、chown 账号名 (被修改权限的)文件名 2、chown 账号名:群组名 (被修改权限的)文件名 用户必须是已经存在系统中的账号,也就是存在于 /etc/user 的用户名称才能...
  • 大家先了解一些背景知识:1) 给文件增加了i权限,那文件不能被更改,不能删除,也不能修改名字以及权限。2) 给文件增加a权限,文件可以追加内容,不能删除,不能修改内容,不能修改名字以及权限。3) vim一个文件,...
  • STEP格式是什么文件?...面对这几个一连串的问题,博主在这里给博友们做一个较完美的解释:STEP产品数据交换标准指国际标准化组织(ISO)制定的系列标准ISO10303《产品数据的表达与交换》。这个标准的...
  • 因为公司项目结构的原因, 被要求要build之后的文件夹结构要修改为: dist (文件夹) statics (文件夹) mobile (文件夹) ----> 存放原本 build 之后存在于 static 文件夹下的文件 mobile.html (文件)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 176,048
精华内容 70,419
关键字:

修改文件怎么表达