当前位置: 首页 > news >正文

Linux目录结构与核心命令

目录结构与核心命令

1 核心目录结构

1.1 Linux 核心目录(根下)

  • 目录(windows 叫文件夹),一般是用来分类存放文件。
  • / 根,斜线。 \ 反斜线。
根下的核心目录 说明
/etc/ 系统服务配置文件的目录,存放系统,服务的配置。
/home/ 普通用户家目录。比如 oldboy 用户 /home/oldboy/
/root/ 皇宫,root 用户家目录。
/dev/ device, 设备文件目录,硬盘,光盘..
/tmp/ templ 临时目录,临时存放内容.
/proc/ process 系统服务,进程信息.类似于汽车的仪表盘.
目录 说明 补充说明
/bin => /usr/bin binary 二进制文件 命令 CentOS7 /bin === /usr/bin CentOS 6 不同
/sbin => /usr/sbin super binary 超级命令 只有 root 可以使用 CentOS7 /sbin === /usr/sbin CentOS 6 不同
/boot 与 Linux 系统启动与引导相关的文件存放处:存放引导系统启动程序,系统内核镜像 Linux 一切皆文件。
/dev device 设备文件 光盘 硬盘分区 U 盘 /dev/cdrom 所有的设备 不挂载无法使用
/etc 系统的配置文件存放目录
/home /home/oldboy 普通用户的家目录 贫民窟 当前用户的家目录~
/root /root root 用户的家目录 皇宫 当前用户的家目录~
/lib/lib64 library 库文件 (服务软件的依赖) .so 软件运行需要的环境.
/lost+found 系统宕机 临时保存数据位置
/mnt mount temporary 临时的挂载点(磁盘) 临时的入口 详细在 磁盘管理部分讲解
/opt option 第三方软件 安装位置
/proc process(进程) 虚拟目录 存放的是内存中信息 进程 服务信息 内核信息 Linux 一切皆文件。
/sys 虚拟目录 存放的是内存中信息 进程 服务信息
/tmp temp temporary 临时存放文件的位置 垃圾堆
/usr user/ unix software resource 存放用户安装软件
/var variable 经常变换的数据 存放的位置 日志(服务日志) 有故障找日志

1.2 路径表示形式

  • Linux 下面的路径表示形式
路径形式 说明
绝对路径 从根开始的路径是绝对路径,/etc/hostname /etc/sysconfig/network-scripts/ifcfg-eth0/
相对路径 不是从根开始的路径就是相对路径,etc/ etc/hostname

2. 核心命令

2.1 命令详解

1) cd 与 pwd

说明 说明
cd change directory 进入到某个目录
pwd print working directory 显示当前所在位置(以绝对路径方式显示)
#案例01: 进入/tmp/目录然后查看所在目录
进入目录: cd
查看所在目录: pwd
[root@oldboy-85-king-lnb-v2 ~]# cd /tmp/
[root@oldboy-85-king-lnb-v2 tmp]# pwd
/tmp#案例02: 进入/etc/sysconfig/network-scripts/目录然后查看所在目录
[root@oldboy-85-king-lnb-v2 tmp]# cd /etc/sysconfig/network-scripts/
[root@oldboy-85-king-lnb-v2 network-scripts]# pwd
/etc/sysconfig/network-scripts
cd 其他功能 说明
cd ~ 回到家目录
cd 回到家目录
cd .. 进入上级目录
cd - 返回上次所在目录,cd -,- 是 cd 的选项
cd . 进入当前目录 (一般与复制,移动一起用)
#案例03:  假如我们当前在一个比较深的目录中,快速回到家目录.
cd /etc/sysconfig/network-scripts/
cd ~
cd操作记录:
[root@oldboy-85-king-lnb-v2 network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@oldboy-85-king-lnb-v2 network-scripts]# cd
[root@oldboy-85-king-lnb-v2 ~]# pwd
/root#案例04 假设我们在一个比较深的目录中,进入上一层目录
cd /etc/sysconfig/network-scripts/
cd ..
#如果想向上多层可以用 cd ../../形式
[root@oldboy-85-king-lnb-v2 /]# cd /etc/sysconfig/network-scripts/
[root@oldboy-85-king-lnb-v2 network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@oldboy-85-king-lnb-v2 network-scripts]# cd ../..
[root@oldboy-85-king-lnb-v2 etc]# pwd
/etc
[root@oldboy-85-king-lnb-v2 etc]##案例 05 了解 返回上次所在位置
[root@oldboy-85-vip-king-v2 /]# cd /etc/sysconfig/network-scripts/
[root@oldboy-85-vip-king-v2 network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@oldboy-85-vip-king-v2 network-scripts]# cd /tmp/
[root@oldboy-85-vip-king-v2 tmp]# pwd
/tmp
[root@oldboy-85-vip-king-v2 tmp]# cd -
/etc/sysconfig/network-scripts
[root@oldboy-85-vip-king-v2 network-scripts]# pwd
/etc/sysconfig/network-scripts

2) mkdir 创建目录

  • mk make dir directory
mkdir 创建目录 说明
选项-p 创建多层目录
-v 显示创建目录过程,工作中几乎不用。
#案例06 创建/oldboy目录
mkdir /oldboycd /oldboy/
pwd#案例07 创建多层目录 /oldboy/a/b/c/d/e/f
[root@oldboy-85-king-lnb-v2 oldboy]# mkdir -pv /oldboy/a/b/c/d/e/f/
mkdir: 已创建目录 "/oldboy/a"
mkdir: 已创建目录 "/oldboy/a/b"
mkdir: 已创建目录 "/oldboy/a/b/c"
mkdir: 已创建目录 "/oldboy/a/b/c/d"
mkdir: 已创建目录 "/oldboy/a/b/c/d/e"
mkdir: 已创建目录 "/oldboy/a/b/c/d/e/f/"
[root@oldboy-85-king-lnb-v2 oldboy]# cd /oldboy/a/b/c/d/e/f/
[root@oldboy-85-king-lnb-v2 f]# pwd
/oldboy/a/b/c/d/e/f

3) touch 创建文件

#案例08 在/oldboy/目录下创建oldboy.txt  创建/oldboy/oldboy.txt
创建目录-已经完成
创建文件-进行中[root@oldboy-85-king-lnb-v2 f]# cd /oldboy/
[root@oldboy-85-king-lnb-v2 oldboy]# touch oldboy.txt
[root@oldboy-85-king-lnb-v2 oldboy]# ls
a  oldboy.txt
[root@oldboy-85-king-lnb-v2 oldboy]##案例09 在/oldboy下面创建lidao.txt  oldgirl.txt 2个文件
绝对路径写法
touch /oldboy/lidao.txt  /oldboy/oldgirl.txt
相对路径写法先进入,然后操作.
cd /oldboy
touch  lidao.txt  oldgirl.txt

4)ls 查看目录内容

  • ls list 列表
ls 命令选项 说明
-l long 以长格式显示(显示详细信息,比如文件时间,大小,所有者)
-t time 按照修改时间排序.
-r reverse .... 逆序排序,一般 - rt 一起用.
-h 以人类可读形式显示大小
#案例10  ls核心功能:查看 /etc目录下面的内容并且显示详细信息
ls /etc
ls -l /etc/
简写为ll /etc/#案例11 查看/etc目录按照时间排序逆序排序(一个目录中文件太多了,找出最近的文件)从过去到现在
ls -lrt  /etc/
ll -rt /etc/   #案例12 ls核心功能核心:以人类可读形式显示大小
ls -lh /etc/
ll -h /etc/
温馨提示:计算机中的单位:字节 byte 1 个英文字符占用 1 个字节
1KB=1024bytes
1MB=1024KB=1024^2bytes
1GB=1024MB=1024^3bytes
1TB=1024GB=1024^4bytes
1PB=1024TB=1024^5bytes
1EB
1ZB

5)mv move 移动

mv 从哪里来 到哪里去
移动 mv 文件 目录 文件 目录 .... 目标(目录)
改名 mv 文件或目录 文件或目录
#案例13 移动/oldboy/oldboy.txt 到/tmp下面
[root@oldboy-85-king-lnb-v2 ~]# mv /oldboy/oldboy.txt  /tmp/#案例14 改名 把/oldboy/lidao.txt 改名为/oldboy/lidao996.txt
[root@oldboy-85-king-lnb-v2 ~]# mv /oldboy/lidao.txt  /oldboy/lidao996.txt

关于命令操作多个文件或目录的说明:

touch a b c d e fmkdir dira dirb dircmv file1 file2 file3 dir 

6)cp 复制文件或目录

cp 命令选项 说明
-a all 简单理解为复制所有详情:-dpr
-r 递归复制,复制目录及目录的内容.
-p 复制的时候保持属性不变.(未来讲解文件属性就可以更深入了解)
-d 可以复制软连接.
#案例15 复制/etc/hostname 到/oldboy/下面
[root@oldboy-85-king-lnb-v2 ~]# cp /etc/hostname /oldboy/#案例16 复制/etc/目录复制到/oldboy/下面
cp -a /etc/ /oldboy/
cp默认无法复制目录#案例17 把系统的网卡配置文件备份到/oldboy目录下
网卡配置文件: /etc/sysconfig/network-scripts/ifcfg-eth0 或 ens33
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /oldboy/#如果要恢复
cp /oldboy/ifcfg-eth0  /etc/sysconfig/network-scripts/ifcfg-eth0

7)rm remove 删除文件或目录

rm 选项 说明
-f force 强制删除不提示,危险.
-r 递归删除,删除目录及目录的内容,没有需求不要加上 - r.
#案例18 删除/oldboy/oldboy.txt文件
rm  /oldboy/oldboy.txt
rm: 是否删除普通空文件 "/oldboy/oldboy.txt"? y#案例19 强制删除文件 /oldboy/oldgirl.txt
rm -f /oldboy/oldgirl.txt#案例20 删除目录/oldboy/
rm -fr  /oldboy/

8)输出信息到屏幕

#例子 1  输出oldboy  lidao996  到屏幕
echo oldboy lidao996
oldboy lidao996#案例21 输出信息到文件中 /oldboy/oldboy.txt文件写入lidao996内容
[root@oldboy-85-king-lnb-v2 ~]# echo lidao996 >/oldboy/oldboy.txt
[root@oldboy-85-king-lnb-v2 ~]# cat /oldboy/oldboy.txt
lidao996#案例22 输出有规律的内容
[root@oldboy-85-king-lnb-v2 ~]# echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z[root@oldboy-85-king-lnb-v2 ~]# echo {a..e}
a b c d e[root@oldboy-85-king-lnb-v2 ~]# echo {01..10}
01 02 03 04 05 06 07 08 09 10[root@oldboy-85-king-lnb-v2 ~]# echo oldboy{01..10}
oldboy01 oldboy02 oldboy03 oldboy04 oldboy05 oldboy06 oldboy07 oldboy08 oldboy09 oldboy10>叫做重定向符号,先清空文件内容,然后再写入.
>>叫做追加重定向,把信息写入到末尾.{} 生成序列,与 echo 使用输出,也可与 touch/mkdir 一起使用,批量创建文件或目录.
touch file{1..3}.txt
file1.txt、file2.txt、file3.txt

9)cat 显示文件内容

cat 选项 说明
-n number 显示文件内容及行号
#案例23 显示/etc/password内容并显示行号
cat -n /etc/passwd#案例24 输出/etc/hostname 和/etc/passwd2个文件的内容
#输出到屏幕
cat /etc/hostname  /etc/passwd#保存到1个文件中。
cat /etc/hostname  /etc/passwd  >/oldboy/all.txt

2.2 Linux 环境初步优化

  • 检查是否能联网(虚拟机是否可以访问外部网络)
ping baidu.com
  • 配置 yum 源 (安装软件的软件仓库)

默认情况下 yum 下载软件的时候是从随机地址下载。

配置 yum 从国内下载 (仅执行即可)

#配置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 http://mirrors.aliyun.com/repo/epel-7.repo#安装Linux常用工具
yum install -y  tree  vim wget  bash-completion  bash-completion-extras  lrzsz  net-tools sysstat  iotop iftop htop unzip nc nmap telnet bc  psmisc httpd-tools  bind-utils nethogs expect#Linux娱乐命令
yum install  -y sl  cowsay运行tree命令,运行sl命令。

2.3 vi-vim 编辑器详解

1) vi-vim 区别

内容 区别
vi 系统自带,不需要额外安装,没有 vim 功能多.
vim 在最小化安装的版本中默认没有,需要额外安装,vi 的升级版 (vi imporved),

2)vi/vim 基本使用

a)打开文件 (不存在也 ok)

ls -l /oldboy/
vim /oldboy/oldboy.txt

如果 文件 不存在会自动创建;

如果 目录 不存在不会创建,会在保存并退出的时候报错.

b)进入编辑模式

  • 按字母 i 即可,编辑这个文件

c)退出编辑模式

  • 按 esc 键 退出编辑模式

d)保存与退出

  • 输入 :wq (write (写,保存) quit (退出))
  • :q! 强制退出不保存
  • :wq! 强制退出并保存.

e)检查

[root@oldboy-prod ~]# cat /oldboy/oldboy.txt
oldboylinux.cn  oldboyedu.com

3) 快捷键

快捷键小结

vim快捷键,需要在日常使用中记忆.
目前:
移动到最后一行       G(shift+g)
移动到第1行         gg    
移动到某一行         100gg
复制当前行           yy
删除当前行           dd
粘贴到当前行后       p
撤销               u(undo)
显示行号             :set nu   或 :set number
取消显示行号         :set nonu
搜索(默认就是向下找) /你要的内容

4)故障案例

  • vim 编辑文件故障提示:
    image

  • 原因:

    1. vi/vim 编辑文件的时候,会生成临时文件 (隐藏文件).
    2. 通过保存退出,隐藏文件会消失.
    3. 异常情况,断电,同时编辑这个文件,就会有这个提示.
  • 解决:

  • A 方案 01: 删除临时文件,工作中也可以删掉。根据提示的路径删除对应的临时文件即可。重新打开文件.

  • B 方案 02: 恢复未保存数据

vim -r oldboy.txt
rm -f .oldboy.txt.swp
重新打开文件即修复了.

3. 目录结构深入 - 文件

3.1 /etc/ 下面

/etc/ 文件 说明 企业应用
/etc/hostname 主机名配置文件 每个 Linux 主机配置主机名,根据主机名区别不同功能.
/etc/hosts 主机名和 ip 的对应关系 在网站中做访问使用,第 2 阶段处常用.
/etc/sysconfig/network-scripts/ifcfg-eth0 网卡配置文件 物理机要改改,云服务器自动.第 1 阶段结束网络部分讲解.
/etc/rc.local 开机自启动的文件 把需要开机的时候自动运行的命令,服务放在到这个文件中
/etc/fstab 开机自动挂载的配置文件 第 1 阶段磁盘部分讲解.配置磁盘挂载使用.
/etc/motd 文件中的内容会在用户登录系统后显示出来. 显示温馨提示。佛祖保佑,永不宕机.
/etc/issue、 /etc/issue.net 文件中的内容会在用户登录系统前显示出来. 这个文件内容应该清空.

1)修改主机名

主机名修改建议:

  • 看到主机名就能知晓,这个节点的作用。

  • 推荐英文,“-”,“.” 就行,不要加入其他特殊符号,不要加入中文。

  • 下表为系统主机配置记录表

ip 地址 - 内网 ip 地址 - 公网 主机名 cpu 内存 硬盘 其他 系统 服务
10.0.0.200 oldboy83 1 1 20 centos7.9 网站服务器
10.0.0.201 web01.oldboylinux.cn 1 1 20 centos7.9 oldboylinu.cn网
#命令永久修改主机名
#配置主机名
hostnamectl set-hostname oldboy-king-v3
#临时修改
hostname a #查看主机名
cat /etc/hostname

2)网卡配置文件

  • /etc/ 各种配置的目录
  • /etc/sysconfig system configure 系统配置文件
  • /etc/sysconfig/network-scripts/ 网络的配置文件
  • /etc/sysconfig/network-scripts/ifcfg-eth0 或 ens33
    • if interface 网卡接口
    • eth 网卡
[root@oldboy-lnb-king-v3 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=df53b6fc-11c6-41b8-8c6c-7a68f3516400
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.200   #网卡ip地址
PREFIX=24
GATEWAY=10.0.0.2
DNS1=223.5.5.5
DNS2=223.6.6.6
IPV6_PRIVACY=no修改网卡配置文件重启服务
systemctl restart networkDNS (域名解析服务) 用于把域名转换为 ip.
域名baidu.com ——>DNS——>ip 地址

3)/etc/rc.local 开机自启动配置文件

第 1 次使用这个文件之前需要给 /etc/rc.d/rc.local 增加执行权限.chmod +x /etc/rc.d/rc.local在 /etc/rc.local 中写个 shutdown -h now 或 reboot,试试就逝世

温馨提示

/etc/rc.local 本质是个快捷方式 (软连接), 源文件是 /etc/rc.d/rc.local

4)/etc/motd issue

建议 motd 写入系统基本信息。固定不变的.

issue 文件清空. >/etc/issue

/etc/motd 文件中的内容会在用户登录系统后显示出来. 显示温馨提示。佛祖保佑,永不宕机.

/etc/issue、/etc/issue.net 文件中的内容会在用户登录系统前显示出来.

3.2 /var/ 下面

var 经常变化的内容,variable. 比如:日志.

linux 有些异常的时候,我们要查看对应的日志.

linux 中的日志反映出,记录着系统,服务的运行情况.

  • Linux 系统日志
/var/ 经常变化的内容 说明 应用建议
/var/log/ 系统及服务的各种日志目录
/var/log/secure 存放用户登录情况日志。 分析是否有恶意破解情况。
/var/log/messages 通用各种服务的日志,日志很多。 分析服务,系统异常
  • 以 secure 为例,看下登录日志.
让他连接失败几次.
查看日志.
ssh -p 22 root@10.0.0.200然后查看 /var/log/secure
Failed password 提示密码错误.

3.3 /proc/ 下面

这个目录下面存放的是系统的各种内存中进程信息,Linux 内核配置,系统信息。

这是个虚拟目录,不会占用磁盘空间。

/proc/ 系统,进程信息,内核 说明 应用建议
/proc/cpuinfo cpu 信息 未来监控使用,获取 cpu 指标.
/proc/meminfo 内存信息 未来监控使用,获取内存指标.
/proc/loadavg 系统负载信息,衡量系统繁忙程度 第 1 阶段讲解进程会详解.
/proc/mounts 系统挂载信息 第 2 阶段讲解 nfs 服务.

1)cpu 信息

  • cpu 颗数,cpu 核心数.
    • cpu 颗数,有多少个物理的 cpu.
    • cpu 核心数:1 颗中有多少个核心,每个核心相当于是 1 个工人.
lscpu 查看 cpu 信息,核心数,颗数
座 Socket: cpu 颗数
CPU (s) 核心数

2)内存信息

  • 内存,磁盘(硬盘)
    • 硬盘永久存储数据的地方。
    • 内存临时存放数据的地方。
  • 内存:
    • cpu 速度太快的,硬盘速度较慢,cpu 就要等着硬盘,造成系统缓慢.
    • 内存速度比 cpu 慢,比硬盘快. CPU > 内存 > 磁盘
    • 运行磁盘中程序,运行在内存中.
  • cpu: 用于处理数据,速度最快.

http://www.jsqmd.com/news/171931/

相关文章:

  • C#跨平台日志采集方案大揭秘(仅限内部交流资料流出)
  • YOLOv8与Grafana Loki结合实现日志驱动运维
  • CH585M+SX1262+W25Q16 极致低功耗方案(含1分钟唤醒嗅探场景)
  • 100N03NF-ASEMI大电流场景救星100N03NF
  • 2010-Single-Sided-Buffers-in-JTS
  • 软件体系结构——Chapter 8 性能
  • YOLOv8模型版本管理:使用Git Tag标记重要节点
  • 汇编语言全接触-59.Win32汇编教程三
  • 阈下抑郁文献
  • 从Windows到Linux再到macOS:C#权限模型统一落地的4种技术路径
  • 2018-Shapefiles-Good-Bad-Ugly
  • AP课程辅导全攻略:从选课逻辑到机构测评,助你精准提升申请竞争力 - 品牌测评鉴赏家
  • YOLOv8目标检测实战:从零搭建GPU环境并加速模型训练
  • 为什么顶尖团队都在用C#拦截器?深度剖析其在微服务通信中的核心价值
  • 2025年靠谱正规KOA电阻代理商排行榜,KOA电阻源头代理商推荐 - 工业推荐榜
  • 2025年防水/不伤牙/高端/感应充电/声波/敏感牙专用电动牙刷推荐榜:Allegro爱丽歌,适配精英人群的口腔护理新体验 - 品牌推荐官
  • 【C#跨平台方法拦截终极指南】:掌握高效AOP编程核心技术
  • 汇编语言全接触-60.Win32汇编教程四
  • YOLOv8在零售货架商品识别中的精准应用
  • 2026年1月份学校/幼儿园/医院/家装/儿童房/美容会所/酒店客房专用的环保涂料生产厂家权威测评榜单重磅来袭 - 一搜百应
  • 2026活塞压力计厂家最新推荐榜:含气体活塞压力计、高压活塞压力计、高静压差压、微压活塞压力计 - 深度智识库
  • YOLOv8模型灰盒测试方法:接口与行为验证
  • 感知机--异或门的实现
  • SAT/IB课程辅导机构怎么选?3大核心维度+优质机构推荐,备考少走弯路 - 品牌测评鉴赏家
  • 2020-JTS-Overlay-Next-Generation
  • java计算机毕业设计心理问题档案管理系统 心理健康信息档案平台 心理诊疗电子档案系统
  • 2025年钢渣/矿渣/铝灰/选矿/大型球磨机厂家实力推荐榜:四家源头厂家的全方位解析 - 品牌推荐官
  • 【毕业设计】基于SpringBoot的自习室预约管理系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • 2025高性价比的成人书法培训专业机构TOP5排行 - 工业推荐榜
  • AI论文辅助工具排名:9款平台实测,开题报告生成及降重效果显著