目录
一、统计目录及文件空间占用情况du
-h:显示出每一个文件以及大小,单位是KB,MB,GB
-s:显示文件或整个目录的大小,默认单位是KB,但不会把他们显示出来
二、创建新目录mkdir
mkdir /opt/sj #创建目录,注意:父目录必须存在
-p:创建一个已有的目录会报错,加-p则不会报错/当父目录不存在时,递归创建
三、创建空文件touch
①文件存在:修改文件或者目录的时间属性,包括存取时间和更改时间。
②文件不存在:创建新文件
touch [文件名]
touch [文件名] [文件名]
四、创建链接文件ln(软链接、硬链接)
ln 命令用于为文件或目录建立链接文件(类似于 Windows 系统中的快捷方式),提高 用户定位文件或定位目录的效率
链接文件包括软链接和硬链接两种类型,其中软链接又称为符号链接。无论是访问软链接还是硬链接,与直接访问原始文件的效果基本相同
ln -s 创建软链接,相当于创建一个快捷方式
ln 创建硬链接,相当于复制了一份副本
五、复制文件或目录cp
-p:连属性一起复制
-a:保留权限,复制软链接本身,递归复制
-r:递归复制
-f:强制复制,不与用户交互
-i:提醒覆盖
六、删除文件或目录rm
-i:删除文件或目录时提醒用户确认
-r:删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)。
-f:删除文件或目录时不进行提醒,而直接强制删除
删除空目录:rmdir
七、移动文件或目录/改名mv
用法:mv [文件名] [目录名]
mv [文件名] [文件名]
-i:若指定目录已有同名文件,则先询问是否覆盖旧文件
-f:在 mv 操作要覆盖某已有的目标文件时不给任何指示
当在同一目录下用mv就是改名,如果是跨目录使用mv的话就是移动,相当于剪切的操作
八、查找命令/文件存放目录which和find
1.which 命令用于查找 Linux 命令程序并显示所在的具体位置,其搜索范围主要由用户的环境变量 PATH 决定(可以执行“echo $PATH”命令查看),这个范围也是 Linux 操作系统在执行命令或程序时的默认搜索路径。
2.查找文件或目录find:采用递归方式2,根据目标的名称、类型、大小等不同属性进行精细查找不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示
-name 按名称查找:
-size 按大小查找:
-user 按文件属主:
-type 按类型查找:普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)、链接(l)
ind /etc -name "resol*.conf" 模糊查找
find /data/ -name "*.txt" 查找/data/目录以.txt结尾的文件;
find /data/ -name "[A-Z]*" 查找/data/目录以大写字母开头的文件;
find /data/ -name "test*" 查找/data/目录以test开头的文件;
find /data/ -size +1M 查文件大小大于1Mb的文件;
find /data/ -size 4M 查文件大小为4M的文件;
find /data/ -size -1M 查文件大小小于1Mb的文件;
find /boot -type d
find /data/ -type d 查找/data/目录下的文件夹;
find /data/ ! -type d 查找/data/目录下的非文件夹;
find /data/ -type 查找/data/目录下的链接文件。
find /data/ -type d | xargs chmod 755 -R 查目录类型并将权限设置为755;
find /data/ -type f | xargs chmod 644 -R 查文件类型并将权限设置为644;
find /home -user 用户名
find /home -user 用户名(属主) -group 组名(属组)
设置 find 命令的查找条件时,若需要使用“*”或“?”通配符,最好将文件名用双引号括起 来,以避免当前目录下符合条件的文件干扰查找结果
find /boot -size +1024k -a(and)/-o(or) -name "前缀名*"
使用“-a”“-o”组合两个条件,前者表示两个条件必须同时满足, 后者表示只需满足其中任何一个条件即可
xargs
可以和管道配合
find ./ -maxdepth 1 -type f -print0 | xargs -0 ls -lh
-atime 访问时间
Linux中日志放在/var/log sylog
-mtime 文件内容修改时间
-ctime 文件属性修改时间
ctime 以天为单位
cmin 以分钟为单位
find ./ -name "前缀名.*.后缀名" -mtime -5 -exec ls -lh {} \; +5是五天以前 -5天以内
在当前目录下(包含子目录),删除所有txt文件
find ./ -name "*.txt" -exec rm {} \;
在当前目录下(包含子目录),查找所有txt文件并找出含有字符串"bin"的行
find ./ -name "*.txt" -exec grep "bin" {} \;
多条件查找
-a:并且
-o:或者
find /mnt -user root -a -size +5m
find /mnt -user root -o -size +5m
-not表示非;即反向选择
find /mnt -not -user root
按权限查找:-perm
find /bin/ -perm 755 等于 0755 权限的文件或目录
find /bin/ -perm -644 -perm -644 至少有 644 权限的文件或目录
九、总结
mkdir(创建文件) | [ .. ] | 连接文件(快捷方式) | 名称,不表示范围 |
[ - ] | 连接文件(快捷方式) | ||
{ - } | 连接文件(快捷方式) | 名称,不表示范围 | |
{ .. } | 范围 | ||
touch(创建目录) | [ .. ] | 名称,不表示范围 | |
[ - ] | |||
{ - } | 名称,不表示范围 | ||
{ .. } | 范围 | ||
rm -rf | [ .. ] | 不删除范围,某一个指定名称 | |
[ - ] | 不删除范围,某一个指定名称 | ||
{ - } | 不删除范围,某一个指定名称 | ||
{ .. } | 删除指定范围 |
1.删除命令:rm -rf 递归删除(适用于有系统文件的目录) rm -rf*删除所有文件(适用于没有系统文件的目录)
2.找到并批量复制文件/目录:
find /opt -name "*.log" |xargs -i cp {} /目录(只用{},表示范围)
find /opt -type d -name "[A-Z]*" -cmin -10 |xargs -i cp -R {} /目录({ }、[ ]:表示所有范围)
3.硬链接和软连接
(1)软连接:相当于快捷方式
(2)硬链接:相当于一个副本
(3)硬链度和软连接对比
1、软、硬链接文件的大小,硬链接和原文件一样大、软连接就是一个inode值得大小
2、数据读取方式不一样
4、查看软连接时,是直接找原文件文件名的
3、软连接可指向目录,硬链接不行
香看硬链接,是直接查看数据(副本)的硬件
区别:
1、软连接和硬链接指向方向不一样 软(指向源文件,不需要占用磁盘空间) 硬(指向数据块,需要单独占用空间)
2、读取方式:软(指向源文件) 硬(指向数据块)
3、创建对象 软(可以指向目录和文件) 硬(不能指向目录)
4、软连接可跨区域 硬链接不行
indoe值:是文件的一个位置标识(唯一性)用于给系统识别定位