centos命令3
stat命令 //查看文件的具体存储信息和时间等信息
此指令涉及到文件系统所以有必要重点解释一下
1、blocks为什么为8的倍数:
我一开始学的时候就对这个块这个参数存疑,因为块的大小永远都是8的倍数(这里是因为linux默认的io块为4096字节),为此我翻阅了很多资料后才了解:
首先我们必须要知道传统硬盘的扇区大小为 512 字节,并且在每个扇区与扇区之间并不是直接相连,在它们之间还存在着一定的空间,分为空隙(gap,用来分割扇区),同步(sync,表示扇区的开始处,并提供计时对齐),地址标志(address mark,识别扇区号和位置的数据。还可提供扇区本身的状态。),以及用户数据修复和还原的ecc区域。
但是如果以512字节这样的长度来存储文件会浪费很多空间(512字节的扇区需要另外40字节作为ecc校验空间),而4k扇区(8个512字节扇区)只需要100个字节。
明白了这些,你应该要大概对文件系统有了解了,如果实在不了解要学会百度(这是成为强者必会技能(●’◡’●)),所以这里虽然2253字节小于4k,但是现在的文件系统一般都是默认4k,而4096字节/512字节正好=8,所以blocks:8.
2、文件索引inode
对于这个inode我并不像做太多笔记,但他的确很重要,因为后面总结硬链接和软接会细说,现在只需要知道是文件在内存中的索引就好了。
有兴趣可以看https://www.cnblogs.com/mytjava/p/12981159.html
3、三个时间
access(最近访问):最后一次去查看文件内容的时间
modify(最近更改):最后一次去修改文件内容的时间
change(最近改动):最后一次去修改文件属性的时间
一般我们入侵别人系统之后,查看了系统内的重要文件后,需要修改这三个时间
cut命令
用cut 提取密码文件中的所有用户名
cut -d : -f 1 /etc/passwd
-f : 通过指定哪一个字段进行提取。cut命令使用“tab”作为默认的字段分隔符。
-d : “tab”是默认的分隔符,使用此选项可以更改为其他的分隔符。
管道符
查看这个文件并将所有小写转化成大写
这里是两个动作管道符后面的动作就是小写转换成大写,管道符就是用来附加命令操作的
diff命令
比较两个文件内容跟是否不同 --brief只显示是否相同
-c参数显示出哪里不同
创建文本文件
touch命令
touch 文件名
echo命令的高级操作
echo 12345678 >> wenjian //追加写入
但是如果作为一个黑客不想让人知道你修改了文件,可以去修改文件的atime、ctime、mtime
比如ls -l的时间显示的是ctime
修改atime 和 mtime
touch -d ”时间” 文件名
echo 123 > wenjian //覆盖写入
mkdir命令
mkdir 目录名称
递归创建
mkdir -p
cp命令
cp 文件1 文件2
复制目录
cp -r 目录1 目录2
mv命令
剪切操作 mv 文件1 文件2(此文件不存在与这个目录下)
rm命令
-f 强制删除
-r 删除目录
centos下的文件操作
dd命令
dd if=文件名1 of=文件名2 bs=字节 count=次数
目前有a.txt文件里面有八行,大小56字节
我们提取一次,28个字节的资源
我们提取二次,28个字节的资源
编程语言中我们一般都是用二进制形式来写入文件内的资源
在linux中我们也有可以查看文件类型的命令
file 命令
块设备(也称为块特殊文件)的行为通常与普通文件非常相似:它们是字节数组,并且在给定位置读取的值是最后写入该位置的值。来自块设备的数据可以缓存在内存中,并从缓存中读取;可以缓冲写操作。块设备通常是可搜索的(即,文件中的位置概念可以由应用程序更改)。名称为“块设备”的事实是,相应的硬件通常一次读取和写入整个块(例如,硬盘上的一个扇区)。
字符设备(也称为字符特殊文件)的行为类似于管道,串行端口等。对其进行写入或读取是立即采取的行动。驱动程序处理数据的工作是它自己的事。将字节写入字符设备可能会导致它在屏幕上显示,在串行端口上输出,转换为声音,…从设备读取字节可能会导致串行端口等待输入,或者返回随机字节
tar命令
由于参数比较多大家可以自己去找
我写几个比较常用的
tar -czvf 打包后的文件名(一般加.tar.gz) 需要打包的目录/文件 //打包
-c 将文件归档的操作
-z 指定打包文件为gzip格式
-v 显示打包或者压缩的过程
-f 表示是个文件
tar -xzvf gzip打包的文件名
-x 解包
将etc目录和etc目录下的所有文件都打包到当前目录并命名为backup.tar.gz
Grep命令
寻找init.cfg文件中所有带有oo的行
Grep oo init.cfg
-n 输出找到内容的行数
-v 输出除了要找的oo的内容行 也就是反选输出
Find命令
搜索文件
-name //文件名
-user 属于这个用户的文件
-exec参数
属于ou用户的文件粘贴到/tmp/mul1目录下