RHCSA_Linux 从命令行管理文件

news2024/9/27 15:33:11

目录

一、文件命令规范:

二、创建链接文件

1、创建软链接文件

2、创建硬链接文件

三、目录操作命令

1、创建目录 -- mkdir

2、统计目录及文件的空间占用情况 -- du

3、删除目录文件

 四、创建、删除普通文件

1、创建普通文件

2、删除普通文件

五、数据流和重定向

1、数据流

2、重定向操作符

3、输出重定向案例

标准输出重定向:1> 或 >、 1>> 或 >>

标准错误输出重定向:2>、 2>>

4、输入重定向案例

1)从文件读取数据作为cat命令的输入

2)标准输入重定向<<并不表示追加,而是表示输入结束的意思,即作为一个结束符

六、将标准输出重定向到文件

1、echo命令用于在终端设备上输出字符串或变量提取后的值

2、将标准输出重定向到文件

七、tee命令读取数据输出到文件

1、管道符 |

2、tee文件


一、文件命令规范:

(1)不能使用/来当文件名,/是用来做根的,也是用来做路径分隔符的

(2)文件名不能超过255个字符

(3)区分大小写file File FILE fIle

(4)目录也是文件,在同一路径下,两个不同类型文件不能同名

二、创建链接文件

1、创建软链接文件

ln -s 原文件 目标文件
[root@localhost ~]# ln -s /etc/hostname /root/hostname
[root@localhost ~]# ll -i /etc/hostname /root/hostname
35502652 -rw-r--r--. 1 root root  1 Sep 10 21:48 /etc/hostname
17597092 lrwxrwxrwx. 1 root root 13 Sep 17 11:32 /root/hostname -> /etc/hostname

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

2、创建硬链接文件

ln 原文件 目标文件
[root@localhost ~]# ln /etc/motd /root/motd
[root@localhost ~]# ll -i  /motd /root/motd
ls: cannot access '/motd': No such file or directory
33677060 -rw-r--r--. 2 root root 0 Jun 23  2020 /root/motd

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

三、目录操作命令

1、创建目录 -- mkdir

mkdir [-p] [/路径/]目录名

        -p        可快速创建出目录结构中指定的每个目录,对于已存在的目录不会覆盖

        -v        显示创建目录的详细过程

[root@localhost ~]# mkdir new_dir

查看新创建的目录:

创建多层级目录:

[root@localhost ~]# mkdir b/c/d/1/2/3 -p

 查看多层级目录结构:

2、统计目录及文件的空间占用情况 -- du

——查看某个目录中的各级子目录所占用的磁盘空间数

——格式:du [选项] [目录名]

选项功能
-a统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-s只统计每个文件所占用空间总的大小,而不是统计每个子目录、文件的大小
-h以K,M,G为单位显示磁盘使用情况,以提高信息的可读性
[root@localhost ~]# du -a Videos
0	Videos
[root@localhost ~]# du -s Music
0	Music
[root@localhost ~]# du -h Desktop
0	Desktop

3、删除目录文件

语法格式:rm -r [-f] 目录文件名
[root@localhost ~]# rm -rf 1 2 3 d c b -rf
[root@localhost ~]# tree b
b [error opening dir]

0 directories, 0 files

 四、创建、删除普通文件

1、创建普通文件

        格式:touch [OPTION] ... FILE...

                选项:-c        在修改文件的时候避免创建新文件

                           -a        修改文件访问(Access)时间

                           -m        修改文件的内容修改(Modify)时间

                           若不带任何选项touch一个已存在的文件,则会修改它的三个时间

        touch用法:

        (1)若文件已存在,更新文件的三个时间,stat可查看文件的详细信息

#touch前:
[root@localhost ~]# stat /etc/hostname
  File: /etc/hostname
  Size: 1         	Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 35502652    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:hostname_etc_t:s0
Access: 2023-09-17 07:25:16.795457980 +0800
Modify: 2023-09-10 21:48:50.144530986 +0800
Change: 2023-09-10 21:48:50.144530986 +0800
 Birth: 2023-09-10 21:48:50.142531046 +0800

[root@localhost ~]# touch /etc/hostname    #touch后
[root@localhost ~]# date
Sun Sep 17 05:13:19 PM CST 2023
[root@localhost ~]# stat /etc/hostname
  File: /etc/hostname
  Size: 1         	Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 35502652    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:hostname_etc_t:s0
Access: 2023-09-17 17:13:17.296969959 +0800
Modify: 2023-09-17 17:13:17.296969959 +0800
Change: 2023-09-17 17:13:17.296969959 +0800
 Birth: 2023-09-10 21:48:50.142531046 +0800
#三个时间已更新

atime,即access time,访问文件的时间,查看了一下文件内容(cat),文件的atime时间会更新

mtime,即modify time,修改内容的时间,文件内容被改变了,ctime会更新

ctime, 即change time,修改文件元数据的时间

        (2)若文件不存在,则表示创建文件

                创建多个普通文件

                a.        touch 文件名1 文件名2 文件名3

                b.        touch {文件名1,文件名2,文件名3}

2、删除普通文件

        格式:rm [-f] 文件名

        例子:将abc1~abc10删除掉

五、数据流和重定向

1、数据流

标准输入(standard input——stdin):默认情况下,标准输入指从键盘获取的输入

标准输出(standard output——stdout):默认情况下,命令执行所回传正确的信息会输出到屏幕

标准错误输出(standard error output——stderr):默认情况下,标准错误输出可理解为命令执行失败后,所回传的错误信息会输出到屏幕上

标准输入(stdin):代码为0

标准输出(stdout):代码为1

标准错误输出(stderr):代码为2

2、重定向操作符

        ——可将命令输入和输出数据流从默认设备重定向到其他位置。

        ——本身不是命令,而是命令中附加的可改变命令的输入和输出对象的特殊符号

输出重定向操作符:       >>

输入重定向操作符:       <<

1)命令 > 文件 或 命令 1 > 文件

        ——将命令执行后的标准信息不在默认的屏幕上显示,而是以覆盖的方式写入到指定文件中,若指定的文件不存在,则自动创建该文件

2)命令 2 > 文件

        ——将命令执行后所产生的错误信息不在默认的屏幕上显示,而是以覆盖的方式写入到指定文件中,若指定的文件不存在,则自动创建该文件

3)命令 2>/dev/null

        ——将命令执行后所产生的错误信息不在默认的屏幕上显示,而是写入到空设备文件中,即将输出的错误信息丢弃掉

4)命令 &>文件 或 命令 >&文件

        ——将命令执行后的正确信息和错误信息不在默认的屏幕上显示,而是以覆盖的方式写入到指定文件中,若指定的文件不存在,则自动创建该文件

5)命令 >>文件

        ——将命令执行后的正确输出信息追加的方式写入到指定的文件中,不覆盖原文件内容,若指定的文件不存在,则自动创建该文件

6)命令 <文件

        ——使命令从指定的文件中读取数据作为输入,通过$()转换字符串为命令要使用的参数

7)命令 <<结束标识字符串

        ——在命令行读取数据作为输入,通常配合输入重定向>使用,当输入的内容为结束标识符后方的字符串时,标识退出当前输入

3、输出重定向案例

标准输出重定向:1> 或 >、 1>> 或 >>

1、覆盖
[root@localhost ~]# date
Sun Sep 17 05:49:26 PM CST 2023
[root@localhost ~]# date 1>date.txt
[root@localhost ~]# cat date.txt
Sun Sep 17 05:49:34 PM CST 2023
2、追加
[root@localhost ~]# date >>date.txt
[root@localhost ~]# cat date.txt
Sun Sep 17 05:49:34 PM CST 2023
Sun Sep 17 05:50:48 PM CST 2023

标准错误输出重定向:2>、 2>>

1、重定向到不同位置
[root@localhost ~]# ls /home/ /aaaa >list.txt
ls: cannot access '/aaaa': No such file or directory
[root@localhost ~]# ls /home/ /aaaa >list.txt 2>error.txt
[root@localhost ~]# cat error.txt
ls: cannot access '/aaaa': No such file or directory

2、正确和错误都输入到相同位置
1)
[root@localhost ~]# ls /home/ /aaaa &>list.txt
[root@localhost ~]# cat list.txt
ls: cannot access '/aaaa': No such file or directory
/home/:
zx

2)
[root@localhost ~]# ls /home/ /aaaa >list.txt 2>&1

3、重定向到空设备/dev/null
1)
[root@localhost ~]# ls /home/ /aaaa >list.txt 2>/dev/null
2)
[root@localhost ~]# ls /home/ /aaaa &>/dev/null

4、输入重定向案例

标准输入重定向:< 或 0<、 0<< 或 <<

1)从文件读取数据作为cat命令的输入

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

2)标准输入重定向<<并不表示追加,而是表示输入结束的意思,即作为一个结束符

[root@localhost ~]# cat > file3 << end
> hello
> 你好
> end
[root@localhost ~]# cat file3
hello
你好

六、将标准输出重定向到文件

1、echo命令用于在终端设备上输出字符串或变量提取后的值

        ——格式:echo [字符串][$变量]

        ——$:提取变量的实际值,以便后续的输出操作

# 输出字符串在终端设备上
[root@localhost ~]# echo kongd.com
kongd.com

# 提取变量SHELL的值
[root@localhost ~]# echo $SHELL
/bin/bash

2、将标准输出重定向到文件

[root@localhost ~]# echo test > /root/test/file
[root@localhost ~]# echo test2 >> /root/test/file

七、tee命令读取数据输出到文件

1、管道符 |

        ——用于两个命令或者多个命令相连接,将管道符左边命令的输出作为管道符右边命令的输入

2、tee文件

——读取标准输入的数据,并将其内容输出到文件的同时输出到屏幕

——tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时输出到文件

语法:tee [-ai][--help][--version][文件...]

参数:

        -a 或 --append        附加到现有文件的后面,而非覆盖它

        -i 或 --ignore-interrupts        忽略中断信号

        --help        在线帮助

Q1:在Linux上使用这个命令

[command] | tee [file]

Q2:确保tee命令追加信息到文件中

[command] | tee -a [file]

[root@localhost ~]# cat new_file
new_file
new_file
[root@localhost ~]# tee -a new_file
new_file1
new_file1
^C
[root@localhost ~]# cat new_file
new_file
new_file
new_file1

Q3:让tee写入多个文件

[command] | tee [file1] [file2] [file3]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1018874.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

春秋云镜 CVE-2010-1870/CVE-2013-1965

春秋云镜 CVE-2010-1870 S2-005 远程代码执行漏洞 靶标介绍 struts2将http的每个参数名解析为OGNL语句执行(可理解为java代码)。OGNL表达式通过#来访问struts的对象&#xff0c;struts框架通过过滤#字符防止安全问题&#xff0c;然而通过unicode编码(u0023)或8漏洞(43)即绕过…

【项目经验】:elementui多选表格默认选中

一.需求 在页面刚打开就默认选中指定项。 二.方法Table Methods toggleRowSelection用于多选表格&#xff0c;切换某一行的选中状态&#xff0c;如果使用了第二个参数&#xff0c;则是设置这一行选中与否&#xff08;selected 为 true 则选中&#xff09;row, selected 详细…

Docker部署单点Elasticsearch与Kibana

一 、 创建网络 因为需要部署kibana容器&#xff0c;因此需要让es和kibana容器互联。这里创建一个网络&#xff1a; docker network create es-net # 创建一个网络名称为:es-net 二 、拉取并加载镜像 方式一 docker pull elasticsearch:7.12.1 版本为elasticsearch的7…

线性代数基础-矩阵

八、矩阵的基础概念 1.矩阵 我们忘掉之前行列式的一切&#xff0c;列一种全新的数表&#xff0c;虽然长得很像&#xff0c;但是大不相同&#xff0c;首先一个区别就是矩阵不能展开成一个值&#xff0c;这里不讨论矩阵的空间意义 { a 11 x 1 a 12 x 2 a 13 x 3 . . . a 1…

CH573-09-BLE蓝牙安卓应用二次开发——RISC-V内核BLE MCU快速开发教程

一、基础工程搭建 在上一章最后一讲的BLE蓝牙例程中&#xff0c;我们使用了沁恒官方的BLE调试助手完成数据发送&#xff0c;接下来我们使用Android Studio完成一款简易的BLE调试助手。 1、参考文章 我这里参考了CSDN中的一位博主“摸爬滚打的程序媛”的文章以及对应文章中的…

2023最新玩客云刷机armbian,部署docker并配置各种常用容器镜像

#以下安装从基于 rootonecloud:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.2 LTS Release: 22.04 Codename: jammy刷机开始 &#xff08;以下刷机教程部分资料来源于&#xff1a;玩客云刷ARMBIAN系统…

linux查看进程对应的线程(数)

首先&#xff0c;top或ps查看进程列表&#xff0c;确定要查看的进程pid&#xff0c;如下面40698 查看进程的线程情况 查看进程&#xff1a;top -p 40698 查看线程&#xff1a;top -p 40698 -d 3 -H 其中-d是刷新频率 可看到此进程共211个线程&#xff0c;运行中的是211个。…

C++基础-类和对象(下)

文章目录 前言一、构造深入1.初始化列表2.隐式类型转换1.隐式类型转换2.explicit 3.委托构造 二、类的静态成员1.静态成员声明2.静态成员定义3.静态成员特性 三、重载运算符和类型转化1.关系及算数运算符重载2.递增递减运算符重载及如何区分3.赋值运算符重载4.重载输入输出运算…

【基础篇】五、基于SpringBoot来整合SSM的案例(上)

文章目录 0、创建模块1、实体类的快速开发Lombok2、数据层开发&#xff08;CRUD&#xff09;3、分页4、条件查询5、业务层的标准开发6、业务层的快速开发&#xff08;基于MyBatisPlus&#xff09;7、表现层开发 接下来在SpringBoot下&#xff0c;把Spring、SpringMVC、MyBatis整…

项目进度管理(3-3)PERT计划评审技术详解

1 计划评审技术起源 PERT&#xff08;Program Evaluation and Review Technique&#xff0c;项目评估和审查技术&#xff09;的起源可以追溯到20世纪50年代&#xff0c;与美国国防部和美国海军的项目管理有关。 PERT的发展始于20世纪50年代初&#xff0c;当时美国国防部正面临…

ConfigMaps-2

文章目录 主要内容一.Volume 挂载 ConfigMap1.创建一个Pod&#xff0c;起挂载的内容&#xff0c;将来自下面的configmap&#xff1a;代码如下&#xff08;示例&#xff09;: 2.解释 二.环境变量 ConfigMap1.创建一个名为 mysqlpass 且包含 passwordABCabc123 的 configmap&…

第一、二题见贴图第三题 实现求1-100之间的质数?

print("模式A") while True: for i in range (1,7): for j in range(1, 7): if j < i: print(j,end"\t") print() break print() print("模式B") while True: for i in range (6,…

【测开】Java快转Python 学习路径记录

写在前面 工作后需要用python&#xff0c;记录下学习的一些资料和总结&#xff0c;仅供参考&#xff0c;希望对你有帮助。 2023/9/8 (碎碎念&#xff1a;我太懂工作要用时自己却不会的感觉了…心好累&#xff0c;问大家怎么学就说这简单…md记录一下&#xff09; Part.1 对比 …

基于Java汽车服务商城系统 设计实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

知识图谱(3)关系抽取

信息抽取旨在从大规模非结构化或半结构化的自然语言文本中抽取结构化信息。关系抽取是其中的重要子任务&#xff0c;主要目的是从文本中识别实体并抽取实体之间的语义关系。 比如有下面的文本&#xff1a; International Business Machines Corporation (IBM or the company) …

2019-2021年上市公司润灵ESG评分评级数据

2019-2021年上市公司润灵ESG评分评级数据 1、时间&#xff1a;2019-2021年 2、指标&#xff1a;股票代码、股票简称、评级年份、所属指数名称、GICS行业一级分类、GICS行业一级分类代码、GICS行业二级分类、GICS行业二级分类代码、GICS行业三级分类、GICS行业三级分类代码、E…

【Qt 图形视图框架】QGraphics分析及使用

组成 Qt 图形视图框架分为三部分&#xff1a;场景、视图、图元。 场景对于程序来说&#xff0c;场景是不可见的&#xff0c;是一个抽象的管理图形项的容器。 可以向场景中添加图形项&#xff0c;比如&#xff1a;圆形、矩形、三角形等等 此外&#xff0c;还可以获取场景中的某…

games101 作业2

题目 光栅化一个三角形 1. 创建三角形的 2 维 bounding box。 2. 遍历此 bounding box 内的所有像素&#xff08;使用其整数索引&#xff09;。然后&#xff0c;使用像素中心的屏幕空间坐标来检查中心点是否在三角形内。 3. 如果在内部&#xff0c;则将其位置处的插值深度值 (…

GICv3学习

GICv3学习 参考文档&#xff1a; 《corelink_gic600_generic_interrupt_controller_technical_reference_manual_100336_0106_00_en》 《IHI0069H_gic_architecture_specification》 《ECM0495013B_GIC_Stream_Protocol》 一、GICv3寄存器接口 接口如下图所示&#xff1a…

手搭手入门Mybatis-Plus配置多数据源

https://baomidou.com/ Mybatis-Plus介绍 为简化开发而生 MyBatis-Plus(opens new window)&#xff08;简称 MP&#xff09;是一个 MyBatis (opens new window) 的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。 特性 无…