linux 命令
查看当前的工作目录-pwd
pwd ##示例[root@local ~]# pwd /root
切换工作目录 -cd
- 将用户的工作目录更改到其他位置
格式 | 说明 |
---|---|
cd 目标位置 | 切换到目标位置 |
cd ~ cd | 若不指定目标位置,切换到当前用户的宿主目录 |
cd - | 切换到上一次执行cd命令之前所在的目录 |
-
绝对路径:根路径为起点的路径(方向准确)
-
相对路径
表现形式 说明 示例 直接使用目录名或文件名 表示当前工作目录的子目录、文件的位置 grub.conf 以一个点“.”开头 表示以当前目录为起点 ./grub.conf 以两个点“…”开头 表示以当前目录的上一级目录(父目录)作为起点 …/vmlinuz 以“~用户名”开头 表示以指定用户的宿主目录作为起点 ~teacher 以“~”形式开头 表示以当前用户的宿主目录作为起点 ~
列表显示目录内容
-
显示目录中内容,包括子目录和文件相关属性信息
ls [选项] [文件或者目录]
-
常用选项
- -l、-a、-A、-d、-h、-R、–color
- “-”:表示该文件是一个普通文件
- “d”:表示文件是一个目录
- “l”:表示该文件是一个软链接文件。类似Windows里的快捷方式
** -l**
-
以长格式显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息。ll命令与(ls -l)功能相同
-
第1字符的后面9个字母表示该文件或目录的权限位
“r”表示读(查看、下载),w表示写(添加、更改、删除、上传)、x表示执行(运行文件、切换目录) 其中前三个表示文件拥有者(属主)的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限
-
第2字段:文件硬连接数
- 如果一个文件不是目录,此时这一字段表示这个文件所具有的硬连接数。
- 如果是一个目录,则第2字段表示该目录所含子目录个数
- 如果新建一个空目录,这个目录的第二字段就是2,表示该目录下有两个子目录
-
第3字段:文件\目录拥有者
-
第4字段:文件\目录拥有着所在组
-
第5字符段:文件所占用的空间(默认以字节为单位)
如果是一个目录,则表示该目录的大小,而不是目录及它下面的文件的总大小。
linux系统中一切皆文件,因此目录也是一种文件。
-
第6字段:文件\目录最近访问或修改时间
-
第7字段:文件名
如果是一个符号链接(软链接文件),那么会有一个“->”箭头符号,后面跟一个它指向的文件名
-
结合通配符
- “?”:代表任意一个字符,有且仅有一个字符
- “*”:代表任意数个字符,可以是0或者1个或者多个
- “[]”:代表可以匹配字符组中的任意一个字符 [abc]、[a-f]
-a
- 显示所有子目录和文件,包括名称以点好“.”开头的隐藏目录和隐藏文件
-A
- 与-a选项的作用基础类似,但有两个特殊隐藏目录不会显示,即表示当前目录的“.”和表示父目录“…”
-h
- 以更人性化的方式显示目录或文件的大小,默认的大小单位为字节(B),使用-h选项后将显示为KB、MB等单位。此选项需要结合-l选项一起使用
-R
- 以递归的方式显示指定目录及其子目录的所有内容。
- color:在字符模式中以颜色区分不同的w文件。默认已开启
- 通常情况下,深蓝色表示目录,白色表示一般文件,绿色表示可执行的文件,黄色表示设备文件,红色表示压缩文件。
-i
- 显示文件和目录的inode号
-t
- 以时间排序。最新的文件会排在上面
-r
- 表示反方向排序、倒叙排序
设置别名 -alias
-
通过别名机制简化常用的、比较长的命令
alias 命令别名=‘命令’
-
示例
- 设置myls为ls-alh的别名
alias myls=‘ls -alh’
取消别名
unalias 命令别名
统计目录及文件空间占用情况 -du
-
统计指定目录(或文件)所占用磁盘的大小
du [选项] [文件或目录…]
-
常用选项
选项 说明 -a 统计磁盘空间占用包括所有的文件,而不仅仅只统计目录 -h 以更人性化的方式(默认以KB计数,但不现实单位)显示出统计结果 -s 只统计所占用空间总的大小,而不是统计每个子目录、文件的大小 –max-depth=n 统计所有小于等于第n层的目录的总大小 -
统计出/var/log目录中子目录的大小
du -h --max-depth=1 /var/log/ -h
-
我们在根目录执行上述命令 一步步排查最后排查到异常大的文件清空掉
创建新目录 -mkdir
-
创建新的空目录
- mkdir [选项] 目录位置及名称
-
示例
- 在当前目录下创建名为public_html的子目录
- mkdir public_html
- 创建目录/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc
- mkdir -p/aa/bb/cc
- 大括号{}可创建附带不同后缀的同名目录newdic(1,2,3,4)
- 在当前目录下创建名为public_html的子目录
创建空文件-touch命令
-
更新文件的时间标记
-
经常用语创建多个新的空文件
touch 文件…
-
示例
-
创建两个空文件,文件名分别为aa.txt和bb.txt
touch aa bb
touch {a,b}.txt
-
创建链接文件-ln
-
为文件或目录建立链接文件,类似于Windows系统的快捷方式
-
链接文件类型
- 软链接(又称为符号链接)
-ln [-s]源文件或目录…链接文件或目标位置(最好用绝对路径) - 硬链接 与源文件一样占用磁盘空间
ln 源文件链接文件或目标位置
- 软链接(又称为符号链接)
-
示例
- ln -s/bin/bzip/bin/wx/
-
在linux中,文件名和文件的数据是分开存储的
-
在linux中,只有文件的硬链接数==0才会删除
-
使用ls -l可以查看一个文件的硬链接的数量
-
在日常工作中,几乎不会建立文件额硬链接
文件类型 软链接文件 硬链接文件 删除原文件后 失效 仍然可以(文件占用空间和源文件相同) 使用范围 适用于文件和目录 仅适用于文件 保存位置 与源文件可在不同的文件系统中 必须与源文件在同一个文件系统(分区)中 与源文件的关系 相当于快捷方式 相当于给文件起了个别名 inode inode号码不同 inode号码相同 当一个文件拥有多个硬链接时,对文件内容修改,会影响到所有文件名:但是删除一个文件名,不影响别的文件名的访问。删除一个文件名,只会使“硬链接”数减1
需要注意的是不能对目录做硬链接。在日常工作中几乎不会建立文件的硬链接。
命令执行的优先级
-
第一优先级:指定路径的命令。绝对命令或者相对路径
-
第二优先级:别名指定的命令
-
第三优先级:内部命令
-
第四优先级:bash命令
- linux系统下会有一个bash表,当你开机时这个hash表为空,每当你执行过一条命令时,hash表会记录下这条命令的路径,就相当于缓存一样。第一次执行命令shell解释器默认的会从path路径下寻找命令的路径,当你第二次使用该命令时,shell解释器首先会查看hash表,没有该命令才会去path路径下寻找。hash表能提高命令的调用速率。
-
第五优先级:通过 path定义的查找顺序查找