pwd
打印当前目录
cd
切换目录
| 命令 | 效果 |
|---|---|
| cd 或 cd ~ | 若不指定目标位置,切换到当前用户的宿主目录(家目录) |
| cd - | 到前一次目录 |
| 一个点号“.”开头 | 表示以当前的工作目录作为起点 |
| 两个点号“..”开头 | 表示以当前目录的上一级目录(父目录)作为起点 |
| “~用户名”形式开头 | 表示以指定用户的宿主目录(家目录)作为起点 |
| "."开头文件 | 表示隐藏文件 |
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 | 根据文件创建时间进行排序,由旧到新 |
alias
别名命令
临时修改(关机或退出终端会自动消失)
alias 命令别名 = ’命令‘ unalias 别名命令 删除别名 \加别名命令 (显示原始命令)
命令执行顺序:绝对路径下的命令>别名命令>内部命令>hash命令>外部命令。
通配符
| 符号 | 效果 |
|---|---|
| ? | 匹配一个字符 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 | 排除某些文件后,显示剩余大小 |
mkdir
mkdir [选项] 目录位置及名称…
-p 递归创建多层目录,当上级目录不存在时,会按目录层级自动创建目录。
touch
touch命令格式:
touch 文件名称(可为空)
touch 文件若已存在,不会破坏已有文件,会更新时间
每个文件有三个时间戳:
- access time 访问时间,atime,读取文件内容
- modify time 修改时间,mtime,改变文件内容(数据)
- change time 改变时间,ctime,元数据发生改变(文件大小、权限等属性)
创建链接文件 ln
ln 源文件 目标文件:创建硬链接文件
ln -s 源文件 目标文件:创建软连接文件
| 对比项 | 硬链接 | 软链接 |
|---|---|---|
| 本质 | 本质是同一个文件 | 本质不是同一个文件 |
| inode(身份证号) | 相同 | 不同 |
| 连接数 | 创建新的硬链接,链接数会增加,删除硬链接,链接数减少 | 删除,新建都不会改变 |
| 文件夹 | 不支持 | 支持 |
| 删除源文件 | 只是链接数减一,但链接文件的访问不受影响 | 无法访问连接文件 |
| 文件类型 | 和源文件相同 | 链接文件,和源文件无关 |
| 文件大小 | 和源文件相同(指向硬盘上的同一个文件) | 源文件的路径的长度 |
cp
cp命令格式:
- cp [选项]… 源文件 目标 相当改名复制
- cp [选项]... 源文件... 目录 多个源文件只能复制到文件夹
| 选项 | 效果 |
|---|---|
| -f | 覆盖目标同名文件或目录时不进行提醒,直接强制复制 |
| -i | 覆盖目标同名文件或目录时提醒用户确认 |
| -p | 复制时保持源文件的权限、属主及时间标记等属性不变(但不保留软链接文件) |
| -r | 复制目录时必须使用此选项,表示递归复制所有文件及子目录 |
| -a | 完整保留所有的信息(保留软链接属性) |
| -v | 可视化 |
| -u | 相当于增备,差异备份(只针对文件夹) |
| -b | 当目标文件存在时,先进行备份再覆盖(只保留最近) |
| -s | 复制成为符号连接文件 (symbolic link),亦即”快捷方式“档案; 作用为创建新的符号链接文件,指向原符号链接文件,能保证链接文件可以使用 |
mv
mv命令格式:
mv [选项] … 源文件或目录… 目标文件或目录
| 选项 | 说明 |
|---|---|
| -f | 强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖 |
| -i | 交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项) |
| -n | 如果目标文件已经存在,则不会覆盖移动,而且不询问用户 |
| -v | 显示文件或目录的移动过程 |
rm
rm(remove)命令格式:
rm [选项] 要删除的文件或目录
| 选项 | 说明 |
|---|---|
| -f | 删除前不作询问,直接强制删除 |
| -i | 删除前逐一询问确认 |
| -r | 递归删除,将指定目录下的所有文件和子目录一并删除 |
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 |
按名称搜索
按文件大小查找 -size
按文件大小查找时,大小范围需注意
- find -size 1G:查找的是从0G到1G,不包括0G,即(0,1]。
- find -size 2G:查找的是从1G到2G,不包括1G,即(1,2]。
- find -size 1024M:查找的是从1023M到1024M,不包括1023M,即(1023,1024]。
查找到文件后并做其他处理
按时间查找
which
which 用来查看命令的位置。 在PATH变量指定的路径中,搜索某个系统命令的位置 。
命令格式:
which 命令/程序名