Linux_从零开始学习_(5) 查看目录_(终端实用技巧,命令说明)
目录
1. 终端实用技巧
- 敲出 命令/目录/文件 的前几个字母 , 按下 Tab 键
- 按 上 / 下 光标,可以再曾经使用过的命令之间来回切换.
- 退出选择, 不执行当前命令,按 ctrl + c
2. ls命令说明
- ls是list 的简写, 列出文件夹目录, ps: 用得最多的命令
Linux下文件和目录的特点
- Linux 文件 或者 目录 名称最长可以有 256 个字符
- 以 . (点)开头的文件为隐藏文件, 需要用 -a 参数才能显示
- .(点) 代表当前目录
- .. (两个点) 代表上一级目录
3. ls常用选项
参数 | 含义 |
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 |
-l | 以列表方式显示文件的详细信息 |
-h | 配合 -l 以人性化的方式显示文件大小 |
ps : 可以这样用 ls -l 也可以 ls -lh , ls -lha
4. ls 通配符的使用
通配符 | 含义 |
*(乘号) | 代表任意个数个字符 |
? | 代表任意一个字符,至少一个 |
[ ] | 表示可以匹配字符组中的任意一个 |
[abc] | a或b或c |
[a-f] | a到f范围任意一个字符 |
ps : 其实就是类似正则表达式的用法 (命令 : ls *1.text => 就是1结尾的所有text文件)
5. 切换目录
1) 命令 cd
- cd 是英文单词 change directory 的简写, 其功能为更改当前的工作目录 ,很常用
- ps : Linux 所有的目录 和 文件名都是大小写敏感的
命令 | 含义 |
cd | 切换到当前用户的主要目录(/home/用户目录) |
cd ~ | 切换到当前用户的主要目录(/home/用户目录) |
cd .(一个点) | 保持在当前目录不变 |
cd ..(两个点) | 切换到上级目录 |
cd - | 最近两个目录来回切换 |
2) 相对路径和绝对路径
- 相对路径 在输入路径时, 最前面不是 / 或者 - ,表示相对 当前目录 所在的目录位置
- 绝对路径 在输入路径时, 最前面是 / 或者 - ,表示从 根目录/家目录 开始的具体目录位置
6.创建和删除操作
6.1 touch
- 创建文件或者修改文件时间 (文件不存在,则创建 | 存在 ,则修改末次时间)
6.2 mkdir
- 创建一个新的目录
选项 | 含义 |
-p | 可以递归创建目录 |
ps : 不能重名
用法 : 创建 mkdir -p 55/66/77 选择 cd 55/66/77
6.3 rm
- 删除文件或目录
ps : 使用rm删除不能恢复
选项 | 含义 |
-f | 强制删除, 忽略不存在的文件, 无需提示 |
-r | 递归地删除目录下的内容, 删除文件夹 时必须加此参数 |
例 : rm -f 文件名 | rm -r 文件名 (该文件下的所有都被删除) rm -r *
7. 拷贝和移动文件
序号 | 命令 | 对应英文 | 作用 |
1 | tree[目录名] | tree | 以树状图列出文件目录结构 |
2 | cp 源文件 目标文件 | copy | 复制文件或目录 |
3 | mv 源文件 目标文件 | move | 移动文件或者目录 / 文件或者目录重命名 |
7.1 tree
- tree 可以以树状图列出文件目录结构
- tree -d 只显示目录
选项 | 含义 |
-d | 只显示目录 |
ps : tree ~ (表示家目录中所有文件)
7.2 cp
- cp 命令的功能是将给出的 文件 或 目录 复制到另一个 文件 或 目录 中 ,相当于DOS 下的 copy 命令
选项 | 含义 |
-f | 已经存在的目标文件直接覆盖, 不会提示 |
-i | 覆盖文件前提示 (自己测试好像不行...) |
-r | 若给出的源文件是目录文件, 则 cp 将递归复制该目录下的所有子目录和文件,目标文件必须是一个目录名 |
用法 : cp 123.txt abc (把123.txt 复制到abc目录中)
ps : 复制目录 cp -i
7.3 mv
- mv 命令可以用来 移动文件 或 目录 , 也可以给 文件或目录重命名
选项 | 含义 |
-i | 覆盖文件前提示 |
用法 : mv ./111/123.txt .(把111目录下123.txt文件移动到当前目录, 后面那个点就是表示当前目录)
8. 查看文件内容
序号 | 命令 | 对应英文 | 作用 |
1 | cat 文件名 | concatenate | 查看文件内容,创建文件,文件合并,追加文件内容等功能 |
2 | more 文件名 | more | 分屏显示文件内容 |
3 | grep 搜索文本文件名 | grep | 搜索文本文件内容 |
8.1 cat
- cat 命令可以用 查看文件内容,创建文件,,追加文件内容 等功能
- cat 会一次显示所有的内容, 适合 查看内容较少 的文本文件
选项 | 含义 |
-b | 对非空输出行编号 |
-n | 对输出的所有行编号 |
ps : Linux 中还有一个 nl 的命令和 cat -b 的效果等价
8.2 more
- more 命令可以用于分屏显示文件内容, 每次只显示一页内容
- 适合于 查看内容较多的文本文件
- 使用 more 的操作键:
操作键 | 功能 |
空格键 | 显示手册页的下一屏 |
Enter键 | 一次滚动手册的一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出 |
8.3 grep
- Linux 系统中 grep 命令是一种强大的文本搜索工具
- grep 允许文本文件进行 模式查找, 所谓模式查找, 又被称为正则表达式,
选项 | 含义 |
-n | 显示匹配行及行号 |
-v | 显示不包含匹配文本的所有行(相当于求反) |
-i | 忽略大小写 |
- 常用的两种模式查找
参数 | 含义 |
^a | 行首, 搜寻以a 开头的行 |
b$ | 行位, 搜寻以b 结束的行 |
用法 : 其实都差不多 grep -in hello 123.txt (查询123.txt中有没有hello, 并显示行忽略大小写)
grep ^1 123.txt
ps : 补充一个 gedit 目录名/文件名 直接打开文件
9. 其他
9.1 echo 文字内容
- eaho 会在终端中显示参数指定的文字, 通常会和 重定向 联合使用
用法 :
ps : 就是你echo 什么终端就直接显示什么
9.2 重定向 > 和 >>
- Linux允许将命令执行结果 重定向到一个 文件
- 将本应显示在终端上的内容 输出/追加 到指定文件中
- 其中
- > 表示输出, 会覆盖文件原有的内容
- >> 表示追加, 会将内容追加到已有文件的末尾
用法 :
如果使用命令 : eaho hello world > b
那么该目录下会多一个b文件,里面内容是hello world
然后继续使用命令 : eaho hello python> b
那么b 文件中的hello world 就被覆盖了;
如果换成命令: eaho hello python >> b (这里是两个>,表示追加到后面)
b文件就变成
ps : 还可以这样用
ls -lh > a (把目录替换到a文件)
tree >> a (把树状结构追加到a文件当中)
9.3 管道 |
- Linux 允许将 一个命令的输出 可以通过管道 作为 另一个命令的输入
常用的管道命令有 :
- more : 分屏显示内容
- grep : 在命令执行结果的基础上查询指定的文本
听起来有点蒙,还是看看怎么用吧!
用法 :
先执行命令 ls -lha ~ (显示当前用户的主要目录(/home/用户目录)下所有文件,包含隐藏文件)
看看屏幕是不是显示不玩
然后试试执行下面这个命令 : ls -lha ~ | more
这是可以通过more的一些指令操作这些文件目录,
懂了吧,管道命令就是 可以处理 | 前一个命令 的一些数据
再看看这个命令 : ls -lha ~ | grep dr
搜索出 这些文件/目录中带 "dr"的
是不是很简单呢!!!