RHCSA(三)

一、软连接和硬链接画图,以及代码

软链接

符号链接又叫软链接,和原文件不是一个文件 例如Windows的快捷方式,如果原始文件被删除,所有指向它的符号链接也就都被破坏了。软链接有自己的node,是linux特殊文件的一种,作为一个文件,它的数据是它所连接的文件的路径。符号链接可以跨越文件系统,也可以为目录建立。

11
创建硬链接文件: ln 原文件 目标文件

[root@localhost ~]# ln -s file file_symbolic #创建一个软链接
[root@localhost ~]# stat file
File: file
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 25901737 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2022-07-13 15:26:18.198836731 +0800
Modify: 2022-07-13 15:26:18.198836731 +0800
Change: 2022-07-13 15:26:40.883835437 +0800
Birth: 2022-07-13 15:26:18.198836731 +0800
[root@localhost ~]# stat file_symbolic #查看软链接状态
File: file_symbolic -> file
Size: 4 Blocks: 0 IO Block: 4096 symbolic link
Device: fd00h/64768d Inode: 25901736 Links: 1
Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2022-07-15 23:50:06.286739825 +0800
Modify: 2022-07-15 23:50:06.282739825 +0800
Change: 2022-07-15 23:50:06.282739825 +0800
Birth: 2022-07-15 23:50:06.282739825 +0800

硬链接

只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为inode)。当移动或者删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在件结构中的位置。
11
创建硬链接文件: ln 原文件 目标文件

[root@localhost ~]# ln file file_hard #建立一个硬链接
[root@localhost ~]# stat file #查看原文件状态
File: file
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 25901737 Links: 2
Access: (0777/-rwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2022-07-13 15:26:18.198836731 +0800
Modify: 2022-07-13 15:26:18.198836731 +0800
Change: 2022-07-15 23:55:50.053746916 +0800
Birth: 2022-07-13 15:26:18.198836731 +0800
[root@localhost ~]# rm file #删除原文件
rm: remove regular empty file ‘file’? y
[root@localhost ~]# stat file_hard #查看硬链接状态
File: file_hard
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 25901737 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2022-07-13 15:26:18.198836731 +0800
Modify: 2022-07-13 15:26:18.198836731 +0800
Change: 2022-07-15 23:56:11.473747357 +0800
Birth: 2022-07-13 15:26:18.198836731 +0800

二、一级目录的解释

我们把‘/ ’的子目录称为一级目录,在一级目录的子目录称为二级目录…

  • /
    Linux文件系统的最上层根目录,其他所有目录均是该目录的子目录
  • /boot
    存放系统启动时所需的文件,这些文件若损坏常会导致系统无法启动,一般不要改动
  • /root
    超级用户的个人目录,普通用户没有权限访问
  • /home
    存放一般用户的个人目录
  • /bin
    Binary的缩写,存放普通用户可执行的程序或命令
  • /sbin
    和/bin类似,这些文件往往用来进行系统管理,只有root可使用
  • /lib
    是库(library)英文缩写,存放系统的各种库文件
  • /lib64
    存放系统本身需要用到64位程序的共享函数库(library)
  • /usr
    一般用户程序安装所在的目录,用于安装各种应用程序
    -/opt
    该目录通常提供给较大型的第三方应用程序使用,例如Sun Staroffice、Corel
    WordPerfect,这可避免将文件分散至整个文件系统
  • /etc
    存放了系统管理时要用到的各种配置文件和子目录
  • /var
    通常各种系统日志文件放在这里
  • /run
    保存自系统启动以来描述系统信息的文件
  • /dev
    dev 是设备(device)的英文缩写。包含所有的设备文件
  • /mnt和/media
    可以临时将别的文件系统挂在这个目录下,即为其他的文件系统提供安装点
  • /tmp
    用来存放不同程序执行时产生的临时文件
  • /srv
    srv 是服务(server)的简写,服务启动之后需要访问的数据目录
  • /sys
    本目录是将内核的一些信息映射文件,以供应用程序所用
  • /proc
    可以在这个目录下获取系统信息。这些信息是在内存中由系统自己产生的

三、重定向和数据流

重定向

重定向操作符可以将命令输入和输出数据流从默认设备重定向到其他位置。重定向操作符本身不是命
令,而是命令中附加的可改变命令的输入和输出对象的特殊符号。
输出重定向操作符: > 、 >>
输入重定向操作符: < 、 <<
11
将1重定向到文件,将2重定向到1

[root@localhost ~]# data 2> file 1>&2

将2重定向到文件,将1重定向到2

[root@localhost ~]# data 2> file 1>&2

将文件重定向到0

[root@localhost ~]# echo 123 > file
[root@localhost ~]# echo 123 >> file

cat从标准输入读取内容,然后输出到文件中

[root@localhost ~]# echo 123 > file
[root@localhost ~]# cat < file
123

数据流

标准输入(standard input,简称stdin):默认情况下,标准输入指从键盘获取的输入
标准输出(standard output,简称stdout):默认情况下,命令执行所回传正确的信息会输出到
屏幕上
标准错误输出(standard error output,简称stderr):默认情况下,标准错误输出可理解为命令
执行失败后,所回传的错误信息会输出到屏幕上
不管正确或错误的数据都是默认输出到屏幕上,所以屏幕是混乱的。所以就需要用数据流重定向将这两条数据分开。数据流重定向可以将标准输出和标准错误输出分别传送到其他的文件或设备去

标准输入(stdin):代码为0
标准输出(stdout):代码为1
标准错误输出(stderr):代码为2

四、创建文件,删除文件,创建目录,删除目录

创建文件

1.创建普通文件
创建普通文件: touch [OPTION]… FILE…
touch——如果文件存在,则改变文件的时间戳
如果文件不存在,默认创建一个空文件

touch file #创建一个新的空文件

2.创建多个普通文件
方法1: touch 文件名1 文件名2 文件名3
方法2: touch {文件名1,文件名2,文件名3}

[root@localhost ~]# touch {1,2}{3,4}
[root@localhost ~]# touch abc{1…100}

删除文件

删除普通文件: rm [-f] 文件名

创建目录

1.创建目录(make directory)
语法为: mkdir [-p] [/路径/]目录名
-p 可快速创建出目录结构中指定的每个目录,对于已存在的目录不会被覆盖
-v 显示创建目录的详细过程
2、统计目录及文件的空间占用情况——du命令
功能:查看某个目录中的各级子目录所占用的磁盘空间数。
命令格式: du [选项] [目录名]
11

删除目录

语法格式: rm -r [-f] 目录文件名

五、cp命令 mv命令的使用

cp命令(复制粘贴)

copy:cp(文件和目录)等效于cp -i

cp -a 文件 目标文件 # 拷贝过去的权限不会发生改变
cp 文件 目标文件
cp -r 目录 目标目录 #把整个目录copy过去,递归拷贝
cp 目录* 目标目录 #把目录中的所有文件copy过去

mv命令(剪切粘贴)

move:mv 文件 目标文件
在同一个目录里进行剪切操作,相当于给原文件重命名

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值