Linux核心目录结构-命令-服务器-vim编辑器-day02

  • 一、Linux核心目录结构
    • 1.1.Linux核心目录(根下)
    • 1.2.路径表示形式
  • 二、Linux核心命令详解
    • 2.1.cd与pwd
    • 2.2.mkdir创建目录
    • 2.3.touch创建文件
    • 2.4.ls 查看目录内容
    • 2.5.mv move移动、改名
    • 2.6.cp copy 复制文件或目录【操作前备份】:warning:
    • 2.7.rm remove移除,删除文件或目录:warning:
    • 2.8.echo 输出信息到屏幕
    • 2.9.cat 显示文件内容
  • 三、Linux环境的初步优化【centos7.9】
    • 3.1.检查虚拟机是否联网--虚拟机是否可以访问外部网络
    • 3.2.配置阿里云 centos镜像yum源(安装软件的软件仓库)
    • 3.3.安装Linux常用工具
    • 3.4.软件安装完成后并检查后拍摄快照
    • 3.5.vi-vim编辑器详解
      • 3.5.1.vi/vim区别
      • 3.5.2.vi/vim基本使用
        • 3.5.2.1.打开文件(不存在也OK)
        • 3.5.2.2.进入编辑模式
        • 3.5.2.3.保存并退出
        • 3.5.2.4.检查
      • 3.5.3.vim的模式转换
      • 3.5.4.==vim快捷键== :star::star::star::star::star:
    • 3.6.vim批量操作
    • 3.7.vim多窗口编辑多文件功能
    • 3.8.快捷键小结
    • 3.9.故障案例
  • 四.服务器分类
    • 4.1.服务器分类
      • 4.1.1.物理服务器
      • 4.1.2.云服务器
    • 4.2.IDC机房和机柜知识【了解】
      • 4.2.1.IDC机房
      • 4.2.2.机柜和服务器
      • 4.2.3.IDC机房服务器上架流程
        • 4.2.3.1.购买服务器
        • 4.2.3.2.上架服务器
        • 4.2.3.3.和IDC约定上架日期
        • 4.2.3.4.去IDC机房需要准备的工具
        • 4.2.3.5.去机房配置服务器细节
  • 五、目录结构深入--文件--了解
    • 5.1./etc/下面
      • 5.1.1.修改主机名:star::star::star::star::star:
      • 5.1.2.网卡配置文件
      • 5.1.3./etc/rc.local 开机自启动配置文件【:warning:谨慎使用】
      • 5.1.4./etc/motd issue
    • 5.2./var/下面
    • 5.3./proc/下面
      • 5.3.1.cpu信息
      • 5.3.2.内存信息--熟悉
  • 六、日志查询4剑客 : cat/head/tail/more/less
    • 6.1.概述
    • 6.2.日志查询命令使用
      • 6.2.1.head 显示文件的头几行,默认是前10行
      • 6.2.2.tail 显示文件的后几行,默认是后10行
      • 6.2.3.less 按页显示文件内容
      • 6.2.4.more 按页显示文件内容,到达最后一行就退出
      • 6.2.5.小结
  • 七、wc统计
    • 7.1.统计/etc/services文件有多少行
    • 7.2.案例:统计系统用户登录错误次数Failed password
    • 7.3.管道符号 |
  • 八、查询命令位置
    • 8.1.which
    • 8.2.whereis
  • 九、文件比较命令【服务配置对比新旧文件】
    • 9.1.diff
    • 9.2.vimdiff
  • 十、排序去重组合:star::star::star::star::star:
    • 10.1.sort排序-n,-r,-k,-t:star::star::star::star::star:
      • 10.1.1.基数数字排序:对文件的数字进行排序:star::star::star::star::star:
      • 10.1.2.基数数字排序:对文件的数字进行==逆序排序==
      • 10.1.3.对文件的某一列进行排序:star::star::star::star::star:
      • 10.1.4.企业面试题 : ll /etc/ 取出大小最大的前五个
      • 10.1.5.指定分隔符进行排序:star:
      • 10.1.6.通过sort对==多列==进行同时==排序==
      • 10.1.7.以.点为分隔符对第3列和第4列排序:star::star::star::star::star:
    • 10.2.uniq:去重(去掉重复的留下唯一的)
    • 10.3.企业实战案例--日志分析:star::star:
    • 10.4.小结
  • 十一、日期组合
    • 11.1.date
    • 11.2.ntpdate 同步时间的命令
    • 11.3.修改时区--熟悉
    • 11.4.应用实战
    • 11.5.小结
  • 十、今日总结
  • 十、007
  • endl

一、Linux核心目录结构

1.1.Linux核心目录(根下)

  • 目录(windows叫文件夹),一般是用来分类存放文件
  • / 根,斜线. \反斜线.
根下的核心目录 说明
⭐️ /etc/ 系统服务配置文件的目录,存放系统,服务,命令的配置
⭐️ /home/ 普通用户家目录,比如dange用户 /home/dange/
⭐️ /root 皇宫,root用户家目录
/dev/ device 设备文件目录,硬盘,光盘…
⭐️ /tmp/ 临时文件,临时问价存放目录
/proc/ 系统服务,进程信息,类似于汽车的仪表盘


  • /bin:存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里;
  • /etc:存放系统管理和配置文件;
  • /home:存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示;
  • /usr:用于存放系统应用程序/opt:额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把tomcat等都安装到这里;
  • /proc:虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息;
  • /root:超级用户(系统管理员)的主目录(特权阶级o);
  • /sbin: 存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如ifconfig等;
  • /dev:用于存放设备文件;
  • /mnt:系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统;
  • /boot:存放用于系统引导时使用的各种文件;
  • **/lib **:存放着和系统运行相关的库文件 ;
  • /tmp:用于存放各种临时文件,是公用的临时文件存储点;
  • /var:用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等;
  • /lost+found:这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里。

1.2.路径表示形式

  • 绝对路径
  • 相对路径

二、Linux核心命令详解

2.1.cd与pwd

命令 说明
cd change directory 进入到某个目录
pwd print working directory 显示当前所在的目录(绝对路径)
cd ~ 回到家目录
cd 回到家目录
cd … 进入到上级目录
cd …/…/ 进入到多层目录
cd - 返回上次所在目录,cd - ,- 是 cd 的选项
cd . 进入当前目录(未来一般与复制,移动一起用)

2.2.mkdir创建目录

命令 说明
mkdir make directory
mkdir -p 递归创建多层目录,-p表示选项
mkdir -p test/{testa,testb}/{a,b} 创建多个目录
mkdir -pv test/{testa,testb}/{a,b} 创建多个目录,并显示创建过程
[10:32:16 root@rocky8-1 ~]#mkdir -pv test/{
   testa,testb}/{
   a,b}
mkdir: created directory 'test'
mkdir: created directory 'test/testa'
mkdir: created directory 'test/testa/a'
mkdir: created directory 'test/testa/b'
mkdir: created directory 'test/testb'
mkdir: created directory 'test/testb/a'
mkdir: created directory 'test/testb/b'
[10:33:30 root@rocky8-1 ~]#
[10:33:52 root@rocky8-1 ~]#tree test
test
├── testa
│   ├── a
│   └── b
└── testb
    ├── a
    └── b

6 directories, 0 files
[10:36:08 root@rocky8-1 ~]#mkdir -pv test/a/b/c/d/e/f/g/{
   a,b,c,d}
mkdir: created directory 'test'
mkdir: created directory 'test/a'
mkdir: created directory 'test/a/b'
mkdir: created directory 'test/a/b/c'
mkdir: created directory 'test/a/b/c/d'
mkdir: created directory 'test/a/b/c/d/e'
mkdir: created directory 'test/a/b/c/d/e/f'
mkdir: created directory 'test/a/b/c/d/e/f/g'
mkdir: created directory 'test/a/b/c/d/e/f/g/a'
mkdir: created directory 'test/a/b/c/d/e/f/g/b'
mkdir: created directory 'test/a/b/c/d/e/f/g/c'
mkdir: created directory 'test/a/b/c/d/e/f/g/d'
[10:36:12 root@rocky8-1 ~]#tree test
test
└── a
    └── b
        └── c
            └── d
                └── e
                    └── f
                        └── g
                            ├── a
                            ├── b
                            ├── c
                            └── d

11 directories, 0 files

2.3.touch创建文件

2.4.ls 查看目录内容

命令 说明
ls list 列表
-l long以长格式显示(显示详细信息,比较文件时间,大小,所有者)
-t time 按照修改时间排序
-r … 逆序排序,一般-rt 一起用
-h 以人类可读形式显示大小

2.5.mv move移动、改名

操作前要备份
类似于剪切并粘贴.

2.6.cp copy 复制文件或目录【操作前备份】⚠️

cp命令选项 说明
-a all 简单理解为复制所有
详情:-dpr
-r 递归复制,复制目录及目录的内容
-p 复制的时候保持属性不变
-d 可以复制软链接

cp隐藏功能:备份

# 创建/backup/目录
# 把系统的网卡配置文件备份到/backup/目录下
mkdir /backup/
cp /etc/sysconfig/network-scripts/ifcfg-ens160 /backup/
ll /backup/

# 如果要恢复
# cp /backup/ifcfg-ens160 /etc/sysconfig/network-scripts/ifcfg-ens160

2.7.rm remove移除,删除文件或目录⚠️

rm命令选项 说明
-f force 强制删除不提示,危险
-r 递归删除,删除目录及目录的内容,没有需求不要加上-r
# 删除/test/a.txt文件
mkdir -pv /test/{
   a,b}/{
   c,d}
touch /test/a.txt

# 强制删除文件/test/b.txt
rm -f /test/b.txt

# 删除目录 /test/
rm -rf /test/
ls -l /test
[root@rocky8-1 /]#rm /test/a.txt
rm: remove regular empty file '/test/a.txt'? y

2.8.echo 输出信息到屏幕

关于大于号补充:
重定向:改变数据输出方向。默认输出到屏幕,现在可以让他输出到文件中。

> 叫做重定向符号,先清空文件内容,然后再写入

>>叫做追加重定向,把信息写入到末尾
重定向符号好多

##输出信息到文件中
echo hello world >> /test/hello.txt
ls -l /test/

cat /test/hello.txt
输有规律的内容
echo {
   0..10}
0 1 2 3 4 5 6 7 8 9 10

温馨提示:{}生成序列
简单是与echo使用输出
普通是与touch、mkdir一起使用,批量创建文件或目录

2.9.cat 显示文件内容

  • cat主要功能显示文件内容
  • concatenate合并文件
cat命令选项 说明
-n number 显示文件内容及行号
  • 显示文件内容并显示行号
# 显示文件内容并显示行号
cat -n /etc/sysconfig/network-scripts/ifcfg-ens160
  • 扩展 合并
# 扩展 合并
输出 hello.txt和file.txt 2个文件的内容
cat hello.txt
cat file.txt
echo file.txt hello.txt

# 保存到1个文件中
cat file.txt hello.txt >> all.txt
echo all.txt
  • cat可创建文件:命令如下
cat >>test.txt<<EOF
向文件写入多行内容
使用
EOF

三、Linux环境的初步优化【centos7.9】

3.1.检查虚拟机是否联网–虚拟机是否可以访问外部网络

ping baidu.com

3.2.配置阿里云 centos镜像yum源(安装软件的软件仓库)

阿里云 centos镜像源网站:https://developer.aliyun/mirror/centos

默认情况下yum下载软件的时候是从随机地址下载
配置yum从国内下载(仅执行即可)

# 配置阿里云 centos镜像yum源
## 备份yum源配置
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
## 下载 命令1
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
## 下载 命令2
curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

3.3.安装Linux常用工具

# 安装Linux常用工具
yum -y install tree vim wget lrzsz 
yum -y install net-tools sysstat iotop iftop htop unzip nc nmap telnet bc 
yum -y install psmisc httpd-tools bind-utils nethogs expect ntpdate
# 终端复用器软件就是会话与窗口的“解绑”工具
yum -y install epel-release
yum -y install screen
# 命令补全
yum -y install bash-completion bash-completion-extras

# 安装linux娱乐工具
yum install -y sl cowsay
运行 tree 命令,运行 sl 命令
命令 作用
tree 以树形显示目录结构
psmisc pstree 等命令
vim vi升级版
wget 下载工具
bash-completion(默认源) 自动补全增强工具,可以补全命令参数
bash-completion-extras(epel) 自动补全超级增强工具,可以补全命令参数
lrzsz 上传下载工具 rz和sz
net-tools ifconfig route命令属于的软件包
sysstat sar iostat 属于的软件包
iotop 查询系统每个进程的io读写情况 swap写入情况
iftop 查询网络流量情况
nethogs 显示每个进程的流量情况
htop top升级版
unzip 解压
nc ncat 类似telnet
nmap 网络扫描工具
telnet 检查端口是否开启
bc 基础计算器
lsof 显示所有被打开的文件
dig DNS解析 bind-utils软件包
nslookup DNS解析 bind-utils软件包
host DNS解析 bind-utils软件包
htpasswd 创建密码文件 存放用户名和加密的密码 一般用于 nginx 简单认证中
mkpasswd 生成随机密码 属于expect软件包

3.4.软件安装完成后并检查后拍摄快照

  • 检查是否有“完成”提示“Complete”

3.5.vi-vim编辑器详解

3.5.1.vi/vim区别

内容 区别
vi 系统自带,不需要额外安装,,没有vim功能多
vim 在最小化安装的版本默认没有,需要额外安装,vi的升级版(vi imporved),未来大部分情况都是用vim即可

3.5.2.vi/vim基本使用

3.5.2.1.打开文件(不存在也OK)
ls -l /test/
vim /test/log.txt

⚠️ vi/vim
如果文件不存在会自动创建;
如果目录不存在不会创建,会在保存并退出的时候报错。
报错信息:文件路径不存在
“/test/a/a/a.txt” E212: Can’t open file for writing
Press ENTER or type command to continue

3.5.2.2.进入编辑模式
  • 按字母 i 即可,编辑这个文件
3.5.2.3.保存并退出
  • 输入:wq write(写,保存)quit(退出)
  • :q! 强制退出不保存
  • :wq! 强制退出并保存
3.5.2.4.检查
cat /test/log.txt

3.5.3.vim的模式转换

  • 命令格式:通过vi/vim打开文件后进入的模式,默认进入的模式,可以输入各种vi/vim命令(快捷键)
  • 编辑模式(插入模式):用于编辑,修改文件内容,需要按对应的命令(快捷键)
  • 末行模式:保存退出,搜索使用。(输入:之后进入的地方)
  • 可视块模式:用于批量编辑

3.5.4.vim快捷键 ⭐️⭐️⭐️⭐️⭐️

  • 创建测试文件
cat /etc/services /etc/sysconfig/network-scripts/ifcfg-eth0 >> /test/vim.log
# 只操作/test/vim.log文件
  • 移动光标类快捷键-必会⭐️⭐️⭐️⭐️⭐️
  • 行之间调整: 上下调整
行之间调整: 上下调整
移动到最后一行  G(shift+g)
移动到第1行 gg
移动到某一行 100gg
  • 列之间调整:左右
光标移动到行首