这篇主要说一下用于和目录相关的的几个命令,用于查看切换显示目录
1.pwd命令
pwd命令主要有两个: pwd和pwd -p
[root@localhost ~]# pwd (直接输入pwd,linux会显示出你的当前所在路径)
/root
[root@localhost ~]# pwd -p (显示出软链接文件夹的真是路径,因为现在还没说道软链接,后面在补)
-bash: pwd: -p: 无效选项
pwd: 用法:pwd [-LP]
[root@localhost ~]#
2.cd命令
| 命令 | 效果 |
|---|---|
| cd cd ~ | 若不指定目标位置,切换到当前用户的宿主目录(家目录) |
| cd - | 到前一次目录 |
| 一个点号“.”开头 | 表示以当前的工作目录作为起点(已点开头的是) |
| 两个点号“..”开头 | 表示以当前目录的上一级目录(父目录)作为起点 |
| “~用户名”形式开头 | 表示以指定用户的宿主目录(家目录)作为起点 |
| "."开头文件 | 表示隐藏文件 |
上面的cd或者cd~命令分为root用户的家目录和普通用户的家目录
| root用户家目录位置 | 普通用户家目录位置 |
|---|---|
| 根目录下/root | /home/普通用户同名的文件夹/ |
3.ls命令
文件格式:ls [选项] [文件或目录… ]
- -l 已长格式显示文件和目录列表 ll=ls -l
- -a 显示全部包括隐藏文件
- -A 显示全部文件或隐藏文件,但不包括 . 和..
- -d 只显示当前目录
- -h 友好显示文件大小
- -R 递归显示该目录及该目录的子目录下的所有内容
- --color 显示颜色
- -S 按从大到小排序
ls命令在身产环境中千万不可以直接使用,文件过多会导致系统直接卡死,可以加上筛选项进行,例如添加通配符或者后缀指令
下面一一讲解:
ls -l(也可以直接输入ll)
输入ll,会显示文件权限,文件硬链接数,最近修改日期和文件名称等文件一下信息
ls-a
all的缩写,显示所有的文件,包括隐藏文件(以.开头的文件)
ls-A
显示全部文件或隐藏文件,但不包括 . (当前目录)和..(当前目录的上一级目录
ls -d(特殊,需要配合-l使用)
不展开目录,只显示目录自身,一般与-l配合使用以显示目录自身的属性信息(只显示当前目录的内容)
ls -R(大写R)
递归显示该目录及该目录的子目录下的所有内容
ls-S(大写S)
从大到小排序文件
4.什么是通配符?(可以配合ls命令以及多种命令使用)
首先我们要了解什么是文件名通配符
Shell提供了一套完整的字符串模式匹配规则,或者称之为元字符,当s h e l l遇到上述字符时,就会把它们当作特殊字符,而不是文件名中的普通字符,这样用户就可以用它们来匹配相应的文件名,我理解这可以称为通配符。
通配符有哪些?
| 符号 | 效果 |
|---|---|
| ? | 匹配一个字符 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 |
题目
下面可以做几道题看看是否掌握了通配符 这里先给大家看一下文件夹内有什么内容,方便查看是否查找正确
1.显示所有以字母b开头的文件**
这里需要显示内容,需要用到ls的命令,而号可以达表多个字符,故答案为:
ls b*
2.显示所有后缀为txt的文件
ls *.txt
3.显示所有第二个是字母i的文件
ls ?i*
4.所有后缀为3个字母的文件
ls *.???
这里只是简单的几个通配符搭配ls(ll-s)命令的使用方法,后面需要举一反三进行应用
5.alias(别名)
优先级:绝对路径下的命令>别名>内部>hash>外部命令(先查找别名在查找内部命令,缓存最后外部)
临时修改 ,重启时失效,写进配置文件才可以永久保存。
创建别名:alias 命令别名 = ’命令‘
删除别名:unalias 别名命令
使用原始命令 :\加原始命令
创建别名
下面将虚拟网卡的命令修改别名为myvim
修改完成后,输入alias即可看到已经修改完成,这样下次输入的时候会更加快捷
需要注意的是,别名修改将在重启或关机后时效,想要永久修改,需要特殊操作
删除别名
[root@localhost ~]# unalias myvim(这里取消别名)
[root@localhost ~]# alias(输入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'
[root@localhost ~]#
(这里可以看到,myvim别名已经没有了)
使用原始指令(在已经设置别名的情况下)
使用原始命令 :\加原始命令
这里可以看到,在已经设置别名后,只要输入\命令,就可以了
6.du(显示指定的目录或文件所占用的磁盘空间)
du [选项] [文件或目录… ]
| 选项 | 说明 |
|---|---|
| -a | 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录 |
| -h | 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果 |
| -s | 只统计所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小 |
| --max-depth=n(-d 1) | 最大显示到第n层 |
6.mkdir(创建文件夹)
mkdir
mkdir [选项] 目录位置及名称…
创建单个文件夹(mkdir 文件夹名称)
递归创建文件夹(mkdir -p)
安装tree命令:yum install tree -y
7.硬链接与软链接
硬链接ln
硬连接 同一个文件取不同的名或者叫多个名字,不支持文件夹,创建一个连接数加一,多路径访问。
软连接 类似于windows里快捷方式,软连接,符号连接,使用绝对路径 格式:软链接 :ln [-s] 源文件或目录… 链接文件或目标位置
对比项
| 对比项 | 硬连接 | 软连接 |
|---|---|---|
| 本质 | 本质是同一个文件 | 本质不是同一个文件 |
| inode | 相同 | 不同 |
| 连接数 | 创建新的硬链接,链接数会增加,删除硬链接,链接数减少 | 删除新建不会改变 |
| 文件夹 | 不支持 | 支持 |
| 删除源文件 | 只是链接数减一,但链接文件的访问不受影响 | 无法访问连接文件 |
| 文件类型 | 和源文件相同 | 链接文件,和源文件无关 |
| 文件大小 | 和源文件相同 | 源文件的路径的长度 |
硬链接: ln [ ] 源文件或目录… 链接文件或目标位置
使用ll查看是否创建成功(这里操作失误,多创建了一次硬链接,看到硬链接数3个,说明创建成功)
软链接ln -s
ln -s
8.touch(创建新文件)
格式:touch 新文件…(可为空)
作用:touch 不会破坏已有文件 刷新时间 说道刷新时间,这里需要补充linux三种时间
| 简名 | 全名 | 中文名 | 含义 |
|---|---|---|---|
| atime | access time | 访问时间 | 文件中的数据库最后被访问的时间 (不打开文件是不会刷新的) |
| mtime | modify time | 修改时间 | 文件内容被修改的最后时间 |
| ctime | change time | 变化时间 | 文件的元数据发生变化。比如权限,所有者等 |