Day 04
上周回顾
1.、Linux介绍(GNU、GPL、历史、发行版)
2、VMWare安装Centos7系统
3、VMware快照
4、Bash
Bash能做什么
命令解释器:将命令转化为机器语言。
Bash怎么用
单条命令
效率低,适合简单、或者是少量的工作
Shell脚本
效率高,适合复杂、重复性的工作
Bash提示符[root@oldboyedu ~]#
root---->当前登录系统的用户
oldboyedu-->当前系统的主机名称
~ -->表示当前用户的家目录
#-->通常情况下是超级管理员$-->普通用户
Bash基础语法
命令 [选项] [参数]
命令-(动作)
选项- (程度)
参数- (位置)
ls -la /home/ 以长格式显示/home/所有内容包括隐藏文件夹
Bash常用特性
1、tab键补全(重要)
2、快捷键
ctrl + a
把光标移动到行首
ctrl + e
把光标移动到行末
ctrl + c
cancel取消当前操作
ctrl + l
clear清屏命令
ctrl + w
以单词为单位向删除
ctrl + u
把光标之前的内容删除
ctrl + k
把光标后面的内容删除
ctrl + r
搜索历史命令
5.系统目录结构
Windows和Linux对比
Windows:C:\ D:\ E:\
Linux / -- >单根组织结构
目录用途
/bin
存放普通用户的二进制命令
/sbin
存放管理员的二进制命令
/home
普通用户的家目录
/root
超级管理员的家目录(普通用户无权限)
/etc
系统配置文件的存放目录,同时也包括后续安装的一些服务
/dev
存放设备目录
/null
黑洞设备资只进不出
/random
随机设备,可以产生随机数
/zero
能源源不断的产生数据,取款机
/proc
虚拟系统文件(显示系统当前进程正在运行的状态)只要在运行的进程都会有一个文件,杀死进程即删除文件
/usr
/usr/local
用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下
/usr/bin
和/bin一致,只不过/usr/bin才是知识的命令存放路径,通过软连接的方式连接到根目录下的/bin.
/usr/sbin
和/sbin一致,只不过/usr/sbin才是知识的命令存放路径,通过软连接的方式连接到根目录下的/sbin.
/usr/lib
库文件,执行命令所依赖的库文件
/usr/lib64
64位的库文件,执行命令所依赖的库文件
/boot
系统启动时的引导目录,存放的是kernel和grub菜单
/run
存放进程锁文件
/opt
早期第三方厂商安装软件存放的路径
/mnt
挂载
将目录与设备进行关联,比如硬盘、光盘
6.文件路径定位
/etc/hostname
文件位置+文件名称=路径
路径
绝对路径
只要以/开始的路径都算是绝对路径
相对路径
相对于当前目录来说的路径
. 代表的当前目录
.. 代表的是上一级目录
路径是对文件定位的一种方式
7.文件管理命令
mkdir
用途
创建目录
用法
- p
递归创建目录
mkdir oldboy{1..3}
创建连续的目录,适合创建大量连续的目录
touch
用途
创建文件
用法
touch oldboy{1..3}
可以创建连续的呃文件
mv
用途
移动文件或目录
重命名文件或目录
用法
mv 源地址 目的地址
mv 原文件名 新文件名
rm
用途
删除文件或者目录
用法
- r 递归删除目录
- f 强制删除,没有提示
通常配合使用
rm - rf
复制
cp命令
用途
复制文件或是目录
选项
- v
详细显示命令执行的过程
- r
递归复制目录与子目录
- p
保留源文件或目录的权限属性进行复制
实践:
1.复制时更改复制后的文件名称
[root@localhost /]# cp 1.txt /2.txt
2.在复制文件过程中保持文件原有的属性不发生变化
[root@localhost /]# cp -p ~/1.txt 2.txt
3.递归拷贝目录
[root@localhost /]# cp -r /etc/
4.将不同路径下的文件、目录拷贝至同一个目录下
[root@localhost /]# cp /etc/1..txt ~/2.txt //opt/ ~/
5.如何关闭在重复复制过程中的确认操作
[root@localhost /]# cp -r ~/1.txt 2.txt
6.如何实用简单命令将统一目录下的文件复制并改名
[root@oldboyedu ~]# cp /etc/sysconfig/network-
scripts/{ifcfg-ens32,ifcfg-ens32-bak}
查看文件内容
cat 命令
用途
查看文件所有内容,从头到尾
选项
- n
在查看文件内容是显示行号
- A
参看文件中的特殊符号,比如文件中存在的tab键,并且每一行用$符号结尾。
特殊用法
使用cat创建一个文件,并写入内容
[root@localhost /]# cat >>3.txt<<EOF
> qwe
> rty
> asd
> EOF
此处EOF可以使用任意的字符代替
less 命令
用途
查看文件
适合查看小文件
不显示进度
用法:
使用光标进行上下翻动,使用空格进行翻页,q退出
more 命令
用途
查看文件
适合查看大文件
显示进度
用法:
使用回车进行下翻,无法上翻,空格翻页,q退出
head 命令
用途
查看文件头部的内容
默认前十行
选项
- n
查看文件前n行的内容
tail 命令
功能
查看文件尾部的内容
默认查看后十行
选项
- n
查看文件后n行的内容
- -f
动态查看文件尾部的变化
衍生命令
tailf
查看文件尾部变化
grep 命令
功能
过滤文件内容
用法
1.过滤出PASS文件中的root相关的行
[root@oldboyedu ~]# grep "root" pass
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
2.过滤PASS文件中匹配以root开头的行
[root@oldboyedu ~]# grep "^root" pass
root:x:0:0:root:/root:/bin/bash
3.过滤pass文件中。匹配以Bash结尾的行
#3.过滤pass文件中,匹配以bash结尾的行
[root@oldboyedu ~]# grep "bash$" pass
root:x:0:0:root:/root:/bin/bash
jack:x:1000:1000::/home/jack:/bin/bash
4.显示行号
[root@oldboyedu ~]# grep -n "bash$" pass
1:root:x:0:0:root:/root:/bin/bash
23:jack:x:1000:1000::/home/jack:/bin/bash
5.扩展用法
- A
grep -n -A 2 "Failed" /var/log/secure #匹配/var/log/secure文件中Failed字符串,并打印它的下2行
- B
grep -n -B 2 "Failed" /var/log/secure #匹配/var/log/secure文件中Failed字符串,并打印它的上2行
- C
grep -n -C 2 "Failed" /var/log/secure #匹配/var/log/secure文件中Failed字符串,并打印它的上下各2行
选项
- n
显示行号
匹配可选符号
^ + 字符
匹配以这个字符开头的行
字符$
匹配以这个字符结尾的行
^$
空行