Day07 红帽Linux —从命令行管理文件

红帽Linux — 从命令行管理文件




一、目录文件夹内容及作用

/				根目录
|-- **bin**		   (1)	
|-- boot		   存放内核和启动文件
|-- dev			   包含特殊的设备文件,供系统用于访问硬件
|-- etc			   特定于此系统的配置文件(passwd等)
|-- home		   普通用户存储其个人数据和文件
|  |-- alice
|  |-- bob
|  |-- eve
|-- **lib**		   (2)
|-- lost+found	   非正常关机后留下的无处可放的文件,win中的.chk文件
|-- media		   自动挂载点,U盘、光盘等
|-- mnt			   手动挂载设备
|-- root		   管理超级用户root的主目录
|-- run			   系统启动以来进程的运行(临时)数据(重启时重建),包括进程ID文件和锁文件
|-- **sbin**	   (3)
|-- tmp			   提供临时文件使用的全局可写空间,10天未访问更改的文件将删除
|-- usr			   安装的软件、共享库,包括文件和只读程序数据
|   |-- **bin**	      (1)
|   |-- **lib**		  (2)
|   |-- local
|   |   |-- **lib**    (2)
|   |   |-- **sbin**    (3)
|   |--  **sbin**	  (3)
|   |-- **tmp**	      本地自定义软件
|-- var			   存取系统的可变数据,存储动态变化文件(数据库、缓存目录、日志文件等)
|  |-- **tmp**

Linux7及更高版本中,加粗的文件与usr中的同名文件有相同的内容
(1)命令存放处,所有用户可执行
(2)共享文件库及标准程序设计库,又叫动态连接共享库,类似于win中的.dll文件和字体
(3)命令存放处,只有root用户可用

练习题目

在这里插入图片描述

在这里插入图片描述

  1. A 2. B 3. B 4. A 5. D 6.D 7. C 8. C 9. B × => C √


答案

在这里插入图片描述
在这里插入图片描述


二、路径定位和目录信息

路径定位

路径
  • 绝对路径:从根开始的完整路径
  • 相对路径:相对于当前目录开始的路径

切换目录
pwd			 #显示当前位置
cd [目录] 	#跳转目录
符号位置
/根目录
~用户的家目录(主目录)
.当前目录
上一级目录
-上次工作的目录

注:cdcd ~效果相同


查看目录内容

ls指令
ls			#查看当前目录的子目录和文件
ls -a		#查看当前目录的子目录和文件,包括隐藏文件
ls -R		#递归显示当前目录及下层目录里的子目录和文件,树状分层显示(一层目录、所有二层目录、所有三层目录……)
ls -l 		#查看目录内子目录和文件的详细信息(长列表格式)
ll			#ls -l 的简写
ls -la | ls -al | ls -a -l		#既显示隐藏文件,又以长列表格式显示(详细信息)
ls <dir1> [dir2 ... dirN]		#显示多个目录的子目录和文件

ls -l 显示的信息

drwxr-xr-x. 2 root root 6 Jul 12 14:52 Videos

位置含义
参数①:第一个字母:dd:目录、l:软链接、-:文件、p:管道
参数①:第2~10字母:rwxr-xr-x所有者、所属组、其他用户的读、写、执行权限是否开启
参数②:2硬链接数
参数③:root所有者
参数④:root所属组
参数⑤:6文件/目录大小
参数⑥:Jul 12 14:52修改时间
参数⑦:Videos名称

练习

在这里插入图片描述

在这里插入图片描述

  1. A 2. B 3. A 4. C 5. B × => D √ 6. B 7. B 8. C


答案

在这里插入图片描述

在这里插入图片描述


三、目录和文件的增删改查、复制、移动等

创建文件

touch <file1> [file2]	#触碰文件、更新最后修改时间,若无则创建文件

创建目录

mkdir <dir> [dir2]		#mkdir可创建一个或多个目录或子目录
mkdir -p AAA/bbb		#AAA不存在的情况下,创建AAA并在其下创建目录bbb(可能创建处非本意的目录)

删除文件

rm <file> [file2]	#rm可删除一个或多个文件,无法删除空目录
rm -i <file>		#删之前询问(i:inquire 询问)
rm -f <file>		#强制删除文件,不提示确认。-f与-i一起时,-f优先(-f 或 --force)

删除目录

rmdir <dir> [dir2]			#rmdir可删除一个或多个空目录
rm -d <dir>			#与rmdir子相同
rm -r <dir>			#将含有文件的目录当作文件来删除,-r 或 --recursive (递归)
rm -ri	<dir>		#-r与-i相结合,删目录和其中每个子目录和文件时都询问
rm -rf <dir>		#强制删除目录,不提示确认。-f与-i一起时,-f优先

复制文件/目录

cp <file1> <file2>	#复制file1到file2的路径,并重命名为file2
cp <file1> [file2 ... fileN] <dir>	#复制一个或多个文件到同一目录中
cp -r <dir1> <dir2> #将目录dir1复制到dir2下,-r意为递归
# cp 时若目标文件存在,则会覆盖文件

移动与重命名文件/目录

mv <file1> <file2>	#移动file1到file2的路径,并重命名为file2
mv <file1> [file2 ... fileN] <dir>	#移动一个或多个文件到同一目录中
# mv 时若文件存在,则会报错
# 移动目录不需要 -r
# 移动到原目录,相当于重命名

四、制作文件间的链接

文件存储

  • 文件内容以数据块的形式存储在存储介质上

  • 当访问指定文件名的文件时,系统根据文件的inode num在inode table中查找到对应inode,再通过inode找到数据存放的data block信息,从而找到文件对应的内容数据。文件名相对于inode num的别名。

在这里插入图片描述

硬链接

属性
  • 同一文件的所有硬链接的inode num相同,指向同一数据,同一存储位置,因此有相同的属性(rwx权限、硬链接数、所有者、所有组、修改时间等,文件名可不同),任一硬链接发生更改,所有硬链接的内容都会变化。
  • 删除文件时只是删除了一个硬链接,数据并没有发生变化,其它硬链接任可用。
  • 每个文件都是以一个硬链接开始的,即其初始路径,创建新的硬链接时只是对同一物理地址创建了一条新路径。
  • ls -l中,第2个参数为文件的硬链接个数

局限
  • 只能对常规文件使用,不能对目录和特殊文件使用。
  • 只能在同一文件系统上使用,即df命令可查看有所有Filesystem,同一文件的硬链接必须在同一Filesystem中。

创建硬链接
ln <file> <hard-link>		#为文件创建硬链接

判断两文件是否为互为硬链接
ls -i		#可查看文件的inode num
ls -l		#第2参数可查看硬链接的个数
ls -li <file1> <file2> #可查看两文件的inode num和其它属性,相同可判断互为硬链接

软链接

属性
  • 类似于win中的快捷方式,删掉源文件,则无法访问,再建一个同名文件会恢复。
  • 若硬盘空间不足添加新磁盘时,可在就磁盘中创建一个指向新磁盘文件的软链接,就可以实现通过旧磁盘去使用新磁盘(软链接主要是方便Linux管理员习惯)
  • 不同于硬链接,软链接可指向目录

限制
  • 软链接最好使用绝对路径,避免出现悬挂的情况

创建软链接
ln -s <file> <soft-link> 	#为文件创建软链接
ls -l						#可看到软链接指向的文件或目录

五、扩展匹配文件名

模式匹配
模式匹配项
*由0或更多个字符串组成的任何字符串
任何一个字符(几个?,就匹配几位字符)
~匹配家目录(主目录)
提示符:$普通用户
提示符:#超级用户
变量用来帮助运行带有长参数的命令
$()让括号内的命令先运行
\使字符变成普通字符
[abc…]括起的类中任一字符
[!abc…] 或 [^abc…]括起的类外任一字符
[[:类型:]]该类型的任一字符。类型可填:alpha(任一字母)、lower(任一小写字母)、upper(任一大写字母)、alnum(任一字母或数字)、punct((所有标点字符)即除空格、字母、数字外的任何可打印字符)、digit(0到9任一数字)、space(任一空白字符:制表符、换行符、回车符、换页符、空格)

习题

在这里插入图片描述
在这里插入图片描述

1.B 2.A 3.D 4.C 5.B

6.D 7.A


答案

在这里插入图片描述

在这里插入图片描述


六、Man page

章节
  1. 用户命令,普通用户都可以调用的命令
  2. 系统调用,即由内核提供的函数
  3. 例程,即库函数
  4. 设备,即/dev目录下的特殊文件
  5. 文件格式描述,例如/etc/passwd
  6. 游戏
  7. 杂项,例如宏命令包,惯例等
  8. 系统管理员工具,只能由root启动的命令

使用方法
指令
man [章节] <参数>		 #查看[某章节]的命令(命令词完整)的使用说明文档

man -K <keyword>		#检索包含keyword的文档(命令词可不完整)

快捷键
  • 空格:下滚一个屏幕

  • g 首行

  • G 尾行

  • q 退出man

  • / 查找关键字

    • n下一个关键字
    • N上一个关键字

其它获取帮助的方法
help <command> 		#查看内部命令的用法
<command> --help	#内外部指令都能查看用法
prinfo <command>	#从红帽官方获取指令用法帮助,通常是系统指令
info <command>		#只有红帽Linux和CentOS才能用info
firefox file:///usr/share/doc/	#包含了多数安装管理软件包的子目录及管理内容
  • 在线获取帮助

    https://access.redhat.com/site/solutions/

    https://access.redhat.com/support/

    redhat-support-tool

    https://access.redhat.com

    sosreport


七、创建、查看、编辑文本文件

文本编辑界面有三种模式:一般模式、编辑模式、命令行模式

  • 一般模式:刚进入时的模式,从编辑模式中按Esc可回到一般模式

  • 编辑模式:在一般模式下无法编辑,按i、I、a、A、o、O中任意键进入编辑模式

  • 命令行模式:在一般模式下输入":“或”/"进入命令模式,可使用搜索、保存、替换、退出、显示行号功能


vi <file> 		#进入文档编辑界面

移动光标
  • Ctrl+B 屏幕向前移动一页PageUp
  • Ctrl+F 屏幕向后移动一页PageDown
  • n空格 光标向右移动n个字符
  • 0、$ 分别让光标移动到本行的首行和末行
  • gg、G 分别让光标移动到文本的首行和末行
  • nG 让光标踢动到文本第n行

查找与替换
  • /word 和 ? word 查找字符串"word",找到后按n继续查找
  • :1,$s/word1/word2/g 在全文中将"word1"替换为"word2",若在g后加c,则替换时需用户确认

删除
  • dd 删除整行
  • ndd 向下删除n行
  • x、X向后向前删除一个字符
  • nx 向后删除n个字符
  • dG删除光标所在行到末尾的数据
  • d1G删除光标所在行到首行的数据

命令模式常用命令
  • :w 保存文本
  • :q! 强制退出
  • :q 退出(未保存时会报错)
  • :wq 和 ZZ 保存退出
  • :e! 将文档还原成最初始状态
  • :set nu 在每行首行显示行号、取消用 :set nonu
  • :w [filename] 将编辑后文档另存为filename
  • :w n1 n2 [filename] 将文档的第n1至n2行另存为到filename中

查看文件内容
cat [-option] <file>	#-n:将行号一起显示、-b:将非空行的行号显示,空行行号不显示
more <file>				#从第一页开始显示,Ctrl+B 向前翻一页,Ctrl+F 向后翻一页
less <file>				#从第一页开始显示,PageUp 向前翻一页,PageDown 向后翻一页
head [-n num] file		#显示头n行或默认10行
tail [-n num] file		#显示尾n行或默认10行
tac <file>				#按行号倒着显示,适合查看日志文档

参考资料:Red Hat Training and Certification

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值