目录
一、通配符
1、详细解释ls -l即ll
2、通配符
3、alias:临时修改别名
4、du(disk usage):查看当前所在文件夹的总磁盘占用量
5、mkdir:创建目录
6、touch:①创建文件。②刷新文件时间
7、硬链接文件与软链接文件
8、cp:复制
9、mv移动或改名
10、rm 删除
11、shred 安全删除命令
12、查找which
13、locate 优点就是快
14、find:查找文件
15、管道符| p单向连接文件,传输数据
一、通配符
1、详细解释ls -l即ll
-rwxr -xr -x . 1 root root 368 12月20 18:07 ky35 .sh
-代表文件类型
七大文件类型 | |
- | 普通文件 |
d | 文件夹 |
l | 链接文件,快捷方式 |
p | 管道文件 |
s | 套接字 |
b | 块设备 |
c | 字符文件 |
第二段-xr:权限读写执行
第三段数字1:硬链接数
第四段字root:所有者
第五段字root:所属组
第六段字368:文件大小
第七段字:最后一次修改时间
第八段字:文件名字
2、通配符
符号 | 效果 |
? | 匹配一个字符 |
{1..10} | 1到10 |
{A..Z} | ABC...Z |
{a..z} | abc...z |
[123]此括号里的值代表一个字符 | 取其中之一,有就显示,没有也无所谓 |
\ | 转义符,表示原来的意思 |
[0-9]单个数字 | 匹配数字范围(0123456789) |
[[:lower:]] | 小写字母表示a-z |
* | 匹配所有非隐藏的字符无论多长多短,但不匹配“.”开头的文件,即隐藏文件。 |
[[:upper:]] | 大写字母表示A-Z |
举例
[root@localhost data]# ls -a *
1
#不显示隐藏文件[root@localhost data]# ls -a
. .. 1
#显示隐藏文件[root@localhost data]# ls *
# *不包括.开头的[root@localhost data]# ls .*
#包括了 .. 上层目录中的文件[root@localhost ~]# ls 1[[:lower:]]*
#显示小写字母
1a1.txt 1e1.txt 1i1.txt 1m1.txt 1q1.txt 1u1.txt 1y1.txt
1b1.txt 1f1.txt 1j1.txt 1n1.txt 1r1.txt 1v1.txt 1z1.txt[root@localhost ~]# ls 1[[:upper:]]*
#显示大写字母
实操
①通配符作用:匹配文件名。
②ls p*代表任意p开头的字符
例如:匹配conf结尾的,ls *conf。包含conf的,ls *conf*
③{1..10} 1到10 touch {1..10}.txt
操作
④ls [123].txt 代表一个1.txt或者2.txt或者3.txt。输入就会形成单个数字的txt
⑤数字开头:ls [0-9]
⑥字母开头:ls [a-z](小大排序)
⑦ls [^a].txt就是删除^以后的txt
⑧touch是创建文件(空文件) lower小写字母[[:lower:]]代表一个小写
3、alias:临时修改别名
alias自定义的命令=原始命令
unalias 别名命令 删除别名
例如:给ls -alh起个别名
[root@localhost dev]# alias myls="ls -alh"
例如:删除myvim别名
[root@localhost dev]# unalias myvim
[root@localhost dev]# myvim
bash: myvim: 未找到命令...
①\加别名命令(显示原始命令)
②永久修改在/etc/.bashrc会影响全部
③永久修改 在/root/.bashrc只影响当前用户
④alias cd=ls
⑤命令执行顺序:绝对路径下命令---别名---内部---hash---外部
alias cd="rm -rf/*"
补充:使用alias建立别名是临时的,重启之后就会消失。
4、du(disk usage):查看当前所在文件夹的总磁盘占用量
①格式:du 选项 文件或目录
②du -a 每个文件的大小
③du -s 总大小
④du -h 显示格式
du 默认全显示
补充:磁盘是硬件设备,块设备,4k最小一块,不足4k也按照4k计算
⑤磁盘空间不足排查文件中是否有较大文件?
du -a 去一个个排查
⑥只想看二层文件夹
du -d 2 /etc 或者du --max -depth=2
⑦-exclude 不计入统计 du -exclude * txt.不统计txt结尾的
注意:①as 无法同时使用
②du 和ll看到的文件夹大小是由去别的
③du看的是所占磁盘的大小(不足4k按照4k计算)
④ll:文件的真实大小
5、mkdir:创建目录
①mkdir aa bb cc就是一次性建3个空文件夹
②mkdir aa/bb/cc就是从aa开始建
③-p 递归创建文件夹:
[root@localhost data]# mkdir -p aaa/bbb/cccc
# 递归创建文件夹 不需要aaa已存在 直接全部新建
④文件名最长255字节
⑤-pv 一次性建立多个文件夹
6、touch:①创建文件。②刷新文件时间
①文件名不存在,直接新建空文件夹
②文件已存在不会破坏已有文件,刷新时间
[root@localhost data]# touch 1 2 3
#创建新文件,或空的新文件
[root@localhost data]# ls
1 2 3
③每个文件都有三个时间戳
-
access time 访问时间,atime,读取文件内容
-
modify time 修改时间,mtime,改变文件内容(数据)
-
change time 改变时间,ctime,元数据发生改变(元数据 文件大小 权限 )
7、硬链接文件与软链接文件
①硬链接:同一个文件取不同的名或者叫多个名字(比如 苏轼 字子瞻 号东坡居士 苏二 谥号文忠 )不支持文件夹,创建一个链接数加一,多路径访问。
[root@localhost data]# cp /etc/passwd /data/f1.txt
[root@localhost data]# ls
f1.txt
[root@localhost data]# ln /data/f1.txt /data/f11.txt
#建立硬连接
#不能跨分区建立连接 无法对文件夹创建
②软链接:类似于windows里快捷方式,软链接,符号链接,会指向原来的文件(快捷方式)。
③之间的差异:
对比项 | 硬链接 | 软链接 |
本质 | 本质是同一个文件 | 本质不是同一个文件 |
inode(身份证号) | 相同 | 不同 |
连接数 | 创建新的硬链接,连接数会增加,删除硬链接,链接数会减少 | 删除,新建都不会改变 |
文件夹 | 不支持 | 支持 |
删除源文件 | 只是链接数减一,但是链接文件的访问不受影响 | 无法访问链接文件 |
文件类型 | 和源文件相同 | 链接文件,和源文件无关 |
文件大小 | 和源文件相同(指的是硬盘上的同一个文件) | 源文件的路径的长度 |
①格式ln [-s]源文件或目录 链接文件或目标位置
加s是软链接 符号链接
ln -s /etc/passwd /mnt
#建立/etc/passwd 的软链接到 /mnt 目录
②文件夹A
indoe号 文件名
1234 aa 通过indo号找到aa在磁盘上的具体位置
③文件夹B
indoe 文件名
1234 bb 给aa文件做了硬链接链接到了B文件夹取名为bb
④语法:
硬链接:ln 源文件 目的位置 源文件的据对路径
ln /etc/passwd /opt/hard
软链接:ln -s 源文件 目的位置
ln -s /etc/passwd /opt/soft
8、cp:复制
代码:cp 源文件 目标位置
cp /etc/passwd
①cp复制并改名 cp /opt/123 复制并改名
②-r 要复制文件夹一定要-r cp -r /etc/
③-f 强制复制
④-i 有同名文件提醒覆盖
⑤-p 保留权限递归复制
⑥-a 更强大的保留权限
[root@localhost data]#cp -r /etc/ ./etc.bak
#将 etc 复制 并改名为 etc.bak[root@localhost data]#cp -r /etc/ ./etc.bak
#将 /etc 变成 etc.bak 的 子文件夹cp -a /etc /opt/
#保留所有权限 包括软链接文件将/etc/ 文件夹 复制到 /opt/ 目录下
9、mv移动或改名
mv 源文件 目标位置
改名:源文件和目标文件位置一样是改名 mv /opt/inhao /opt/sb
移动:源文件和目标文件位置不一样是移动 mv /opt/nihao /mnt/
-
-f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖;
-
-i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项);
-
-n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户;
-
-v:显示文件或目录的移动过程
-
补充:rename 可以批量改名但是有局限性
10、rm 删除
格式:rm 选项 要删除的文件或目录
-
-f、强制
-
-i、交互
-
-r 递归(删除目录需要)
11、shred 安全删除命令
- -z 最后一次覆盖添加0,以隐藏覆盖操作
- -v 能够显示操作进度
- -u 覆盖后截断并删除文件
- -n 指定覆盖文件内容的次数(默认值是3次)
12、查找which
命令文件 ls mkdir cp
找外部命令
whichls (精确)
where is ls
13、locate 优点就是快
缺点:
①找的系统的数据库文化,不具有实时性。
②模糊查找,不够精确
③不是在磁盘上查找
locate多用于一些老文件使用
14、find:查找文件
特点:慢,但是是从磁盘上一块块查找
优点:①精确查找
②选项多,查找功能多
命令使用格式:
find 范围 查找条件 处理动作
find /boot/ -nam vm*
可见此表
处理动作:对符合条件的文件做操作,默认输出至屏幕(print)
-print 打印
-delete 删除
-exec 连接符
-ls 长格式显示
例如
find /boot/ -size +1M -name “vm*”
#找到/boot文件夹下大于1M 且名字已vm开头的文件 find -inum 123456 -delete
#找到 indoe号 为123456 的文件并且删除
补充:
1.-a 就是and
例如:find /boot -size +1024k -a -name "vmlinu2*"
2.-o 就是or
例如:find /boot -size +1024k -o -name "vmlinu2*"
3.找30天以上 以log结尾 普通文件 移动到 opt目录
find /-name "log" -type f -mtime +30 -delete ok mv {} /mnt \;
①-ls 显示详细信息
②delete 删除
③-ok 询问
④exec不询问直接操作
4.find /boot/ -mtime +30 -type f -name "vm*" -exec cp {} /mnt \;
5.-exec 链接符 连接find 和cp命令
{}代表find 找到的内容
\;是固定格式,代表结束
find -name "*.txt" -exec mv {} {}.bak \;
15、管道符| p单向连接文件,传输数据
ls | wc -l 将前一个命令结果,当作最后一个命令的对象执行^c
ls选项 参数 | wc -l
wc -l 统计多少个 (可以无限加)
ifconfig ens33 |grep netmask|grep -0 "[0-9][0-9][0-9]\.[0-9][0-9][0-9]\.[0-9][0-9]\.[0-9][0-9][0-9]"| head -l
192.168.91.100