Linux基础目录与文件管理命令简谈

146 阅读8分钟

pwd

打印当前目录

1.png

cd

切换目录

命令效果
cd 或 cd ~若不指定目标位置,切换到当前用户的宿主目录(家目录)
cd -到前一次目录
一个点号“.”开头表示以当前的工作目录作为起点
两个点号“..”开头表示以当前目录的上一级目录(父目录)作为起点
“~用户名”形式开头表示以指定用户的宿主目录(家目录)作为起点
"."开头文件表示隐藏文件

2.png

ls

列出目录/文件的详细属性信息

文件类型

颜色表示的文件类型:

  • 黑色数据文件 普通文件
  • 绿色 可执行文件
  • 黄色 块设备文件硬件设备(硬盘)
  • 红色 压缩包
  • 蓝色 文件夹
  • 天蓝色 连接文件(快捷方式)

字符表示文件类型:

‘- 普通文件

d 目录文件directory

l 符号链接文件link

b 块设备block 比如直接读1块 /dev 4k (512*8(扇区)=4096字节=4k)

c 字符设备character 一个字符一个字符读取 /dev/zero (/dev/null)

p 管道文件pipe 两个软件联系 A-管道文件-B A 写 B 读 单向的

s 套接字文件socket 可以双向的

选项说明
-l以长格式显示文件和目录列表 ll=ls -l
-a显示全部包括隐藏文件
-A显示全部文件或隐藏文件,但不包括
. 和..-d只显示当前目录
-h友好显示文件大小
-R递归显示该目录及该目录的子目录下的所有内容
--color显示颜色
-S按从大到小排序
-i显示inode号
-t根据文件创建时间进行排序,由新到旧,新建的排在前面
-tr根据文件创建时间进行排序,由旧到新

3.png

alias

别名命令

临时修改(关机或退出终端会自动消失)

alias 命令别名 = ’命令‘ unalias 别名命令 删除别名 \加别名命令 (显示原始命令)

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

4.png

通配符

符号效果
匹配一个字符 f?.txt
*匹配所有非隐藏的字符无论多长多短,但不匹配 "." 开头的文件,即隐藏文件
{1..10}1到10
{a..z}a b c ...z
{A..Z}A B C .....Z
[123]([此处括号里值代表一个字符])取其中之一有就显示没有也无所谓
[a-z]单个小写字母范围需要注意
[0-9]单个数字匹配数字范围(0123456789)
\转义符,表示原来的意思
[[:lower:]]小写字母表示 a-z
[[:upper:]]大写字母表示 A-Z
[^zhou]匹配列表中的所有字符以外的字符
[[:digit:]]任意数字,相当于0-9

du

选项说明
-a统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录(包括隐藏文件)
-h以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
-s只统计所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小
--max-depth=n最大显示到第n层 (-d n)
--exclude排除某些文件后,显示剩余大小

5.png

mkdir

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

-p 递归创建多层目录,当上级目录不存在时,会按目录层级自动创建目录。

6.png

touch

touch命令格式:

touch 文件名称(可为空)

touch 文件若已存在,不会破坏已有文件,会更新时间

每个文件有三个时间戳:

  • access time 访问时间,atime,读取文件内容
  • modify time 修改时间,mtime,改变文件内容(数据)
  • change time 改变时间,ctime,元数据发生改变(文件大小、权限等属性)

image.png

创建链接文件 ln

ln 源文件 目标文件:创建硬链接文件

ln -s 源文件 目标文件:创建软连接文件

对比项硬链接软链接
本质本质是同一个文件本质不是同一个文件
inode(身份证号)相同不同
连接数创建新的硬链接,链接数会增加,删除硬链接,链接数减少删除,新建都不会改变
文件夹不支持支持
删除源文件只是链接数减一,但链接文件的访问不受影响无法访问连接文件
文件类型和源文件相同链接文件,和源文件无关
文件大小和源文件相同(指向硬盘上的同一个文件)源文件的路径的长度

image.png

cp

cp命令格式:

  • cp [选项]… 源文件 目标 相当改名复制
  • cp [选项]... 源文件... 目录 多个源文件只能复制到文件夹
选项效果
-f覆盖目标同名文件或目录时不进行提醒,直接强制复制
-i覆盖目标同名文件或目录时提醒用户确认
-p复制时保持源文件的权限、属主及时间标记等属性不变(但不保留软链接文件)
-r复制目录时必须使用此选项,表示递归复制所有文件及子目录
-a完整保留所有的信息(保留软链接属性)
-v可视化
-u相当于增备,差异备份(只针对文件夹)
-b当目标文件存在时,先进行备份再覆盖(只保留最近)
-s复制成为符号连接文件 (symbolic link),亦即”快捷方式“档案; 作用为创建新的符号链接文件,指向原符号链接文件,能保证链接文件可以使用

image.png

mv

mv命令格式:

mv [选项] … 源文件或目录… 目标文件或目录

选项说明
-f强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖
-i交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)
-n如果目标文件已经存在,则不会覆盖移动,而且不询问用户
-v显示文件或目录的移动过程

image.png

rm

rm(remove)命令格式:

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

选项说明
-f删除前不作询问,直接强制删除
-i删除前逐一询问确认
-r递归删除,将指定目录下的所有文件和子目录一并删除

image.png

find

命令的特点

  • 精确查找
  • 实时查找
  • 支持查找条件很多
  • 各表达式之间使用逻辑运算符, “-a”表示而且(and),“-o”表示 或者(or)

find命令格式:

css复制代码find [OPTION]... [查找路径] [查找条件] [处理动作]

处理动作:

-ls 对查找到的文件列出属性信息

-delete 对查找到的文件进行删除

-exec COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令,{}: 用于引用查找到的文件名称自身。

-ok COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令,对于每个文件执行命令之前,都会交互式要求用户确认。

查找类型关键字说明
按名称查找-name根据目标文件的名称进行查找,允许使用及“?”通配符; 如果名字使用通配符,需要加” “来查询
按文件大小查找-size根据目标文件的大小进行查找 一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件 常用的容量单位包括 kB(注意 k 是小写)、MB、GB
按文件属主/属组查找-user/-group根据文件是否属于目标用户进行查找
查找无属主/属组的文件-nouser/-nogroup查找无属主/属组的文件
按文件类型查找-type根据文件的类型进行查找 文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等
按inode号查找-inum根据文件inode号查找
按权限查找-perm按文件权限查找
最大搜索目录深度-maxdepth将你的文件以分级的形式查找,,最多搜索到某级目录
最小搜索目录深度-mindepth将你的文件以分级的形式查找,最少搜索到某级目录
按三种时间查询-三种时间-atime、-mtime、-ctime

按名称搜索

image.png

按文件大小查找 -size

image.png

按文件大小查找时,大小范围需注意

  • find -size 1G:查找的是从0G到1G,不包括0G,即(0,1]。
  • find -size 2G:查找的是从1G到2G,不包括1G,即(1,2]。
  • find -size 1024M:查找的是从1023M到1024M,不包括1023M,即(1023,1024]。

查找到文件后并做其他处理

image.png

按时间查找

image.png

which

which 用来查看命令的位置。 在PATH变量指定的路径中,搜索某个系统命令的位置 。

命令格式:

which 命令/程序名

image.png