Day06-Linux下目录命令讲解及重要文件讲解
- 1. Linux目录文件
- 1.1 Linux系统目录结构介绍
- 1.1.1 Linux与Windows目录结构对比
- 1.2 重要的Linux配置文件介绍
- 1.2.1 /etc系统初始化及设置相关重要文件
- 1.2.2 /usr目录的重要知识介绍------应用程序目录
- 1.2.3 /var目录下的路径知识------可变化的目录
- 1.2.4 /proc下的重要路径知识 ------进程和内核信息的文件
- 1.2.5 /dev下目录知识
1. Linux目录文件
1.1 Linux系统目录结构介绍
1.1.1 Linux与Windows目录结构对比
相对路径和绝对路径:
绝对路径:
从根开始,开始有一个/目录
ls /etc/sysconfig/
地球亚洲中国北京昌平沙河白沙路 父类。。。。老男孩教育77期
相对路径:
root@oldboy 老男孩教育#
cd Linux77期
[root@oldboy ~]# mkdir oldboy -p
[root@oldboy ~]# cd oldboy #相对路径
[root@oldboy oldboy]# cd ../ #相对路径
[root@oldboy ~]# cd /root/oldboy #绝对路径
无效的:
cd oldboy #相对路径
[root@oldboy ~]# cd oldboy #相对路径
linux第一级目录结构:
[root@oldboy oldboy]# tree -L 1 /
/
├── bin -> usr/bin #/bin等同/usr/bin #普通用户二进制命令目录。
├── sbin -> usr/sbin #/sbin/等同/usr/sbin #root管理员使用的二进制命令目录
├── boot #内核程序及引导程序所在的目录,100M
├── dev #设备目录(光驱 磁盘)
├── etc #系统基础服务配置文件所在的目录(yum rpm安装的软件)
├── home #普通用户的家目录(三间茅草房)
├── root #管理员的家目录(皇宫)
├── lib -> usr/lib #库文件所在目录
├── lib64 -> usr/lib64 #库文件所在目录
├── media #媒体 光驱等挂载点
├── mnt #临时的挂载点(u)
├── opt #第三方程序目录
├── proc #虚拟的文件系统,内核和进程信息的目录。汽车仪表盘。
#汽车仪表盘:车况 油耗 跑了公里数 速度
├── sys #虚拟的文件系统
├── tmp #临时目录,所有用户都可以进入这里做各种操作(黑客跳板目录),监控目录。
├── usr #c:/program file 应用程序所在目录
└── var #数据变化的目录,日志文件存放目录。
1.2 重要的Linux配置文件介绍
1.2.1 /etc系统初始化及设置相关重要文件
- /etc/sysconfig/network-scripts/ifcfg-eth0:网卡配置文件
[root@oldboy oldboy]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
HWADDR=00:0C:29:C4:6F:D9 #MAC地址 网卡的物理地址
TYPE=Ethernet #以太网
BOOTPROTO=none #
IPADDR=10.0.0.129 #IP地址
PREFIX=24 #子网掩码
GATEWAY=10.0.0.254 #网关
DNS1=223.5.5.5 #DNS1 域名解析为IP。
DNS2=202.106.0.20 #DNS2 域名解析为IP。
NAME=eth1 #设备名
UUID=cf363dd6-05ce-37d3-8caa-242f64883a8f #唯一标识
ONBOOT=yes #网卡随着linux开启启动
- /etc/resolv.conf:Linux系统过时的DNS客户端配置文件
[root@oldboy oldboy]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 223.5.5.5
nameserver 202.106.0.20
重启网卡时候,网卡配置文件里的DNS设置会覆盖这里的设置。
配置客户端DNS有两种方法;
1.网卡配置文件里设置(优先)
2.直接在/etc/resolv.conf里配置(很容易被覆盖)
- /etc/hostname:主机名配置文件
查主机名:
[root@oldboy ~]# hostname
oldboy
[root@oldboy ~]# uname -n
oldboy
修改主机名:
1.nmtui
2.hostnamectl set-hostname oldboy
3.vim /etc/hostname
- /etc/hosts:系统本地的DNS解析文件(局域网 域名和IP解析文件)
10.0.0.129 oldboy
10.0.0.129 oldboy www.oldboyedu.com www.baidu.com
内部测试,临时访问。服务器之间联系会用主机名的形式
【大公司】还是【小公司】?
有大厂的经历,但不代表就去大厂。
【大公司】
1.业务流量大。
2.规范的制度和流程。
3.学习到很多大流量知识框架。
4.背景好。
缺:
1.实际工作范围很窄。
2.自动化了,鼠标点点点。了解业务,落后了。开发主导运维。
【小公司】
1.全面锻炼自己。
2.单打独斗能力很强。
- /etc/fstab:配置开机设备自动挂载的文件
(危险的文件容易导致linux无法启动)
特殊知识点:
linux设备 直接插上去 用不了。
[root@oldboy ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@oldboy ~]# ls /mnt/
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
重启,挂载就失效。
/etc/fstab 永久挂载。
[root@oldboy ~]# df -h #查看挂载结果
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 2.0G 12M 2.0G 1% /run
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/mapper/centos-root 17G 1.9G 16G 11% / #自动挂载
/dev/sda1 1014M 138M 877M 14% /boot #自动挂载了
tmpfs 394M 0 394M 0% /run/user/0
/dev/sr0 4.5G 4.5G 0 100% /mnt #挂载结果
#/etc/fstab
/dev/cdrom /mnt iso9660 defaults 0 0
- /etc/rc.local:存放开机自启动程序命令的文件
软连接到/etc/rc.d/rc.local
[root@oldboy ~]# ls -l /etc/rc.local
lrwxrwxrwx. 1 root root 13 5月 7 09:23 /etc/rc.local -> rc.d/rc.local
[root@oldboy ~]# ls /etc/rc.d/rc.local -l
-rw-r--r--. 1 root root 473 4月 1 2020 /etc/rc.d/rc.local
默认不能用,必须给权限。
[root@oldboy ~]# chmod +x /etc/rc.d/rc.local #给执行权限。
[root@oldboy ~]# ls /etc/rc.d/rc.local -l
-rwxr-xr-x. 1 root root 473 4月 1 2020 /etc/rc.d/rc.local
- /etc/issue
闷声发大财
绝对不背后说人坏话,如果要说,说好话。 ====拉高人品
祸从口出,病从口入
简单做事,低调做人。
[root@oldboy ~]# cat /etc/issue
\S
Kernel \r on an \m
[root@oldboy ~]# >/etc/issue #清空内容
[root@oldboy ~]# cat /etc/issue
- /etc/motd:配置用户登录系统之后显示提示内容的文件
[root@oldboy ~]# echo "这是老男孩Linux77期" >/etc/motd
[root@oldboy ~]# cat /etc/motd
这是老男孩Linux77期
用途:提醒自己。。提醒使用服务器人员。
- /etc/redhat-release:声明Red Hat版本号和名称信息的文件
[root@oldboy ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
[root@oldboy ~]# uname -r
3.10.0-1127.el7.x86_64
[root@oldboy ~]# uname -n
oldboy
[root@oldboy ~]# uname -a
Linux oldboy 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
- /etc/sysctl.conf:Linux内核参数设置文件(系统优化)****
配置完:sysctl -p生效,直接编辑完不生效
- /etc/profile、/etc/bashrc 配置系统的环境变量/别名等的文件※※※
PS1
1.2.2 /usr目录的重要知识介绍------应用程序目录
- /usr/local/:编译安装软件默认的位置路径,c:\Program files。
- /usr/src:源代码目录
日志:计算机遇到各种问题,记录日志里,告诉管理员他们的情况。
1.2.3 /var目录下的路径知识------可变化的目录
-
/var/log/messages #linux系统日志文件,系统故障可以去看看。
-
/var/log/secure #安全日志(ssh日志记录到这里),监控日志。
-
/var/log/dmesg #记录硬件信息加载情况的日志文件(dmesg)
1.2.4 /proc下的重要路径知识 ------进程和内核信息的文件
路径名称 路径说明
/proc/cpuinfo 当前cpu信息文件
/proc/meminfo 当前内存信息文件
/proc/loadavg 当前系统的平均负载文件
/proc/mounts 当前设备挂载列表信息文件
/proc/interrupts 当前系统中断信息文件
1.2.5 /dev下目录知识
/dev/hd[a-t] IDE设备
/dev/sd[a-z] SCSI设备
/dev/null 无限数据接收设备,相当于黑洞
/dev/zero 无限零资源
/dev/cdrom 光驱
可以看看
链接: https://blog.51cto.com/aqiang/1891893
目录命令:
1)cp 复制目录
cp 选项 源 目标
复制文件:
[root@oldboy ~]# cp /etc/hosts /tmp/
[root@oldboy ~]# ls /tmp/
复制目录:
[root@oldboy ~]# cp -r /etc /tmp/
[root@oldboy ~]# ls /tmp/
[root@oldboy ~]# cp -a /etc /opt
[root@oldboy ~]# ls /opt
etc
cp -t 目标 源
[root@oldboy ~]# cp -t /home/oldboy/ /etc/hosts
[root@oldboy ~]# ls /home/oldboy/
ddasdf hosts
2)mv 移动目录或文件
把当前目录下的dir1,移动到/tmp目录。
[root@oldboy ~]# mv dir1 /tmp/
练习:
[root@oldboy ~]# ls
a a.out c oldboy stu1 stu2 stu4 stu6 stu8
anaconda-ks.cfg b epel-7.repo oldboy_dir stu10 stu3 stu5 stu7 stu9
1)直接删,会提示
[root@oldboy ~]# rm a.out
rm:是否删除普通空文件 "a.out"?y
2)强制删
[root@oldboy ~]# rm -f epel-7.repo
[root@oldboy ~]# ls
a b oldboy stu1 stu2 stu4 stu6 stu8
anaconda-ks.cfg c oldboy_dir stu10 stu3 stu5 stu7 stu9
3)直接删目录 提示
[root@oldboy ~]# rm -r oldboy
rm:是否删除目录 "oldboy"?y
4)强制删
[root@oldboy ~]# rm -fr a
[root@oldboy ~]# rm -fr b
[root@oldboy ~]# rm -fr c
[root@oldboy ~]# ls
anaconda-ks.cfg stu1 stu2 stu4 stu6 stu8
oldboy_dir stu10 stu3 stu5 stu7 stu9
5)批量删
[root@oldboy ~]# rm -fr stu*
注意:*表示匹配所有
[root@oldboy ~]# ls
anaconda-ks.cfg oldboy_dir
生产慎用:
- 用mv替代rm,把/tmp当做回收站
[root@oldboy ~]# touch a.txt b.txt
[root@oldboy ~]# mv a.txt /tmp/
[root@oldboy ~]# ls
anaconda-ks.cfg b.txt oldboy_dir
处理错了,移动回来
[root@oldboy ~]# mv /tmp/a.txt .
[root@oldboy ~]# ls
anaconda-ks.cfg a.txt b.txt oldboy_dir
-
find+rm 提高删除的门槛。
命令复杂,多少天以前,多大的删。。什么类型的。 -
不要全路径删文件。
今天作业:
1.有道笔记,对今天学的内容,发录音。
2.文件相关命令 vim cat tail head grep tr more less echo 等
3.预习 视频目录12-13 启动流程放弃
跑火车:
1.上网
2.epel源
配置第三方epel源更新地址:
curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
3.yum install sl -y
4.sl
5.效果
(@@) ( ) (@) ( ) @@ () @ O @ O
( )
(@@@@)
( )
(@@@)
==== ________ ___________
_D _| |_______/ \__I_I_____===__|_________|
|(_)--- | H\________/ | | =|___ ___| _______________
/ | | H | | | | ||_| |_|| _|
| | | H |__--------------------| [___] | =|
| ________|___H__/__|_____/[][]~\_______| | -|
|/ | |-----------I_____I [][] [] D |=======|____|________________
__/ =| o |=-~~\ /~~\ /~~\ /~~\ ____Y___________|__|__________________
|/-=|___|= || || || |_____/~\___/ |_D__D__D_| |_D
\_/ \O=====O=====O=====O_/ \_/ \_/ \_/ \_
[root@oldboy ~]# yum install cowsay -y
[root@oldboy ~]# cowsay “I am oldboy”
< I am oldboy >
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||