linux学习之路
1.命令的终端格式
command [-options] [parameter]
说明:
command: 命令名, 相应功能的英文单词或单词的缩写[-options]: 选项, 可用来对命令进行控制, 也可以省略parameter: 传给命令的参数, 可以是 零个、一个 或者 多个
2. 常用Linux命令的基本使用
| 序号 | 命令 | 对应英文 | 作用 |
|---|---|---|---|
| 01 | ls | list | 查看当前目录下的内容 |
| 02 | pwd | print working derectory | 查看当前所在文件夹 |
| 03 | cd [目录名] | change directory | 切换文件夹 |
| 04 | touch [文件名] | touch | 如果文件不存在, 新建文件 |
| 05 | mkdir [目录名] | make directory | 创建目录 |
| 06 | rm [文件名] | remove | 删除指定的文件名 |
| 07 | clear | clear | 清屏 |
3.查阅命令帮助信息
-
--help 帮助信息
command --help说明:显示command命令的帮助信息
缺点: 虽然可以查询命令的帮助信息, 但是没有提供 翻页、搜索功能.
-
man 手册
man command说明:查询command命令的使用手册
man是manual的缩写,是Linux提供的一个手册, 包含了绝大部分的命令、函数的详细使用说明.
man的常用操作键:
操作键 功能 空格键 显示手册的下一屏 Enter键 一次滚动首页也得一行 b 回滚一屏 f 前滚一屏 q 退出 /word 搜索word字符串
4.常用文件和目录命令
- 查看目录内容
- ls
- 切换目录
- cd
- 创建和删除操作
- touch 创建文件
- rm 删除文件
- mkdir 创建目录
- 拷贝和移动文件
- cp
- mv
- 查看文件内容
- cat
- less
- grep
- 其他
- echo
- 重定向
>和>> - 管道
|
1.终端使用技巧
-
自动补全
tab键
-
曾经使用过的命令
- 使用上下键。
- 退出选择
ctrl+c
2.ls命令
-
ls命令说明
ls是英文单词list的简写,功能为列出目录的内容,是用户常用的命令
-
linux下文件和目录的特点
- linux文件或者目录名称最长可以256个字符
- 以
.开头的文件为隐藏文件,需要用参数 -a 才能显示出来 .代表当前目录..代表上一级目录
-
ls常用选项
选项 含义 -a 显示指定目录下所有子目录与文件, 包含隐藏文件 -l 以列表方式显示文件的详细信息 -h 配合 -l 以人性化的方式显示文件大小 -
ls和通配符的使用
通配符 含义 * 代表 任意个数 的字符 ? 代表任意一个字符, 且只能是一个 [abc] 匹配a、b、c中任意一个 [a-f] 匹配从a到f范围内的任意一个字符 -
科普:计算机中文件大小的表示方式
单温 英文 含义 字节 B(byte) 在计算机中作为一个数字单元,一般为8位二进制数 千 K(Kibibyte) 1KB = 1024 B, 千字节( 1024 = 2的10次方) 兆 M(Mebibyte) 1MB = 1024 KB, 百万字节 千兆 G(Gigabytee) 1GB = 1024 MB, 十亿字节, 千兆字节 太 T(Terabyte) 1 TB = 1024 GB, 万亿字节, 太字节 拍 P(Petabyte) 1 PB = 1024 PB, 百万亿字节, 拍字节
3.切换目录
-
cd
cd 是英文单词 change directory 的缩写, 其功能为 更改当前的工作目录, 也是用户最常用的命令之一
注意: linux的所有 目录 和 文件名 都是大小写敏感的
命令 含义 cd 目录 切换到指定目录下 cd .. 切换到上级目录 cd - 可以在最近的两次目录之间切换 -
相对路径和绝对路径
-
相对路径
特征: 相对路径 输入路径时, 最前面不是以 "/" 开始的, 表示相对 当前目录 所在的位置
缺点: 参照工作目录 发生变化 相对路径也要发生变化
-
绝对路径
特征: 绝对路径 在输入路径时, 最前面是以
/开始的, 表示 从 根目录 开始的具体目录位置优点: 定位准确, 不会因为 工作目录变化 而变化
-
4.创建和删除操作
-
touch 创建文件
touch 1.txt注意:创建的是一个空的文件,如果需要添加内容可以使用vim/vi命令打开文件之后在添加内容
-
mkdir 创建目录
mkdir file参数:-p 创建 有层级关系 的目录
mkdir file1/file2/file3注意:新建目录的名称不能与当前目录中已有的名称相同
-
rm 删除
rm a.txt注意:
-
rm只能删除文件,不能删除文件夹
-
如果不使用参数
-f则会有提示:rm:是否删除普通空文件 "1.txt"?,此时可以输入字母y,然后回车确认删除操作
参数
-f参数 英文 含义 -f force (强制) 强制删除,忽略不存在的文件, 无需提示 删除目录
rm -rf 目录参数:
-r参数 英文 含义 -r recursive (递归) 递归地删除目录下的内容, 删除文件夹 时必须加此参数 结合通配符
*rm -rm *.txt含义:删除当前目录下所有以
.txt结尾的文件注意:使用rm命令删除的文件无法恢复,切记小心
-
5.拷贝和移动文件
| 序号 | 命令 | 对应英文 | 作用 |
|---|---|---|---|
| 01 | tree [目录名] | tree | 以树状图 列出目录中的内容 |
| 02 | cp 源文件 目标文件 | copy | 复制文件或者目录 |
| 03 | mv 源文件 目标文件 | move | 移动文件或目录 或者 重命名 |
-
扩展 tree
概念:以树状图 列出目录中的内容
默认没有安装
tree组件, 需要联网时安装:# 安装 tree组件 yum -y install tree # 卸载 tree组件 yum -y remove tree-
用法:
tree [目录]- 如果指定目录, 就显示指定目录的内容
- 如果不指定目录,就显示当前目录的内容
参数
-d选项 英文 含义 -d derictory (目录) 只显示目录, 不显示文件 参数
-Leg:
tree -L n [目录]n为需要显示多少层的目录
选项 英文 含义 -L level (层级) 显示几层目录
-
6. cp 复制文件/目录
-
备份文件
cp 文件 备份文件名 -
复制文件到指定目录
cp 文件 目录/目录可以是绝对路径也可以是相对路径
-
复制目录到指定目录
cp -r 目录1/ 目录2/命令 英文 作用 -r recursive (递归) 递归复制目标目录的内容
7.mv 移动文件/目录
-
将文件移动到另一个目录中
mv 文件 目录/ -
重命名
mv 旧文件名 新文件名解释:相当于把文件覆盖重写了
-
移动目录
mv 被移动的目录 目标目录/
5.查看文件内容
| 序号 | 命令 | 对应英文 | 作用 |
|---|---|---|---|
| 01 | cat 文件名 | concatenate | 查看小文件内容 |
| 02 | less -N 文件名 | less | 分频 显示大文件内容 |
| 03 | head -n 文件名 | 查看文件的前一部分 | |
| 04 | tail -n 文件名 | 查看文件的最后部分 | |
| 05 | grep 搜索文本 文件名 | grep | 根据关键词, 搜索文本文件内容 |
-
cat 查看小文件的内容
cat 文件名参数
-n参数 英文 含义 -n number 显示行号 缺点:空行也显示行号
参数
-b参数 英文 含义 -b number-nonblank 非空行 显示行号 -
less 分屏显示文件内容,每次只显示一页内容
特性:适合查看内容较多的文本文件
参数
-N参数 英文 含义 -N number 显示文件内容 且 显示行号 less常用操作:
操作键 功能 空格键 显示手册页的下一屏幕 Enter 键 一次滚动手册页的一行 b 回滚一屏 f 向前一屏 q 退出 /word 搜索word字符串 搜索关键字 /word
用法:
/搜索的内容操作键 功能 n 向下找 N 向上找 -
head 查看文档前几行内容
参数
-n参数 英文 含义 -n number 表示显示前几行内容 head -n 数字 文件 -
tail查看文档后几行内容
eg:查看文档后10行内容
tail -10 文件动态显示文档最后内容,一般用于查看日志
tail -f 文件名动态显示文档最后100行内容
tail 100f 文件名 -
grep 搜索存在关键字的行
grep 关键字 文件名参数
-n选项 英文 含义 -n number 显示匹配行和行号 grep -n 关键字 文件名忽略大小写,搜索关键字
参数
-i选项 英文 含义 -i ignore-case 忽略大小写 grep -i 关键字 文件名搜索不存在关键字的行
参数:
-v选项 英文 含义 -v invert-match 显示 不包含关键字 的所有行 grep -v 关键字 文件名搜索以关键字开始的行或者以关键字结尾的行
参数:
参数 含义 ^a 行首,搜索以a开头的行 ke$ 行尾,搜索以ke结束的行 grep 正则 文件名
6. 管道
概念:通过 命令1 | 命令2 可以将命令1的结果 通过 命令2 作进一步的处理
案例1:过滤/etc目录下以pro开头的文件
ls /etc | grep ^pro
案例2:搜索存在关键字的行数
ls /etc | grep ^pro | wc -l
参数:
| 英文 | 作用 | |
|---|---|---|
命令: wc [参数] [文件] |
打印文件的行数, 单词数, 字节数 | |
参数: -l |
line 行 | 显示 行数 |
7.echo 文字内容
概念:echo string 将字符串输出到控制台,通常会和重定向配合使用
注意:如果字符串有空格, 为了避免歧义 请增加 双引号 或者 单引号
[root@linux a]# echo hello
hello
8.重定向 >和>>
echo 2 > a.txt
参数:
| 命令 | 作用 |
|---|---|
| 结果 > 文件名 | > 表示输出, 会覆盖文件的原有内容 |
| 命令 >> 文件名 | >> 表示追加, 会将内容追加到已有文件的末尾 |
将命令失败的结果追加到指定文件后面
cat 不存在的目录 &>> error.log
| 命令 | 作用 |
|---|---|
命令 &>> 文件 |
&>> 表示不区分错误类型 通通放到 日志中 |
9. && 和 ||
案例1:如果 创建 目录 成功, 就提示 创建成功
| 命令 | 作用 |
|---|---|
| 命令1 && 命令2 | 如果 命令1执行成功了, 才执行 命令2 |
mkdir -p 正确目录 && echo "提示创建目录成功"
案例2:如果 创建 目录 失败, 就提示 创建失败
| 命令 | 作用 |
|---|---|
| 命令1 || 命令2 | 如果 命令1 执行失败了, 才执行 命令2 |
mkdir 错误目录 || echo "提示创建目录失败"
10. 软链接
概念:在linux中文件名和内容是两个分开的文件
需求:因为 某些文件和目录 的 路径很深, 所以 需要增加 软链接(快捷方式)
实现:
| 命令 | 英文 | 作用 |
|---|---|---|
| ln -s 目标文件绝对路径 快捷方式路径 | link | 给目标文件增加一个软链接, 通俗讲就是快捷方式 |
注意: 必须 增加 -s , 否则 就变成了 硬链接(了解)