Linux和类Unix操作系统默认都有root账号,默认情况下root可以修改系统上所有目录和文件的帐户或用户名。在本文将展示如何使Linux中的root用户也无法删除目录或文件。...要使文件不可被任何系统用户(包括 root 用户)删除,需要使用chattr命令使其不可修改。此命令更改Linux文件系统上的文件属性。...如何在Linux中使文件不可删除 下面的命令使/rumenz/passwd文件不可变(或不可删除)。这意味着不能以任何方式修改文件:不能删除或重命名。...你甚至无法创建指向它的链接,也无法将数据写入文件。...y rm: cannot remove ‘passwd’: Operation not permitted 如何在Linux中使目录和下面的所有子目录都不能被删除 使用-R参数,你可以递归地更改目录的属性及其内容
问题:通过打印输出流的方式把文件下载到本地,但是在firebox 中 下载的文件不显示文件的文件名,造成文件不能直接打开,其他浏览器可以直接打开....原因: 主要是文件名称中有汉字而没有转码造成firebox浏览器不能正确显示另存的文件名 解决方案: //提供如下工具类将 文件名编码 就可以啦 public static String toUtf8String...kbid=816868 if (s.length() > 150) { // 根据request的locale... } } } catch (UnsupportedEncodingException e) { log.error("将文件名中的汉字转为...UTF8编码的串时错误,输入的字符串为:" + s); } return s; } 不兼容浏览器: firebox
一、前言--抛出问题 最近,经常有用户反馈,明明我的集群上有创建了相关的索引,为何在Kibana上,创建Index Pattern的时候,无法点击“下一步”,如下图所示: image.png...集群要创建模式的索引确实存在。那到底是什么原因呢?原来是客户集群上的这些索引里没有写入文档,没有写入引子文档,Kibana自然无法探索到一个空的索引。...如下: image.png 于是,我们引导客户往相关的集群索引写入部分文档,我们就能在kibana上创建美丽的index pattern了。
昨天在微信群里有人提问,如果创建一个文件,创建这个文件的时间是保存在哪里的。 所以就查到了这篇文章。 ? ?...,软连接文件是一个新的文件(实际上硬链接文件在磁盘上和原文件使用的是同一个inode节点,软连接文件使用不同的inode节点来管理文件)。...void *i_private; /* fs or device private pointer */ }; 实际上,inode是VFS使用的一个对象,用于存放内核在操作文件或目录时所需要的全部信息...这三个指针被放在一个共用体中,因为一个给定的索引节点每次只能表示三者之一(或者均不))。 6)有时,某些文件系统可能并不能完整地包含索引节点结构体所要求的所有信息。...: 在给定的节点上,可能是由VFS执行这些函数,也可能由具体的文件系统执行: 该函数在在特定目录中寻找索引节点,改索引节点要对应于dentry中给出的文件名。
cksum命令是检查文件的CRC是否正确,确保文件从一个系统传输到另一个系统的过程中不被损坏。...这种方法要求校验和在源系统中被计算出来,在目的系统中又被计算一次,两个数字进行比较,如果校验和相等,则该文件被认为是正确传输了。 注意:CRC是指一种排错检查方法,即循环冗余校验法。...指定文件交由cksum命令进行校验后,会返回校验结果供用户核对文件是否正确无误。若不指定任何文件名称或是所给予的文件名为"-",则cksum命令会从标准输入设备中读取数据。...参数 文件:指定要计算校验的版本信息。...注意:如果文件中有任何字符被修改,都将改变计算后CRC校验码的值。
---- ---- 前言 不同于平常使用的window操作系统,在Linux系统下,常常会有很多人共同使用一台机器(当然window也可以,但是不常用),这就引发了一些问题,在同一台机器上存在不同的用户的信息...这时候有人就捣鼓出了权限的方法来管理同一台机器上的信息管理。 ---- 1.Linux权限的概念 Linux下有两种用户:超级用户(userroot)、普通用户。...超级用户(root):可以再linux系统下做任何事情,不受限制 普通用户(user):在linux下做有限的事情。 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。...p:管道文件 c:字符设备文件(例如屏幕等串口设备) s:套接口文件 特别的:Linux在识别文件类型时,不同于windows会通过后缀来辨别文件类型,但是我们在Linux...但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。
在 Linux 上合并和排序文本的方法有很多种,但如何去处理它取决于你试图做什么:你是只想将多个文件的内容放入一个文件中,还是以某种方式组织它,让它更易于使用。...在 Linux 上,一个名为 filea 的文件将排在名为 fileA 的文件的前面,但会在 file7 的后面。...合并和排序文件 Linux 提供了一些有趣的方式来对合并之前或之后的文件内容进行排序。...two B two C two A three B three C thee B four C four C five 将输出重定向到另一个文件来保存它...总结 在 Linux 上,你有很多可以合并和排序存储在单独文件中的数据的方式。这些方法可以使原本繁琐的任务变得异常简单。
今天在Linux上使用vim编辑文件保存时报如下错误 E514: write error (file system full?)...但是此时,当我使用root用户在/home写写文件时候却不会出现上面的错。...查了半天,原来是Linux在每个分区中会为root用户保留一部份空间,这是专门留给root用户及其所属组使用,别的用户是无法使用的,一般默认为总数据块的5%。...这个预留的空间可以使用下面的命令查看 $ sudo tune2fs -l | grep Reserved 比如: $ sudo tune2fs -l /dev/sda1 | grep
当你用 testdisk 恢复被删除的文件时,你最终会将恢复的文件放在你启动该工具的目录下,而这些文件会属于 root。出于这个原因,我喜欢在 /home/recovery 这样的目录下启动。...[ Type ] [Superblock] >[ List ] [Image Creation] [ Quit ] 请注意,它看起来就像我们从根目录 / 开始,但实际上这是我们正在工作的文件系统的基点...在将文件移回原来的位置之前,你可能应该先验证恢复的文件看起来是否正确。确保你也恢复了原来的所有者和组,因为此时文件由 root 拥有。...注意: 对于文件恢复过程中的很多步骤,你可以使用退出(按 q 或“[ Quit ]”)来返回上一步。如果你愿意,可以选择退出选项一直回到该过程中的第一步,也可以选择按下 ^c 立即退出。...# References * [用 testdisk 恢复 Linux 上已删除的文件](https://linux.cn/article-12674-1.html) * [TestDisk CN](https
当你在 Linux 系统上删除一个文件时,它不一定会永远消失,特别是当你最近才刚刚删除了它的时候。...虽然 testdisk 具有广泛的功能,包括恢复丢失或损坏的分区和使不能启动磁盘可以重新启动,但它也经常被用来恢复被误删的文件。...[ Type ] [Superblock] >[ List ] [Image Creation] [ Quit ] 请注意,它看起来就像我们从根目录 / 开始,但实际上这是我们正在工作的文件系统的基点...在将文件移回原来的位置之前,你可能应该先验证恢复的文件看起来是否正确。确保你也恢复了原来的所有者和组,因为此时文件由 root 拥有。...注意: 对于文件恢复过程中的很多步骤,你可以使用退出(按 q 或“[ Quit ]”)来返回上一步。如果你愿意,可以选择退出选项一直回到该过程中的第一步,也可以选择按下 ^c 立即退出。
grep > grep -rnw '/path/to/somewhere/' -e 'pattern' -r或者-R是递归的, -n 是行号,并且 -w 代表匹配整个单词。...-l (小写 L) 可以添加只给出匹配文件的文件名。...-e 是搜索过程中使用的模式 除了这些, --exclude, --include,--exclude-dir标志可用于高效搜索: 只搜索那些具有 .c 或 .h 扩展名的文件 > grep --include...{c,h} -rnw '/path/to/somewhere/' -e "pattern" 排除搜索所有以 .o 扩展名结尾的文件: > grep --exclude=\*.o -rnw '/path...-name "*.txt" | xargs grep -i "rumenz" 别名一个ffind 在~/.bashrc文件中 > alias ffind find / -type f | xargs
grep > grep -rnw '/path/to/somewhere/' -e 'pattern' -r或者-R是递归的, -n 是行号,并且 -w 代表匹配整个单词。...-l (小写 L) 可以添加只给出匹配文件的文件名。...-e 是搜索过程中使用的模式 除了这些, --exclude, --include,--exclude-dir标志可用于高效搜索: 只搜索那些具有 .c 或 .h 扩展名的文件 > grep --include...{c,h} -rnw '/path/to/somewhere/' -e "pattern" 排除搜索所有以 .o 扩展名结尾的文件: > grep --exclude=\*.o -rnw '/path/..."rumenz" ack > ack -i rumenz doc/* git 存储库中查找 > git grep "rumenz" 原文链接:https://rumenz.com/rumenbiji/linux-find-strings.html
grep > grep -rnw '/path/to/somewhere/' -e 'pattern' -r或者-R是递归的, -n 是行号,并且 -w 代表匹配整个单词。...-l (小写 L) 可以添加只给出匹配文件的文件名。...-e 是搜索过程中使用的模式 除了这些, --exclude, --include,--exclude-dir标志可用于高效搜索: 只搜索那些具有 .c 或 .h 扩展名的文件 > grep --include...{c,h} -rnw '/path/to/somewhere/' -e "pattern" 排除搜索所有以 .o 扩展名结尾的文件: > grep --exclude=\*.o -rnw '/path/...-name "*.txt" | xargs grep -i "rumenz" 别名一个ffind 在~/.bashrc文件中alias ffind find / -type f | xargs grep
第二步:配置linux服务器信息 下面我们来连接服务器。重启之后我们再来看一看插件菜单,如下图所示,发现多出了一个”NppFTP”的菜单项。...我们把鼠标放到”NppFTP”菜单项上,会显示出其子菜单,我们点击”Show NppFTP Window”。...我们的配置文件不在root目录下,在/usr/目录下,那么我们怎么到顶级目录呢,我们只需双击图最上方的那个”/”即可,如下图所示,发现我们已经到了服务器的最顶级目录,我们可以进入任何我们想要进去的目录。...这里我举一个nginx的配置文件的例子吧,我的nginx配置文件所在的路径是/usr/local/nginx/conf/,如下图所示。...我们双击nginx.conf,左侧就会显示nginx.conf文件的内容,我们在里面修改完配置之后,保存,它就会自动更新到服务器上。真的是非常方便哟!!!
作为一个后端开发工程师,在Linux中查看查看文件内容是基本操作了。尤其是通常要分析日志文件排查问题,那么我们应该如何正确打开日志文件呢?...为了生成测试数据,笔者抓心挠肝,东拼西凑,写了一个生成测试文件的shell脚本,方便下文的命令演示,复制到linux命令行执行即可。...grep :命令用于查找文件里符合条件的字符串,这两个命令也是linux中最常用的的,而在查看日志文件也通常会结合这两个命令一起使用。...总结 Linux的命令实在太多了,对于开发来讲要用到的也有很多,不过笔者认为首先要知道是否存在相关命令,然后分类掌握最常用的,需要时再查表即可。...没有必要去纠结命令记不记得住,毕竟这些东西决定不了你的上限。 除了以上命令外,Linux中还有许多查看日志文件内容的奇巧淫记,比如sed命令等,那么在平时你最常使用的命令有哪些呢?欢迎小伙伴们留言(:
因此,我第一想到的办法就是在网站 ZIP 压缩打包的时候排除缓存文件夹。 下面是从网上找来的 ZIP 命令参数: zip Linux上适用的参数: -1 : 最快压缩,压缩率最差。...-l : 将 CR ( Carriage Return ) LF ( Line Feed ) 转换成 LF,一般是要将 MS-DOS 上的文本文件压缩后拿到 UNIX 下使用时才使用此参数。...最终,经多次测试,才知道 zip 命令压缩文件时正确的排除方法(-r 表示包含子目录文件): zip -rx=excludefiles zipfile.zip filepath 比如,要压缩 test...网上分享的参数都是那么简单一句【-x : 不需要压缩的文件】,却没人分享具体使用方法!而 Linux 系统下 man 命令关于 zip 的介绍,居然也不对,真是奇怪,难道就没人用过这个参数么?...哦了,本文主要是为了补充一下 zip 排除文件的正确方法,希望能解决你的燃眉之急。
本文记录我写的一个测试代码在 Linux 上踩坑的经验。在 Linux 上可能存在一些文件的文件长度是 0 但文件里面依然可以读取到内容。.../class/drm -rw-r--r-- 1 root root 4.0K 4月 22 09:58 uevent 从上面输出可以看到在 linux 层获取的 edid 文件的长度也是 0 字节 但是如果此时用..."); } 其实在 Linux 下,即使文件长度是 0 长度,也在某些情况可以读取到内容。...,可以尝试读取试试,如果能读取到那就证明存在内容 本文代码放在 github 和 gitee 上,可以使用如下命令行拉取代码 先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码...以上使用的是 gitee 的源,如果 gitee 不能访问,请替换为 github 的源。
由于需要对网络设备做备份,备份文件是放到windows机器上的。...现在需要将备份数据同步到linux备份机器上,想到的方案有三种: 1)将windows的备份目录共享出来,然后在linux服务器上进行挂载,最后对挂载目录进行定时同步。这种方式不太安全。...二、linux客户端(192.168.1.90)上的操作记录 1)先查看下能否连通windows机器(192.168.1.101)的873端口(rsync端口)。如下表示连接正常!...Escape character is '^]'. 2)进入Linux服务器,新建一个backup_passwd的文件,内容为在上面windows中RsyncServer中设定的密码内容: [root@...3)linux服务器上要安装rsync环境。
我在实际的使用中,发现 Visual Studio 2017 带来的 Sdk 风格的 csproj 格式基本上没有多少坑;然而旧的 csproj 文件却总是不能完美的运行,总是出错。...---- 本文的前置知识 你可能需要了解 csproj 文件的格式和编译过程,才可能读懂本文,所以需要先阅读: 理解 C# 项目 csproj 文件格式的本质和编译流程 问题 下面的代码来自 SourceFusion...在编译期间,执行一个私有的 Target,收集所有收集到的文件夹,形成一个 SourceFusionDirectory 集合。然后将集合中的所有字符串视为文件夹,创建这几个文件夹。...原因 究其原因,这是 MSBuild 对项目文件(csproj)的解析和 Visual Studio 对项目文件的解析是不同的。...有时清除 Visual Studio 的项目缓存可以解决这个问题,但有时清除也不能解决。 真实的原因我并没有调查出来。