Linux目录结构
目录结构: FSH (Filesystem Hierarchy Standard)
- /bin:(Binaries)
bin 普通用户使用的命令 /bin/ls, /bin/date
- /boot:
启动引导文件,包括一些连接文件以及镜像文件。 - /dev :(Device)
dev 设备文件 /dev/sda,/dev/sda1 - /etc:(Etcetera)
配置文件 系统相关如网络/etc/sysconfig/network - /home:
普通用户主目录 - /lib:(Library)
系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。 - /lost+found:
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。 - /media:
linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。 - /mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。 - /opt:
opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。 - /proc:
proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
- /root:
该目录为系统管理员,也称作超级权限者的用户主目录。 - /sbin:
s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。 - /selinux:
这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。 - /srv:
主要用来存储本机或本服务器提供的服务或数据。(用户主动生产的数据、对外提供服务)
服务器被用作Web开发时,html文件更应该被放在/srv/www下,而不是/var/www下(因为/srv目录是新标准中才有的,出现较晚;而且Apache将/var/www设为了web默认目录,所以现在绝大多数人都把web文件放在/var/www,这是个历史遗留问题)。如ftp、流媒体服务等也应该被放在/srv对应的目录下。如果对应目录太大,应该另外挂载分区。
- /sys:
这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。
sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。 - /tmp:
tmp 是 temporary(临时) 的缩写,保存在使用完毕后可随时销毁的缓存文件。(有可能是由系统或程序产生、也有可能是用户主动放入的临时数据、系统会自动清理) - /usr:
usr 是 Unix System Resource(Unix系统资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。 - /usr/bin:
系统用户使用的应用程序。 - /usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。 - /usr/src:
内核源代码默认的放置目录。 - /var:
var 是 variable(变量) 的缩写,系统产生的不可自动销毁的缓存文件、日志记录。(系统和程序运行后产生的数据、不对外提供服务、只能用户手动清理)(包括mail、数据库文件、日志文件) - /run:
是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
Linux系统上的文件类型
-:常规文件:即f:
d:directory,目录文件:
b:blockdevice,块设备文件,支持以“block”为单位进行随机访问
c:characterdevice,字符设备文件,支持以“character”为单位进行线性访问
majornumber:主设备号,用于标识设备类型,进而确定要加载的驱动程序
minornumber:次设备号,用于标识同一类型中的不同的设备;
设备号用8位二进制:0-255,不够用,所以用一组设备号表示
l:symboliclink,符号链接文件;
p:pipe,命名管道:
s:socket,套接字文件;|
挂载文件系统
查看某个设备文件系统 parted <设备文件> print
查看全部设备 fdisk -l
问题: mount: unknown filesystem type ‘ntfs’ 这是由于redhat上无法识别 NTFS 格式的分区。
解决办法: 通过使用 ntfs-3g 来 解决 。
https://github.com/tuxera/ntfs-3gmount -t ntfs-3g <设备文件名> <挂载点路径>
弹出移动硬盘
rahat系列
udisk --detach <设备文件名>
debian系列udiskctl power-off -b <设备文件名>
windows+Ubuntu双系统下linux挂载windows硬盘udisksctl mount --block-device <设备文件名> <挂载点路径>
系统备份
本地备份
tar
dd
异地备份
rsync