linux系统软硬链接与文件管理几个基本命令使用
(1)目录命名规则
Linux文件系统分层标准(Filesystem Hierarchical standard,FHS)定义了Linux目录树的结构,它命名一组标准目录并指定它们的用途。
在同一路径下两个目录或者文件的名称不能相同
目录名或者文件名的总长度不能超过255个字符。
包括路径在内文件名称最长不超过4095个字节。
除了“/”与NUL,所有字符都有效,但使用特殊字符的目录名和文件名不推荐使用,有些字符需要用引号来引用他们。
标准linux文件系统(如ext4)文件名称区分大小写,以点 “.”开头的文件为隐藏文件。
(2)目录的用途
/(根文件系统):根文件系统是文件系统的顶级目录。它必须包含在挂载其它文件系统之前引导Linux系统所需的所有文件。系统启动后,将把所有其它文件系统按照标准的、定义明确的挂载点作为根文件系统的子目录挂在。
/bin:该目录包含用户可执行文件。
/boot:不是根的组成部分,包含引导Linux计算机所需要的静态引导加载程序、内核可执行文件和配置文件。
/dev:该目录包含连接到系统的每个硬件设备的设备文件。这些不是设备驱动程序,而是代表计算机上每个设备的文件,以便于访问这些设备。
/etc:包含主机的各种系统配置文件。
/home:不是根的组成部分。用户文件的主存储目录,每个用户通常在该目录下有一个子目录,一些组织可能会选择其它位置作为用户的主目录。某些服务或者服务器应用程序也可以使用不同的位置作为主目录,例如:Apache Web服务器使用/var/www。可以查看 /etc/passwd文件以查看这些用户的主目录位置,使用中央文件服务器安装的系统也可能将这些远程主目录放在除/home之外的挂载点。
/lib包含引导系统所需的共享库文件。、
/media: 不是根的组成部分。安装外部可移动媒体设备,例如可能连接到主机的U盘。
/mnt:不是根的组成部分。管理员修复或者处理文件系统时可以使用的常规文件系统(如不可移动介质)的临时挂载点。
/opt:不是根的组成部分。可以在此处找到供应商提供的应用程序等可选文件。
/proc:虚拟文件。此虚拟文件系统用于公开对内部内核信息和可编辑调整参数的访问。
/root:是root用户的家目录。
/sbin:系统二进制文件,用于系统管理的可执行文件。
/selinux:伪文件系统仅在启用SElinux时使用,激活后,此文件系统包含关键的SElinux工具和文件。
/sys:虚拟文件。此虚拟文件系统包含有关USB和PCI总线以及每个附加设备信息。
/tmp:不是根的组成部分。临时目录,由操作系统和许多程序用于存储临时文件,用户也可以临时存储文件,注意:此处存储的文件可能随时被删除,不会另行通知。
/usr:不是根的组成部分。这是可共享的只读文件,包括可执行的二进制文件和库、man【ual】文件和其它类型文档。
/usr/local:不是根的组成部分。通常是shell程序或编译程序及其它支持的配置文件,是在局部编写的,并由系统管理员或主机的其它用户使用。
/var:不是根的组成部分。可变数据文件存储在此处,包括日志文件、mysql和其它数据库文件、web服务器数据文件、电子邮件收件箱等内容。
2、描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?
文件的元数据是指文件的属性、大小、创建的时间、访问时间、属主与属组等信息。用stat命令可以查看文件的元数据,如图:
File:代表文件名
Size:大小
Blocks:8代表8个数据块
IO Block:4096 普通文件
Device:设备名称
Inode:Inode节点号
Links:链接数
Access:访问权限
Uid:属主及属主Uid
Gid:属组及属组的Gid
Context:
Access:访问时间
Modify:修改时间
Change:改变时间
修改文件的时间戳用touch命令来进行修改。
touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]
选项:
a:改变档案的读取时间记录。
c:假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
d 设定时间与日期,可以使用各种不同的格式。
f:不使用,是为了与其他 unix 系统的相容性而保留。
r 使用参考档的时间记录,与 --file 的效果一样。
m 改变档案的修改时间记录。
t 设定档案的时间记录,格式与 date 指令相同。
--no-create 不会建立新档案。
--help 列出指令格式。
--version 列出版本讯息。
不适用任何参数,直接执行touch w.txt,若文件不存在则新建文件,若文件存在在更新文件时间戳。
执行touch -a w.txt 修改文件的访问时间。
执行touch -m w.txt 修改文件的修改时间。
3、总结软连接和硬连接区别,并用实例操作说明。
硬链接:新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用
软链接:也称为符号链接,新建的文件以“路径”的形式来表示另一个文件。
硬链接和原来的文件没有什么区别,而且共享一个 inode 号(文件在文件系统上的唯一标识);而软链接不共享 inode,也可以说是个特殊的 inode,所以和原来的 inode 有区别。
软链接的原始路径一定是相对于软连接的路径。软链接删除需要注意,rm -rf w.txt /(后面的/加与不加删除的不一样,不加则删除软链接本身,若加/删除软链接的内容)
硬链接不支持跨分区,硬链接不支持对目录进行创建,软链接支持对目录创建。创建一个硬链接,文件的链接数会增长,创建一个软链接文件的链接数不会改变。软硬链接的文件类型不同,软链接的文件类型为链接文件为l。
使用ln命令进行软硬链接的创建。
ln [参数][源文件或目录][目标文件或目录]
选项:
-b 删除,覆盖以前建立的链接
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程
使用s选项建立的是软链接,如图:
不用选项建立的链接为硬链接,如图:
如果跨分区创建硬链接会有如下提示:
4、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
cd命令
功能:改变文件路径
用法:cd [选项] [参数]
选项:
-p 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录
-L 如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录。
- 当仅实用"-"一个选项时,当前工作目录将被切换到环境变量"OLDPWD"所表示的目录。
~代表切换到家目录
示例:
ls命令
功能:列出当前目录内的文件
用法:ls [参数] [目录名]
选项:
-a 显示所有文件,包含隐藏文件
-A 显示所有文件,包含隐藏文件,但不包含.及..
-l 显示为long format(长格式),列出文件的类型、权限、链接数、owner、group、大 小,时间,名字
-d 不展开目录,只显示目录自身,一般与-l配合使用以显示目录自身的属性信息(只显示当前目录的内容)
-1 数字1,成列显示内容
atime 访问时间
mtime 数据修改时间 (写入,修改数据mtime改变,mtime改变ctime必改变)
ctime 元数据修改时间 (修改权限的时候只有ctime改变)
示例:
stat命令
功能:查看文件的元数据
用法:stat(选项)(参数)
选项:
-L支持符号链接
-f显示文件系统的信息
-t以简洁的方式输出
--help显示帮助信息
--version显示工具版本信息
touch命令
功能:创建新文件或者修改时间戳
用法:touch [选项] 文件
选项:
-a:只修改文件的access time
-m:只修改文件的modify time
-c:不创建不存在的文件(当touch后操作多个文件时,不存在的文件将不会被创建)
-d:使用指定的日期时间,而非现在的时间,可以使用各种不同的格式。
-t:将时间修改为参数指定的日期,如:07081556代表7月8号15点56分
-r file:使用指定file文件的时间戳(access,modify)更新文件的时间戳(access,modify)
示例:
cp命令
功能:用来将一个或多个源文件或者目录复制到指定的目的文件或目录。
用法:cp[选项][ 参数]
选项:
-a:此参数的效果和同时指定"-dpR"参数相同
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件
-p:保留源文件或目录的属性
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理
-s:对源文件建立符号连接,而非复制文件
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀
-b:覆盖已存在的文件目标前将目标文件备份
-v:详细显示命令执行的操作。
示例:
mv命令
功能:是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。
用法:mv [选项] 源文件或目录 目标文件或目录
选项:
-b :若需覆盖文件,则覆盖前先行备份
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
-t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
rm命令
功能:删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除
用法:rm [选项] 文件
选项:
-f, --force 忽略不存在的文件,从不给出提示
-i, --interactive 进行交互式删除
-r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除
-v, --verbose 详细显示进行的步骤
--help 显示此帮助信息并退出
--version 输出版本信息并退出
示例:
5、复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符
使用cp /etc/profile /tmp/profile 将该文件拷贝到/tmp目录中
使用vim profile 文件打开
在底线命令模式执行查找替换命令:%s/^\s+//g
6、在vim中设置tab缩进为4个字符
/etc/vimrc设置可对所有用户进行tab缩进,在~/.vimrc可对本用户进行设置。
Vim /etc/vimrc打开该文本,在文本里面输入set tabstop=4,然后保存退出。