linx概念理论
2021-08-20 本文已影响0人
ljt001
fork()创建子进程
fork创建子进程。 fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程, 也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同。相当于克隆了一个自己。 父进程如果内存比较大时,fork可能会出问题。
理解inode
inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础。
linux文件系统目录结构
tree -L 1 /
/
├── boot
├── dev
├── etc
├── home
├── root
├── media
├── mnt
├── opt
├── proc
├── run
├── srv
├── sys
├── tmp
├── usr
├── bin -> usr/bin
├── sbin -> usr/sbin
├── lib -> usr/lib
├── lib64 -> usr/lib64
└── var</pre>
- /boot:存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
- /dev :Device(设备)的缩写, 存放外部设备,在Linux中访问设备和访问文件的方式是相同的。
- /media:linux会自动识别一些设备,例如U盘、光驱等等,挂载到这个目录下。
- /etc:etcetera(其他,附加物),系统管理所需要的配置文件。
- /home:用户的主目录,在Linux中,每个用户都有一个自己的目录。
- /root:系统管理员用户的主目录。
- /usr:unix shared resources(共享资源) 的缩写,重要目录,用户的很多应用程序和文件都放在这个目录下,类似于windows的program files目录。
- /usr/bin:系统统用户使用的应用程序。bin是Binary的缩写, 存放着最经常使用的命令。
- /usr/sbin:s是Super User,超级用户使用的比较高级的管理程序和系统守护程序。
- /usr/src:核源代码默认的放置目录。
- /usr/lib:系统最基本的动态连接共享库,类似于Windows的DLL文件。几乎所有的应用程序都需要用到。
- /mnt:用于用户临时挂载别的文件系统的,比如将光驱挂载在/mnt/上,即可查看光驱内容。
- /opt:额外安装软件所摆放的目录。比如安装ORACLE数据库到这里。默认是空的。
- /proc:是一个虚拟的目录,它是系统内存的映射,可以通过直接访问这个目录来获取系统信息。
内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件。
比如可以通过以下命令屏蔽ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all - /srv:该目录存放一些服务启动之后需要提取的数据。
- /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
sysfs文件系统集成了下面3种文件系统的信息:
针对进程信息的proc文件系统、针对设备的devfs文件系统、以及针对伪终端的devpts文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。 - /tmp:用来存放一些临时文件的。
- /var:存放着在不断扩充着的东西,习惯将经常被修改的目录放在这里。包括各种日志文件。
参考资料 https://www.runoob.com/linux/linux-system-contents.html
文件系统 xfs、ext4、ext3 的区别
centos7.0开始默认文件系统是xfs,centos6是ext4,centos5是ext3