进阶学习——Linux系统命令

目录

一、通配符

1.定义

2.作用

二、命令

1.alias——别名

1.1定义

1.2通式

1.3命令执行的过程

2.du(disk usage)—— 查看磁盘使用量

2.1定义

2.2常用选项

2.3拓展——ll和du的区别

3.mkdir——建立文件夹

3.1格式

3.2示例

4.touch——建空文件

4.1功能

5.硬连接与软连接

5.1硬连接

5.2语法

6.cp(copy)——复制

6.1定义

6.2格式

6.3扩展

7.mv——移动或改名

7.1格式

8.rm、shred——删除

8.1rm

8.2shred

9.Which——查找

9.1格式

10.locate——查找

10.1优缺点

10.2用途

11.find——查找

11.1定义

11.2优缺点

11.3通式

11.4使用find命令实现多个查找条件

11.4.1各表达式之间使用逻辑运算符

11.4.2示例

11.4.3find时间命令延伸 

11.4.4fls

11.4.5批量改名

12.empty——空文件

13.管道符(|)——扩展


一、通配符

生产环境中尽量不要直接使用ls命令

1.定义

有些符号不表示原来的意思,它代表了一类字符

“ * ” 代表任意长度的字符    不能显示隐藏文件

“ ? ”代表任意一个字符

[root@localhost opt]#ls
10.txt  1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt 
[root@localhost opt]#ls   ?.txt
1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt 
代表查看以txt结尾的单个字符的文件
[root@localhost opt]#ls   ??.txt
10.txt
代表查看以txt结尾的两个字符的文件
[root@localhost opt]#touch 123456789.txt
[root@localhost opt]#ls
123456789.txt  rh
10.txt 123456789.txt  1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt 
代表查看以txt结尾的任意长度字符的文件(不能显示隐藏文件)

2.作用

匹配文件的名字

例如,要匹配以p开头的文件,格式为:ls  p*

要匹配以conf结尾的文件,格式为:ls   *conf

包含conf的文件  *conf* 

通配符只能匹配文件的名字

正则表达式能匹配文章里的内容

二、命令

1.alias——别名

1.1定义

通过别名机制简化常用的、比较长的命令

[root@localhost mnt]#alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde


直接输入alias代表查看所有的别名

1.2通式

alias 自定义命令='原始命令' (单引号双引号都可以 引号内如果有特殊字符需要加引号 )

 其中,myvim代表自定义命令;”vim/etc/sysconfig/network-scripts/ifcfg-ens33“代表原始命令

1.3命令执行的过程

内部-----hash-----外部

别名的优先级高于内部命令

命令执行的顺序:绝对路径下命令优先级>别名优先级>内部优先级>hash>外部命令优先级

使用alias命令创建的别名是临时性的,重启之后就不存在了

2.du(disk usage)—— 查看磁盘使用量

du命令默认递归显示

2.1定义

统计指定目录(或文件)所占磁盘空间的大小

du  [选项]  [文件或目录]

2.2常用选项

选项说明
-a统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
-s只统计所占空间总的(Summary)大小,而不是统计每个子目录,文件的大小
[root@localhost ~]#du -sh /var/log
4.6M	/var/log
使用命令du -sh 显示/var/log的文件所占空间的大小

-a   -s  两者不能同时使用

[root@localhost ~]#du -as
du: 不能既显示总用量,同时又显示每个项目
Try 'du --help' for more information.

2.3拓展——ll和du的区别

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

du看到的是文件占自盘的多少块(一块的默认值为4k;如果一个文件不足4k按4k算)

(du看到的文件大小一定是4的倍数)

延伸:如果只想看到前两层的文件夹(前两层:不包含本层  本级的下两层)

du -d 2/etc    =     du --max-depth=2 /etc

[root@localhost opt]#du --exclude=*.txt
12      .
查看除以txt结尾的文件之外的文件大小
[root@localhost opt]#du -a --exclude=*.txt
4       ./passwd
4       ./fstab
4       ./.shadow
12      .
查看除以txt结尾的文件之外的文件大小,但显示隐藏文件
[root@localhost opt]#ls -a
. .. fstab passwd .shadow test.txt
[root@localhost opt]#du -a
4       ./passwd
4       ./fstab
4       ./.shadow
4       ./test.txt
16      .
查看所有文件包含隐藏文件

3.mkdir——建立文件夹

3.1格式

mkdir  [选项] 目录位置及名称

mkdir -p  代表一次性创建嵌套的多层目录(递归显示)

3.2示例

[root@localhost opt]#mkdir aa bb cc
[root@localhost opt]#ls
aa  bb  cc  rh
代表一次性建立三个文件夹aa、bb、cc



[root@localhost opt]#mkdir dd
[root@localhost opt]#ls
dd  rh
单个创建文件夹dd



[root@localhost opt]#mkdir -p aa/bb/cc
代表倒序建立aa/bb/cc文件夹
[root@localhost opt]#ls
aa  rh
查看opt文件夹下(aa为蓝色,代表文件夹)
[root@localhost opt]#ls -R
.:
aa  rh

./aa:
bb

./aa/bb:
cc

./aa/bb/cc:

./rh:
倒序查看opt下的文件


拓展:磁盘空间不足,如何排查哪些文件夹有比较大的文件

先使用du命令查看比较大的文件和文件夹,确认文件有没有用,再看有没有权限删除

mkdir -pv 代表在数据库mysql文件夹下建立以下文件

4.touch——建空文件

touch  文件(如果文件不存在则新建一个大小为0的空文件)

4.1功能

1.新建空文件     touch  命令   跟着的文件名不存在

2.刷新文件时间  touch  命令  跟着的文件名已存在

5.硬连接与软连接

5.1硬连接

当用户访问aa时,通过inode号在硬盘中找到aa硬盘中的位置,然后加载到内存中使用,给inode号1234做一个硬连接到B文件夹存为bb,此时aa和bb都可以使用inode号为1234的文件。

硬连接:多了一种找到inode号为1234文件的方法

文件夹不能做硬连接;硬连接的本质是文件有多少种叫法,再深层次理解为有多少种找到文件的方法;做一个硬连接 inode号不会增加

5.2语法

硬连接语法  ln      源文件  目的位置

软连接语法  ln -s  源文件  目的位置

源文件要使用绝对路径

[root@localhost opt]#ln -s /opt/aa ./a
给aa文件夹做一个软连接a
[root@localhost opt]#ll -i
总用量 0
70438404 lrwxrwxrwx. 1 root root  7 12月 20 19:48 a -> /opt/aa
67160160 drwxr-xr-x. 3 root root 16 12月 20 19:20 aa
 2396087 drwxr-xr-x. 2 root root  6 3月  26 2015 rh

注意:删除软连接文件夹的时候,一定不能加    “ / ”

6.cp(copy)——复制

6.1定义

将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录

6.2格式

cp  源文件或文件夹  目标位置

copy命令执行后,相同设备上的inode号不会相同,但不同设备上可能会一样

复制文件夹一定要加 -r

-a和-p均代表保留属性   但是-a的保留权限更大

-a可以代替-r  -p

6.3扩展

增备  -u   只增加每天备份的量

[root@localhost data]# cp -r /etc/ /opt/
#复制文件夹要加 -r 不加不让复制
[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 直接覆盖

如果复制多个文件,只能复制到文件夹

7.mv——移动或改名

7.1格式

mv 源文件 目标位置

源文件和目标文件路径位置一样,是改名

如果源文件和目标文件路径位置不一样,是移动也可以移动并改名

8.rm、shred——删除

8.1rm

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

选项说明
-f强制
-i交互
-r递归

在使用前要查看权限是否可以删除

[root@localhost ~]# rm -rf /    #不让执行
[root@localhost ~]# echo *      #删根后查看
[root@localhost ~]# rm -rf /data/*
[root@localhost ~]# rm -rf /data/*    ##之间的区别误操作,等于删根




[root@localhost ~]# touch ./-f
# -开头的文件
[root@localhost ~]# ls
[root@localhost ~]# rm -f -f
#删除不掉
[root@localhost ~]# rm -f ./-f
#需要加路径
[root@localhost ~]# touch ./-f
[root@localhost ~]# rm -- -f
rm:是否删除普通空文件 "-f"?y

8.2shred

shred [OPTION]... FILE...

安全的删除数据

选项说明
-z最后一次覆盖添加0,以隐藏覆盖操作
-v能够显示操作进度
-u覆盖后截断并删除文件
-n#指定覆盖文件内容的次数(默认值是3次)

9.Which——查找

查找命令/文件存放目录

搜索范围由环境变量PATH决定(echo $ PATH)

9.1格式

which  命令/程序名   或  which  -a  命令/程序名

示例:which  is       which  cd

命令文件:ls、mkdir、cp;

内部命令是Shell的一部分(内部命令没有文件)

查找外部命令

which is  查找得更精准

where is 会在固定的5个文件夹中找(环境变量PATH)

10.locate——查找

10.1优缺点

优点:快

缺点:1.不够精确,模糊查找;

2.找是系统的数据库文件,不具备实时性;

3.不是去磁盘上真的给你找,而是去数据库找;

updatedb 不太建议用,因为可能会死机

10.2用途

 查找系统中一些老旧文件,不常改变文件使用locate比较好

11.find——查找

11.1定义

采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找(一定要先指定查找范围(如若不指定那就是当前查找范围

11.2优缺点

优点:1.精确查找;2.选项多,查找的功能多

缺点:慢

11.3通式

find 范围 查找条件 处理动作

查找类型关键字说明
按名称查找-name根据目标文件的名称进行查找,允许使用“ * ”及“ ? ”通配符
按文件大小查找-size

根据目标文件的大小进行查找

一般使用“ + ”、“ - ”号设置超过或小于指定的大小作为查找条件

常用的容量单位包括kB(k要小写)、MB、GB

按文件属性主查找-user根据文件是否属于目标用户进行查找
按文件类型查找-type

根据文件的类型进行查找

文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等

按名称查找   -name 

find /etc/ -name passwd

查找etc文件夹下,名为passwd的文件

find /etc/ -name fstab

查找etc文件夹下,名为fstab的文件

按文件大小查找  -size 

find  -size +1M

查找文件大小为1M以上的文件 

" - "  “ + ”  只能表示一个范围

按文件属主查找  -user

nouser代表无主用户

按文件类型查找   -type

注意:寻找普通文件的话  要将 “ - ”变成“ f ”

延伸:

因为A选项的“d”目录,故A排除;B选项连接个数1,故B排除;C选项“l”表示连接,并且连接个数为1,所以选C;D选项“ - ”表示普通文件连接个数是2,所以D选项是硬连接故选D。故,此题选CD

例题1: 

ls -a ./*  只显示非隐藏文件  选D

例题2:

du命令中a和s不能同时出现,选B

例题3:

使用mkdir可以查看默认的别名;cp -a保留连接属性;cp复制多个文件,最后只能跟文件夹;所以选D

11.4使用find命令实现多个查找条件

11.4.1各表达式之间使用逻辑运算符

“ -a ”表示 而且(and)

“ -o ”表示 或者(or)

“ not ”非   或者!

11.4.2示例

find /boot -size + 1024k -a -name “vmlinuz*”

find /boot -size + 1024k -o -name “vmlinuz*”

[root@localhost data]#find ! -type d
找到非d类型的文件
./passwd
./aa/1.txt
./aa/2.txt
./hard
[root@localhost data]#find ! -type d -o ! -empty

find /opt/ -inum 75497602  -delete

找到opt文件夹下  inode号为75497602的文件进行删除操作

权限:r=4  w=2  x=1;iname不区分大小写

find -p

找到以p为首字符的文件

find -perm  777

找到prem文件

延伸:只看第二层文件夹

11.4.3find时间命令延伸 

找到一个30天以上 以log结尾的普通文件

find / -name "*log" -type f -mtime +30

找到一个30天以上 以log结尾的普通文件并删除

find / -name "*log" -type f -mtime +30 -delete

找到一个30天以上 以log结尾的普通文件 复制或移动到

exec和ok的区别的是ok会问要不要执行命令;exec不会再问  

find /boot/-mtime +30 -type f -name "vm*" -exec cp {} /mnt\;

exec 连接符 连接find命令和下一个命令

{}代表find 找到的内容

\; 固定格式 代表结束

处理动作:

-ls  显示详细信息 

-delete 删除

-ok  询问是否要操作

-exec 不询问直接操作

11.4.4fls

find /boot/ -name “vm*” -fls abc

找到boot文件夹下以vm开头的文件并存放至abc文件夹下 

重点

find /  -mtime +30  -type f  -name "*log" -exec mv{} /opt \;

find /  -mtime +30  -type f  -name "*log" -delete

find /  -mtime +30  -type f  -name "*log" -exec rm -rf {} /opt \;

11.4.5批量改名

find -name “*.txt” -exec mv {}  {}.bak \;

找到以txt结尾的文件批量修改名称为 以bak结尾的文件

12.empty——空文件

inode是有限的 这个资源用完了就无法再连接资源

延伸:硬盘有一个T,无法再建文件,inode号用完了,解决办法删除空文件(find /opt/ -empty

13.管道符(|)——扩展

在Linux文件详细信息中,第一个字符为p代表是管道文件

可以将前一个命令的结果 当做最后一个命令的对象执行

ls | wc -l

ls代表查看当前文件下的信息,wc -l 表示统计ls已经查看到文件下的信息的个数

管道符可以添加多个;将第一个命令的执行结果当做参数传给后一个命令去执行

  • 16
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值