文章目录
- 一、不同文件的表示
- 1.1 字母表示的含义
- 1.2 不同文件颜色表示的含义
- 二、目录与文件基本操作
- 2.1 ls(list)命令:
- 2.2 通配符
- 2.3 别名
- 2.4 du(disk usage)命令
- 2.5 创建新目录-mkdir
- 2.6创建新目录-touch
- 2.7 创建空文件文件三种方式
- 2.8 创建链接文件-ln
- 2.9 复制文件或目录-cp
- 2.10删除文件或者目录—rm
- 2.11 移动文件或目录-mv
- 2.12如何批量改名
- 2.13 查找Linux命令程序所在的位置—which
- 2.14精细查找文件或目录——find
- 三、总结
一、不同文件的表示
1.1 字母表示的含义
d: | 目录 |
---|---|
-: | 普通文件 |
l: | 链接文件 |
b: | 块文件 |
c: | 字节文件 |
p: | 管道文件 |
s: | 套接字文件 |
1.2 不同文件颜色表示的含义
- 黑色:普通文件
- 蓝色:文件夹
- 天蓝色:链接文件
- 绿色:可执行文件
- 红色:压缩文件
二、目录与文件基本操作
2.1 ls(list)命令:
格式:ls [选项] [文件或目录...]
-
常用选项
-l: 以长格式(Long)显示文件和目录的列表 ,ll=ls -l -a: 显示所有(All)子目录和文件的信息,包括“.“和”…“** -A: 与-a选项的作用基本类似,但有两个特殊,隐藏目录不会显示,“.“和”…“ -d 显示目录(Directory)本身的属性,而不是显示目录中的内容 -h: 以更人性化(Human)的方式显示出目录或文件的大小,此选项需要结合-l选项一起使用 -R: 以递归(Recursive)的方式显示指定目录及其子目录中的所有内容 -
ls -l:以长格式(Long)显示文件和目录的列表 , 包括权限、大小、最后更新时间等详细信息。 ,ll=ls -l
- ls -a: 显示所有(All)子目录和文件的信息,包括“.“和”…“**
- ls -A:与-a选项的作用基本类似,但有两个特殊,隐藏目录不会显示,“.“和”…“
- ls -d:显示目录(Directory)本身的属性,而不是显示目录中的内容
- ls -h:以更人性化(Human)的方式显示出目录或文件的大小,此选项需要结合-l选项一起使用
- ls -R:以递归(Recursive)的方式显示指定目录及其子目录中的所有内容
2.2 通配符
? | 匹配任意一个字符 |
---|---|
* | 匹配所有非隐藏的字符无论多长多短,但不匹配“.”开头的文件,即隐藏文件 |
{1…10} | 1到10 |
{a…z} | a到z |
{A…Z} | A到Z |
[123] | 取其中之一显示,没有也无所谓 |
[0-9] | 匹配数字范围 |
\ | 转义符,表示原来的意思 |
[ ^zhou] | 匹配列表中的除字符以外的 |
[[:lower:]] | 匹配小写字母 |
[[:upper:]] | 匹配大写字母 |
- {1…10} :1到10
例如:在/opt下创建文件file{1…9}.txt
列出file{1…9}.txt
-
{a…z} : a到z
例如:在/opt下创建文件file{a…z}.txt
列出file{a…z}.txt,只显示小写
- {A…Z}: A到Z
- ? 匹配任意一个字符
-
*:匹配所有非隐藏的字符无论多长多短,但不匹配“.”开头的文件,即隐藏文件
-
[123] :取其中之一显示,没有也无所谓
- [0-9] : 匹配数字范围,一个[0-9] 代表匹配一位数。如果两位数,可以用[0-9] [0-9]来实现
- \ : 转义符,表示原来的意思
-
[ ^zhou] :匹配列表中的除字符以外的
-
[[:lower:]] 匹配小写字母
- [[:upper:]] 匹配大写字母
2.3 别名
格式:alias 命令名=‘别名’
注意等式两边不能有空格,alias ,临时修改,重启会失效,只有修改配置文件才会永久生效
例如:alias net=‘vim /etc/sysconfig/network-scripts/ifcfg-ens33’,此时用net即可代替,并修改网卡配置信息
- unalias:删除别名,此时net不可以进入修改网卡并会报错
2.4 du(disk usage)命令
统计指定目录(或文件)所占用磁盘空间的大小
格式:du [选项] [文件或目录...]
-
常用选项:
du: 统计目录 du -a:录下的所有文件 不仅统计当前目录,还统计当前目录下的所有文件 du -h: 人性化统计 ,人性化的显示了单位 du -sh: 只统计当前目录只统计所占用空间的大小,而不是统计每个子目录,文件大小 -
du:统计目录
- du -a: 不仅统计当前目录,还统计当前目录下的所有文件
- du -h: 人性化统计, 人性化的显示了单位
- du -sh:只统计当前目录只统计所占用空间的大小,而不是统计每个子目录,文件大小
- 注意:-a和-s不可以同时使用
2.5 创建新目录-mkdir
格式:mkdir [选项] 目录位置及名称...
要求:1.文件名最长255个字节
2.可以使用特殊字符,除了/和 空字符,一般不使用
- 案例一:在当前文件夹下创建文件夹public
- 在当前文件夹下创建多个文件夹111 222 333
- mkdir -p 递归创建目录
举例:在当前文件夹下创建aaa/bbb/ccc
2.6创建新目录-touch
功能:
- 可创建新文件,并且可以大小为0字节
- 刷新时间
- 可以创建空文件
- 创建一个已经存在的文件,是实现了刷新文件的功能
-
案例一:创建一个文件,名称passwd
-
案例二:刷新时间
2.7 创建空文件文件三种方式
touch 1.txt
vim 2.txt
echo“ ”>3.txt
2.8 创建链接文件-ln
分类:
软连接(又称为符号链接)和硬链接
格式:ln [-s] 源文件或目录...链接文件或目标位置(加-s为软连接,不加为硬链接)
-
软硬链接的对比
对比项 硬链接 软连接 本质 本质同是一个文件 本质不是一个文件 inode 相同 不同 连接数 创建新连接,连接数会增加,删除链接,连接数会减少 删除新建不会改变 文件夹 不支持 支持 删除源文件 只是链接数减1,但链接的访问不受影响 无法访问链接文件 文件类型 和源文件相同 链接文件,和源文件无关 文件大小 和源文件相同 源文件路径长度 小结:硬链接相当于备份了一份,并保留所有属性
软连接相当于创建了一个快捷方式依托于源文件
-
案例一:
- 案例二:不能将硬链接指向目录
- 链接文件在实际生产环境中怎么用:
开发服务,放在1文件夹下,要升级成2,1就没办法用,要用2里面的文件。不可能让客户改变使用习惯,此时,链接就起作用了,把1文件夹做出一个链接文件,再把2指向它
2.9 复制文件或目录-cp
-f: | -f:覆盖目标同名文件或目录时不进行提醒,而直接强制(Force)复制 |
---|---|
-i: | -i:覆盖目标同名文件或目录时提醒用户确认(Interactive ,交互式)(i的优先级高于f) |
-p: | -p:复制时保持(Preserve)源文件的权限、属主及时间标记等属性不变 |
-a: | -a:和p的功能差不多,不过比p功能更强大,可以复制软连接 |
-r: | -r:复制目录时必须使用此选项,表示递归复制所有文件及子目录 |
- 案例一:如果对同一个文件连续复制三次,第一次复制 可以改名;第二次复制 将变成改名后的子目录,第三次复制 覆盖了,问是否覆盖
- PS:复制多个文件,只能复制到目录或文件夹下,不可以直接复制到文件,并且这个目录必须存在
2.10删除文件或者目录—rm
格式:rm [选项] 要删除的文件或目录
-f: | -f:不提醒,直接强制删除 |
---|---|
-i: | -i:提醒用户确认 |
-r: | -r:递归删除整个目录树 |
- 案例一:
-
案例二:
如果系统空间占用过大,没足够空间该怎么办?
答:删除大文件
如果删除大文件,空间还是不足?
答:因为还有别的人再用这个系统,此时并不会释放
2.11 移动文件或目录-mv
如果目标位置与源位置相同,则相当于执行重命名操作
格式:
mv [选项]... 源文件或目录... 目标文件或目录
- 案例一:重命名
- 案例二:移动目录
2.12如何批量改名
rename [选项] 旧名字 新名字 源文件名
- 案例:
2.13 查找Linux命令程序所在的位置—which
格式:which 命令/程序名
- 特点:
搜索环境变量由PATH决定
默认找到第一个目标后不再继续查找
-
案例一
这就是查找路径
-
案例二
2.14精细查找文件或目录——find
格式:find [查找范围] [ 查找条件表达式]
注意:查找范围必须在前面
-
特点:及时查找、精确查找、支持查找的条件比较多
缺点:查找慢 -
常用查找条件:
按名称查找:“-name”
按文件大小查找:“-size”
按文件属性查找:“-user”
按文件类型查找:“-type” -
案例一:
-name:根据目标文件名称进行查找,允许使用“*”及“?”通配符
-
案例二:
-size:根据目录文件的大小进行查找,一般使用“+”“-”号设置超过或小于指定的大小作为查找条件,常用的单位包括kB(注意k小写)、MB、GB
-
补充:dev/zero 可以无限写
dev/null 黑洞,写什么进去,都没有了,都找不回来了
-
查找/boot目录中超过10MB的文件
-
-
案例三:
**-type:**根据文件的类型进行查找,类型指的是普通文件(f)、目录(d)、块设备(b)、字符设备文件(c)、链接(l)
块设备是指成块读取数据的设备,多个字节组合成一块(如硬盘、内存等)而字符设备指的是按单个字符读取数据的设备(键盘、鼠标等)- 查找/boot目录中所有的子目录
-
案例四:
-usr:/home是非管理员用户的家目录,管理员用户的家目录在/root
-nouser是找一个没有主人的文件夹,如果删了lsi。lisi文件夹就变成没了主人的文件夹
- 同时使用多个条件查找的时候,各表达式之间可以使用逻辑运算符
“-a ”表示同时成立
“-o”表示或者or
- 同时使用多个条件查找的时候,各表达式之间可以使用逻辑运算符
查找/boot目录中超过1MB和(或)名称以vm开头的所有文件
三、总结
- Shell是一 种特殊程序
- Linux命令的分类、 格式及使用方法
- Linux常用命令
- 查看及切换目录(pwd、 cd、 Is、 du)
- 创建目录和文件(mkdir、 touch、 In)
- 复制、删除、移动目录和文件(cp、 rm、 mv)
- 查找目录和文件(which、 find)