linux目录和文件管理
Linux的目录结构是一个树形结构,根目录位于顶部,包含了所有其他目录和文件:Linux文件系统的起始点,所有文件和目录都位于根目录下(树根):系统中最基本的可执行文件:包含启动Linux系统所需的文件:包含设备文件,Linux中一切设备都被视为文件:包含系统范围的配置文件(rpm、yum安装)普通用户的家目录:包含系统所需的共享库里的文件:用于挂载其他文件系统的临时挂载点:用于安装额外的软件包(
一.Linux目录结构
Linux的目录结构是一个树形结构,根目录位于顶部,包含了所有其他目录和文件1./(根目录):Linux文件系统的起始点,所有文件和目录都位于根目录下(树根)
2./bin:系统中最基本的可执行文件
3./boot:包含启动Linux系统所需的文件
4./dev:包含设备文件,Linux中一切设备都被视为文件
5./etc:包含系统范围的配置文件(rpm、yum安装)
6./home:普通用户的家目录
7./lib:包含系统所需的共享库里的文件
8./mnt:用于挂载其他文件系统的临时挂载点
9./opt:用于安装额外的软件包(第三方软件)
10./proc:包含虚拟文件系统,并不存在磁盘上。查看这些文件时, 实际上是在访问存在内存中的信息,这些信息用于访问系统。
11.root:超级用户(root)的家目录
12./sbin:包含系统管理员使用的系统管理程序
13./tmp:用于存放临时文件的目录,系统重启时会自动清空
14./usr:包含用户安装的应用程序和文件
15./var:包含系统运行时产生的可变数据
16./media:可拆卸的外接外挂设备(u盘,光驱)等。
二.linux查看文件内容的命令
1.cat命令
Linux中,cat 是一个非常非常.常用的命令行工具,用于显示文件内容、连接文件和重定向文件输出等操作
n:对输出的内容添加顺序符号
-b:空白文件不添加顺序符合这将把 file1 和 file2 的内容连接起来,并将结果输出到终端
-s:将所有的连续的多个空行替换为一个空行
cat命令常用的用法👇
1显示文件内容
cat filename
输出结果:在终端中显示名为 filename
的文件的内容。
2连接文件
cat file1 file2
输出结果:把 file1 和 file2 的内容连接起来,并将结果输出到终端
3创建文件
cat > newfile
然后输入要写入到文件 newfile
中的内容,并按 Ctrl+D
结束输入。
4.将文件内容附加到另一个文件
cat file1.txt >> file2.txt
输出结果:把 file1.txt
的内容追加到 file2.txt
文件的末尾
总的来说,cat
是一个简单实用的命令行工具,用于处理文本文件,它在日常的文件操作中非常有用。
2、more命令
more命令是一个用于查看文本文件内容的命令行工具,它按页显示文件内容,并提供简单的浏览功能。more
命令通常用于查看大型文件。
more filename
输出结果:会打开文件 filename
并在终端中逐页显示其内容。你可以使用空格键向下翻页,使用 q
键退出 more
命令
more 命令还支持一些简单的交互功能,例如:
1/按下空格键翻到下一页。
2/按下 Enter 键翻到下一行。
3/按下 q 键退出 more 命令。
4/按下 b 键返回上一页。
3、less命令
less
命令跟more命令一样,也是用于查看文本文件内容的命令行工具,但相比于 more,它提供了更多的功能和交互性。
less filename
输出结果:打开文件filename在终端中显示其内容。与more 不同,less可以向上和向下滚动,而不仅限于向下翻页。
less命令的一些常见用法和功能:
1.浏览文件内容:使用箭头键或 Page Up/Page Down 键来向上或向下滚动文件内容,或者使用空格键向下滚动一页。
2.搜索文本:按下 /
键后输入要搜索的文本,然后按 Enter 键进行搜索。less将会高亮显示匹配的文本,并定位到第一个匹配项。按下 n
键可以查找下一个匹配项。
4、head命令
head命令用于显示文件的开头部分,默认情况下显示文件的前 10 行
1.显示文件开头部分:基础用法就提供文件名,显示文件的前 10 行👇
head filename
2.指定显示行数:通过 -n
选项,可以指定要显示的行数。必须要显示文件的前30 行,可以使用:
head -n 30 filename
3.显示多个文件:head
命令还可以同时显示多个文件的开头部分👇
head file1 file2
5、tail命令
tali命令用于显示文件的结尾部分,默认情况下显示文件的最后 10 行
1.显示文件结尾部分:最基础的就是使用文件名,这将显示文件的最后 10 行。
tail filename
2.跟踪文件的变化:通过 -f
选项,可以实时跟踪文件的变化,不断显示文件的新内容
tail -f filename
3.显示多个文件:可以同时显示多个文件的结尾部分
tail file1 file2
4.显示指定行数:-n选项,可以指定要显示的行数
tail -n 20 filename
tali命令通常用于查看文件的结尾部分,特别是在查看日志文件时
head -n与tail -n的区别👆
三.linux统计文件内容的命令
1、wc命令
wc命令 (word count) 用于统计文件中字节数、字数、行数的命令行工具,它可以用来计算文件中的字符数、单词数和行数等信息
1.仅统计行数:通过- l 选项,可以只统计文件中的行数 (-l 小写的L)
wc -l filename
2.仅统计单词数:通过 -w
选项,可以只统计文件中的单词数
wc -w filename
3.仅统计字节数:通过 -c
选项,可以只统计文件的字节数
wc -c filename
(不是厕所🤣🤣🤣🤣🤣)
2、grep命令*
grep命令非常非常重要,所以直接标红打星处理。用于在文件中搜索指定模式的文本行,并将匹配的行输出到终端
grep [选项] 参数 [文件名]
grep命令的选项和示例👇
-i:忽略大小写
忽略大小写:在文件 file.txt
中搜索包含字符串 "music" 的所有行,不区分大小写
grep -i "music" file.txt
-v:显示不匹配的行 (反向)
显示不匹配的行:在文件 file.txt
中搜索不包含字符串 "world" 的所有行,并显示它们的行号:
grep -n -v "world" file.txt
-r:递归搜索目录中的文件
递归搜索目录中的文件:在当前目录及其子目录中递归搜索包含字符串 "pattern" 的所有文件,并显示匹配的行:
grep -r "pattern" .
w:只匹配完整的整个单词
只匹配整个单词:在文件 file.txt
中搜索匹配整个单词 "world" 的所有行,并显示它们的行号 .
grep -w "world" file.txt
四.linux文件压缩命令
1.gzip 命令/gunzip 命令
用于压缩文件的常用命令行工具,将文件进行压缩,并生成一个具有.gz 扩展名的压缩文件
压缩比为-1到-9 (-1
:压缩速度最快,但压缩比最低,-9
:压缩速度最慢,但压缩比最高)
1.压缩文件:命令很简单gzip后面跟上你想压缩的文件名,比如filename压缩成filename.gz
gzip filename
2.解压文件:可以使用 gzip 命令并指定 -d 选项
gzip -d filename.gz
这将解压缩 filename.gz
文件,并将其恢复为原始文件
gunzip=gzip -d
2、bzip2命令/bunzip2命令
bzip2命令也是用于压缩和解压缩文件的命令行工具, bzip2
通常能够产生更高的压缩比,因此生成的压缩文件可能比 gzip
生成的更小,但相应的压缩和解压缩过程可能会稍慢一些。
1.压缩文件:跟gzip一样只不过这是bzip2后面跟上你想压缩的文件名。比如👇
bzip2 filename
这将压缩 filename
文件,并生成一个新的以 .bz2
结尾的压缩文件
2.解压文件:可以使用bzip2命令并指定 -d 选项
bzip2 -d filename.bz2
这将解压缩 filename.bz2
文件,并还原为原始的未压缩文件
bunzip2=bzip2 -d
3、tar命令
tar命令常常用于创建归档文件和提取文件和查看文件或压缩归档文件。归档文件会在结尾加上.tar的扩展名。
tar命令的常见用法👇
-c
:创建一个新的归档文件
-v
:显示详细输出(执行期间显示处理的文件名)
-f
(归档文件名):指定归档文件的名称
-x
:提取(解压缩)归档文件中的内容
-t
:列出归档文件中的内容
-z
:使用 gzip命令压缩
-j
:使用 bzip2 命令压缩
-J
:使用 xz 压缩算法
-C (目录)
:指定解压缩的目标文件夹。
1.创建归档文件:
tar -cvf archive.tar file1 file2
↑创建一个名为 archive.tar
的归档文件,并将文件 file1
、file2
等添加到该归档文件中↑
-c:创建一个新的归档文件。 -v:显示详细输出。 -f archive.tar:指定归档文件的名称。
2,解压缩归档文件:
tar -xvf archive.tar
解压缩出archive.tar中包含的文件,目录 -x
:提取(解压缩)归档文件中的内容
3.查看归档文件内容:
tar -tvf archive.tar
列出archive.tar中包含的文件,目录 -t
:列出归档文件中的内容,而不解压缩
4.指定归档文件的路径
tar -xvf archive.tar -C /path/to/directory
将指定目录中的所有文件和子目录打包到名为 archive.tar
的归档文件中
五、vi文本编辑器
1.工作模式的切换
vi文本编辑器的三种工作模式:命令模式、输入模式、末行模式
1.命令模式👉输入模式:
a:在当前光标位置之后插入内容。
i:在当前光标位置之前插入内容。
o:在光标所在行之下插入一个新行内容。
O:在光标所在行之上插入一个新行内容。
A:在所在行的行尾插入内容。
I:在所在行的行首插入内容。
2.命令模式👉末行模式:
按下冒号 :
就会在底部显示一个冒号提示符,允许输入各种命令
2.命令模式的基本操作
G | 跳转到最后一行 |
1G gg | 跳转到第一行 |
#G | 跳转到指定的行数(#) |
dd | 删除光标所在的行 |
#dd | 删除光标处开始的指定行数(#) |
#dd+p/P | 剪切 /粘贴,p在光标行下面粘贴,P在光标行上面粘贴 |
yy | 复制光标所在处的行 |
#yy | 复制光标处开始的 指定行(#) |
#yy + p/P | 复制/粘贴 |
u | 撤销上一步 |
ctrl + r | 恢复上一步撤销的操作 |
U | 撤销光标处所在行的所有操作 |
查找字符串 | n | N |
/ | 从上往下找 | 从下往上找 |
? | 从下往上找 | 从上往下找 |
3、末行模式基本操作
保存并退出↓
:wq:保存文件,退出编辑器。
:x:保存,退出
ZZ:保存,退出
不保存退出↓
:q!:强制退出,不保存
保存不退出↓
:w:保存文件,但不退出
行号设置↓
:set nu:显示行号
:set nonu:不显示行号
搜索和替换:
:s/OLD/NEW/g:当前行的所有 OLD 字符串替换为 NEW 字符串
:%s/OLD/NEW/g:文件中所有行的所有 OLD 字符串替换为 NEW 字符串
:N,M s/OLD/NEW/g:第 N 行到第 M 行的所有 OLD 字符串替换为 NEW 字符串
插入文件内容:
:r 文件路径:在光标所在行下插入指定文件的内容。
复制和移动行:
:N,M co #:将第 N 行到第 M 行的内容复制到第 # 行下面。
:N,M m #:将第 N 行到第 M 行的内容剪切到第 # 行下面。
ps:走错片场 (素质三连🤣)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)