Linux的目录结构--一切从根开始
Linux目录结构的特点
# 举例-linux下面使用光盘 ###1.把光盘放入到光驱中 ###2.linux中使用光盘 /dev/cdrom [root@oldboyedu-01 ~]# ll /dev/cdrom lrwxrwxrwx. 1 root root 3 Sep 25 10:01 /dev/cdrom -> sr0 [root@oldboyedu-01 ~]# cd /dev/cdrom -bash: cd: /dev/cdrom: Not a directory [root@oldboyedu-01 ~]# cat /dev/cdrom ###3.把光盘挂载到系统里面 [root@oldboyedu-01 ~]# mount /dev/cdrom /mnt/ mount: block device /dev/sr0 is write-protected, mounting read-only [root@oldboyedu-01 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 8.8G 1.4G 7.0G 17% / tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/sda1 190M 40M 141M 22% /boot /dev/sr0 3.7G 3.7G 0 100% /mnt
特点一
一切从根开始
Linux的目录,像是一个有层次树状结构,只有这一棵树,不像Win分为好几个盘,彼此不相干
特点二
Linux中的每个设备可以挂载任何目录上
特点三
Linux下面的设备没有挂载无法使用
相当于给设备开了一个入口
入口--挂载点--目录
Linux核心目录简介
首先,安装一个软件
安装遇到错误: [root@oldboyedu-01 mnt]# yum install tree Loaded plugins: fastestmirror, security Setting up Install Process Loading mirror speeds from cached hostfile Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os&infra=stock error was 14: PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'" Error: Cannot find a valid baseurl for repo: base
1./bin - 重要的二进制 (binary) 应用程序
包含二进制文件,系统的所有用户使用的命令都在这个目录下。
2./boot - 启动 (boot) 配置文件
包含引导加载程序相关的文件,系统引导程序+系统的内核
3./dev - 设备 (device) 文件
包含设备文件,包括终端设备,USB或连接到系统的任何设备。
4./etc - 配置文件、启动脚本等 (etc)
包含所有程序所需的配置文件,也包含了用于启动/停止单个程序的启动和关闭shell脚本。
5./home - 本地用户主 (home) 目录
所有用户用home目录来存储他们的个人档案
6./lib - 系统库 (libraries) 文件
包含支持位于/bin和/sbin下的二进制文件的库文件。
7./lost+found - 在根 (/) 目录下提供一个遗失+查找(lost+found) 系统
必须在root用户下才可以查看当前目录下的内容。
8./media - 挂载可移动介质 (media),诸如 CD、数码相机等
用于挂载可移动设备的临时目录
9./mnt - 挂载 (mounted) 文件系统
临时安装目录,系统管理员可以挂载文件系统
10./opt - 提供一个供可选的 (optional) 应用程序安装目录
包含从各个厂商的附加应用程序,附加的应用程序应该安装在/opt或者/opt的子目录下。
11./proc - 特殊的动态目录,用以维护系统信息和状态,包括当前运行中进程 (processes) 信息。
包含系统进程的相关信息,是一个虚拟的文件系统,包含有关正在运行的进程的信息,系统资源以文本信息形式存在。
为了解决一切皆文件
12./root - root (root) 用户主文件夹,读作“slash-root”
13./sbin - 重要的系统二进制 (system binaries) 文件
也是包含的二进制可执行文件。在这个目录下的linux命令通常都是由系统管理员使用的,对系统进行维护。
14./sys - 系统 (system) 文件
虚拟的目录
15./tmp - 临时(temporary)文件
包含系统和用户创建的临时文件。当系统重启时,这个目录下的文件将都被删除
16./usr - 包含绝大部分所有用户(users)都能访问的应用程序和文件
包含二进制文件,库文件。文档和二级程序的源代码
17./var - 经常变化的(variable)文件,诸如日志或数据库等
代表变量文件。在这个目录下可以找到内容可能增长的文件
文件目录详解
网卡的配置文件
setup命令的本质就是修改这个文件
--/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 ###网卡的名字 HWADDR=00:0c:29:1e:67:61 #@@hardware address硬件地址 MAC地址 TYPE=Ethernet ###互联网 UUID=3405d22b-1aab-45a5-b57f-c0d005e4f269 ###UUID 系统中唯一的标识 ONBOOT=yes #@@booton 在重启的时候是否开启网卡(自动运行) NM_CONTROLLED=yes ###是否能被network软件进行管理 BOOTPROTO=none #@@网卡获取ip地址的方式 #none/static ip地址是固定的,服务器的IP如果是动态的,可就乱了 #dhcp 自动获取ip地址 IPADDR=10.0.0.200 #@@ ip address ip地址 NETMASK=255.255.255.0 ### 子网掩码 局域网内最多能有多少机器 GATEWAY=10.0.0.2 #@@ 网关 默认的出口 USERCTL=no ### 是否准许普通用户管理网卡 开 关 重启 PEERDNS=yes ### 网卡的配置优先于DNS DNS1=223.5.5.5 #@@ DNS2=223.6.6.6 #@@
DNS域名解析系统
把使用的域名转换为ip地址
常见的DNS服务器
###阿里云的DNS #223.5.5.5 #223.6.6.6 ###114 #114.114.114.114 #114.114.115.115 ###谷歌 #8.8.8.8
常见的DNS有关的错误
ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'"
错误 无法 解析 域名 mirrorlist.centos.org
[root@oldboyedu-01 ~]# yum install tree Loaded plugins: fastestmirror, security Setting up Install Process Loading mirror speeds from cached hostfile Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os&infra=stock error was 14: PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'" Error: Cannot find a valid baseurl for repo: base ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'" 错误 无法 解析 域名 mirrorlist.centos.org 无法解析域名##linux无法上网,屌丝逃离洗浴中心之路(linux进行) 1.ping www.baidu.com #是否能上网 2.ping 223.5.5.5 #DNS是否有问题 [root@oldboyedu-01 ~]# ping www.baidu.com ping: unknown host www.baidu.com
未知的 域名
[root@oldboyedu-01 ~]# ping 223.5.5.5
PING 223.5.5.5 (223.5.5.5) 56(84) bytes of data.
64 bytes from 223.5.5.5: icmp_seq=1 ttl=128 time=50.7 ms
64 bytes from 223.5.5.5: icmp_seq=2 ttl=128 time=50.4 ms
64 bytes from 223.5.5.5: icmp_seq=3 ttl=128 time=49.9 ms
64 bytes from 223.5.5.5: icmp_seq=4 ttl=128 time=49.8 ms
64 bytes from 223.5.5.5: icmp_seq=5 ttl=128 time=50.3 ms
^C
--- 223.5.5.5 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4810ms
rtt min/avg/max/mdev = 49.840/50.257/50.744/0.416 ms
[root@oldboyedu-01 ~]# #1.有问题
[root@oldboyedu-01 ~]# #2.ping通畅
[root@oldboyedu-01 ~]# #DNS有问题
##如何修改DNS
####1.在网卡配置文件中添加上
DNS1=223.5.5.5
DNS2=223.6.6.6
[root@oldboyedu-01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0c:29:1e:67:61
TYPE=Ethernet
UUID=3405d22b-1aab-45a5-b57f-c0d005e4f269
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=10.0.0.200
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
USERCTL=no
PEERDNS=yes
IPV6INIT=no
DNS1=223.5.5.5
DNS2=223.6.6.6
###2.网卡的配置生效-重启网卡
#####重启某一个网卡
ifdown eth0 && ifup eth0
#####重启所有网卡
/etc/init.d/network restart
网卡配置小结:
1.屌丝逃离洗浴中心之路
2.如何修改DNS
3.IPADDR,GATEWAY,ONBOOT,BOOTPROTO,DNS1,DNS2
配置DNS
--/etc/resolv.conf
##网卡配置文件里面的DNS优先于 /etc/resolv.conf
##配置DNS都在网卡里面配置
修改主机名
--/etc/sysconfig/network
#######第一个里程碑-查看当前的主机名
[root@oldboyedu-01 ~]# hostname
oldboyedu-01
#######第二个里程碑-临时修改主机名-重启服务器之后失效
[root@oldboyedu-01 ~]# hostname oldboyedu01-nb
[root@oldboyedu-01 ~]# hostname
oldboyedu01-nb
#######第三个里程碑-永久修改主机名-重启服务器之后生效
[root@oldboyedu01-nb ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=oldboyedu01-nb
#######最后一步:让主机名能解析(ping主机名可以畅通)
[root@Dao ~]# ping $(hostname)
vim /etc/hosts
添加10.0.0.200 Linux_dao(你的hostname)
新学一个快捷键:esc + . 使用上一个命令的最后一个
HOST文件
--/etc/hosts
ip地址与域名解析关系 对主机名进行解析
作用:
在网站需要更新之前,把地址配置到本地的虚拟环境中,而不是真实的
##上线之前需要进行测试-www.jd.com www.baidu.com www.oldboyedu.com
##真实访问的时候 www.baidu.com ---->通过ping 得到 119.75.216.20
###在测试的时候 下单---www.jd.com www.baidu.com 这就成了真的下单,东西过几天就送到了你的手上
####想办法把 www.jd.com www.baidu.com 解析到 10.0.0.200(测试机器)
在文件中添加设置
10.0.0.200 www.baidu.com www.jd.com
##进行测试
win中的host文件
/etc/hosts
C:\Windows\System32\drivers\etc\hosts
开机的时候自动挂载的文件
--/etc/fstab 开机的时候给每个磁盘分区开一个入口
#第一列 --表示设备/分区
#第二列 --表示入口/目录/挂载点
df -h 查看系统磁盘的大小和使用情况
blkid 查看 设备详细列表
开机的时候自动运行的文件
--/etc/rc.local 需要开机自启动的软件/命令/服务放在这个文件中
Startup
如何让一个软件/脚本/服务开机自动运行?
1./etc/rc.local # 服务器运行软件的清单
2.通过chkconfig管理 # 开机自启动
开机的时候运行级别的配置文件
--/etc/inittab
#init tab(table)
###### 1.linux运行级别讲解
0 关机状态,不要把运行级别设置为0
1 单用户模式 root用户密码忘记了
2 多用户模式,但是没有NFS
3 完全的多用户模式,命令模式,文本模式
4 未使用
5 X11,桌面模式,图形化界面模式
6 重启状态,不要把运行级别设置为6
###### 2.如何查看当前运行级别
[root@oldboyedu01-nb ~]# runlevel
N 3
[root@oldboyedu01-nb ~]# # N 3
[root@oldboyedu01-nb ~]# #上一次使用的运行级别 当前系统的运行级别
###### 3.如何切换运行级别-临时
[root@oldboyedu01-nb ~]# #上一次使用的运行级别 当前系统的运行级别
[root@oldboyedu01-nb ~]# init 5
[root@oldboyedu01-nb ~]# runlevel
3 5
###### 4.如何永久修改运行级别-重启生效
[root@oldboyedu01-nb ~]# tail -1 /etc/inittab
id:3:initdefault:
小结:
1.0-6含义
2.如何查看
3.如何修改 临时 永久
服务管理的命令
Linux放置命令的地方有哪些?
--/etc/init.d/
系统环境变量 别名
--/etc/profile
#PS1 PATH
#LANG==>/etc/sysconfig/i18n 单独放置
别名
--/etc/bashrc 正统存放别名的地方
######国法(全国各地生效)
/etc/profile 系统环境变量 别名 √√√√√---常用
/etc/bashrc 别名
######家规(地方政策 当前用户生效)
~/.bashrc
~/.bash_profile
~ 表示当前用户的家目录
root ~ ===== /root
oldboy ~ ===== /home/oldboy
编译安装的软件默认的位置
/usr/local
C:\Program Files ---------windows安装软件默认的位置
Linux下面安装软件安装的3种方法
1.yum (自动解决安装依赖的软件) 点外卖-你缺少什么外面给你解决
yum install tree
yum install tree -y
2.rpm (缺啥少啥自己解决) 速冻水饺-半成品-缺少的东西自己解决
3.编译安装 自己做饭
买菜切菜---------炒菜-----上菜
./configure-------make----make install
[root@oldboyedu01-nb ~]# ##查看软件是否安装成功
[root@oldboyedu01-nb ~]# rpm -qa |grep tree
tree-1.5.3-3.el6.x86_64
/usr/share 另一个安装软件的地方,主要是系统文档,了解一下
系统日志
系统默认日志信息
#######/var/log/messages
系统用户的登录信息
#######/var/log/secure (谁 什么时候 从哪里登录的 是否成功)
grep “Failed Password” /var/log/secure 从登陆信息日志中获取是否有人在尝试破解密码
虚拟目录proc
--/proc/meminfo 内存信息
[root@oldboyedu01-nb ~]# free
total used free shared buffers cached
Mem: 3908500 386300 3522200 236 39192 165944
-/+ buffers/cache: 181164 3727336
Swap: 786428 0 786428
[root@oldboyedu01-nb ~]# free -h
total used free shared buffers cached
Mem: 3.7G 377M 3.4G 236K 38M 162M
-/+ buffers/cache: 176M 3.6G
Swap: 767M 0B 767M
--/proc/cpuinfo 查看cpu信息
lscpu 显示CPU信息
--/proc/loadavg 系统的负载
负载:系统的繁忙程度
最近1分钟 最近5分钟 最近15分钟 平均负载
[root@oldboyedu01-nb ~]# w
22:20:05 up 12:18, 4 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 10.0.0.1 19:16 2:08m 0.18s 0.18s -bash
root pts/1 10.0.0.1 11:03 3:02m 0.06s 0.06s -bash
root pts/2 10.0.0.1 20:32 1.00s 0.18s 0.07s w
root pts/4 10.0.0.1 20:18 2:01m 0.03s 0.03s -bash
#系统的负载接近系统cpu的核心数量 表示cpu越忙
--/proc/mounts 显示系统挂载信息
df –h 查看磁盘空间的使用情况,人类可读
findmnt 相似于 cat /proc/mounts