目录
软连接和硬链接
区别
软链接:
1.软链接是存放另一个文件的路径的形式存在。
2.软链接可以 跨文件系统 ,硬链接不可以。
3.软链接可以对一个不存在的文件名进行链接,硬链接必须要有源文件。
4.软链接可以对目录进行链接。
硬链接:
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2. 不允许给目录创建硬链接。
3. 硬链接只有在同一个文件系统中才能创建。
4. 删除其中一个硬链接文件并不影响其他有相同 inode 号的文件。
图像表示
代码
软链接 (符号链接) ln -s source target
硬链接 (实体链接)ln source target
一级目录的解释
Linux 系统的根目录(/)最为重要,其原因有以下 2 点:
1、所有目录都是由根目录衍生出来的;
2、根目录与系统的开机、修复、还原密切相关;
/bin
存放系统命令,普通用户和 root 都可以执行。放在 /bin 下的命令在单用户模式下也可以执行。例如cp、ls、cat,等等。
/boot
系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等。
/dev
device(设备)的缩写,这个目录下是所有linux的硬件文件,也就是设备文件保存目录。
/etc
这个目录一般用来存放程序所需的整个文件系统的配置文件。
/lib
系统库保存目录, 这个目录是存放着系统最基本的动态连接库,也可以叫函数库,几乎所有的应用程序都须用这些共享库。存放着 .a或.o、.so这样后缀的文件。
/mnt
mount的缩写,mount 可直接理解为“挂载”挂接光驱、USB设备的目录,加载后,会在mnt里多出相应设备的目录。
/boot
启动目录,启动相关文件
/root
超级用户的家目录
/tmp
temporary的缩写,tmp目录的作用就是存放临时文件,tmp目录会默认清理指定天数未用的文件,系统重启会清空目录,“/tmp”目录默认清理10天未用的文件,“/var/tmp”目录默认清理30天未用的文件。
/usr
usr是Unix Software Resource的缩写, 也就是Unix操作系统软件资源所放置的目录,而不是用户的数据;所有系统默认的软件都会放置到/usr, 系统安装完时,这个目录会占用最多的硬盘容量。
/var
这个目录存放那些不断扩充的东西(系统相关文档内容),为了保持usr的相对稳定,那些经常被修改的目录可以放在这个目录下,如/var/log日志文件。
/sys
sysfs的缩写,sys文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/lost+found
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media
linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
/opt
opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc
proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
/proc/sys/net/ipv4/icmp_echo_ignore_all
重定向
>
格式: 命令>文件
作用: 将命令执行的标准输出结果重定向输出到指定的文件中,如果该文件已包含数据,会清空原有数据,再写入新数据。
2>
格式: 命令2>文件
作用: 将命令执行的错误输出结果重定向到指定的文件中,如果该文件中已包含数据,会清空原有数据,再写入新数据。
>>
格式: 命令>>文件
作用: 将命令执行的标准输出结果重定向输出到指定的文件中,如果该文件已包含数据,新数据将写入到原有内容的后面。
2>>
格式: 命令2>>文件
作用: 将命令执行的错误输出结果重定向到指定的文件中,如果该文件中已包含数据,新数据将写入到原有内容的后面。
&>
格式: m&>n
作用: 将输入文件 m 和 n 合并。
>&
格式: n>&m
作用: 将输出文件 m 和 n 合并。
将1重定向到文件,将2重定向到1
ls a.txt b.txt 1>file.out 2>&1
将2重定向到文件,将1重定向到2
ls a.txt b.txt 2>file.out 1>&2
将文件重定向到0
ls b.txt >0
cat从标准输入读取内容,然后输出到文件中
[root@web setup]# code>cat >1.txt
Hello
Bash
Linux
[root@web setup]# ls -l 1.txt
-rw-r--r-- 1 root root 17 11-02 21:32 1.txt