Linux基础 第九天

**

cat命令

**
cat -n file :显示行号,包括所有空白行
cat -b file :显示行号,不包括空行
cat -s file :多个空行显示为一个
cat -v file :识别特殊符号 (注:Windows上创建的文件并写入了内容,在Linux系统上显示的时候,就有一定几率显示为特殊字符。例如Windows上的换行在Linux上就显示为^M)
cat -E file :在每行结尾加 ( 可 以 判 断 行 后 有 没 有 空 格 ) ‘ c a t − T f i l e ‘ : 识 别 T A B ( I 为 T A B ) T A B 表 示 为 4 个 空 格 ‘ c a t − A f i l e ‘ : 识 别 特 殊 符 号 、 T A B , 并 且 在 每 行 结 尾 加 (可以判断行后有没有空格) `cat -T file` :识别TAB (^I为TAB)TAB表示为4个空格 `cat -A file` :识别特殊符号 、TAB,并且在每行结尾加 catTfileTABITABTAB4catAfileTAB
cat -e file :识别特殊符号,并在每行结尾加$
cat -t file :识别特殊符号、TAB
在这里插入图片描述

**

diff命令

**:对比两个文件异同。
diff test001 test002 -y -W 60 :将test001的文件内容与test002的文件内容进行对比。-y表示同屏同行对比。-W 60 表示同行的宽度为60
在这里插入图片描述

vimdiff test001 test002 :用vim中的内容对比工具进行文件的内容对比 (该模式下和用vim编辑器打开文件一样,都是可以对文件进行编辑修改。且先编辑左边文本,待左边文本保存退出后才可以编辑右边的文本)
在这里插入图片描述

**

grep命令

**:显示过滤后的内容。
grep -n 'ROOT' passwd :打印匹配到root的内容即内容所在行的行号。
grep -w 'ROOT' passwd :默认以字符匹配,w以单词匹配。
grep -i 'ROOT' passwd :-i的作用是不区分大小写
grep -o 'ROOT' passwd :只显示匹配到的内容
grep -v 'ROOT' passwd :取反
grep -nB 2 'ROOT' passwd :打印所匹配到内容的所在行到所匹配行的之前2行,总计3行
grep -nA 2 'ROOT' passwd :打印所匹配到内容的所在行到所匹配行的之后2行,总计3行。
grep -nC 2 'ROOT' passwd :打印以匹配到内容的所在行为中心的之前2行和之后2行,总计5行。
在这里插入图片描述

**

touch命令

** :默认文件存在,修改文件访问属性;文件不存在,创建文件。

touch -a file2 :修改文件access时间(change时间也会改动)—修改为当前的系统时间
touch -c file4 :若文件不存在则不创建文件。
touch -d 19710101 file3 :指定时间创建文件(change时间不改变,change时间受系统时间影响)
touch -r file8 file9 :按指定文件的时间创建文件(即file9使用file8的access时间和modify时间)
touch -t 197107010101 file9 :将时间修改为指定时间(不能加秒)

可使用stat命令查看文件的以下三个时间。
在这里插入图片描述

access 表示最后一次访问(仅仅是访问,没有改动)文件的时间 —cat 和vim命令会改变这个时间
modify 表示最后一次修改文件的时间 —vim 命令会改变这个时间。
change 表示最后一次对文件属性改变的时间,包括权限,大小,属性等等 --cat命令不会改变这个时间,但是这个时间无法被touch命令修改。(但是可以通过)

**

文件存储

**
inode:文件的权限、属性信息,起指向作用,有程序或者进程访问文件,是通过inode来访问存于block的文件的内容。删除文件时,也是删除inode,而不会是删除blockblock的内容会保留。当有新的inode需要使用block的内容时,会覆盖掉之前的内容。(一个文件只使用一个inode,但是有可能使用多个block区)
block:文件的实际内容。(一个block 大小为4k)
superblock:保存的内容为inode和block的数量,使用量等

**

链接文件

**
硬链接: 链接到源文件的inode上;
软连接: 创建了一个文件,拥有自己的inode,对应的block中存放云文件的路径。
ln sourceFile destfile ---->不能连接目录
删除源文件或者链接文件,互不影响
ln -s sourceFile destfile -----> 链接目录
删除链接文件,源文件不影响,删除源文件,链接文件就失效(存在)。—即链接文件的作用失效,但链接文件依然存在。
如果链接的是目录,需要删除目录文件dir:
rm -rf dir/ (错误的删除文件命令格式)
rm -rf dir (正确的)

**

file 命令

**:linux系统不会以文件后缀来识别文件,所以想要知道文件的类型的时候可以使用file命令查看文件的类型。
file test001 :文件类型
file /usr/bin/ls :识别编码格式
在这里插入图片描述

**

cp命令

**:cpcp-i的别名。(-i的效果是:当复制后的文件存在时,会提示用户是否覆盖文件)
在这里插入图片描述

cp -f :强制覆盖(cp命令默认有此效果)
cp -r anliu anliu.abk1 : 递归复制目录
cp -d file1 file3 :复制链接
cp -p file file.bak3 :不修改源文件的文件属性(时间戳,文件属主属组(root))
cp -P /opt/file1 file6 : 复制完整链接

**

find命令

** :查找的命令,必须加目录
find /etc/ -name passwd :表示查找根目录下的etc目录下的文件名为passwd的文件。-name表示按照文件名查找。
find /etc -name passwd -print :-print 表示将结果输出到标准输出。
find /etc -name passwd -print0 :-print0 表示将输出结果不换行。
find . -name file1 -exec rm -rf {} \; :-exec 表示对匹配的文件执行该参数所给出的shell命令。此条命令代表着删除查找出来的文件 。.代表当前目录下。
find . -name file2 -exec du -h {} \; :此条命令表示打印出用find查找出来的文件路径文件名文件大小
find . -name file2 -exec ls -l {} \; :此条命令将把find查找出来的信息作为ll命令执行的参数,执行ll
find . -name file2 -ok rm -rf {} \;-ok的作用是提示你是否进行执行删除文件的操作。
find . -perm 777 :表示按照权限查找
find . -user test01 : 表示按照文件属主查找
find . -group test01 :表示按照文件数组查找
find . -type l :表示按照文件类型查找
find . -type d :表示按照文件类型查找
find / -size +50k -a -size -60k -exec ls -l {} ; :查找占用内存大于50k,小于60k的文件。

在这里插入图片描述

**

rm命令

**:删除原理: 本质删除的是文件名,即删除inode文件,block文件的文件内容不删除。Linux是通过link的数量来控制文件删除的,只有当一个文件不存在任何link的时候,这个文件才会被删除,一般来说,每个文件都有两个link计数器:i_counti_nlink
i_count的意义是当前文件使用这个文件的进程的数量,i_nlink的意义是介质连接的数量(硬链接的数量);可以理解为i_count是内存引用计数器,i_nlink是磁盘引用计数器。
rm命令删除的是i_nlink,当文件的i_nlink被删除,但是删除之前该文件被其他进程使用着,此时该文件的i_count的数量不为0,所以该文件此时并没有被真正删除,只有解除进程对该文件的调用,才能真正的删除该文件。

\rm -i file1.abkrmrm -i的别名,-i的作用是删除文件时给出提示
rm -r anliu.abk-r的作用是递归删除目录下面文件以及子目录下的文件
rm -rf anliu.abk-f表示强制删除,忽略不存在的文件,从不给出提示。
rm -rvf 123/-v表示显示运行时的详细信息
在这里插入图片描述

**

当系统根目录被打满时,该如何定位?

**

(1) 查看系统上的大文件
[root@admin mail]# find / -size +10M -exec ls -lh {} ;
(2) 分析大文件是否有异常文件
日志文件,/var/spool/mail/username
(3) 若能正常使用进程管理工具 ---->查看异常进程
若不能正常使用进程管理工具 ----> echo “” > 异常文件 -->查看异常进程
(4) 分析问题原因

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值