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 #@@
把使用的域名转换为ip地址
###阿里云的DNS #223.5.5.5 #223.6.6.6 ###114 #114.114.114.114 #114.114.115.115 ###谷歌 #8.8.8.8
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无法上网 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
--/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 + . 使用上一个命令的最后一个
--/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/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
[root@luffy_boy-001 /]# ls -lhi /etc/hosts 129822 -rw-r--r--. 2 root root 198 Jan 11 2019 /etc/hosts
文件属性就是 ls -lhi 命令输出结果每一列的含义
l list one file per line i --inode print the index number of each file h --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G)
129822 # inode号码 - # 文件类型 rw-r--r--. # 文件的权限.(.与selinux有关) 2 # 文件硬链接数量 root # 主人 root # 家人 198 # 文件大小 Jan 11 2019 # 最后修改时间 /etc/hosts # 文件名不是文件的属性
我们从获得一个硬盘,到可以向硬盘中存放数据,都经历了哪些阶段?
做一个比喻,把硬盘比作房子的话。
有房子----------------->买了个硬盘
划分隔断-------------->分区
装修-不同风格-------->格式化创建文件系统
安装门窗--------------->挂载
住人--------------------->存数据
用来存放文件属性的空间
我们通过iNode号码来找到这个空间
inode号码----家庭住址
inode空间----家
文件名不存放在inode中。
通过格式化创建文件系统,得到
[root@luffy_boy-001 /]# df -i (系统里面inode用了多少,剩余多少) Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda3 462384 55433 406951 12% / tmpfs 488562 1 488561 1% /dev/shm /dev/sda1 51200 39 51161 1% /boot /dev/sr0 0 0 0 - /mnt [root@luffy_boy-001 /]# df -ih (-h人类可读) Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda3 452K 55K 398K 12% / tmpfs 478K 1 478K 1% /dev/shm /dev/sda1 50K 39 50K 1% /boot /dev/sr0 0 0 0 - /mnt [root@luffy_boy-001 /]# ls -ilh (查看某些文件的inode) total 122K 143585 drwxr-xr-x. 3 root root 4.0K Jan 12 2019 app 29 dr-xr-xr-x. 2 root root 4.0K Jan 10 2019 bin 2 dr-xr-xr-x. 5 root root 1.0K Jan 10 2019 boot 143562 drwxr-xr-x. 2 root root 4.0K Jan 10 2019 data 143552 drwxr-xr-x. 3 root root 4.0K Jan 10 2019 data_bak 4 drwxr-xr-x. 20 root root 3.7K Jan 10 2019 dev 129795 drwxr-xr-x. 78 root root 4.0K May 20 01:08 etc 30 drwxr-xr-x. 3 root root 4.0K Jan 11 2019 home
数据块,实际存放数据的位置
也是格式化创建文件系统
[root@luffy_boy-001 /]# df -h (查看磁盘block使用情况) Filesystem Size Used Avail Use% Mounted on /dev/sda3 6.9G 1.5G 5.1G 22% / 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
[root@luffy_boy-001 /]# ls -lh total 122K drwxr-xr-x. 3 root root 4.0K Jan 12 2019 app dr-xr-xr-x. 2 root root 4.0K Jan 10 2019 bin dr-xr-xr-x. 5 root root 1.0K Jan 10 2019 boot drwxr-xr-x. 2 root root 4.0K Jan 10 2019 data drwxr-xr-x. 3 root root 4.0K Jan 10 2019 data_bak drwxr-xr-x. 20 root root 3.7K Jan 10 2019 dev
no space left on device磁盘空间不足-因为block满了。 seq 100000000 >/tmp/big #第一个里程碑-看看到底哪里满了 [root@oldboyedu01-nb ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 8.8G 8.8G 0 100% / tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/sda1 190M 40M 141M 22% /boot #第二个里程碑-是哪一个目录占得空间大,最终定位到目录或文件 [root@oldboyedu01-nb ~]# [root@oldboyedu01-nb ~]# du -sh /*|grep G 1.1G /usr 7.4G /var [root@oldboyedu01-nb ~]# du -sh /var/*|grep G 7.3G /var/log [root@oldboyedu01-nb ~]# du -sh /var/log/*|grep G 7.3G /var/log/messages [root@oldboyedu01-nb ~]# ls -lh /var/log/messages -rw------- 1 root root 7.3G Oct 16 19:20 /var/log/messages #第三个里程碑-问清楚是否可以删除,然后在操作。 【Y】企业案例:如果向磁盘写入数据提示如下错误:No space left on device(磁盘空间不足),通过df -h查看磁盘空间,发现没满,请问可能原因是什么?企业场景什么情况下会导致这个问题发生? inode用光了。 模拟环境的命令。 mkdir -p /app/logs dd if=/dev/zero of=/dev/sdc bs=8K count=10 ls -l /dev/sdc mkfs.ext4 /dev/sdc mount -o loop /dev/sdc /app/logs [root@oldboyedu01-nb ~]# cd /app/logs/ [root@oldboyedu01-nb logs]# touch stu{1..6}.log touch: cannot touch `stu6.log‘: No space left on device [root@oldboyedu01-nb logs]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 8.8G 1.6G 6.9G 19% / tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/sda1 190M 40M 141M 22% /boot /dev/sdc 73K 14K 55K 21% /app/logs [root@oldboyedu01-nb logs]# df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda3 593344 58530 534814 10% / tmpfs 488562 1 488561 1% /dev/shm /dev/sda1 51200 39 51161 1% /boot /dev/sdc 16 16 0 100% /app/logs
解决办法:删除一些不需要的文件,释放一些inode
- f file 普通文件
d directory 目录
l softlink 软链接(快捷方式)
普通文件 都显示的是 - ,但是也是有区别的,怎么查看不同类型的普通文件呢? [root@oldboyedu01-nb ~]# ls -l /tmp/etc.tar.gz /bin/ls /etc/hosts -rwxr-xr-x. 1 root root 117048 Mar 23 2017 /bin/ls -rw-r--r--. 2 root root 200 Sep 25 20:19 /etc/hosts -rw-r--r-- 1 root root 9744299 Oct 20 2017 /tmp/etc.tar.gz
用file 查看文件详细类型 ##二进制文件 命令 [root@oldboyedu01-nb ~]# file /bin/ls /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped ##文本文件 [root@oldboyedu01-nb ~]# file /etc/hosts /etc/hosts: ASCII text ##数据文件 data [root@oldboyedu01-nb ~]# file /tmp/etc.tar.gz /tmp/etc.tar.gz: gzip compressed data, from Unix, last modified: Fri Oct 20 01:36:16 2017
windows windows下通过扩展名区分不同类型的文件。
linux 扩展名是用来给我们自己看的。就算手动修改或者添加了扩展名,他的文件类型还是不会改变
# 创建压缩包文件 [root@luffy_boy-001 ~]# tar zcf /oldbo_y.txt /oldboy/alex.txt tar: Removing leading `/‘ from member names # 查看文件 [root@luffy_boy-001 ~]# cat /oldboy.txt ? Y@P²‘P?F;MpM??)´ê½吾43e¹???R·?¡o??s?sL±?¯g?ºµ¯????}?"( # 查看压缩包文件 [root@luffy_boy-001 ~]# tar tf /oldboy.txt oldboy/alex.txt
linux有以下常见的扩展名
.sh 脚本文件
.conf 配置文件
整体对于一个文件/目录来说:用户可以分为3类
主人 所有者的名字
家人 所有者属于的组的名字
陌生人
[root@oldboyedu01-nb tmp]# ll -hi /etc/hosts 390174 -rw-r--r--. 2 root root 200 Sep 25 20:19 /etc/hosts
假设我是pizza用户,如何查询我与这个文件有什么关系?
[root@luffy_boy-001 ~]# id pizza
uid=500(pizza) gid=500(pizza) groups=500(pizza) #id查询用户信息 #属于哪个用户组
linux中存在于系统中的用户如何分类
linux中存在于系统中的用户如何分类 UID user id 用户的id号码=====身份证号码 √√√√√ GID group id 用户组的id号码===户口本的号码 UID 1.皇帝 root 0 2.傀儡 虚拟用户 1-499 系统中每个进程要有一个对应的用户,无法使用的. 3.贫民百姓 普通用户 500+ 如何保护皇帝root 1.禁止root远程登录 2.修改ssh默认的端口号22 3.定期分析/var/log/secure 记录着用户的登录信息 #与用户有关的文件 /etc/passwd 存放的是用户的信息 /etc/shadow 用户密码的信息 /etc/group 用户组的信息 /etc/passwd root :x:0 :0 :root:/root :/bin/bash oldboy:x:500:500: :/home/oldboy:/bin/bash 第一列:用户名字 第二列:存放密码的地方 第三列:UID 第四列:GID 第五列:用户的说明信息,默认为空 第六列:用户的家目录 ~ root ~ /root oldboy ~ /home/oldboy 第七列:用户使用的shell,用户使用的命令解释器 /bin/bash--------centos默认的命令解释器 /sbin/nologin----用户无法登陆系统,相当于是傀儡用户
r 4 read可以读取文件内容
w 2 write修改文件内容
x 1 execute可以运行文件(命令 脚本)
- 0 什么权限都没有
[root@luffy_boy-001 ~]# ls -l total 40 -rw-------. 1 root root 1061 Jan 10 2019 anaconda-ks.cfg -rw-r--r--. 1 root root 21736 Jan 10 2019 install.log # 权限的显示,和查看方法,分割成三部分 # rw- --- --- # rw- r-- r-- # 主人 家人 陌生人
420 000 000
420 400 400
6 0 0
6 4 4
[root@oldboyedu01-nb ~]# ls -l /bin/ls
-rwxr-xr-x. 1 root root 117048 Mar 23 2017 /bin/ls
421401401
7 5 5
也叫作,符号链接
如何创建软链接
[root@luffy_boy-001 oldboy]# ln -s alex.txt alex.txt-soft [root@luffy_boy-001 oldboy]# ll total 36 -rw-r--r--. 1 root root 0 Jan 10 2019 alex.txt lrwxrwxrwx. 1 root root 8 May 20 23:02 alex.txt-soft -> alex.txt
软链接的特点
1、存放着源文件的位置
2、源文件被删除,软链接会找不到原链接,并失效,显示为红色,并闪动
3、节约时间
相当于,超市的前后门,通过不同的大门进入超市
在同一个分区中,两个文件或多个文件的inode号码相同,这些文件互为硬链接
如何创建硬链接
[root@luffy_boy-001 oldboy]# ln alex.txt alex.txt-hard [root@luffy_boy-001 oldboy]# ll total 44 -rw-r--r--. 2 root root 4 May 20 23:04 alex.txt -rw-r--r--. 2 root root 4 May 20 23:04 alex.txt-hard lrwxrwxrwx. 1 root root 8 May 20 23:02 alex.txt-soft -> alex.txt
观察到硬链接数量由 1 变成了 2
硬链接的特点
1.相当于是超市的前后门,硬链接数量就是超市一共有多少门
2.删除硬链接或源文件,文件还是可以使用的
3.把硬链接和源文件都删除,文件被删除====>硬链接数量为0
描述linux下软链接和硬链接的区别 解答: 1) 如何创建: a)默认不带参数情况下,ln命令创建的是硬链接,带-s参数的ln命令创建的是软链接。 2) 含义: a)硬链接文件与源文件的inode节点号相同,而软链接文件相当于windows下面的快捷方式(inode节点号与源文件不同)
b)硬链接主要用来防止误删,因为备份会占大量空间 3) 特点: a)不能对目录创建硬链接,但可以创建软链接,对目录的软链接会经常被用到 b)软链接可以跨文件系统,硬链接不可以跨文件系统。 4) 怎么没的(源文件,软链接,硬链接与删除) a)删除软链接文件,对源文件及硬链接文件无任何影响; b)删除文件的硬链接文件,对源文件及软链接文件无任何影响; c)删除链接文件的源文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状); d)删除源文件及其硬链接文件,整个文件才会被"真正"的删除。
什么情况,才是文件被删除了?
1、硬链接数为0,使用rm
2、进程调用数为0
3、当某个文件没有被彻底删除,会导致磁盘空间满了,因为只删除了硬链接数,而一直有进程调用,这个文件会越来越大
4、如何解决:查找机器自身的服务,然后重启apache和tomcat
模拟问题
模拟思路 向/var/log/secure 追加8亿行 seq 800000000 #首先收到报警 [root@oldboyedu01-nb oldboy]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 8.8G 8.8G 0 100% / tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/sda1 190M 40M 141M 22% /boot /dev/sdc 73K 14K 55K 21% /app/logs #正常的排错过程。 [root@oldboyedu01-nb oldboy]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 8.8G 8.8G 0 100% / tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/sda1 190M 40M 141M 22% /boot /dev/sdc 73K 14K 55K 21% /app/logs [root@oldboyedu01-nb oldboy]# du -sh /* |grep G du: cannot access `/proc/2904/task/2904/fd/4‘: No such file or directory du: cannot access `/proc/2904/task/2904/fdinfo/4‘: No such file or directory du: cannot access `/proc/2904/fd/4‘: No such file or directory du: cannot access `/proc/2904/fdinfo/4‘: No such file or directory 1.1G /usr 7.4G /var [root@oldboyedu01-nb oldboy]# du -sh /var/* |grep G 7.3G /var/log [root@oldboyedu01-nb oldboy]# du -sh /var/log/* |grep G 7.3G /var/log/secure [root@oldboyedu01-nb oldboy]# \rm -f /var/log/secure #磁盘空间满了 [root@oldboyedu01-nb oldboy]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 8.8G 8.8G 0 100% / tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/sda1 190M 40M 141M 22% /boot /dev/sdc 73K 14K 55K 21% /app/logs [root@oldboyedu01-nb oldboy]# du -sh /* |grep G du: cannot access `/proc/2914/task/2914/fd/4‘: No such file or directory du: cannot access `/proc/2914/task/2914/fdinfo/4‘: No such file or directory du: cannot access `/proc/2914/fd/4‘: No such file or directory du: cannot access `/proc/2914/fdinfo/4‘: No such file or directory 1.1G /usr 占用空间明明很小,空间却满了 这就是因为,系统中某个文件没有被彻底删除。
如何找出硬链接数量为0,进程调用数不为0 lsof 显示系统中所有的文件 [root@oldboyedu01-nb oldboy]# lsof |grep delete rsyslogd 1250 root 2w REG 8,3 7803924480 130420 /var/log/secure (deleted) 软件名称 文件大小 文件名 (deleted)---标记 这个文件的硬链接数量为0,进程调用数不为0。 ##重启对应的服务 [root@oldboyedu01-nb oldboy]# /etc/init.d/rsyslog restart Shutting down system logger: [ OK ] Starting system logger: [ OK ] [root@oldboyedu01-nb oldboy]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 8.8G 1.6G 6.9G 19% / tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/sda1 190M 40M 141M 22% /boot /dev/sdc 73K 14K 55K 21% /app/logs 磁盘空间不足-no space left on device 1.block满了正常-500G 存放505G视频 2.inode满了,大量的小文件 3.block 硬链接数量为0 进程调用数不为零 文件没有被彻底删除磁盘空间不足
1.block满了正常-500G 存放505G视频
2.inode满了,大量的小文件
3.block 硬链接数量为0 进程调用数不为0 ,文件没有被彻底删除磁盘空间不足
排查:
3种
mtime modified time 文件的修改时间 文件内容的变化时间
ctime change time 文件属性的改变时间 硬链接数量 文件大小 文件权限
atime access time 文件的访问时间 cat
我能干什么?这是我最关心的问题!
切换到普通用户
[root@luffy-01 ~]# su - pizza [pizza@luffy-01 ~]$ ls /root ls: cannot open directory /root: Permission denied [pizza@luffy-01 ~]$ rm -f /etc/passwd rm: cannot remove `/etc/passwd‘: Permission denied 无权限,无法操作
1、看看你是谁
whoami
[pizza@luffy-01 ~]$ whoami
pizza
2、你与至个文件有什么关系
是 主人,家人,还是陌生人
先查看文件
[pizza@luffy-01 ~]$ ls -l /oldboy/alex.txt
-rw-r--r--. 2 root root 19 Jan 15 11:33 /oldboy/alex.txt
id 查看身份======>groups,查看是不是和文件的主人是一家子
[pizza@luffy-01 ~]$ id
uid=500(pizza) gid=500(pizza) groups=500(pizza)
[pizza@luffy-01 ~]$ id root
uid=0(root) gid=0(root) groups=0(root)
结果:文件属于root家族,pizza是这个文件的陌生人,pizza的权限是9位权限的最后3位r--
r======4 w 2 x 1 - 0 -rw------- 420000000 6 0 0 -rw-r--r-- 420400400 6 4 4 drwxr-xr-x 421401401 7 5 5
chmod ===change mode 1]使用数字的方法修改权限 chmod 755 oldboy.txt 2]使用字符 主人 家人 陌生人 user group other u g o [root@oldboyedu01-nb oldboy]# ls -l oldboy.txt -rw-r--r--. 2 root root 252 Oct 18 09:10 oldboy.txt [root@oldboyedu01-nb oldboy]# chmod u+x oldboy.txt 添加执行权限 [root@oldboyedu01-nb oldboy]# ls -l oldboy.txt -rwxr--r--. 2 root root 252 Oct 18 09:10 oldboy.txt [root@oldboyedu01-nb oldboy]# chmod u-x oldboy.txt 去除x权限 [root@oldboyedu01-nb oldboy]# ls -l oldboy.txt -rw-r--r--. 2 root root 252 Oct 18 09:10 oldboy.txt [root@oldboyedu01-nb oldboy]# chmod u=x oldboy.txt 先清空,再添加 [root@oldboyedu01-nb oldboy]# ll oldboy.txt ---xr--r--. 2 root root 252 Oct 18 09:10 oldboy.txt [root@oldboyedu01-nb oldboy]# chmod u=rwx oldboy.txt [root@oldboyedu01-nb oldboy]# ll oldboy.txt -rwxr--r--. 2 root root 252 Oct 18 09:10 oldboy.txt 3]给文件添加上执行权限 chmod +x oldboy.txt === chmod ugo+x oldboy.txt === chmod a+x oldboy.txt 4]修改文件的所有者和所属用户组 chown change owner [root@oldboyedu01-nb oldboy]# ls -l oldboy.txt -rwxr-xr-x. 2 root root 252 Oct 18 09:10 oldboy.txt [root@oldboyedu01-nb oldboy]# chown oldboy.oldboy oldboy.txt [root@oldboyedu01-nb oldboy]# ll oldboy.txt -rwxr-xr-x. 2 oldboy oldboy 252 Oct 18 09:10 oldboy.txt [root@oldboyedu01-nb oldboy]# [root@oldboyedu01-nb oldboy]# [root@oldboyedu01-nb oldboy]# [root@oldboyedu01-nb oldboy]# chown root oldboy.txt [root@oldboyedu01-nb oldboy]# ll oldboy.txt -rwxr-xr-x. 2 root oldboy 252 Oct 18 09:10 oldboy.txt [root@oldboyedu01-nb oldboy]# [root@oldboyedu01-nb oldboy]# chown root.root oldboy.txt [root@oldboyedu01-nb oldboy]# ll oldboy.txt -rwxr-xr-x. 2 root root 252 Oct 18 09:10 oldboy.txt [root@oldboyedu01-nb oldboy]# chown oldboy.oldboy oldboy.txt [root@oldboyedu01-nb oldboy]# ll oldboy.txt -rwxr-xr-x. 2 oldboy oldboy 252 Oct 18 09:10 oldboy.txt
准备环境
mkdir -p /oldboy echo -e ‘hostname\npwd‘ >/oldboy/alex.sh chown oldboy.oldboy /oldboy/alex.sh ll /oldboy/alex.sh root用户 oldboy用户
前提:对于普通非root用户
root用户下面修改 r权限
[root@luffy-01 ~]# chown oldboy.oldboy /oldboy/alex.sh [root@luffy-01 ~]# ll /oldboy/alex.sh -rw-r--r-- 1 oldboy oldboy 13 Jan 15 23:23 /oldboy/alex.sh [root@luffy-01 ~]# chmod u=r /oldboy/alex.sh [root@luffy-01 ~]# ll /oldboy/alex.sh -r--r--r-- 1 oldboy oldboy 13 Jan 15 23:23 /oldboy/alex.sh
oldboy用户下验证
[oldboy@luffy-01 ~]$ ll /oldboy/alex.sh -r--r--r-- 1 oldboy oldboy 13 Jan 15 23:23 /oldboy/alex.sh # 可读
[oldboy@luffy-01 ~]$ cat /oldboy/alex.sh
hostname
pwd [oldboy@luffy-01 ~]$ echo ‘ls -ld /root‘ >>/oldboy/alex.sh #没有写入权限 -bash: /oldboy/alex.sh: Permission denied [oldboy@luffy-01 ~]$ /oldboy/alex.sh # 没有执行权限 -bash: /oldboy/alex.sh: Permission denied
root下面修改 w
chown: invalid user: `u=w‘ [root@luffy-01 ~]# chmod u=w /oldboy/alex.sh
oldboy用户下面验证
[oldboy@luffy-01 ~]$ ll /oldboy/alex.sh --w-r--r-- 1 oldboy oldboy 13 Jan 15 23:23 /oldboy/alex.sh [oldboy@luffy-01 ~]$ cat /oldboy/alex.sh cat: /oldboy/alex.sh: Permission denied [oldboy@luffy-01 ~]$ echo ‘ls -ld /root‘ >>/oldboy/alex.sh [oldboy@luffy-01 ~]$ /oldboy/alex.sh -bash: /oldboy/alex.sh: Permission denied [oldboy@luffy-01 ~]$ cat /oldboy/alex.sh cat: /oldboy/alex.sh: Permission denied
写进去了,却不能查看,那就是然并卵了
用VIM进去,什么也看不了,写入后,提示只读权限,
退出后vim后,在root用户下查看,显示的是已经被修改的内容。
所以,只有w权限是没什么用的
小结:
1.r读取文件内容 2.w修改文件的内容,但是需要r的配合 没有r配合强制修改退出,会清空文件的内容
root下面修改 x
[root@luffy-01 ~]# ll /oldboy/alex.sh ---xr--r-- 1 oldboy oldboy 26 Jan 15 23:44 /oldboy/alex.sh
更改为x权限会变成绿色
oldboy用户下面验证
[oldboy@luffy-01 ~]$ ll /oldboy/alex.sh ---xr--r-- 1 oldboy oldboy 26 Jan 15 23:44 /oldboy/alex.sh [oldboy@luffy-01 ~]$ echo ‘w‘ >> /oldboy/alex.sh -bash: /oldboy/alex.sh: Permission denied [oldboy@luffy-01 ~]$ /oldboy/alex.sh bash: /oldboy/alex.sh: Permission denied
运行不了
加上r权限
[oldboy@luffy-01 ~]$ ll /oldboy/alex.sh -r-xr--r-- 1 oldboy oldboy 26 Jan 15 23:44 /oldboy/alex.sh [oldboy@luffy-01 ~]$ /oldboy/alex.sh luffy-01 /home/oldboy dr-xr-x---. 2 root root 4096 Jan 15 15:00 /root
可以运行了
小结:
对于文件来说rwx小结: 1.r读取文件内容 2.w修改文件的内容,但是需要r的配合 没有r配合强制修改退出,会清空文件的内容 3.x权限执行,需要r权限的配合
r 查看目录里面的内容, ls
w 可以在目录里面创建 删除 重命名文件
x 可以进入(cd)到这个目录
创建环境
mkdir -p /oldboy/alexdir chown oldboy.oldboy /oldboy/alexdir touch /oldboy/alexdir/luffy{01..5}.txt
root下修改目录权限r
[root@luffy-01 oldboy]# ll -d alexdir/ 加-d是为了把目录当做文件对待,否则就是查看目录里面的内容了 drwxr-xr-x 2 oldboy oldboy 4096 Jan 16 00:03 alexdir/ [root@luffy-01 oldboy]# chmod u=r alexdir/ [root@luffy-01 oldboy]# ll -d alexdir/ dr--r-xr-x 2 oldboy oldboy 4096 Jan 16 00:03 alexdir/
oldboy下验证
[oldboy@luffy-01 oldboy]$ ls -ld alexdir/ dr--r-xr-x 2 oldboy oldboy 4096 Jan 16 00:03 alexdir/ [oldboy@luffy-01 oldboy]$ ls -l alexdir/ ls: cannot access alexdir/luffy01.txt: Permission denied ls: cannot access alexdir/luffy05.txt: Permission denied ls: cannot access alexdir/luffy04.txt: Permission denied ls: cannot access alexdir/luffy02.txt: Permission denied ls: cannot access alexdir/luffy03.txt: Permission denied total 0 -????????? ? ? ? ? ? luffy01.txt -????????? ? ? ? ? ? luffy02.txt -????????? ? ? ? ? ? luffy03.txt -????????? ? ? ? ? ? luffy04.txt -????????? ? ? ? ? ? luffy05.txt [oldboy@luffy-01 oldboy]$ ls alexdir/ ls: cannot access alexdir/luffy01.txt: Permission denied ls: cannot access alexdir/luffy05.txt: Permission denied ls: cannot access alexdir/luffy04.txt: Permission denied ls: cannot access alexdir/luffy02.txt: Permission denied ls: cannot access alexdir/luffy03.txt: Permission denied luffy01.txt luffy02.txt luffy03.txt luffy04.txt luffy05.txt
无法看到文件的详细信息
root下加入x权限
[oldboy@luffy-01 oldboy]$ ls alexdir/ luffy01.txt luffy02.txt luffy03.txt luffy04.txt luffy05.txt [oldboy@luffy-01 oldboy]$ ls -l alexdir/ total 0 -rw-r--r-- 1 root root 0 Jan 16 00:03 luffy01.txt -rw-r--r-- 1 root root 0 Jan 16 00:03 luffy02.txt -rw-r--r-- 1 root root 0 Jan 16 00:03 luffy03.txt -rw-r--r-- 1 root root 0 Jan 16 00:03 luffy04.txt -rw-r--r-- 1 root root 0 Jan 16 00:03 luffy05.txt
可以查看了
小结:
1.对于目录来说 r表示 查看目录里面内容的权限,ls 需要x配合
2.没有x权限,那么显示的时候文件的属性无法显示
root下修改目录的w
[root@luffy-01 oldboy]# chmod u=w alexdir/
[root@luffy-01 oldboy]# ls -ld alexdir/
d-w-r-xr-x 2 oldboy oldboy 4096 Jan 16 00:03 alexdir/
oldboy下验证
[oldboy@luffy-01 oldboy]$ ll alexdir/ ls: cannot open directory alexdir/: Permission denied [oldboy@luffy-01 oldboy]$ touch alexdir/txt.txt touch: cannot touch `alexdir/txt.txt‘: Permission denied [oldboy@luffy-01 oldboy]$ rm alexdir/luffy01.txt rm: cannot remove `alexdir/luffy01.txt‘: Permission denied
各种操作都不行
添加x权限
[oldboy@luffy-01 oldboy]$ ll alexdir/ ls: cannot open directory alexdir/: Permission denied [oldboy@luffy-01 oldboy]$ ll alexdir/ -d d-wxr-xr-x 2 oldboy oldboy 4096 Jan 16 00:03 alexdir/ [oldboy@luffy-01 oldboy]$ touch alexdir/txt.txt
可以添加和删除了,但是无法查看目录
小结;
1.w表示 可以在目录中创建 删除文件 重命名文件权限
2.只有w无法删除 创建文件,w需要x配合
root下修改x
[root@luffy-01 oldboy]# chmod u=x alexdir/ [root@luffy-01 oldboy]# ls -ld alexdir/ d--xr-xr-x 2 oldboy oldboy 4096 Jan 16 00:22 alexdir/
oldboy下面验证
[oldboy@luffy-01 oldboy]$ cd alexdir/ [oldboy@luffy-01 alexdir]$ ll ls: cannot open directory .: Permission denied
总结:
文件 目录
r 读取文件的内容 查看目录的内容(需要x权限)
w 修改文件的内容(需要r) 在目录下面创建 删除文件(需要x权限)
x 执行文件(需要r) 进入到目录的权限(cd)
!!!!!!删除一个文件,要看你对这个文件所在的目录是否有wx权限。
所有者、家庭、隔壁老王======>rw- r- - r-- 644
所有者、家庭、隔壁老王======>rwx r-x r-x 755
root root
blog.youxiaodao.com
网站程序放在/app/blog目录下面
#0.网站需要被运行起来,通过一个傀儡用户运行起来的www #1.blog目录下面 file 644
dir 755
root root #2.blog目录下面 /app/blog/ndd.jpg /app/blog/snow.jpg /app/blog/budongde.avi /app/blog/上传/lwang.jpg /app/blog/上传/lzhang.avi blog/上船
file644 dir755
www www
小结:
1.网站是通过傀儡用户运行的www 2.网站用户上传目录,file 644 dir 755 www www 3.除了上传目录之外 file 644 dir 755 root root
[root@luffy-01 oldboy]# umask 0022 [oldboy@luffy-01 alexdir]$ umask 0002
文件的最大的权限 666
目录的最大的权限 777
那么,0022 和666/777有什么关系呢?
####umask 022 #umask ##根据umask计算文件的默认权限 ##666 #-022 减去022 #=644 ##根据umask计算目录的默认权限 ##777 #-022 #=755 ####umask 032 ##根据umask计算文件的默认权限 ##666 #-032 #=634 #+010 遇到奇数 +1 =644 ##根据umask计算目录的默认权限 ##777 #-032 #=745 [root@online01 oldboy]# touch file032 [root@online01 oldboy]# mkdir dir032 [root@online01 oldboy]# ls -ld *032 drwxr--r-x. 2 root root 4096 Nov 8 05:22 dir032 -rw-r--r--. 1 root root 0 Nov 8 05:22 file032 根据umask计算出系统默认的权限规则 1.对于目录 777直接减去umask 2.对于文件 666减去umask的值,如果umask某一位上面是奇数,减完umask之后奇数位需要+1
umask的修改
[oldboy@luffy-01 alexdir]$ umask 032 [oldboy@luffy-01 alexdir]$ umask 0032
[oldboy@luffy-01 alexdir]$ lsattr txt.txt -------------e- txt.txt
查看系统属性,或者叫做隐藏的属性
共有9个,常用的有两个a和i
文件系统属性中的a和i
[root@online01 ~]# #a=====append 只能追加 [root@online01 ~]# #i=====immutable 无敌的 不可修改的 [root@online01 ~]# lsattr oldboy.txt -------------e- oldboy.txt [root@online01 ~]# chattr +a oldboy.txt
chattr授予文件或者目录隐藏的权限
+a 或者 -a
[root@online01 ~]# lsattr oldboy.txt -----a-------e- oldboy.txt [root@online01 ~]# cat oldboy.txt hello.txt [root@online01 ~]# echo hello >>oldboy.txt [root@online01 ~]# echo hello >>oldboy.txt [root@online01 ~]# cat oldboy.txt hello.txt hello hello [root@online01 ~]# echo hello >oldboy.txt -bash: oldboy.txt: Operation not permitted [root@online01 ~]# rm -f oldboy.txt rm: cannot remove `oldboy.txt‘: Operation not permitted [root@online01 ~]# mv oldboy.txt /tmp/ mv: cannot move `oldboy.txt‘ to `/tmp/oldboy.txt‘: Operation not permitted [root@online01 ~]# echo hello >>oldboy.txt -bash: oldboy.txt: Permission denied [root@online01 ~]# echo hello >oldboy.txt -bash: oldboy.txt: Permission denied [root@online01 ~]# rm -f oldboy.txt rm: cannot remove `oldboy.txt‘: Operation not permitted [root@online01 ~]# mv oldboy.txt /tmp/ mv: cannot move `oldboy.txt‘ to `/tmp/oldboy.txt‘: Operation not permitted
S s -rws r-x r-x
作用:运行某一个命令的时候相当于这个命令的所有者(root)
设置方法:chmod u+s /bin/rm 或者 chmod 4755 /bin/rm
危险:所有用户运行命令的时候都相当于是root
例子:passwd命令
看一下设置s属性后的文件权限信息
[root@luffy-01 oldboy]# chmod u+s /bin/cat [root@luffy-01 oldboy]# ll /bin/cat -rwsr-xr-x. 1 root root 48568 Mar 23 2017 /bin/cat [root@luffy-01 oldboy]# stat /bin/cat File: `/bin/cat‘ Size: 48568 Blocks: 96 IO Block: 4096 regular file Device: 803h/2051d Inode: 13599 Links: 1 Access: (4755/-rwsr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2019-01-15 08:42:00.072999999 +0800 Modify: 2017-03-23 02:52:45.000000000 +0800 Change: 2019-01-16 01:31:49.911687040 +0800
权限变成了4 755
特点:
1、任何用户都可以在这个目录里面创建文件(原来的权限是777)
2、每个人只能管理自己的文件,其他人处理不了
[root@luffy-01 oldboy]# stat /tmp/ File: `/tmp/‘ Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 803h/2051d Inode: 12 Links: 3 Access: (1777/drwxrwxrwt) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2019-01-15 17:29:10.881710386 +0800 Modify: 2019-01-15 15:28:55.581985449 +0800 Change: 2019-01-15 15:28:55.581985449 +0800
运行这个命令的时候,相当于这个命令的家人
1、Linux权限体系
1.rwx是啥
2.rwx对应的数字 及计算方法 rwxr-xr-x
3.chmod 命令的使用
4.对于文件来说r w x 是什么含义 *****
5.对于目录来说r w x 是什么含义 *****
6.网站权限-通过控制权限让网站安全
7.linux系统默认权限控制命令umask
8.文件系统属性(文件属性)
前面的知识总结
1、正则总结
2、特殊符合总结 无分类系列 $ ! | # 引号系列 $() `` ‘‘ "" 重定向系列 > >> 2> 2>> < << 位置系列 ~ . .. 判断系列 && || 3.第三关练习题-取出ip地址 权限 4.使用三剑客进行过滤grep sed awk 如何使用三剑客命令过滤出文件中以oldboy开头的行(文件名是oldboy.txt,至少3种方法) 5.修改时间 linux快捷键 vi/vim快捷键 6.文件还有目录权限 rwx含义 7.网站权限-通过控制权限让网站安全 8.linux系统默认权限控制命令umask 9.文件系统属性(文件属性) 10.linux无法上网 11.无法远程连接服务器 进阶知识: 安装和使用lrzsz htop
原文:https://www.cnblogs.com/bubu99/p/12295955.html