没有安装操作系统的计算机, 通常被称为 裸机
centOS
操作系统( linux
发行版)详情请参考 资料 的word文档!
桥接原理
因为 虚拟机的linux系统的ip地址是固定的, 更换路由器后导致无法使用, 所以 不推荐使用
NAT原理
如果宿主电脑可以上网, 内部的虚拟机也可以上网就好了
NAT原理本质上就是 虚拟机实现了交换机的功能, linux系统的IP地址就不会随宿主电脑的ip地址更改而更改
推荐使用这种方式
VMnet8
已经启动网关: 192.168.100.1
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YtdQrtRY-1625731112355)(assets/1558337229189.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2F7Qfqzj-1625731112356)(assets/1558337610312.png)]
centos
系统 模拟 机房的一台服务器网卡是一个专门负责网络通讯的硬件设备
ip地址是设置在网卡上的地址信息
我们可以把 电脑 比作 手机, 网卡 相当于 手机卡槽, ip地址 相当于 手机号
IP地址
每台联网的电脑上都有IP地址, 是保证电脑之间正常通讯的重要设置
注意: 每台电脑的IP地址不能相同, 否则 会出现IP地址冲突, 并且没有办法正常通讯
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | ifconfig | configuration a newwork interface |
查看/配置计算机当前的网卡信息 |
02 | ping ip地址 | ping | 检测到目标ip地址 的连接是否正常 |
03 | service network restart | 重启网卡服务 |
setup
命令设置网卡信息# 开始设置网卡信息
setup
重启网卡服务
/lsdt: found系统修复用的
/bin: 二进制命令所在的目录
/boot : 系统引导程序所需要的文件目录,引导系统开机
/dev :设备软件目录,磁盘,光驱,
/lib: 启动系统和运行命令所需的共享库文件和内核模块存放
/mnt:临时挂载储存设备的挂载点,u盘插入光驱无法使用,需要挂载然后使用
/opt:额外的应用软件包
/proc:操作系统运行时,进程信息和内核信息存放在这里
/tmp:临时文件目录,这个目录被当作回收站使用
/usr:用户或系统软件应用程序目录
/var:存放系统日志的目录
注意:一般不要 操作 非自己创建的目录和文件,否则可能导致服务器崩溃。
Windows上
登录 服务器主机的软件tab键:命令或者路径提示及补全;
ctrl+c:放弃当前输入,终止当前任务或程序;
ctrl+l:清屏;
ctrl+shift+c:复制;
ctrl+shift+v:粘贴;
alt+b :打开connect窗口 了解
alt+1/2/3/4/5… :切换会话窗口 了解
a. 右键目标centos系统 -> 快照 -> 快照管理器
a. 右键目标centos系统 -> 快照 -> 恢复到指定快照即可
学习终端命令的技巧:
- 不需要死记硬背, 对于常用命令, 用的多了, 自然就记住了。
- 不要尝试一次学会所有的命令, 有些命令是非常不常用的,临时遇到, 临时百度就可以
command [-options] [parameter]
说明:
command
: 命令名, 相应功能的英文单词或单词的缩写[-options]
: 选项, 可用来对命令进行控制, 也可以省略parameter
: 传给命令的参数, 可以是 零个、一个 或者 多个序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
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 | 清屏 |
因为一个命令有很多可选项, 死记硬背肯定不行, 所以需要借助手册查阅.
command --help
说明:
command
命令的帮助信息缺点: 虽然可以查询命令的帮助信息, 但是没有提供 翻页、搜索功能.
man command
说明:
查询command
命令的使用手册
man
时 manual
的缩写, 是Linux提供的一个手册, 包含了绝大部分的命令、函数的详细使用说明.
使用 man
时的操作键:
操作键 | 功能 |
---|---|
空格键 | 显示手册的下一屏 |
Enter键 | 一次滚动首页也得一行 |
b(back) | 回滚一屏 |
f(forward) | 前滚一屏 |
q (quit) | 退出 |
/word | 搜索word字符串 |
n(next) | 搜索下一个 |
N | 搜索上一个 |
提醒:
ls
cd
touch
rm
mkdir
cp
mv
cat
less
grep
echo
>
和 >>
|
tab
键上
/ 下
光标键可以在曾经使用过的命令之间来回切换ctrl + c
ls
是英文单词list
的简写, 其功能为列出目录的内容,是用户最常用的命令之一linux 下文件和目录的特点
256
个字符.
开头的文件为隐藏文件, 需要用 -a
参数才能显示.
代表当前目录..
代表上一级目录演练目标:
1 创建文件 01.txt
2 创建隐藏文件 02.txt
3 罗列隐藏文件和非隐藏文件
[root@node01 export]# touch 01.txt
[root@node01 export]# touch .02.txt
[root@node01 export]# ls
01.txt
[root@node01 export]# ls -a
. .. 01.txt .02.txt
如果 只使用ls命令 就只能看到当前目录下 非隐藏 文件。
如果想增强功能,就需要学习更多的选项
选项 | 英文 | 含义 |
---|---|---|
-a | all | 显示指定目录下所有子目录与文件, 包含隐藏文件 |
-l | 以列表方式显示文件的详细信息 | |
-h | human-readable | 配合 -l 以人性化的方式显示文件大小 |
演练目标:
1 切换到 /usr/tmp 清空内容
2 创建隐藏文件 非隐藏文件 目录
3 查看当前目录内容 (缺点: 隐藏文件看不到)
4 查看当前目录所有内容 (既包含隐藏, 也包含非隐藏)
5 查看目录内容的详细信息(查看文件类型、权限、大小等 缺点:文件大小没有单位)
6 简化合并 查看目录内容的详细信息
[root@node01 tmp]# cd /usr/tmp && rm -rf *
[root@node01 tmp]# ll
total 0
[root@node01 tmp]# touch 01.txt .02.txt
[root@node01 tmp]# ls
01.txt
[root@node01 tmp]# ls -a
. .. 01.txt .02.txt
[root@node01 tmp]# ll
total 0
-rw-r--r--. 1 root root 0 Jul 10 21:04 01.txt
[root@node01 tmp]# ll -a
total 8
drwxrwxrwt. 2 root root 4096 Jul 10 21:04 .
drwxr-xr-x. 20 root root 4096 Jul 10 19:10 ..
-rw-r--r--. 1 root root 0 Jul 10 21:04 01.txt
-rw-r--r--. 1 root root 0 Jul 10 21:04 .02.txt
计算机中文件大小的表示方式(科普)
单温 | 英文 | 含义 |
---|---|---|
字节 | 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, 百万亿字节, 拍字节 |
准备工作
# 切换到临时目录(先使用, 稍候讲解)
cd /usr/tmp
# 清空目录内容(先使用, 稍候讲解)
rm -rf *
# 创建文件
touch a23.txt 11.txt 111.txt 112.txt 123.txt 223.txt 323.txt 423.txt 523.txt
# 查看目录内容
ls
通配符 | 含义 |
---|---|
* | 代表 任意个数 的字符 |
? | 代表任意一个字符, 且只能是一个 |
需求1:
1 查看以 1 开头的文件或目录
2 查看以 3.txt 结尾的 文件或目录
3 查看含有3的文件列表
4 查看第二个字符是2的文件
[root@node01 tmp]# ls 1*
111.txt 112.txt 11.txt 123.txt
[root@node01 tmp]# ls *3.txt
123.txt 223.txt 323.txt 423.txt 523.txt a23.txt
[root@node01 tmp]# ls *3*
123.txt 223.txt 323.txt 423.txt 523.txt a23.txt
[root@node01 tmp]# ls ?2*
123.txt 223.txt 323.txt 423.txt 523.txt a23.txt
通配符 | 含义 |
---|---|
[abc] | 匹配a、b、c中任意一个 |
[a-f] | 匹配从a到f范围内的任意一个字符 |
需求2:
1 查看 第一个字符是 1到5, 以23.txt结尾 的 目录或文件名
[root@node01 tmp]# ls [1-5]*23.txt
123.txt 223.txt 323.txt 423.txt 523.txt
cd 是英文单词 change directory
的缩写, 其功能为 更改当前的工作目录, 也是用户最常用的命令之一
注意: linux的所有 目录 和 文件名 都是大小写敏感的
命令 | 含义 |
---|---|
cd 目录 | 切换到指定目录下 |
cd … | 切换到上级目录 |
cd - | 可以在最近的两次目录之间切换 |
cd ~ | 切换到家目录(root用户家目录是 /root, 其他用户的家目录是 /home/用户名) |
需求:
1 查看当前所在目录
2 切换到 /usr/local
3 切换到 上一级目录 /usr
4 后退到上一次访问的目录中
[root@node01 tmp]# pwd
/usr/tmp
[root@node01 tmp]# cd /usr/local
[root@node01 local]# pwd
/usr/local
[root@node01 local]# cd ../
[root@node01 usr]# pwd
/usr
[root@node01 usr]# cd -
/usr/local
第一步: 使用相对路径定位目标
第二步: 使用绝对路径定位目标
需求1: 当前工作目录是 /usr, 使用相对路径 切换到 /usr/tmp 目录下
需求2: 当前工作目录是 /root, 使用相对路径 切换到 /usr/tmp 目录下
[root@node01 tmp]# cd /usr
[root@node01 usr]# pwd
/usr
[root@node01 usr]# cd ./tmp
[root@node01 tmp]# pwd
/usr/tmp
[root@node01 tmp]# cd ~
[root@node01 ~]# pwd
/root
[root@node01 ~]# cd ../usr/tmp
[root@node01 tmp]# pwd
/usr/tmp
/
开始的, 表示 从 根目录 开始的具体目录位置需求1: 当前工作目录是 /usr, 使用绝对路径 切换到 /usr/tmp 目录下
需求2: 当前工作目录是 /root, 使用绝对路径 切换到 /usr/tmp 目录下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C5jV8trt-1625731112399)(day01.assets/1564385870685.png)]
[root@node01 ~]# cd /usr
[root@node01 usr]# cd /usr/tmp
[root@node01 tmp]# pwd
/usr/tmp
[root@node01 tmp]# cd /root
[root@node01 ~]# pwd
/root
[root@node01 ~]# cd /usr/tmp
[root@node01 tmp]# pwd
/usr/tmp
/
开始的 , 表示相对 当前目录 所在的目录位置/
开始的, 表示 从 根目录 开始的具体目录位置touch
命令 创建文件touch 不存在的文件
touch 存在的文件
通过 touch 文件名
创建文件 和 修改文件的末次访问时间
mkdir
命令 创建目录yum -y install tree
mkdir 目录名
mkdir -p 目录1/目录2/目录3
选项 | 英文 | 含义 |
---|---|---|
-p | parent | 可以递归创建目录 |
# 创建压缩包目录
mkdir -p /export/softwares
mkdir -p /export/servers
mkdir -p /export/data
通过 mkdir -p 目录名
命令 创建目录
注意: 新建目录的名称 不能与当前目录中 已有的目录或文件 同名
通过 rm -rf 文件/目录
命令实现删除 文件和目录的功能, rm
对应的英文是 remove
含义: 删除
cd /usr/tmp
rm -rf *
touch 1.txt 2.txt 3.txt 4.txt 5.txt
mkdir -p aaa/bbb/ccc
mkdir -p x1
rm 文件
[root@node01 tmp]# ll
total 8
-rw-r--r--. 1 root root 0 Jul 10 21:20 1.txt
-rw-r--r--. 1 root root 0 Jul 10 21:20 2.txt
-rw-r--r--. 1 root root 0 Jul 10 21:20 3.txt
-rw-r--r--. 1 root root 0 Jul 10 21:20 4.txt
-rw-r--r--. 1 root root 0 Jul 10 21:20 5.txt
drwxr-xr-x. 3 root root 4096 Jul 10 21:20 aaa
drwxr-xr-x. 2 root root 4096 Jul 10 21:20 x1
[root@node01 tmp]# rm 1.txt
rm: remove regular empty file `1.txt'? y
[root@node01 tmp]# ll
total 8
-rw-r--r--. 1 root root 0 Jul 10 21:20 2.txt
-rw-r--r--. 1 root root 0 Jul 10 21:20 3.txt
-rw-r--r--. 1 root root 0 Jul 10 21:20 4.txt
-rw-r--r--. 1 root root 0 Jul 10 21:20 5.txt
drwxr-xr-x. 3 root root 4096 Jul 10 21:20 aaa
drwxr-xr-x. 2 root root 4096 Jul 10 21:20 x1
rm -f 文件
参数 | 英文 | 含义 |
---|---|---|
-f | force (强制) | 强制删除,忽略不存在的文件, 无需提示 |
[root@node01 tmp]# ll
total 8
-rw-r--r--. 1 root root 0 Jul 10 21:20 3.txt
-rw-r--r--. 1 root root 0 Jul 10 21:20 4.txt
-rw-r--r--. 1 root root 0 Jul 10 21:20 5.txt
drwxr-xr-x. 3 root root 4096 Jul 10 21:20 aaa
drwxr-xr-x. 2 root root 4096 Jul 10 21:20 x1
rm -rf 目录
参数 | 英文 | 含义 |
---|---|---|
-r | recursive (递归) | 递归地删除目录下的内容, 删除文件夹 时必须加此参数 |
[root@node01 tmp]# rm aaa/
rm: cannot remove `aaa/': Is a directory
[root@node01 tmp]# rm -r aaa/
rm: descend into directory `aaa'? y
rm: descend into directory `aaa/bbb'? y
rm: remove directory `aaa/bbb/ccc'? y
rm: remove directory `aaa/bbb'? y
rm: remove directory `aaa'? y
[root@node01 tmp]# ll
total 4
-rw-r--r--. 1 root root 0 Jul 10 21:20 3.txt
-rw-r--r--. 1 root root 0 Jul 10 21:20 4.txt
-rw-r--r--. 1 root root 0 Jul 10 21:20 5.txt
drwxr-xr-x. 2 root root 4096 Jul 10 21:20 x1
rm -rf *.txt
rm -rf 文件/目录
完成删除 文件或目录的功能.rm
命令要小心, 因为文件删除后不能恢复序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | tree [目录名] | tree | 以树状图 列出目录中的内容 |
02 | cp 源文件 目标文件 | copy | 复制文件或者目录 |
03 | mv 源文件 目标文件 | move | 移动文件或目录 或者 重命名 |
tree
命令可以以树状图列出文件目录结构.准备工作
# 创建目录
mkdir -p /export/aaa/bbb/ccc
# 创建文件
touch /export/aaa/01.txt /export/aaa/02.txt
touch /export/aaa/bbb/03.txt /export/aaa/bbb/04.txt
touch /export/aaa/bbb/ccc/05.txt /export/aaa/bbb/ccc/06.txt
默认没有安装 tree
组件, 需要联网时安装:
# 安装 tree组件
yum -y install tree
# 卸载 tree组件
yum -y remove tree
tree [目录]
tree -d [目录]
选项 | 英文 | 含义 |
---|---|---|
-d | derictory (目录) | 只显示目录, 不显示文件 |
tree -L n [目录]
选项 | 英文 | 含义 |
---|---|---|
-L | level (层级) | 显示几层目录 |
tree 目录
命令可以以树状图列出文件目录结构.[root@node01 ~]# tree /export
/export
├── 01.txt
└── aaa
├── 01.txt
├── 02.txt
└── bbb
├── 03.txt
├── 04.txt
└── ccc
├── 05.txt
└── 06.txt
3 directories, 7 files
[root@node01 ~]# tree -d
.
0 directories
[root@node01 ~]# tree -d /export
/export
└── aaa
└── bbb
└── ccc
3 directories
[root@node01 ~]# tree -L 2 /export
/export
├── 01.txt
└── aaa
├── 01.txt
├── 02.txt
└── bbb
2 directories, 3 files
cp
实现复制将指定的 文件 或 目录 复制到 两一个 文件 或 目录中cp 文件1 备份文件名
[root@node01 export]# cp 01.txt 01.txt_bak
[root@node01 export]# ll
total 4
-rw-r--r--. 1 root root 0 Jul 10 21:02 01.txt
-rw-r--r--. 1 root root 0 Jul 10 22:45 01.txt_bak
drwxr-xr-x. 3 root root 4096 Jul 10 21:24 aaa
cp 文件1 目录/
[root@node01 export]# mkdir -p x1
[root@node01 export]# tree
.
├── 01.txt
├── 01.txt_bak
├── aaa
│ ├── 01.txt
│ ├── 02.txt
│ └── bbb
│ ├── 03.txt
│ ├── 04.txt
│ └── ccc
│ ├── 05.txt
│ └── 06.txt
└── x1
4 directories, 8 files
[root@node01 export]# cp 01.txt ./x1/01.txt_bak2
[root@node01 export]# tree
.
├── 01.txt
├── 01.txt_bak
├── aaa
│ ├── 01.txt
│ ├── 02.txt
│ └── bbb
│ ├── 03.txt
│ ├── 04.txt
│ └── ccc
│ ├── 05.txt
│ └── 06.txt
└── x1
└── 01.txt_bak2
cp 文件1 文件2(存在的)
[root@node01 export]# cp /etc/profile ./01.txt
cp: overwrite `./01.txt'? y
[root@node01 export]# ll
total 12
-rw-r--r--. 1 root root 1841 Jul 10 22:47 01.txt
-rw-r--r--. 1 root root 0 Jul 10 22:45 01.txt_bak
drwxr-xr-x. 3 root root 4096 Jul 10 21:24 aaa
drwxr-xr-x. 2 root root 4096 Jul 10 22:45 x1
cp -r 目录1/ 目录2/
命令 | 英文 | 作用 |
---|---|---|
-r | recursive (递归) | 递归复制目标目录的内容 |
[root@node01 export]# tree
.
├── 01.txt
├── 01.txt_bak
├── aaa
│ ├── 01.txt
│ ├── 02.txt
│ └── bbb
│ ├── 03.txt
│ ├── 04.txt
│ └── ccc
│ ├── 05.txt
│ └── 06.txt
└── x1
└── 01.txt_bak2
4 directories, 9 files
[root@node01 export]# cp aaa/ x1/
cp: omitting directory `aaa/'
[root@node01 export]# cp -r aaa/ x1/
[root@node01 export]# tree
.
├── 01.txt
├── 01.txt_bak
├── aaa
│ ├── 01.txt
│ ├── 02.txt
│ └── bbb
│ ├── 03.txt
│ ├── 04.txt
│ └── ccc
│ ├── 05.txt
│ └── 06.txt
└── x1
├── 01.txt_bak2
└── aaa
├── 01.txt
├── 02.txt
└── bbb
├── 03.txt
├── 04.txt
└── ccc
├── 05.txt
└── 06.txt
7 directories, 15 files
mv
命令可以用来 移动 文件 或 目录, 也可以给 文件或目录重命名mv 文件 目录/
[root@node01 export]# mv 01.txt_bak x1/
[root@node01 export]# tree
.
├── 0001.txt
├── aaa
│ ├── 01.txt
│ ├── 02.txt
│ └── bbb
│ ├── 03.txt
│ ├── 04.txt
│ └── ccc
│ ├── 05.txt
│ └── 06.txt
└── x1
└── 01.txt_bak
mv 旧文件名 新文件名
[root@node01 export]# ll
total 12
-rw-r--r--. 1 root root 1841 Jul 10 22:47 01.txt
-rw-r--r--. 1 root root 0 Jul 10 22:45 01.txt_bak
drwxr-xr-x. 3 root root 4096 Jul 10 21:24 aaa
drwxr-xr-x. 2 root root 4096 Jul 10 22:48 x1
[root@node01 export]# mv 01.txt 0001.txt
[root@node01 export]# ll
total 12
-rw-r--r--. 1 root root 1841 Jul 10 22:47 0001.txt
-rw-r--r--. 1 root root 0 Jul 10 22:45 01.txt_bak
drwxr-xr-x. 3 root root 4096 Jul 10 21:24 aaa
drwxr-xr-x. 2 root root 4096 Jul 10 22:48 x1
mv 被移动目录 目标目录
[root@node01 export]# mv -r aaa/ x1/
mv: invalid option -- 'r'
Try `mv --help' for more information.
[root@node01 export]# mv aaa/ x1/
[root@node01 export]# tree
.
├── 0001.txt
└── x1
├── 01.txt_bak
└── aaa
├── 01.txt
├── 02.txt
└── bbb
├── 03.txt
├── 04.txt
└── ccc
├── 05.txt
└── 06.txt
mv
可以用来 移动 文件 或 目录, 也可以给 文件或目录重命名序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | cat 文件名 | concatenate | 查看小文件内容 |
02 | less -N 文件名 | less | 分频 显示大文件内容 |
03 | head -n 文件名 | 查看文件的前一部分 | |
04 | tail -n 文件名 | 查看文件的最后部分 | |
05 | grep 关键字 文件名 | grep | 根据关键词, 搜索文本文件内容 |
# 清空指定目录内容
cd /export/
rm -rf *
# 复制 /etc/passwd 文件 到 /export/ 目录中
cp /etc/passwd /export/
# 复制 /etc/profile 文件 到 /export/ 目录中
cp /etc/profile /export/
# 罗列目录中内容
tree /export
通过 cat
会一次显示所有的内容, 适合 查看内容较少 的文本文件
cat 文件名
cat -n 文件名
参数 | 英文 | 含义 |
---|---|---|
-n | number | 显示行号 |
cat -b 文件名
参数 | 英文 | 含义 |
---|---|---|
-b | number-nonblank | 非空行 显示行号 |
nl 文件名
也可以实现 非空行显示行号的效果命令 | 英文 | 含义 |
---|---|---|
nl 文件 |
number lines of files | 查看文件内容 且 非空行显示行号 |
cat 文件名
查看 小文件内容# >> 重定向这个命令, 为了课程需要 我们先用, 后面我们会讲
# 将文件 /etc/profile 的内容 追加到 /export/01.txt目录中
cat /etc/profile >> /export/01.txt
cat /etc/profile >> /export/01.txt
cat /etc/profile >> /export/01.txt
cat /etc/profile >> /export/01.txt
cat /etc/profile >> /export/01.txt
less [参数] 文件名
命令可以用于分屏显示文件内容, 每次只显示一页内容less
命令适合查看 内容较多 的文本文件命令 | 作用 |
---|---|
less -N 文件名 | 分屏展示文件内容, 适合 大文件 |
参数 | 英文 | 含义 |
---|---|---|
-N | number | 显示文件内容 且 显示行号 |
使用 less
的操作键:
操作键 | 功能 |
---|---|
空格键 | 显示手册页的下一屏幕 |
Enter 键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 向前一屏 |
q | 退出 |
/word | 搜索word字符串 |
# 根据关键词搜索
/word
操作键 | 功能 |
---|---|
n | 向下找 |
N | 向上找 |
less
命令适合查看 内容较多 的文本文件
准备工作
# 准备一个26个字母的文件, 使用 WINscp客户端 上传到 /export/ 目录下
head
命令查看文档的前几行内容head -n 数字 文件
参数 | 英文 | 含义 |
---|---|---|
-n | number | 表示显示前几行内容 |
head
命令查看文档的前几行内容tail -10 文件
tail -f 文件名
tail -100f 文件名
tail -10f 文件
命令 查看文档(日志)的后几行内容grep
命令 搜索存在 关键字 的行grep 关键字 文件名
grep -n 关键字 文件名
选项 | 英文 | 含义 |
---|---|---|
-n | number | 显示匹配行和行号 |
grep -i 关键字 文件名
选项 | 英文 | 含义 |
---|---|---|
-i | ignore-case | 忽略大小写 |
grep -v 关键字 文件名
选项 | 英文 | 含义 |
---|---|---|
-v | invert-match | 显示 不包含关键字 的所有行 |
grep 正则 文件名
参数 | 含义 |
---|---|
^a | 行首,搜索以a开头的行 |
ke$ | 行尾,搜索以ke结束的行 |
grep
命令 搜索存在 关键字 的行命令1 | 命令2
可以将命令1的结果 通过 命令2 作进一步的处理/etc/
目录下 以 pro
开头的文件/etc/
目录下 以 pro
开头的文件ls /etc/ | grep ^pro
ls /etc | grep ^pro | wc -l
英文 | 作用 | |
---|---|---|
命令: wc [参数] [文件] |
打印文件的行数, 单词数, 字节数 | |
参数: -l |
line 行 | 显示 行数 |
命令1 | 命令2
可以将命令1的结果 通过 命令2 作进一步的处理echo hello
# 如果字符串有空格, 为了避免歧义 请增加 双引号 或者 单引号
echo "hello world"
echo 2222 > 01.txt
命令 | 作用 |
---|---|
结果 > 文件名 | > 表示输出, 会覆盖文件的原有内容 |
echo 3333333 >> 01.txt
命令 | 作用 |
---|---|
命令 >> 文件名 | >> 表示追加, 会将内容追加到已有文件的末尾 |
cat 不存在的目录 &>> error.log
命令 | 作用 |
---|---|
命令 &>> 文件 |
&>> 表示不区分错误类型 都放到 日志中 |
命令 > 文件
将命令的成功结果 覆盖 指定文件内容命令 >> 文件
将命令的成功结果 追加 指定文件的后面命令 &>> 文件
将 命令的失败结果 追加 指定文件的后面命令 | 作用 |
---|---|
命令1 && 命令2 | 如果 命令1 执行成功了, 才执行 命令2 |
mkdir -p 正确目录 && echo "提示创建目录成功"
1 启动tomcat
2 查看tomcat日志
启动tomcat && 查看tomcat日志
命令 | 作用 |
---|---|
命令1 || 命令2 | 如果 命令1 执行失败了, 才执行 命令2 |
mkdir 错误目录 || echo "提示创建目录失败"
(cd a1/b1/c1 || mkdir -p a1/b1/c1) && cd a1/b1/d1
随堂练习
1 如果创建目录成功, 就切换到指定目录
2 如果创建文件成功, 就罗列新建文件 所在目录的内容
命令1 && 命令2
实现 如果 命令1 执行成功, 就执行 命令2的效果命令1 || 命令2
实现 如果 命令1 执行失败, 就执行 命令2的效果准备工作
# 清空/export目录中内容
cd /export && rm -rf *
# 1 创建目录
mkdir -p /export/aaa/bbb/ccc/ddd/eee
# 2 创建文件
touch /export/aaa/bbb/ccc/ddd/eee/01.txt /export/aaa/bbb/ccc/ddd/eee/02.txt
# 3 切换到 /export/aaa/bbb/ccc/ddd/eee/ 目录下 且 查看内容
# 3.1 cd /export/aaa/bbb/ccc/ddd/eee/ && ll
# 3.2 软链接(快捷方式) cd 软链接 && ll
语法如下:
命令 | 英文 | 作用 |
---|---|---|
ln -s 目标文件绝对路径 快捷方式路径 | link | 给目标文件增加一个软链接, 通俗讲就是快捷方式 |