Linux文件管理命令

目录

alias 别名

du(disk use)磁盘使用量

mkdir 创建文件夹

touch

硬链接与软连接

inode

inode表及目录

inode号:

cp (copy)复制

mv(move)移动

rm删除

查找文件

查找命令:ls cd

which 命令(精确查找)

whereis 命令(模糊)

查找文件:

locate(非常快,延时性,数据库查看目录索引,模糊)

find


alias 别名

语法 :

alias 自定义命令=原始命令

原始命令中有特殊字符@#¥%\,需打上引号‘ ‘ 、“ “,单双都可

例:

vim /opt/data/ky33/123.txt

alias 123vim='vim /opt/data/ky33/123.txt'

直接输入alias:显示所有别名

取消别名:unalias 自定义命令

在linux中基本所有使用命令修改的配置都是临时的,想永久保存写入文件,需写到./bashrc

vim /opt/data/ky33/123.txt 编辑文件

1、一定要使用英文

2、q 退出,不不保存;wq 保存,退出;!强制

绝对路径>别名>内部>hash>外部

cd 是内部

ls 是外部

别名大 cd就是ls

du(disk use)磁盘使用量

语法:

du [选项] 文件夹

[选项]:

  • -a:每一个文件单独显示

  • -s:显示总和

  • -h:人性化菜单

  • -d:1 只显示第一层级

  • -X(--exlclude):不计入统计

默认显示隐藏文件

ll和du都可以看到文件大小

ll:看到的是文件的真实大小

du:看到的是文件占用磁盘块的个数

磁盘:块设备,每一块的大小为4k(默认)

每个文件再磁盘中最小占用4k(空文件除外)

当服务器磁盘满了之后,删除较大垃圾文件 du -r |shot|

可以用du命令快速定位,统计较大文件

扩展:df (disk free)磁盘剩余量

mkdir 创建文件夹

语法:

mkdir [选项] 文件夹名

mkdir a b c:同时创建

[选项]:

  • -p:递归创建

    • mkdir -p aa/bb/cc/.....

  • -vp:显示创建过程

  • -pv:在多个文件家中创建同样的文件

    • mkdir -pv /etc/{1,2,3}/{a,b c}

  • redir:删除空文件夹

touch

语法:

touch 文件名(可连续创建多个)

作用:

1、创建空文件(文件名不存在)

2、刷新文件的时间(文件名已存在)

硬链接与软连接

硬链接:同一个文件取不同的名或者叫多个名字(比如 苏轼 字子瞻 号东坡居士 苏二 溢号文忠)不支持文件夹,创建一个连接数加一,多路径访问。

在系统里多了一条路径用来找到文件

软连接:类似于windows里快捷方式,软连接,符号连接,会指向原来的文件,是新的文件

语法:

In 绝对路径下的源文件 目的地(硬链接)

ln -s 绝对路径下的源文件 目的地(软连接)

ln 绝对路径下的源文件 目的地/名字 给硬连接取名字 不加名字就和 源文件同名

ln -s 绝对路径下的源文件 目的地/名字 给软连接取名字 不加名字就和 源文件同名

inode

文件夹:记录文件相关信息(文件位置、大小、权限、时间、inode等)

inode表及目录

1、用户访问文件时,先去查找自己文件夹中的目录项

2、文件名和inode之间对应的关系,

3、通过inode号利用指针去指向实际数据

inode号:

文件夹的indoe号中,包括当前文件夹中文件名字和文件的indoe号,先确定文件夹后再通过indoe指向数据

inode 的默认大小为 128 Byte

同一设备上的indoe号不可能相同

用来记录文件的权限(r、w、x)、文件的所有者和属组、文件的大小、文件的状态改变时间 (ctime)、文件的最近一次读取时间(atime)、文件的最近一次修改时间(mtime)、文件的数据真正保存的 block 编号

例如:找到 indoe号为12345 的文件

find -inum 12345 

cp (copy)复制

语法:

cp [选项] 需要复制的文件或目录 新的文件或目录(同一文件下需要改名)

[选项]:

  • -f:同名文件强制复制

  • -i:同名文件提醒确认

  • -p:保留文件权限、所有者等属性不变

  • -a:保留所有信息

    • 权限:a>p>i>f

  • -r:复制目录时使用,递归复制文件及子目录

mv(move)移动

语法:

mv [选项] 源文件或目录 目标文件或目录 (+姓名 移动并改名)

mv 源文件 文件名 (没有目标文件,只是改名)

[选项]:

  • -f:文件已存在,强制覆盖

  • -i:交互移动,文件已存在,询问是否覆盖(默认)

  • -n:文件已存在,不移动,不覆盖,不询问

  • -v:显示移动过程

rm删除

语法:

rm [选项] 需要删除的文件或目录

[选项]:

  • -f:强制

  • -i:交互

  • -r:递归(删除目录)

  • -rf:删除文件下所有

rm -rf* 强制删除所有

查找文件

基本技能

查找命令:ls cd
which 命令(精确查找)
whereis 命令(模糊)

查找文件:
locate(非常快,延时性,数据库查看目录索引,模糊)

语法:

locate 文件名

find

特点:

1、精确查找

2、实时查找

3、支持多条件查找

4、默认递归查询

语法:

find [查找路径] [选项] [查找条件] [处理动作]

[查找条件]:

  • -name:根据文件名查找

  • -size:根据文件大小查找

  • -user:根据文件所有者查找

  • -type:根据文件类型查找

  • -inum:根据inode号查找

  • -prem:根据权限查找

  • -maxdepthlevel:根据最大文件等级查找

  • -mindepthlevel:根据最小文件等级查找

    • find /etc -maxdepth 2 -mindepth 2

例:

找到30天以上,大于1G,名字为log结尾的普通文件

find -type f -name '*log' -size +1G -mtime 30

[处理动作]:

  • -print:默认处理动作,显示至屏幕

  • -ls:类似于对面查找到的文件执行"ls -dils"命令格式输出

  • -fls file:查找到的所有文件的长格式信息保存至指定文件中,相当于 -1s > file

  • -delet:删除(谨慎)

  • -ok command {}  \ :对查找到的每个文件执行由command指定的命令,并向用户确认

  • -exec command {}  \ :对查找到的每个文件执行由command指定的命令

  • {}:用于引用查找到的文件名

在C语言里,位左对齐右对齐一般在格式化输出时会用到,主要用于控制数据在输出时的位置。以下是相关介绍: ### 整型数据的左对齐右对齐 通过`printf`函数实现整型数据的左对齐右对齐右对齐是默认方式,在格式说明符`%`和`d`之间添加数字来规定输出宽度,若数字位数小于规定宽度,会在左边补空格;左对齐则需在数字前加`-`号,若数字位数小于规定宽度,会在右边补空格。 示例代码如下: ```c #include <stdio.h> int main() { // 右对齐。数字宽度为10,若不足10,在左边补足空格 printf("%10d\n", 1234); // 左对齐。数字宽度为10,若不足10,在右边补足空格 printf("%-10d\n", 1234); return 0; } ``` ### 不同输出长度的情况 当规定的输出宽度和数字实际位数不同时,有不同的处理方式。若规定宽度小于数字实际位数,会完整输出数字;若规定宽度大于数字实际位数,右对齐在左边补空格,左对齐在右边补空格。 示例代码如下: ```c #include <stdio.h> int main() { // -5是左对齐,输出长度为5。5是右对齐,输出长度为5 printf("%-5d %5d\n", 455, 455); printf("%-5d %5d\n", -123, -123); // 规定宽度小于实际位数,完整输出数字 printf("%-5d %5d\n", 987654, 987654); return 0; } ``` ### 其他数据类型的对齐 除整型外,其他数据类型也能实现左对齐右对齐。例如浮点数(`%f`)、字符串(`%s`)等,方法和整型一致。 示例代码如下: ```c #include <stdio.h> int main() { // 右对齐浮点数,宽度为10 printf("%10f\n", 3.14); // 左对齐浮点数,宽度为10 printf("%-10f\n", 3.14); // 右对齐字符串,宽度为10 printf("%10s\n", "hello"); // 左对齐字符串,宽度为10 printf("%-10s\n", "hello"); return 0; } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值