很漂亮的小站!
[...]blog:locate 命令:文件查找命令 - 灵魂信息 (soulio.top)[...]
首页
留言
统计
友链
归档
关于
Search
1
typecho博客-SEO优化-永久链接设置-伪静态
229 阅读
2
qm 命令:管理PVE虚拟机
152 阅读
3
搭建网站的三种方式:家庭服务器、云服务器、serv00免费服务器
146 阅读
4
用脚本查看serv00主机(FreeBSD系统)配置
115 阅读
5
smartctl 命令:查看硬盘健康状态
111 阅读
网站搭建
Linux命令详解
登录
Search
标签搜索
Linux命令
serv00
Linux
网站搭建
typecho
Excel
正则表达式
PVE
mdx
docusaurus
在线知识库
soulio
累计撰写
147
篇文章
累计收到
5
条评论
今日撰写
0
篇文章
首页
栏目
网站搭建
Linux命令详解
页面
留言
统计
友链
归档
关于
用户登录
登录
搜索到
147
篇与
的结果
2024-09-11
chattr:修改文件的特殊属性
chattr 命令用于改变文件的特殊属性,也称为"chattr 属性"。这些属性可以提供额外的安全性和控制,如设置文件为不可修改、只允许在文件末尾添加数据等。一、Linux 文件属性文件属性是指与文件相关联的元数据,这些属性决定了文件的行为和访问权限。常见属性 文件名(Filename) :文件的名称,通常包含字母、数字、下划线和某些特殊字符。 大小(Size) :文件占用的磁盘空间,通常以字节为单位。 类型(Type) :文件是普通文件、目录、链接文件、设备文件等。 权限(Permissions) :定义了用户(所有者)、组和其他用户对文件的访问权限(读、写、执行)。 所有者(Owner) :文件的所有者,通常是创建该文件的用户。 所属组(Group) :文件所属的用户组。 修改时间(Modified Time) :文件内容最后一次被修改的时间。 访问时间(Access Time) :文件最后一次被访问的时间。 创建时间(Creation Time) :文件被创建的时间(不是所有文件系统都支持)。 查看、修改属性: ls -l:列出文件的详细信息,包括权限、所有者、大小、修改时间等。 chown:更改文件的所有者和/或所属组。 chmod:更改文件的权限。 touch:更改文件的访问时间和修改时间。 chattr:在支持扩展属性的文件系统上,更改文件的特殊属性。 特殊属性(收藏一下,用到再查): a:⭐Append-only。如果文件设置了这个属性,则只能追加数据到文件末尾,不能更改或删除现有的数据。 A:No atime。设置这个属性后,文件访问时间(atime)不会被更新,即使文件被读取或修改。 c:Compressed。如果文件设置了这个属性,当文件被删除时,文件系统会尝试在文件被完全删除之前对其进行压缩。 C:Compressed when writing。如果文件设置了这个属性,当文件被写入时,文件系统会尝试在写入操作完成之前对其进行压缩。 d:No dump。如果文件设置了这个属性,文件系统在备份操作时不会将文件包含在备份中。 i:⭐Immutable。如果文件设置了这个属性,文件不能被删除、修改或重命名。 j:No journal。如果文件设置了这个属性,文件系统不会在将数据写入磁盘之前将数据写入日志。 p:Project ID。如果文件设置了这个属性,文件将被标记为与特定的项目ID相关联。 s:Sequential access。如果文件设置了这个属性,文件系统会假设文件内容是顺序读取的,并可能优化读取操作。 S:No synchronous updates。如果文件设置了这个属性,文件系统不会立即将数据写入磁盘,而是稍后写入。 t:Set time stamp。如果文件设置了这个属性,文件系统会忽略时间戳的更改。 u:Undeletable。如果文件设置了这个属性,文件不能被删除。 F:😐No force deletion。如果文件设置了这个属性,文件系统在删除文件时不会强制删除。 x:😐No execution。如果文件设置了这个属性,文件不能被执行。 请注意,并不是所有的文件系统都支持所有这些属性。例如,ext2和ext3文件系统不支持a、c、d、i、j、p、s和u属性,而ext4文件系统支持所有这些属性,除了F和x。二、chattr 命令用法格式:chattr [选项] [+/-属性] 文件名 常用选项: -R:递归地处理目录及其内容。 -f:强制执行操作,即使文件被设置为不可更改。 -v:显示详细信息,指示发生的操作。 添加文件 i 属性:chattr +i file 移除文件 i 属性:chattr -i file 查看文件属性:lsattr filename 递归处理目录及其内容:chattr -R +i directory 强制执行操作:chattr -f +a filename 显示详细信息:chattr -v +s filename 三、chattr 实例 设置文件不可修改:chattr +i file.txt 这会使得file.txt文件不可被修改、删除或重命名,即使是root用户也不例外。 移除文件的不可修改属性:chattr -i file.txt 这会移除file.txt文件的不可修改属性,之后就可以正常编辑、删除或重命名文件了。 设置目录及其内容不可修改:chattr -R +i /path/to/directory 使用-R递归选项,这会使得指定目录及其所有子文件和子目录都不可被修改。 仅允许添加文件到目录:chattr +a /path/to/directory 设置+a属性后,用户只能向该目录添加文件,不能删除或重命名其中的文件。 防止修改文件内容但允许删除:虽然没有直接的属性可以设置这个行为,但是可以通过组合使用+i和+a来实现。首先设置+a属性,然后对文件设置+i属性,这样文件内容不可修改,但可以通过删除文件的方式来移除文件。 保护系统关键文件:chattr +i /etc/passwd chattr +i /etc/shadow 保护密码文件不被非授权修改,增强系统安全性。 防止日志文件被意外清除:chattr +a /var/log/messages 设置+a属性后,日志文件只能被追加内容,不能被清空或删除。 批量设置文件属性:可以结合find命令来批量设置文件属性,例如,设置所有.txt文件为不可修改:find /path/to/search -type f -name "*.txt" -exec chattr +i {} \; 查看文件属性:虽然不是chattr的功能,但常与chattr配合使用的lsattr命令可以用来查看文件属性:lsattr file.txt 使用chattr时需要注意,这个命令只适用于ext2、ext3和ext4文件系统。对于其他文件系统,如XFS、Btrfs等,chattr可能不起作用或部分功能不可用。
2024年09月11日
35 阅读
0 评论
0 点赞
2024-09-11
cd:切换工作目录
cd 命令是 Linux 中最基本和常用的命令之一,用于在不同目录之间快速切换,方便用户进行文件和目录操作。熟练掌握 cd 命令可以提高工作效率,特别是在需要频繁切换目录进行操作时。格式cd [目录] 如果未指定目录名称,则 cd 命令会将用户切换到当前用户的主目录(通常是 /home/username)。示例 切换到指定目录:cd /path/to/directory 切换到当前用户的主目录:cd 切换到上一级目录:cd .. 切换到上一次所在的目录:cd - 切换到家目录(当前用户的主目录):cd ~
2024年09月11日
19 阅读
0 评论
0 点赞
2024-09-11
cat:显示文本内容
1.简介cat 不是猫猫。cat命令是一个在 Unix 和类 Unix 操作系统中用来查看文件内容的命令。它的名称来源于 concatenate(连接)的缩写,最初的作用是连接文件,但它也可以用来显示文件内容、创建文件、文件合并以及输出文件内容等操作。现在:显示文本内容才是它的主要业务。2.参数格式cat [选项] [文件] 常见选项 -n:显示行号。 -b:显示非空白行的行号。 -s:压缩连续空行。 -E:在每行的结尾显示 $。 -T:将制表符显示为 ^I。 -v:显示非打印字符。 3.示例 显示文件内容:#命令 cat hello_world.txt #输出 你好世界!这是一个文本! 显示多个文件内容:cat file1.txt file2.txt 显示文件内容和行号:cat -n filename.txt 创建新文件并输入内容:cat > newfile.txt 输入文本后使用 Ctrl + D 结束输入。 将命令输出重定向到文件:cat file1.txt > newfile.txt 将多个文件合并为一个文件:cat file1.txt file2.txt > mergedfile.txt 将文件内容通过管道传递给其他命令:cat filename.txt | grep "pattern" 注意:cat 命令在 Linux 系统中非常实用,可以用于多种文件操作任务。记得谨慎使用,特别是在使用重定向或管道时,避免意外覆盖文件或造成数据丢失。
2024年09月11日
15 阅读
0 评论
0 点赞
2024-09-11
cal:日历
cal 命令用于显示日历,可以显示当前月份的日历或者指定月份/年份的日历。相关的命令还有:timedatectltags: 日历1.安装apt install ncal 2.示例cal 是传统命令,ncal是新版命令。排版是主要变化。显示当月:cal指定年月:cal 10 2024显示三个月(过去、现在、未来):cal -3某月:cal -m 10某年(将显示12个月):cal -y 20243.简单的参数格式:cal [选项] [月份] [年份] 选项: -3:显示前一个月、当前月和下一个月的日历。 -m:将星期一作为每周的第一天。 -y:显示指定年份的整年日历。 参数: 月份:可选参数,表示要显示的月份(1 到 12)。 年份:可选参数,表示要显示的年份。
2024年09月11日
17 阅读
0 评论
1 点赞
2024-09-11
awk(基础):文本处理三剑客
awk 提供了一种灵活的方式来处理文本文件,可以用于数据提取、数据转换、报告生成等任务。Linux文本处理三剑客: awk sed grep 一、基本语法awk '模式 { 动作 }' 要处理的文件 二、工作原理 awk 逐行扫描文件,将每一行视为一个记录(record)。 用户可以定义一个模式(pattern),当某一行满足该模式时,执行对应的动作(action)。 动作可以是打印、计算、格式化输出等操作。 三、常用功能 字段分隔符:默认情况下,awk 使用空格作为字段分隔符,但可以通过 -F 参数指定其他分隔符。例如,awk -F',' '{print $1}' filename 使用逗号作为字段分隔符。 内置变量: $0:所有字段。 $1, $2, ...:第一个字段、第二个字段,以此类推。 NF:字段数。 NR:当前行号。 FS:字段分隔符。 OFS:输出字段分隔符。 条件匹配:可以使用条件表达式进行匹配,例如 /pattern/ { action }。 循环:awk 支持 for、while 循环,可以在动作部分使用。 内置函数:awk 提供了许多内置函数,如数学函数、字符串函数等,可以在动作部分使用。 输出格式化:可以使用 printf 函数对输出进行格式化。 四、简单示例1. 筛选列示例文本如下:Alice 25 Bob 30 Charlie 28 David 22 输出指定列第一列,姓名#命令 awk '{print $1}' data.txt #输出 Alice Bob Charlie David 第二列,年龄#命令 awk '{print $2}' data.txt #输出 25 30 28 22 2. 计算数据假设有一个包含数字的文件 numbers.txt,内容如下:10 20 30 40 计算所有数字的总和:#命令 awk '{sum += $1} END {print sum}' numbers.txt #输出 100 3. 条件匹配的行假设有一个包含学生成绩的文件 grades.txt,内容如下:Alice 85 Bob 70 Charlie 92 David 65 打印成绩大于等于80分的学生:#命令 awk '$2 >= 80 {print $1, $2}' grades.txt #输出 Alice 85 Charlie 92 4. 自定义分隔符假设有一个以逗号分隔的数据文件 data.csv,内容如下:Alice,25 Bob,30 Charlie,28 David,22 使用逗号作为分隔符打印第二列:#命令 awk -F',' '{print $2}' data.csv #输出 25 30 28 22 5. 格式化输出假设有一个包含学生成绩的文件 grades.txt,内容如下:Alice 85 Bob 70 Charlie 92 David 65 格式化输出姓名和成绩:#命令 awk '{printf "Name: %-10s Grade: %d\n", $1, $2}' grades.txt #输出 Name: Alice Grade: 85 Name: Bob Grade: 70 Name: Charlie Grade: 92 Name: David Grade: 65 这些示例展示了 awk 命令在处理文本文件时的一些常见用法。根据具体的需求,你可以根据这些示例进行调整和扩展。五、复杂示例用awk命令把目录的权限、属组、link提出来看一下:$ ll /var | awk '{printf "%-10s %-8s ", $1, $4; for (i=9; i<=NF; i++) printf "%s ", $i; print ""}' 总计 drwxr-xr-x root ./ drwxr-xr-x root ../ drwxr-xr-x root backups/ drwxr-xr-x root cache/ drwxrwsrwt whoopsie crash/ drwxr-xr-x root dsm/ drwxr-xr-x root lib/ drwxrwsr-x staff local/ lrwxrwxrwx root lock -> /run/lock/ drwxrwxr-x syslog log/ drwxrwsr-x mail mail/ drwxrwsrwt whoopsie metrics/ drwxr-xr-x root opt/ lrwxrwxrwx root run -> /run/ drwxr-xr-x root snap/ drwxr-xr-x root spool/ drwxrwxrwt root tmp/ 当然这意义不大,还复杂。六、可以做到哪些 文本处理: 提取数据:可以从文本文件中提取特定字段、行或数据。 格式化输出:可以根据需要对数据进行格式化输出,包括对齐、填充等。 搜索和替换:可以搜索文本文件中的特定模式,并进行替换或其他操作。 数据处理: 计算:可以对数据进行数学运算,如求和、平均值等。 统计:可以统计数据文件中的行数、字段数,或者根据条件进行统计。 过滤和排序:可以根据条件过滤数据,或者对数据进行排序操作。 报告生成: 生成报告:可以根据数据生成报告、摘要或汇总信息。 格式化输出:可以将数据以特定格式输出,适用于生成报表或日志文件。 数据转换: 字段分割:可以根据指定的分隔符对数据进行分割和处理。 数据转换:可以将数据从一种格式转换为另一种格式。 条件匹配: 根据条件处理数据:可以根据条件匹配特定行或字段,并执行相应的操作。 自定义功能: 自定义函数:可以在 awk 脚本中定义和使用自定义函数,增强灵活性和功能性。 数组操作:支持数组操作,可以用于更复杂的数据处理任务。 灵活性和扩展性: awk 提供了丰富的内置函数和变量,以及灵活的语法,使其非常适合处理各种文本和数据处理任务。 可以结合其他 Unix 工具和管道操作,实现更复杂的数据处理流程。 七、怎么做 模式组合:可以使用逻辑运算符组合多个模式。 自定义函数:可以在 awk 脚本中定义和调用自定义函数。 数组操作:awk 支持数组操作,可以用于更复杂的数据处理。
2024年09月11日
16 阅读
0 评论
0 点赞
1
...
24
25
26
...
30