Linux红帽(RHCE)认证学习笔记-(1)Linux 文件管理

news2024/10/7 14:22:18

Linux 文件管理

1. Linux下的目录结构

/ 是Linux里的根目录

Linux的一级目录

  • /boot :存放的是系统的启动配置⽂件和内核⽂件
  • /dev :存放的是Linux的设备⽂件
  • /etc:存放的是Linux下的配置文件
  • /home:存放普通用户的家目录
  • /media:挂载点⽬录
  • /mnt:挂载点⽬录
  • /run:挂载点⽬录
  • /opt:存放软件⽂件的⽬录
  • /proc:存放的是进程⽂件
  • /srv:存放⼀些资源⽂件
  • /sys:存放⼀些资源⽂件(系统资源)
  • /tmp:存放的是⼀些临时⽂件(⾮常重要)
  • /var⽬录:存放log⽇志⽂件的⽬录(⾮常重要)
  • /usr⽬录:Linux软件默认安装的⽬录
  • /bin->/usr/bin :存放的是普通⽤户能执⾏的命令
  • /lib->/usr/lib:存放的是32位的函数⽂件
  • /lib64->/usr/lib64:存放的是64位的函数⽂件
  • /sbin->/usr/sbin:存放的是超级⽤户能执⾏的命令
  • /root:是root⽤户的家⽬录

在商⽤环境或⽣产环境,⼀定要尽量的避免直接使⽤root权限操作Linux

su命令详解

su(switch user)切换⽤户

普通⽤户切换到任何⽤户都需要输⼊密码
root⽤户切换到任何⽤户都不需要输⼊密码
su - username
su命令切换⽤户如果不加"-",只是shell层⾯的切换,⽤户的环境变量实际上是没有变的
su -和su - root 是⼀样的,没区别

文件管理命令

⽂件的增删改查

⽂件的创建(⽂本⽂件的创建,⽬录⽂件的创建)

⽂件的删除(⽂本⽂件的删除,⽬录⽂件的删除)

⽂件的修改(⽂件内容的修改,⽂件属性的修改)

⽂件的查看(⽂件内容的查看,⽂件属性的查看)

理解绝对路径和相对路径

绝对路径:以顶级⽬录开头的路径就是绝对路径,在Linux⾥⾯"/"就是顶级⽬录,以/开头的路径就是绝对路径

相对路径:不以/开头的路径就是相对路径

  • cd(change directory)命令

cd path(相对路径或者绝对路径)

cd … 表示切换到上级⽬录

cd ~ 表示切换到当前shell⽤户的家⽬录,相当于直接敲cd命令

cd - 表示切换到上次所在的⽬录(反复的敲,会在两个⽬录下反复的切换)

ctrl+shift+t多⼀个命令⾏的shell,然后atl+1~9来回切换,ctrl+d关闭当前的shell

  • ls 命令
ls 是对【文件属性】的查看
ls 如果什么都不加,表示显示当前⽬录下的所有⽂件名称
$ ls
# ls后⾯加路径,就能显示路径下⾯的⽂件内容,如果ls后⾯跟的是⽬录,就把⽬录下⾯的⽂件名字列出来,如果ls后⾯跟的是普通⽂件,就把这个普通⽂件的名字列出来
$ ls /opt/testfile.txt #只列出文件的名字(文件名也算文件的属性)
# ls /opt #列出目录下的文件

# ls 可以跟多个路径(相对路径和绝对路径都可以)
$ ls /opt /var /opt/testfile


# ls 的参数详解
-l	参数表示显示⽂件的详细信息
-a  参数表示显示以"."开头的⽂件,在Linux中,以"."开头的⽂件是隐藏⽂件
-d  表示显示⽬录本身的属性,⽽不是⽬录下的内容的属性
-h  参数必须和-l参数⼀起使⽤,-h参数能让⽂件的⼤⼩显示的更⼈性化


ls -l显示的内容,第⼀列表示⽂件的类别
	"-"表示普通⽂件
	“d”表示⽬录本身⽂件的属性
	ls -l /opt -d  # 显示一行/opt目录本身的属性
	# drwxr-xr-x. 7 root root 113 4月  18 22:49 /opt
	“b”表示块设备(存储设备)
	“l”表示快捷⽅式(软链接)

在这里插入图片描述

上⾯9列表示权限列,表示3类⼈的权限,前三列表示⽂件拥有者对该⽂件具备的权限,中三列表示⽂件所属组对该⽂件具备的权限,后三列表示其他⼈
对该⽂件的权限。
r表示read,读权限
w表示write,写权限
x表示execute,执⾏权限
-表示没有权限,3列⾥⾯,第⼀列总是-或者r,第⼆列总是-或w,第三列总是-或x

权限9列后⾯的"."表示该⽂件具备SELinux的安全上下⽂,有些时候,权限9列后⾯可能是"+",如果是+,则表示该⽂件有ACL权限。
后⾯⼀列,数字那列,表示该⽂件有的链接数量。

⽂件所属组后⾯那列表示⽂件的⼤⼩,单位是字节(Byte)
1024Byte=1KB,1024KB=1MB,1024MB=1GB,1024GB=1TB,1024TB=1PB,1024PB=1EB
再后⼀列就是⽉,⽇,时,分,表示时间。
最后⼀列表示的是⽂件名字

# 参数在99%的命令⾥,参数的顺序是⽆所谓的

stat filename 查看文件的一些时间信息(修改时间、创建时间、最近访问时间等)

  • cat命令的使用
cat 文本文件的path
cat /opt/filename /etc/hosts #可以显示多个
  • head 命令的使用
head -n 10 filename.txt #显示前十行 -n number 
head -n 10 filename.txt -n 3 test.txt

[root@localhost opt]# head -n 5 filename.txt  -n 2 test.txt 
==> filename.txt <==
sdwj
滴答

==> test.txt <==
aaaaaaaaaaaaaaaaaaaaaaaaaaaa
  • tail命令的使用
tail 显示文件的后面的内容
tail -n 10 filename.txt #显示后十行
tail -f filename.txt #持续打印文件的后面的内容
  • more命令的使用
more命令显示文本内容非常多的时候使用,它是以一页一页显示的。
more filename.txt
回车查看下一行的内容
空格查看下一页的内容
q退出more 的状态
more命令不⽀持向前翻⻚
  • less命令的使用
less和more差不多,less的好处是可以向前翻⻚
more有的功能less都有,more没有的less也有
  • 创建文件方式
# 文本文件的创建
touch file.txt file1.txt  # 创建的⽂本⽂件默认都是空的
# 如果touch后⾯跟的⽂件已经存在,那么就更新这个⽂件的时间戳

touch file{1..5} # 这样可以创建五个文件 分别是file1 file2 file3 file4 fil5 可以批量创建文件

Linux里的后缀名是没有作用的,但是加上后缀,让人看着是有意义的。
为什么说windows⾥⾯要有后缀名呢? 菜鸡保护机制


# 在Linux里如何查看文件的类型
file /opt/
[root@localhost opt]# file /opt/
/opt/: directory # 这是一个目录
file /opt/filename

[root@localhost opt]# file /opt/filename.txt 
/opt/filename.txt: UTF-8 Unicode text # 这是一个文件
  • 创建目录的命令
mkdir 创建目录
mkdir demo
mkdir -p demo/demo1/demo2 # -p parents 父级目录 
# 	如果没有/tmp/demo1/demo2 ⽬录,-p参数会让demo1⽬录⾃动创建
  • 删除命令
#删除目录
rmdir demo #demo假设是一个目录
#删除除目录以外的文件
rm  filename # 会询问你是否删除
#强制删除,不询问
rm -f filename

-i 参数能提示是否删除⼀个⽂件
-r 参数能赋予rm删除⽬录的能⼒
-r -f⼀起⽤,⽂件⽬录都能在不提示的情况下,直接⼲掉(删除),删对了,升职加薪,⾛向⼈⽣巅峰。
删错了,再⻅。
  • 文件的拷贝和剪贴
指定多⽂件拷⻉
cp 源⽂件1 源⽂件2 .... ⽬的⽬录path
cp 如果最后⼀个⽂件是⼀个存在的⽬录,就将cp指定的⽂件拷⻉到⽬标⽬录


拷⻉且改名(备份) 常用
cp 源⽂件 ⽬的⽬录/awhduawdaw
cp如果最后⼀个⽂件并不是⼀个存在的⽬录,就将cp指定的⽂件拷⻉到⽬标名字的上层⽬录,并且将名字更改为⽬标
名字
cp /etc/hosts /root/Desktop/hosts.bak

cp -r可以拷⻉⽬录

cp -a 可以保留⽂件的原有属性 # 必须是以root权限创建的目录

cp -i 也有-i提示参数



# 文件的移动
# ⽤法和cp基本⼀致,唯⼀的不同就是移动之后,源⽂件没了,到了新的路径
# 如果移动的源⽂件和⽬的⽂件路径⼀致,就可以实现改名的操作
mv 源文件  目标文件
  • 通配符
?就是通配符的⼀个,"?"表示⼀个⾮空的任意字符
\表示转移字符,能让特殊字符失去原有的功能
[]表示匹配"[]"包含的其中的⼀个字符
	[a-z]表示所有的字⺟
	[A-Z]表示匹配所有⼤写的字⺟
	[1-9]表示匹配所有的数字
	[^] # ^ 表示非得意思 
*表示匹配任意数量的字符
  • vim编辑器
vim 有四大模式
命令行模式
编辑模式
末行模式
可视化模式
1. 命令行模式

hjkl 表示命令模式里调整光标方向的命令 
	h 左
	j 下
	k 上
	l 右
gg 切换到行首
G 切换到最后一行
输入nG 就能切换到第n行 # 比如输入3G 就能到第三行  按完3松手,再按G
光标位置,按x 就能删除光标所在的字符 ,连续按x 向右边删
如果输入X 就能删除光标左边的字符,连续按X向左边删
按u 撤销 ,相当于Windows的Ctrl+z,	Linux里的撤销次数几乎无限,Windows由于缓冲区不一样,撤销次数有限制。




#命令行模式的高级用法
dd 在命令模式下,按dd删除光标所在行 按5dd 删除包含光标所在行的下面的5行
yy 在命令模式下,按yy 复制光标所在行,按8yy,复制包含光标所在行的下面的8行
p 粘贴复制的文本内容 粘贴到光标所在行的下一行
P 粘贴复制的文本内容, 粘贴到光标所在行的上一行
p 和 P 都可以把在上次执行的yy 或者dd命令来粘贴出来。



2. 编辑模式

在命令模式下,输入 i / I / a / A / o / O 都能进入编辑模式
在(任何)编辑模式下,按esc都能回到命令模式

命令模式下按i ,从光标所在行左边插入文本
命令模式下按a , 从光标所在行右侧插入文本
命令行模式按I , 从光标所在行行首开始插入文本
命令行模式按A , 从光标所在行行尾开始插入文本
命令行模式按o , 从光标所在行的下一行另起一行插入文本
命令行模式按O , 从光标所在行的上一行另起一行插入文本
3. 末行模式
在命令模式下,输入正斜线"/" 或者 冒号":" 进入末行模式

常见操作如下
 - 查看指定的字符串 # 输入 /  (/test)再输入要查找的字符,会以高亮显示。没找到就报错。
 	# 找到多个相同的字符串,按n 切换到下一个找到的字符串,按N切换上一个找到的字符串
 	
 - 文本内容的替换
 :5,10s/aaa/bbbbbbb/g
 	# g :global # 代表全局替换的意思
 将包含第5行和第10行所有的aaa全部替换成bbbbbbbb
 :1,$s/RRR/fffff/g
 将第一行到最后一行的RRR全部替换成ffffff 
 
 :1,$s/\/var\/log/\/opt\/filename/g # 记得转义
 
 	如果在后面不加g ,就只替换每一行遇到的第一个匹配的字符串被替换。
 
 - 保存文本内容
 	# 按 :  
 	# w 保存, wq 保存并退出  wq! 保存并强制退出 
 
 - 退出vim编辑器
 # 输入q 退出,q! 强制退出 
 
 
 # 常见操作 
 输入 :set number 显示行号  简写 :set nu
 	 :set nonumber 取消行号  简写 :set nonu
 
4. 可视化模式
命令模式,按 v 或者 V进入可视化模式

Linux里的重定向

  • 输出重定向
我们可以使用 >  >> 来将命令的结果输入到一个文件中
cat /etc/hosts >> ./file.txt # 没有这个file.txt文件,会默认创建这个文件
cat /etc/hosts > ./file.txt # 一个 > 是会直接覆盖源文件的,两个 >> 是追加内容。不会覆盖原有的内容

> 正确的覆盖
>> 正确的追加

2> 错误的覆盖
2>> 错误的追加

&> 正确的错误的都覆盖
&>> 正确却错误的都追加

&>> /dev/null #它是一个黑洞文件,可以将一些敏感的或者无关紧要的东西重定向到这个文件中。
举例:cat /etc/hosts &>> /dev/null
  • 输入重定向(可以将交互式命令变为非交互式命令)
<

<<
[root@localhost ~]# cat <<EOF
> you
> ni
> hao
> EOF
you
ni
hao



cat > hello.txt <<EOF
>nihao
>AAA
>EOF
  • 管道命令
1.管道两边都总有命令
2.管道的左侧产生输出结果,经过管道后,变成输入

ls | xargs cat #这个xargs 将输出的内容作为cat的参数来使用。
比如ls 的结果是 file.txt(这里面存的内容是ABCDEFG)
那么 ls | xargs cat就是 cat file.txt 这样的意思。
也就是说,最后输出的是ABCDEFG


grep # 中文的意思:抓
# grep 内容 文件名
过滤文件中的内容。
grep filename
参数解释
-i  不区分大小写
-v 反向抓取(比如,你要抓123 加了-v 就是除了123都过滤)
-n 显示行号
-A after 将抓取关键字后两行列出来
-B before 将抓取关键字前两行列出来


在管道里使用grep的命令频率很高
ls | grep abc
  • 快捷键
ctrl + a 移动光标到最左侧
ctrl + e 移动光标到最右侧

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

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

相关文章

15天搭建ETF量化交易系统Day1—数据源模块

搭建过程 每个交易者都应该形成一套自己的交易系统。 很多交易者也清楚知道&#xff0c;搭建自己交易系统的重要性。现实中&#xff0c;从&#xff10;到&#xff11;往往是最难跨越的一步。 授人鱼不如授人以渔&#xff0c;为了帮助大家跨出搭建量化系统的第一步&#xff0c;我…

Edge浏览器新特性深度解析,写作ai免费软件

首先&#xff0c;这篇文章是基于笔尖AI写作进行文章创作的&#xff0c;喜欢的宝子&#xff0c;也可以去体验下&#xff0c;解放双手&#xff0c;上班直接摸鱼~ 按照惯例&#xff0c;先介绍下这款笔尖AI写作&#xff0c;宝子也可以直接下滑跳过看正文~ 笔尖Ai写作&#xff1a;…

Adfind的使用

Adfind是一个使用C语言写的活动目录查询工具&#xff0c;它允许用户轻松地搜索各种活动目录信息。它不需要安装&#xff0c;因为它是基于命令行的。它提供了许多选项&#xff0c;可以细化搜索并返回相关细节。下面讲解Adfind的参数以及其使用。 参数 执行如下命令即可查看Adf…

机器学习周记(第三十六周:语义分割)2024.4.22~2024.4.28

目录 摘要 ABSTRACT 1 FCN 2 双线性插值 3 膨胀卷积 3.1 gridding effect 摘要 本周继续学习了语义分割的内容&#xff0c;主要包括 FCN&#xff08;全卷积网络&#xff09;、双线性插值和膨胀卷积等方面。FCN 通过上采样的倍率可以划分为 FCN-32S、FCN-16S、FCN-8S&…

Unity | 优化专项-包体 | 字体

1. 字体包体占用 常用汉字字体文件大小通常在 10M~12M 左右&#xff0c;大概包含常见汉字 3.5w 个。我国汉字有大约将近十万个&#xff0c;全字库的大小对于游戏包体是灾难性的 在小游戏中&#xff0c;即使是常见汉字&#xff0c;大小也足以影响小游戏总包体&#xff0c;进而…

深入探索计算机视觉:高级主题与前沿应用的全面解析

引言 计算机视觉&#xff0c;作为人工智能领域的一个重要分支&#xff0c;旨在让计算机能够“看”懂世界&#xff0c;理解和解释视觉场景。随着深度学习技术的迅猛发展&#xff0c;计算机视觉已经在许多领域取得了显著的进展&#xff0c;如自动驾驶、安防监控、医疗诊断等。在…

vue使用source map调试

一、开发环境 1、开启配置&#xff1a;devtool: ‘eval-source-map’,跟mode配置平级 效果就是控制台报错行数和源码行数完全一致 二、生产环境 1、在生产环境下&#xff0c;一般要关闭source map&#xff0c;如果只想定位报错的具体行数&#xff0c;且不想暴露源码。此时可…

《苍穹外卖》Day11部分知识点记录(数据统计——图像报表)

一、Apache ECharts 介绍 Apache ECharts是一款基于javascript的数据可视化图标库&#xff0c;提供直观、生动、可交互、可个性化定制的数据可视化图表。 官网地址&#xff1a;https://echarts.apache.org/zh/index.html 效果展示 柱形图饼图折线图 入门案例 1. 在 echart…

CAS机制(Compare And Swap)源码解读与三大问题

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java源码解读-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 目录 1. 前言 2. 原子性问题 3. 乐观锁与悲观锁 4. CAS操作 5. CAS算法带来的…

【算法】组合回溯专题

组合总数 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制重复被…

MySQL-多表查询-练习

练习 1.写一个查询显示所有雇员的 last name、department id、anddepartment name。 SELECT e.LAST_NAME,e.DEPARTMENT_ID,d.DEPARTMENT_NAME FROM employees e,departments d WHERE e.DEPARTMENT_ID d.DEPARTMENT_ID;2.创建一个在部门 80 中的所有工作岗位的唯一列表&#x…

2024长三角快递物流展:科技激荡,行业焕发新活力

7月8日&#xff0c;杭州将迎来快递物流科技盛宴&#xff0c;这是一年一度的行业盛会&#xff0c;吸引了全球领先的快递物流企业和创新技术汇聚一堂。届时&#xff0c;会展中心将全方位展示快递物流及供应链、分拣系统、输送设备、智能搬运、智能仓储、自动识别、无人车、AGV机器…

nginx修改http为https

Linux运维工具-ywtool 目录 一. 获取 SSL 证书1.安装openssl2.自签名证书 二.安装SSL证书三.配置Nginx支持HTTPS四.重启nginx 一. 获取 SSL 证书 SSL/TLS证书是用来验证服务器身份和提供一个安全的连接通道的 获取SSL/TLS证书有几种方法 1.购买域名,购买SSL证书 2.自签名证书…

测试基础 学习测试你必须要知道的基础知识

1.认识测试 在学习测试之前,我们需要明白以下几点 1.什么是测试 2.测试的岗位有哪些 3.测试开发和开发之间的区别 4.优秀的测试人员需要有哪些品质 我们大概说一说 其实生活中处处有测试 我们试衣服 我们在买手机之前先看手机功能符不符合需求 这些都是测试 测试主要就是为了发…

Java | Leetcode Java题解之第46题全排列

题目&#xff1a; 题解&#xff1a; class Solution {public List<List<Integer>> permute(int[] nums) {List<List<Integer>> res new ArrayList<List<Integer>>();List<Integer> output new ArrayList<Integer>();for (i…

保护企业财务报告,这款防泄密软件做得到!

在日益增长的金融欺诈和网络攻击中&#xff0c;保护企业的财务报告是维持公司声誉和稳定运营的关键。财务报告包含了公司的敏感信息&#xff0c;如利润、收入、财务结构等&#xff0c;一旦泄露&#xff0c;可能会对公司造成不利影响。华企盾DSC数据防泄密系统为企业提供了全面的…

第58篇:创建Nios II工程之Hello_World<四>

Q&#xff1a;最后我们在DE2-115开发板上演示运行Hello_World程序。 A&#xff1a;先烧录编译Quartus硬件工程时生成的.sof文件&#xff0c;在FPGA上成功配置Nios II系统&#xff1b;然后在Nios II Eclipse窗口右键点击工程名hello_world&#xff0c;选择Run As-->Nios II …

决策树模型示例

通过5个条件判定一件事情是否会发生&#xff0c;5个条件对这件事情是否发生的影响力不同&#xff0c;计算每个条件对这件事情发生的影响力多大&#xff0c;写一个决策树模型pytorch程序,最后打印5个条件分别的影响力。 一 决策树模型是一种非参数监督学习方法&#xff0c;主要…

SpringMVC进阶(数据格式化以及数据校验)

文章目录 1.数据格式化1.基本介绍1.基本说明2.环境搭建 2.基本数据类型和字符串转换1.需求分析2.环境搭建1.data_valid.jsp首页面2.Monster.java封装请求信息3.MonsterHandler.java处理请求信息4.monster_addUI.jsp添加妖怪界面5.单元测试 3.保存妖怪信息1.MonsterHandler.java…

【面经】汇总

面经 Java基础集合都有哪些面向对象的三大特点ArrayList和LinkedList的区别&#xff1f;ArrayList底层扩容是怎么实现的&#xff1f;讲一讲HashMap、以及put方法的过程讲一讲HashMap的扩容过程Hashmap为什么要用红黑树而不用其他的树&#xff1f;Java8新特性有哪些LoadFactor负…