查看、切换、显示、统计目录或文件
ls--列表显示目录内容
显示目录中的内容,包括子目录和文件相关属性信息
ls [选项] [文件或目录… ]
常用选项
- -l 长格式显示文件和目录列表 文件属性比较详细 ll=ls –l
- -a 显示全部包括隐藏文件 且包括 . .. (在linux当中已.开头的隐藏文件)
- -A 显示全部文件或隐藏文件,但不包括 . 和..
- -d 只显示当前目录的属性
- -h 人性化显示(加了文件大小属性)
- -R 递归显示该目录及该目录的子目录下的所有内容
- --color 显示颜色
- -s 以文件容量大小排序
- -I 显示indne号
ls 一般不单独使用
1. 功能有限 要加上选项
2. Ls单独使用 显示当前文件夹下的所有文件 (假如有1000w文件 直接ls显示会导致直接死机)
Ls 会配合通配符 去过滤需要的文件
通配符
去匹配文件名(包括文件夹)ls
| ? | 任意单个字符 |
|---|---|
| * | 任意长度的任意字符 |
| {1..10} | 1到10 10个数 |
| [123] | [123]中代表一个数值 |
| [a-z] | 注意范围 不包括大写Z |
| [0-9] | 代表单个数字 |
| [^a-c] | 反向匹配 |
| \ | 显示原来的意思 |
Alias 别名
1. 将常用的一些比较复杂的命令,简单化
alias 自行定义的命令=‘常用的复杂命令’
2. 单独使用alias 会显示所有的别名命令
3. 别名、内部、外部??大
别名>内部>hash>外部
删除别名:
unalias 别名命令
Du (disk use)
1.查看文件或目录 占用磁盘的空间大小
- -a 分开显示每个文件的大小
- -s 显示当前文件夹的总大小
- -h 人性化显示
- --max-depth=n (-d 1) 最大显示到第n层
2.du 不统计文件的实际大小 只是统计文件所占磁盘的大小 磁盘一块一块来存储文件 最小一块4k,ls 显示文件实际大小
a和s不能同时使用
拓展:
统计/etc目录下 第一层文件夹占用多少磁盘空间
du –d 1 目录
-d 代表目录层数
1 代表目录层数的第一层
du 统计包括隐藏文件么?
包括隐藏文件也会统计
Mkdir (创建空文件夹)
-p 递归创建文件夹
-v 显示详情过程
补充: 在mysql下创建3306.3307.3308 文件夹,分别在这三个文件夹创建date,etc,socket,log,bin,pid 如何创建
Touch
创建新的文件夹 或空的新文件
Touch 文件名
新建一个文件 1.txt
如果当前文件夹下有同名的文件,刷新修改此文件的时间
硬连接与软链接文件
区别:
| 对比项 | 硬链接 | 软链接 |
|---|---|---|
| 本质 | 本质是同一文件 | 本质不是同一文件 |
| Inode号(身份证号) | 相同 | 不同 |
| 连接数 | 创建新的硬链接,链接数会增加,删除链接数,链接数会减少 | 删除,新建也不会改变 |
| 文件夹 | 不支持 | 支持 |
| 删除源文件 | 只是链接数减一,访问正常 | 无法访问文件 |
| 文件类型 | 和源文件相同 | 链接文件,与源文件无关 |
| 文件大小 | 和源文件相同(指向硬盘上的同一文件) | 源文件的路径的长度 |
软链接:
Ln –s 源文件(夹)路径 目标文件夹路径
一定使用绝对路径
硬链接:
Ln 源文件(夹)路径 目标文件夹路径
硬链接不支持文件夹
Cp 复制文件或目录
基本功能
Cp 要复制文件,放置复制文件的位置也可以重命名
-f 有相同文件时强制覆盖不提醒
-I 有相同文件时覆盖提醒
-p 保留文件的源权限
-r 复制文件夹一定需要
-a 保留权限更强大 包括连接文件的属性也可以保留(建议使用-a)
拓展:三次复制有什么提示
[root@localhost data]# cp -r /etc/ /opt/etc.bak #改名字
[root@localhost data]# cp -r /etc/ /opt/etc.bak #变成 etc.bak 的子目录
[root@localhost data]# cp -r /etc/ /opt/etc.bak #会问你要不要覆盖,cp是别名 加\cp 直接覆盖
注意:
Cp 复制多个文件 最后一定要跟文件夹 不能跟文件
Mv 移动改名
mv 源文件或目录 单个文件
移动/改名
-f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖
-i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)
-n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户
-v:显示文件或目录的移动过程
批量:
rename log log.bak* 所有log文件改成log.bak
rename 旧字符 新字符 目标文件
[root@test1 opt]# rename txt txt.bak *.txt #把 txt 改成 txt.bak
Rm 选择 要删除文件或目录
-f 强制
-I 交互
-r 递归(删除目录需要)
[root@localhost ~]# rm –rf 文件/目录
Which 查找
只能找到命令位置