Linux学习笔记 03 Linux的命令之磁盘相关

本文详细介绍了Linux系统中常用的命令,包括find用于查找文件的参数和用法,如根据名称、用户、权限等条件;磁盘管理命令df和du用于查看磁盘空间使用情况;文本处理命令如cat、head、tail、more和less,以及文件类型的检查和重定向。此外,还讲解了如何通过管道操作连接多个命令,以及如何使用xargs命令。这些命令是Linux系统日常管理和维护的基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查找文件的命令find

$find 起始目录 关系表达式

-name 文件名{ * 0到多个任意字符

                        ?单个字符

                        [范围] 范围内单个字符}

-user 用户名

-uid 用户ID

-group 组

-gid 组ID

-perm 数字权限

-size 大小(默认以块为大小)

如何找到空文件或目录?

-empty 查找空目录/文件

-[a|c|m] (min|time) n 距离现在刚好n分钟/天

-[a|c|m] (min|time) -n 距离现在n分钟/天之内

-[a|c|m] (min|time) +n 距离现在n分钟/天之外

根据find的结果执行后续操作

现根据find命令获得文件查找的结果

再对结果进行一些列操作

例如 :

先查找文件file*

再对每个查找到的文件执行 ls -l命令

则可以使用一条语句完成

find . -name 'file[1-3]' -exec ls -l {} \;

find的-exec参数

 

find . -name 'file[1-3]'即根据限制查找到对应文件

后面的-execl ls -l {} \; 表示的是对每个结果执行命令

-execl 后面接的是需要执行的命令

之后的{}代表的是查找到的每一个结果

注意花括号和反斜杠之间有一个空格

shell内多个命令之间交互的通用解决方案

对于任意两个命令之间进行沟通操作的方法

即,shell的管道

假定现在有两个命令,分别有其对应的输入与输出

键盘stdin----输入----> 命令1 ----输出---->屏幕stdout

键盘stdin----输入----> 命令2 ----输出---->屏幕stdout

现在要把命令1的输出作为命令2的输入,这就需要借助管道。

 

 

 

对于上面的查找file[1-3]的批量执行操作,也可以使用管道表示为:

find . -name 'file[1-3]' | xargs ls -l

xargs即将find查找到的文件作为管道内传送的参数

例如,使用:

ls|wc -l

统计文件个数 wc 即word count 统计字符串个数

磁盘相关的命令

df命令:查看文件系统的磁盘空间使用

 

真正的文件系统即/dev/vda2

Mounted on 挂载

 

 

”大页“文件系统

命令du:du即disk usage的缩写,查看每个文件的磁盘空间使用情况

 

 

左侧数字为对应目录及目录下文件的大小,单位默认是kb

常用参数:

-a: 显示目录中所有文件以及文件夹大小

-h: 以 Kb、Mb 、Gb 等易读的单位显示大小

--si: 类似 -h 选项,但是计算是用 1000 为基数而不是1024

-s: 显示目录总大小

-d: 是 --max-depth=N 选项的简写,表示深入到第几层目录,超过指定层数目录则忽略

-c: 除了显示目录大小外,额外一行显示总占用量

--time: 显示每一个目录下最近修改文件的时间

-t: 是 --threshold=SIZE 的简写,过滤掉小于 SIZE 大小的文件以及目录

--exclude=PATTERN:过滤与 PATTERN 匹配的文件名或者目录名

文件查看命令cat

cat - concatenate files and print on the standard output

 

常用参数:

-b 将输出的非空行进行编号

文件----> cat ----> stdout

-E 显示换行符

 

 

-b 非空行进行编号

-E 显示换行符

-h 对所有行进行编号

-s 合并连续空行

day_3_2 Linux的命令之重定向和文本显示

查看文件类型

file命令

 

 查看文件的类型

 

标准输入输出

stdin 标准输入 对应文件描述符0 设备对应键盘

stdout 标准输出 文件描述符1 设备对应屏幕(printf)

stderr 标准错误输出 文件描述符2 对应设备屏幕(printf)

stdout:

重定向

改变stdin,stdout, stderr对应的设备,改成一个文件。

例如重定向标准输出stdout

 

或者重定向stderr

./main 2> file1

cat file1

$this is stderr

重定向的补充

追加模式>>

例如cat file1

 

 

同时重定向

#include<stdio.h>

int main()

{

printf("this is stdout\n");

fprintf(stderr,"this is stderr\n");

return 0;

}

./main

./ main 1> file1

cat file1

./main 2> file1

cat file1

./main &> file1

cat file1

./main 1> file1 2> file2

 

深入理解cat命令

cat - concatenate files and print on the standard output

linux中输入EOF:按下Ctrl + D

如何创建一个空文件

方法一:

cat >filename 然后按下Ctrl + D

方法二:

echo -n > filename

方法三:

使用touch命令

touch filename

方法四:

vim filename 创建一个空文件

部分显示

head / tail

 

 

 

可以加-n参数 指定显示行数

或者使用管道

将最后使用的30条命令保存到文件中去

history|tail -n 30 > filename

 

单页显示

more - file perusal filter for crt viewing

less - opposite of more

例如more filename

less - opposite of more

快捷键:

q 退出

h 帮助

b 上一页

f 下一页

排序命令和去重命令

sort - sort lines of text files

cat file1

sort file1

cat file1

uniq file1

则会去除重复的内容

既排序又去重 使用管道

cat file1| uniq

字符统计

wc filename

man wc

wc - print newline, word, and byte counts for each file

从左到右 分别代表行数 单词数 以及总的字节数

wc -l 总的行数

wc -w 总的单词数

wc -c 总的字节数

汉字编码转换

中文:

GBK/GB2312 2 个bytes windows "烫" ----> cccc

utf-8 3 个 bytes unix/linux

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值