/bin 所有用户可用的基本命令程序文件
/sbin 供系统管理员能使用的命令
/boot 引导加载必须用到的各种静态文件:kernel,initramfs(initrd),grub等
/dev 存储特殊文件或设备文件
设备有两种类型 字符设备、块设备
键盘是字符设备(线性设备),硬盘是块设备(随机设备)
/etc 系统配置文件,只能为静态
/home 普通用户家目录的集中位置,普通用户家目录一般为home下与之同名的子目录
/lib 为系统启动或根文件系统上的应用程序(/bin,/sbin下的程序)提供共享库,以及为内核提供内核模块
lib.so. 动态链接的c库
ld 运行时链接器/加载器
modules 用于存储内核模块的目录
/lib64 64位系统特有的存放共享库的路径
/media 便携式设备挂载点,cdrom...
/mnt 其他文件系统临时挂载点
/opt option 附加应用程序的安装位置
/srv 当前主机为服务提供的数据
/tmp 临时文件,所有用户都能执行写操作,存储临时文件
/usr 不允许任何普通用户在此创建文件
全局共享的只读数据路径
包含:bin,sbin,lib,lib64,include(C程序头文件),share(命令手册页和自带文档等架构特有的文件存放位置)
local(另一个层级目录)
/usr/local 第三方程序的安装位置
/var 层级路径(FHS) variable
存储经常发生变化的数据目录,
var下的目录
cache Application cache data
lib Variable state information
local Variable data for /usr/local
lock Lock files
log Log files and directories
opt Variable data for /opt
run Data relevant to running processes
spool Application spool data
tmp Temporary files preserved between system reboots
/proc 虚拟的基于内存的文件系统,为内核和进程存储相关信息,他们多为内核参数,例如ip.ipv4.ip_forward,虚拟为net/ipv4/ip_forward,存储于/proc/sys下
/sys sysfs虚拟文件系统提供了一种比proc更为理想的访问内核途径,虚拟的基于内存的文件系统,为管理linux设备提供了统一模型的管理接口
文件的命名规则遵循以下原则
以.开头的文件为隐藏文件
文件名区分大小写
使用"/"作为路径分隔
包括路径在内文件名称最长4095bytes
除了斜杠,所有字符都有效
文件查看命令 more,tac,head,tail,cat,less
分屏查看 more,less
more FILE_NAME
按b键向前翻,空格向后翻,翻至文件结尾自动退出
less FILE_NAME
查看文件行head,tail
查前N行
head [OPTIONS] FILE_NAME
-n # #默认输出前10行,查passwd前5行:head -n 5 /etc/passwd
-# tail -5 /etc/passwd
tail 查看文件后N行
tail [OPTIONS] FILE_NAME
-n #
-#
-f 用于监控内容变化
stat 显示文件的状态
stat FILE_NAME
#每一个文件都有两类数据 元数据和数据
元数据 metadata
数据 data
access time:2020-11-09 09:24:21.364450955 +0800 atime 访问时间
modify time:2020-11-09 09:17:19.073650630 +0800 mtime 更改时间
change time:2020-11-09 09:17:19.073650630 +0800 ctime 改动时间
#modify time 数据改变
#change time 元数据(metadata)改变
#数据改变元数据一定改变!change变modify一定变化
创建带有时间的文件或目录
mkdir $(date +%H-%M-%S) 时分秒,中间"-"隔开
touch date +%T
文件名为X年X月X日
删除 09:13:25这个文件:rm -r 09\:13\:25
touch 创建文件、修改文件时间戳,
touch [OPTIONS]...FILE_NAME
-c 指定的文件不存在时创建新文件
-a 仅修改访问时间 atime
-m 仅修改更改时间 mtime
-t STAMP [[CC]YY]MMDDhhmm[.ss]
###文件的元数据改变,也就是更改时间m改变,则c的时间会修改为当前时间!!!
软链接和硬链接区别
1、软链接可以跨分区,硬链接不支持,软链接inode号不同,相当于生成指向源数据的一种快捷方式,改变的都是源文件数据,跨分区创建软链接源文件路径必须写全,否则会报错
2、硬链接inode号不变,也改变原有数据
[root@localhost test]# ln /test/passwd /sdb1/pwd1
ln: failed to create hard link ‘/sdb1/pwd1’ => ‘/test/passwd’: Invalid cross-device link
[root@localhost test]# ln -s /test/passwd /sdb1/pwd
路径不全报错
[root@localhost sdb1]# cd /test
[root@localhost test]# ls
passwd
[root@localhost test]# ln -s passwd /sdb1/passwd1
[root@localhost test]# ls -l /sdb1/passwd1
lrwxrwxrwx 1 root root 6 Feb 16 22:57 /sdb1/passwd1 -> passwd
[root@localhost test]# ln -s /test/passwd /sdb1/passwd1
ln: failed to create symbolic link ‘/sdb1/passwd1’: File exists
[root@localhost test]# rm -rf /sdb1/passwd1
[root@localhost test]# ln -s /test/passwd /sdb1/passwd1
[root@localhost test]# ls -l /sdb1/passwd1
lrwxrwxrwx 1 root root 12 Feb 16 22:58 /sdb1/passwd1 -> /test/passwd
cp /etc/profile /tmp
sed 's/^[[:space:]]*//g' /tmp/profile
echo "set tabstop=4" >>/etc/.vimrc
Web访问响应模型 IO模型
1、单进程
启动一个进程处理用户请求,一次只处理一个,多个请求被串行响应
2、多进程/多线程 apache的默认方式
并行启动多个进程,每个进程响应一个链接请求
3、复用的IO结构
启用一个进程,每个进程同时响应N个请求
4、复用的多线程IO结构
启动M个进程,每个进程响应N个请求,同时接收M*N个请求
基于域名访问的实现
[root@localhost ~]# systemctl reload httpd
[root@localhost ~]# curl http://www.pc.com
pc
[root@localhost ~]# curl http://www.mobile.com
mobile
[root@localhost ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.16 www.pc.com
192.168.100.16 www.mobile.com
[root@localhost ~]#
来源:51CTO
作者:mb600e57d27cfd0
链接:https://blog.51cto.com/15092993/2630332