1.描述Linux发行版的系统目录名称命名规则以及用途
命名规则
1.严格区分字符的大小写;
2.文件名可以使用除斜线(/)以外的任意字符;
3.文件名不能超过255个字符;
4.以点号开头的文件为隐藏文件,
5.但是还有两个特殊文件:一个点表示当前目录;两个点(..)表示当前目录的上一级目录
系统目录用途
/boot | 系统启动引导文件存放此目录,内核文件以及引导加载器都存放在此目录下 |
---|---|
/bin | 存放所有用户的基本命令,该目录不可以独立分区,系统启动时会使用此目录下的文件 |
/sbin | 存放管理类的基本命令,该目录不能独立分区,系统启动时会使用此目录下的文件 |
/lib | 存放系统启动时程序依赖的基本共享库文件和内核模块文件(/lib/modules) |
/lib64 | 专用于x86_64系统上的辅助共享库文件存放的位置 |
/etc | 配置文件目录 |
/home | 普通用户的家目录 |
/root | 管理员用户的家目录 |
/media | 移动式设备的挂载点 |
/mnt | 临时文件系统挂载点 |
/dev | 设备文件和特殊文件存储位置 |
/opt | 第三方引用程序的安装位置 |
/tmp | 产生临时文件的程序提供的存储临时文件的目录 |
/proc | 基于内存的虚拟文件系统,为内核和进程存储其相关信息,多为内核参数,假目录 |
/usr | 全局共享的只读数据路径 |
/var | 存储常发生变化的数据库的目录 一般情况下,使用较多的时 /var/log 日志目录 |
/sys | sysfs虚拟文件系统提供一种比proc更加理想的访问内核数据的途径。用于管理Linux设备提供的一种统一模型的接口,假目录 |
/srv | 系统运行的服务用到的数据 |
2.文件元数据信息有哪些,分别表示什么含义,如何查看‘如何修改文件的时间戳信息
数据概述
linux文件数据分为数据和元数据两部分
数据:普通文件中的实际数据
元数据:指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者、以及文件数据块的分布信息,具体时间查看等等
查询文件元数据
元数据详解
file | 文件名称 |
---|---|
size | 文件大小 |
Blocks | 占用的磁盘块数 |
IO Block | IO大小,都是4K |
regular enpty file | 表示是个普通文件 |
Device | 所在设备 |
inode | inode节点号 |
Links | 被链接的次数 |
Access,第一个 | 访问权限 |
Modify | 文件数据部分的修改时间 |
Change | 文件元数据的的改变时间 |
Access,第二个 | 文件最近一次的访问时间 |
修改时间戳touch
touch作用:
1、如果文件不存在,进行新文件的创建
2、如果文件存在,更改文件、目录的时间戳
用法:
touch 【选项】 【文件名或者目录名】
参数a:
修改文件的访问时间(文件改变时间也发生改变)
参数-t:
将时间修改为参数指定的日期,如:11021010代表11月2号10点10分,将访问时间和修改时间改成指定的时间
参数-d:
使用指定的日期时间,而非现在的时间,如:10101010代表1010年10月10日,将访问时间和修改时间改成指定的时间
参数-m
指修改Modify(修改)时间,而不修改access(访问)时间
参数-r file
使用指定file文件的时间戳(access,modify)更新文件的时间戳(access,modify)
3.软连接与硬链接的区别,并用实例操作说明
软链接
1.软链接以路径的形式存在。和Windows操作系统中的快捷方式类似
2.有自己的文件属性和权限等
3.可以跨分区创建
4.可以对一个不存在的文件名进行链接
5.可以对文件和目录进行链接
6.创建软链接时,链接计数不会增加
硬链接
1.其实是对一个文件起多个文件名
2.硬链接,以文件副本的形式存在。
3.不允许给目录创建硬链接
4.硬链接只有在同一个分区中才能创建
5.删除一个硬链接文件不会影响其他有相同inode号的文件。
硬链接与软链接的区别
1.本质:硬链接本质上同一个文件,不同名字。软链接是不同文件,inode编号就不同
软链接节点编号不同
硬链接相同
2.硬链接不能跨分区,软可以
硬链接
3.硬链接不能对目录进行创建,软可以
硬链接不能针对目录,如下理解:
只可对文件进行链接,如下理解:
对文件创建硬链接后,文件改写内容都会一致改变
软连接创建
后面的目录相当于windows的快捷方式存在,到ceshi001,就相当于到test1目录中
4.硬链接对于原始文件没有依赖关系,软件对原始文件有依赖
5.inode编号,硬链接一致
6.链接数,硬链接删一个就少一个。软链接不变
删除软链接,使用 rm命令就可以
关于目录软链接删除需注意:
使用 rm -rf /usr/local/src/log ,不要使用 rm -rf /usr/local/src/log/ 最后不加"/ "因为会删除log文件夹内的全部文件
7.路径,软链接:原始文件的路径,是相对于软链接的相对路径
8.删除源文件后硬连接变为普通文件,而软连接则是连接失效
9
9.文件类型,硬链接原来是什么就是什么,普通文件就是普通文件。软链接是l,链接文件
4.Linux上的文件管理命令有哪些,使用方法及相关演示
cd
pwd
ls
ls -l=ll
列出当前目录下的目录、文件属性
1 | 可查看文件类型,总共有七种类型,-普通文件,d目录,b块设备文件,c字符设备文件,l符号链接文件,p管道文件,s套接字文件 |
---|---|
2 | 紧接着的3*3个字符分3组,各指示此文件的读、写、执行权限,对于owner、group、others而言;rwx(Owner)r-x(Group)r-x(Other)这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行 |
3 | 表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。 |
4 | 表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称 |
5 | 表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组 |
6 | 表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb莱显示一个文件的大小单位,不过一般我们还是以byte为主。 |
7 | 表示最后一次修改时间。以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分 |
8 | 表示文件名。我们可以用ls –a显示隐藏的文件名 |
文件类型
普通文件
目录文件
链接文件
管道文件
管道文件是一种特殊 的文件类型,本质是假文件(内核缓冲区),实现进程之间的通讯。半双工模式,同一时间只在一个方向上流动,遵循先进先出原则。
字符设备文件
字符设备是按字符单位进行输入输出,且按一定的顺序进行。串口设备的体现,例如鼠标键盘)。
块设备文件
以块为单位,例4096个字节进行数据访问,提供随机访问的接口设备,例如磁盘、硬盘、U盘等。通常块设备可利用缓存提高速度。
套接字文件
数据接口文件,筒通常用于基于网络的数据通讯使用,两个进程,在同一台主机机上,但是想通过网络方式通信,可给予socket方式进行通信。全双工模式
ls -a
显示隐藏文件
ls -R
递归显示,显示每一个层级目录下的目录和文件
ls -1
ls -S
按照文件大小进行排序
ls -t
根据·mtime时间进行排序
ll --time=atime
文件/目录 按照属性时间进行输出排序
ll -i
ls -u
配合-t选项,显示按atime从新到旧排序
ls -U
按目录存放顺序显示
ls -X
按文件后缀排序
ls -ld
目录和符号链接信息
mkdir
mkdir -m
指定创建文件目录的权限
mkdir -p
递归创建目录,若父目录不存在,使用-p进行创建
mkdir -v
创建是给出详细说明
rmdir
file
file用于辨识文件类型
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ef5zv0Oa-1583400241591)(https://im磁盘g-blog.csdnimg.cn/20200305171011603.png)]
cp
type cp ;which cp
cp --help
cp -r
递归,将目录下所有的文件和目录复制过去,下图表述的是将目录拷贝至不存在的目录下,和拷贝至已存在的目录下的区别。前者改名,后者作为子目录
cp -v
看到拷贝过程
cp -a
等同于-dpR,保留一切属性,用于备份;保留源文件或目录的属性,包括所有者,所属组,其他人;权限与时间。-p保留属性,-d保留链接,-R递归处理
cp -b
覆盖以存在的文件之前先对治进行备份
cp -l
对源文件建立硬链接,而非复制文件;与ln作用一致
cp -i
覆盖前先询问客户是否进行覆盖
cp -P
复制软连接本身,不是复制源文件
cp -s
对源文件建立符号链接,而非复制源文件
cp -x
检查,文件所在的文件系统是否与所要复制到的目的地文件系统类型一致,如不一致不进行复制
cp --version
检查cp版本
cp -av /etc /data/backupdate +%F
将etc下的目录备份到data下,并且以backupYYY-mm-dd这样的样子呈现出来;
touch
更改属性时间
touch --time=atime 文件/目录
touch --time=ctime 文件/目录
touch --time=mtime 文件/目录
touch -a/c/m 文件/目录
创建普通文件
touch 文件
mv
重命名
如果源文件与目标文件在同一目录下,那么作用就是更改文件名
rename
mv -b
当文件存在时,先为其创建一个备份
mv -f
直接覆盖不再提示
mv -i
rm
慎用
vim
三种模式 | 命令模式,插入模式,扩展模式 |
---|---|
i o a I O A | 都可以进入到插入模式,显示有一定区别 |
w q wq w! q! | 写入退出 |
:w new.txt | 瞬间状态将写入新的文件 |
:r test.txt | 将test文件中的内容读入现在打开的文件中 |
:!+命令 | 直接调用linux命令 |
:r!+命令 | 将命令回显读入到当前文件中 |
|查找命令,结合正则表达式使用 |
命令模式
h j k l 3h | 上下左右,光标移动,往左移动3隔3h.k是往上移 |
---|---|
w e b | w跳到下一个单词的词首,e跳到下一个单词的词尾.b跳到当前词的词首 |
H M L zt zz zb | 当前页跳转 |
0 $ ^ | 0移至光标所在行行首,$移至光标所在行行尾.^跳转到所在行的非空字符 |
G 10G,gg | G移到整个文件的最后一行,10G跳到第10行,gg移到第一行 |
) ( | )下一句 (上一句 句间移动 |
} { | }下一段 {上一段 |
x 3x xp ~ J | 删除光标所在的字符,删除光标所在处后的3个字符,xp交换光标所在处的字符与后面字符的位置,~进行大小写转换,J将光标所在行的最后的换行符删除 |
r R | r替换光标所在处的字符,R进入替换模式 |
d$ dd d^ dw de d0 | 删除命令 |
y 2yy y$ y0 ye yw | 复制命令.复制光标所在往下的两行 |
p P | p光标所在行后粘贴,P光标所在行前粘贴 |
c c$ c^ c0 cw ce eb cc | 修改后,并切换为插入模式 |
100iwang | 将wang输入100遍 |
di" | 删除""中的内容 |
di( | 删除()中的内容 |
v V | 可视化模式 |
5.复制/etc/profile置tmp目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符
将/etc/profile 拷贝到tmp下,命名为backup+日期这种格式
利用vim打开文件,如下图找到文件每一行的开头空白处。
删除每一行的空白字符:
补充:
vim查找
/后跟查找的字符串。vim会显示文本中第一个出现的字符串。
?后跟查找的字符串。vim会显示文本中最后一个出现的字符串。
不管用/还是?查找到第一个字符串后,按回车,vim会高亮所有的匹配内容
高亮所有的匹配后,按n键转到下一个匹配,按N键转到上一个匹配
vim替换
s 命令来替换字符串
:s/aaa/bbb/ 替换当前行第一个aaa为bbb
:s/aaa/bbb/g 替换当前行所有aaa为bbb
:%s/aaa/bbb/替换每一行的第一个aaa为bbb
:%s/aaa/bbb/g替换每一行中所有aaa为bbb
6.在vim中设置tab缩进4个字符
临时生效
永久生效
设置当前家目录下的.vimrc配置文件
写入配置文件
验证