linux 目录和文件管理

目录

一、linux目录结构

1.1 树形目录结构

1.2 根目录

1.3 常见子目录的作用

二 、查看及检索文件

2.1 cat命令---插看文件内容 

 2.2 more命令---查看文件内容

 2.3 less命令--查看文件内容命令

 2.4 head、tail命令 ----查看文件内容

2.5 wc命令 ---统计文件中单词数量等信息

 2.6 grep命令---检索和过滤文件内容

2.7 gzip、bzip命令 -----压缩、解压文件

2.8 tar命令 ---压缩工具

2.9 vi命令 ----文本编辑器

文本编辑器vi命令

 vi编辑器的工作模式


一、linux目录结构

1.1 树形目录结构

        在Linux操作系统中,文件系统层次结构是一种树状结构,也称为目录层级结构,它的顶部是根目录/。这个结构遵循Filesystem Hierarchy Standard (FHS),它是一套规范,用来指导Linux及其他类Unix系统中文件和目录应该如何布局以保持一致性。

1.2 根目录

        根目录是所有分区、目录、文件等位置的起点目录

        在整个树形结构中,使用独立的一个“/”表示

1.3 常见子目录的作用

选项说明
/root管理员的的宿主(家)目录

/home                        

普通用户的家目录
/boot系统内核、启动文件目录   
/bin命令文件目录,存放所有用户可执行的命令
/sbin管理员操作目录,存放只有管理员可执行的命令
/dev存放设备文件(光驱、硬盘等)
/etc存放系统程序和大部分应用程序(rpm/yum安装)的配置文件(一般以conf、ini等结尾,具体结尾后缀和开发语言也有关系)
/var存放可变化的文件,包括各种日志
/lib存放系统程序的动态连接共享文件(类似于windous里的DLL文件)
/usr存放系统用户工具和程序
/media可拆卸的媒介挂载点,例如U盘、光驱等
/proc存放映射系统信息的文件
/mnt用于临时挂载存储设备的目录
/opt

第三方应用程序安装所存在的目录

/tmp存放系统临时文件

二 、查看及检索文件

2.1 cat命令---插看文件内容 

直接显示整个文件的内容

用法格式:

cat [选项] 文件名 ...

 常用选项:

选项说明
-n对所有输出的行数编号
-b对于空白行不编号
-s将所有的连续的多个空行替换为一个空行

 实例展示:

  cat -n

[root@linianhui opt]# cat -n 1.txt
     1  asdjkhjak
     2  ssss
     3  aaaaa
     4
     5
     6  weweewww
     7
     8  sd
     9
    10  gfdjkjkl
    11  \
    12
    13
    14
    15
    16
    17  xxxxxxxx

### 对输出文本所有行都会编号

 cat -b

[root@linianhui opt]# cat -bn 1.txt
     1  asdjkhjak
     2  ssss
     3  aaaaa


     4  weweewww

     5  sd

     6  gfdjkjkl
     7  \





     8  xxxxxxxx

###文件中的空白行不会编号

cat -s

[root@linianhui opt]# cat -s 1.txt
asdjkhjak
ssss
aaaaa

weweewww

sd

gfdjkjkl
\

xxxxxxxx


###相邻的多个空行会被合成一个空行

2.2 more命令---查看文件内容

全屏方式分页显示文件内容

用法格式

more [选项] 文件名....

 交互操作方法

  • 按Enter键向下逐行滚动
  • 按空格键向下翻一屏
  • 按b键向上翻一屏
  • 按q键退出
    • 下翻到最后一页会自动退出
    • 结合管道使用时(例如:ls -R 、/etc | more)

2.3 less命令--查看文件内容命令

与more命令相同,但扩展功能更多

less [选项] 文件名

 交互操作方法

  • Page Up 向上翻页,Page Down 向下翻页
  • 按“/”键查看内容,“n”下一个内容,“N”上一个内容
  • 通过“上”方向键和“下”方向键可以实现上下级滚动
  • 其他功能和more命令基本相似
    • 下翻到最后一页时不会自动退出
    • 结合管道符使用时可以向上翻页

2.4 head、tail命令 ----查看文件内容

head命令

        用途:查看文件开头一部分内容 (默认十行)

head -n  文件名...                                ###  n为行数  要看几行 要在n后面加数字几

 举例:

[root@linianhui network-scripts]# head -n 7 ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes


###查看网卡启动文件前七行的内容

 tail命令

        用途:查看文件结尾的少部分内容(默认为十行)

tail -n 文件名 ...                        ### n为行数        n就是要看的行数数字,和head不同

tail -f 文件名                             ### 跟踪文件尾部内容的自动更新 即查看的内容可以实时展示

 示列:

[root@linianhui network-scripts]# tail -5 ifcfg-ens33
IPV6_PRIVACY=no
IPADDR=192.168.23.10
NETMASK=255.255.255.0
GATEWAY=192.168.23.2
DNS1=8.8.8.8


###查看改文件后面五行的内容

2.5 wc命令 ---统计文件中单词数量等信息

wc [选项] 文件名...

 

选项说明
-l统计行数
-w统计单词个数
-c统计字节数

示列:

        wc -l

[root@linianhui network-scripts]# wc -l ifcfg-ens33
20 ifcfg-ens33

###查看该文件行数

2.6 grep命令---检索和过滤文件内容

 在文件冲查找并显示包含指定字符串的行

grep 【选项】... 查找条件 目标文件

 grep常用选项:

选项说明
-i查找时不区分大小写 加不加都一样
-v显示不包含匹配文本的所有行(反向查询、反向匹配)
-n显示匹配行及行号
-c只输出匹配到的总行号(不是匹配到的次数)
-e实现可多个查询条件的匹配,逻辑关系or关系
-E支持使用扩展正则表达式,相当于使用egrep命令

 查找条件设置

要查找的字符串以双引号括起来

“^……”表示以……开头

“……$”表示以……结尾

“^$”表示空行

示列:

grep -ie "^listen" -e "80$" /etc/httpd/conf/httpd.conf

###查询/etc/httpd/conf目录下httpd.conf文件中以listen开头或者以80结尾的行,不区分大小写

 示列:

[root@linianhui my_dir]# ls            ###查看当前目录下文件
analysis.pdf  report.doc  study.codx
[root@linianhui my_dir]# grep -ie "^study" -e "doc$" ./       ###grep只能查询文件 
grep: ./: 是一个目录
[root@linianhui my_dir]# ls ./ | grep -ie "^study" -e "doc$"      ###查询当前目录下符合                    
                                                                           条件的文件report.doc
study.codx

###返回查询结果

2.7 gzip、bzip命令 -----压缩、解压文件

常用选项及用法

gzip、bzip命令

gzip [-9] 文件名                ###gzip 制作的压缩文件默认的扩展名为“.gz”,原始文件不再保留

bzip2 [-9] 文件名               ###bzip2 制作的压缩文件默认的扩展名为“.bz2”,原始文件不再保留

使用【-9】选项可以提高压缩的比例        

-d : 用于解压缩以及压缩过的文件,相当于使用gunzip、bunzip2命令

gunzip 文件名.gz 解压缩

gzip -d 文件名.gz 解压缩

bunzip2 文件名.bz2 解压缩

bzip2 -d 文件名.bz2 解压缩

 示列:

[root@linianhui my_dir]# ls
1.txt
[root@linianhui my_dir]# gzip 1.txt     ### 压缩1.txt文件
[root@linianhui my_dir]# ls             ### 查看
1.txt.gz                                ### 没有原文件
        
[root@linianhui my_dir]# gunzip 1.txt        ###解压缩
[root@linianhui my_dir]# ls
1.txt                                        ### 恢复

2.8 tar命令 ---压缩工具

搭配gzip、bzip2使用

tar常用选项:

选项说明
-c创建.tar格式的包文件
-x解压.tar格式的包文件
-C解压时指定释放的目标文件夹----绝对路径
-v输出详细信息 (展示压缩解压缩过程)
-j调用bzip2程序进行压缩或者解压
-z调用gzip程序进行压缩或者解压
-f表示使用归档文件(多个子目录压缩成一个包)

示列:

tar -zcvf dntest.tar.gz 123.txt       #使用gzip格式打包

tar -zxvf dntest.tar.gz -C /opt/dntest   #解包到指定位置

tar -jcvf usershow.tar.bz2 passwd shadow  #打包 bzip2格式

 

[root@linianhui my_dir]# ls
1.txt
[root@linianhui my_dir]# tar -zcvf test.tar.gz 1.txt        ###使用tar打包工具打包文件
1.txt
[root@linianhui my_dir]# ls            ###打包后原文件还在
1.txt  test.tar.gz

2.9 vi命令 ----文本编辑器

文本编辑器vi命令

文本编辑器的作用

  • 创建或修改文本文件
  • 维护linux系统中的各种配置文件

linux中最常用的文本编辑器 

  •  vi:类unix操作系统的默认文本编辑器
  • vim:vim是vi文本编辑器的增强版

vi编辑器的工作模式

三种工作模式

        命令模式、输入模式、末行模式

不同模式之间的切换

 命令模式的基本操作:

        光标移动:

操作类型操作键功能
方向移动↑、↓、←、→上、下、左、右
翻页Page Down或Ctrl + F向下翻动一整页内容
Page Up 或Ctrl + B向上翻动一整页内容
行内快速跳转Home键或“^”、数字“0”跳转至行首
End键或"$"键跳转到行尾
行间快速跳转1G或者gg跳转到文件的首行
G跳转到文件的末尾行
#G跳转到文件中的第#行
行号显示:set nu在编辑器中显示行号
:set nonu取消编辑器中的行号显示

        复制、粘贴、删除

操作类型操作键功能
删除x或Del删除光标处的单个字符
dd删除当前光标所在行
#dd删除从光标所在行开始的#行内容
d^删除当前光标之前到行首的所有字符
d$删除当前光标处到行尾的所有字符
复制yy复制当前行整行的内容到剪贴板
#yy复制从光标所在行开始的#行内容
粘贴p将缓冲区中的内容粘贴到光标位置处之后
P粘贴到光标位置处之前

        文件内容查找:

操作键功能
/word从上而下在文件中查找字符串“word’
?word从下而上在文件中查找字符串“word
n定位下一个匹配的被查找字符串
N定位上一个匹配的被查找字符串

        撤销编辑及保存退出:

操作键功能
u按一次取消最近的一次操作;重复u键,恢复多步操作
U用于取消对当前行所做的所有编辑
ZZ保存当前的文件内容并退出vi编辑器

        保存文件以及退出vi编辑器:

功能命令备注
保存文件:w保存修改的内容
:w /root/newfile另存为其他文件
退出vi:q未修改退出
:q!放弃对文件内容的修改并退出vi
保存文件退出vi:wq或x保存修改内容退出

        打开新文件或者读入其他文件内容:

命令功能
:e ~/install.log打开新的文件进行编辑
:e /etc/filesystems在当前文件中读入其他文件内容

        文件内容替换:

命令功能
:s /old/new将当前行中查找到的第一个字符 "old”
串替换为“new
:s /old/new/g将当前行中查找到的所有字符串“old”
替换为“new”
:#,# s/old/new/g在行号“#,#”范围内替换所有的字符串“old”为“new”
:% s/old/new/g在整个文件范围内替换所有的字符串“old”为“new”
:s /old/new/c在替换命令末尾加入c命令,将对每个替换动作提示用户进
行确认

总结

熟悉掌握各个命令的基本用法,灵活搭配组合命令有利于我们快速解决遇到的难题,grep与通道符连用会有意想不到的效果。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值