一、列表显示目录内容-ls
1.显示目录中内容,包括子目录和文件相关属性信息
ls(列表的形式去显示目录内容) 【选项】(可有可无的) 【文件或目录...】(可有可无的)
或
查看指定的文件
2.常用选项
-l -a -A -d -h -R --color
-l ;以长格式(long)显示文件和目录的列表,包括权限大小,最后更新时间,等详细信息(ll与命令ls -l功能相同)
比如:ls-l 就会出现目录和文件里更详细的内容
-rwxrwxr-- 1 root root 762 07-29 18.19 exit
第一字段:文件属性字,第一个字符代表文件的类型
‘’-‘’表示该文件是一个普通文件
如果第一个字符是d 表示该文件是一个目录(在Linux系统中一切皆文件)(在系统当中具有文件夹功能的目录)
( l ;)表示该文件是一个软连接文件,类似于windows下的快捷键,一般天蓝色的代表软连接
例如:指定一条命令一个目录 #ls-l /etc/
redhat-release就是centos-release的软连接也可以说是他的快捷方式
第一个字符的后面9个字母表示该文件或目录的权限位
r 表示读(查看,下载)
w表示写(添加,更改,删除,上传)
x表示执行(运行文件、切换目录)
9个字母会3个位3个位的进行分割
前三个字母表示文件拥有者(蜀主)的权限
中间三个字母表示,文件所属组拥有的权限(在Linux系统中不光有用户还有组,一个组可能有多个用户)
最后三个表示其他用户拥有的权限(其他用户成员只拥有可读的权限,没有可写可执行权限)
第二个字段文件硬连接数(硬连接就是一个文件共享一个数据,都共同指向同一个组)
如果一个文件不是目录,此时这一字段表示这个文件所具有的硬连接数
如果一个目录,则第二字段表示该目录所含子目录的个数
如果新建一个空目录,这个目录的第2字段就是2,表示该目录下有两个子目录
一个目录第二字段数字肯定大于等于2,为什么是2,举例看一下
. 代表自己 ..代表父目录
第3字段:文件\目录拥有者 root
第4字段:文件\目录拥有者所在的组 root
第5字段:文件所占用的空间(默认以字节为单位)1024的2次方,字节8位,比特率每秒以位来算
如果是一个目录,则表示该目录的大小,而不是目录以他下面的文件的总大小(文件多,文件名就多,文件就越大)文件大小不一的原因
Linux系统中一切皆文件,因此目录也是一种文件
第6字段:文件\目录最近访问或修改时间
第7字段:文件名
如果是一个符号链接(软连接文件),那么会有一个‘’→‘’箭头符号,后面跟一个它指向的文件名
(- a):显示所有(All)子目录和文件的信息,包括名称以点号 ‘’.‘’ 开头的隐藏目录和隐藏文件
隐藏文件:用ls 或ls-l 是看不到的,想看到的话用 LS-al 的方式
在Linux系统当中在文件或目录名前面加个 . 号,系统就会认为是隐藏目录和文件把他隐藏起来
(-A):与-a选项的作用基本类似,但有两个特殊的隐藏目录不会显示,即表示当前目录的 ‘’.‘’和表示父目录的 ‘’..‘’
(-d):显示目录(directory)本身的属性,而不是显示目录中的内容
(-h) :以更人性化(human)的方式显示目录或文件的大小,默认的大小单位为字节(B),使用-h选项后将显示为KB、MB等单位,此选项需要结合-1 选项一起使用。
(-R) :以递归(directory)的方式显示指定目录及其子目录中的所有内容。--color: 在字符模式中以颜色区分不同的文件,默认以开启,通常情况下,深蓝色表示目录,白色表示一般文件,绿色表示可执行的文件,黄色表示设备文件,红色表示压缩文件。
(-i) :显示文件和目录的iNode号。
3.结合通配符
‘’?‘‘ :代表任意一个字符,有且一个字符
‘’*‘’ :代表任意数个字符,可以是0个或者1个或者多个
‘’【】‘‘ :表示可以匹配字符组中的任意一个字符【ABC】【a-f】
4.设置别名
通过别名机制简化常用的,比较长的命令
alias命令别名=命令(‘’=‘’ 两边不能有空格)
示例:设置myls为ls-alh的别名
alias myls=ls-alh
取消别名:unalias
5.统计指定目录(或文件)所占用磁盘空间的大小
du 【选项】 【文件或目录】
常用选项
选项 | 说明 |
-a | 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录 |
-h | 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果 |
-s | 只统计所占用空间总的大小,而不是统计每个子目录,文件的大小 |
--max-depth=n | 统计所有小于等于n层的目录的总大小 |
统计出/var/log目录中子目录的大小
du -h --max-depth=1 /var/log/
6.创建新的空目录
mkdir 【选项】目录位置及名称
示例:在当前目录下创建名为public-html的子目录
mkdir public-html
创建目录/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录CC
mkdir -p /aa/bb/cc
7.创建空文件-touch命令
更新文件的时间标记
经常用于创建多个新的空文件
touch 文件。。。
示例:创建两个空文件,文件名分别为aa.txt和bb.txt
touch aa bb
touch [a,b].txt
8.创建链接文件-ln
为文件或目录建立链接文件,类似于windows系统的快捷方式
链接文件类型:软连接(又称为符号链接)硬链接
示例:ln -s/bin/bzip2/bin/wx/
软链接示意图:软连接文件名→软连接文件数据→文件名→文件数据
硬链接示意图:文件←文件名
数据 硬链接
在Linux中,文件名和文件的数据是分开存储的
提示:在Linux中,只有文件的硬链接数==0才会被删除
使用 ls-l可以查看一个文件的硬链接的数量
在日常工作中,几乎不会建立文件的硬链接,知道即可
9.复杂文件或目录-CP
将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录
常用选项:-f -i -p -r
-f:覆盖目标同名文件或目录时不进行提醒,而直接强制复制
-i:覆盖目标同名文件或目录时提醒用户确认
-p:复制时保持源文件的权限,属主及时间标记等属性不变
-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录
注:复制多个文件或目录时,目标位置必须是目录,且目标目录必须已存在
10.删除文件或目录-rm
常用选项:-f -i -r
示例:rm -rf public -html/grub/
rm -i public -html/apg.conf
-f:删除文件或目录时不进行提醒,而直接强制删除
-i:删除文件或目录时提醒用户确认,(y表示删除,n表示不删除)
-r:删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)
注:不要直接删除系统中已有的目录或配置文件,以避免出现以外故障
rm -rf /etc/yum.repos.d/*
删除目录下文件时建议最好先切换到目录下载执行rm -rf命令
cd /etc/yum.repos.d/
rm -rf ./*
11.移动文件或目录-MV
将指定的文件或目录转移位置
如果目标位置与源位置相同,则相当于执行重命名操作
mv mytouch mkfile
mv mkfile public-html/
mv命令只能对单个文件重命名,可使用rename命令批量修改文件名
rename 旧字符 新字符 目标文件
例:roname jpg gif *.jpg
12.查找命令文件存放目录-which
搜索范围由环境变量PHTH决定(echo$PATH)
which 命令 程序名 //默认当找到第一个目标后不在继续查找。 或 which -a 命令 程序名 //在所有搜索路径中查找
示例:which ls which history
使用which查找内部命令时,将找不到对应的程序
13.查找文件或目录-find
采用递归方式,根据目标的名称,类型、大小等不同属性进行精细查找
fing 【查找文件或子目录的目录位置】 【查找条件类型】
查找类型 | 关键字 | 说明 |
按名称查找 | -name | 根据目标文件的名称进行查找,允许使用‘’*‘’及‘’?‘’通配符 |
按文件大小查找 | -suze |
根据目标文件大小进行查找 一般使用‘+’ ‘-’号设置超过或小于指定的大小作为查找条件 常用的容量单位包括KB(注意K是小写)MB.GB |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type |
根据文件的类型查找 文件类型包括普通文件(f)目录(d)块设备文件(b)字符设备文件(c)等 块设备文件(b):成块读取数据的设备(硬盘,内存,光驱) 字符设备文件(c):按单个字符读取数据设备(键盘,鼠标) |
14.使用fing命令实现多个查找条件
个表达式之间使用逻辑运算符
-a表示而且(and)
-o表示或者(or)
示例:fing /boot -size +1024k -a -name ‘‘vmlinuz*‘‘
fing /boot -size +1024k -o -name ‘‘vmlinuz*‘‘
fing之exec用法
-exec参数后面跟的是Linux命令,它是以分号‘’;‘’为结束标志,由于各个系统中分号会有不同的意义,因此在分号前面加上反斜杠转义符‘’\‘‘
{}D代表前面find查找出来的文件名
find命令匹配到了当前目录下的所有普通文件,并在-exec选项中使用ls-l命令将他们列出
fing ./-type f -exec ls -l {}\;