Linux目录、文件管理和vi编辑器

目录

一、目录层次

1、常见目录

2、根目录

二、查看文件内容

1、常见的七种Linux文件

2、显示命令

cat

more 

 less

head/tail

tr   基本功能转换

wc      

grep        过滤

 paste     合并文件

split        分割文件

3、压缩   解压缩

gzip        bzip2

tar        归档

三、vi编辑器

1、vim常用选项

2、vim的三种模式

三种常见模式:

命令模式

输入模式

末行模式

可视化模式


一、目录层次

1、常见目录

一级目录功能(作用)
/bin/存放系统命令,普通用户和root都可以执行。放在/bin下的命令在单用户模式下也可以执行
/boot/系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等
/dev/设备文件保存的位置
/etc/配置文件保存位置。系统内所有采用默认安装方式(rpm安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等
/home/普通用户的主目录(也称为家目录)。在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,就是用户的主目录,所有普通用户的主目录是在/home/下建立一个和用户名相同的目录。如用户liming的主目录就是在/home/liming
/lib/系统调用的函数库保存位置
/media/挂载目录。系统建议用来挂在媒体设备,如软盘和光盘
/mnt/挂载目录。早期Linux中只有一个挂在目录,并没有细分。系统建议这个目录用来挂载额外的设备,如U盘、移动硬盘和其他操作系统的分区
/misc/挂在目录。系统建议用来挂载NFS服务的共享目录。虽然系统准备了三个默认挂在目录/media、/mnt、/misc/,但是到底在哪个目录中挂载什么设备可以有管理员自己决定。例如,笔者在接触Linux的时候,默认挂载目录只有/mnt/,所以弄成了在/mnt/下建立不同目录挂载不同设备的习惯,如/mnt/cdrom/挂载光盘/、/mnt/usb/挂载U盘,都是可以的
/opt/第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可安装到这个目录中,不过笔者还是习惯把软件放到/usr/.local/目录中,也就是说,/usr.local/目录也可以用来安装软件
/root/root的主目录。普通用户主目录在/home/下,root主目录在”/“下
/sbin/保存于系统环境设置相关的命令,只有root可以使用这些命令进行系统环境设置,但也有些命令可以允许普通用户查看
/srv/服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据
/tmp/临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。建议此目录中不保存重要数据,最好每次开机都把该目录清空

2、根目录

根目录(/):是Linux文件系统的组织者,也是最上级的领导者;Linux的文件系统的入口就是根目录“/”,所有的目录、文件、设备也都置于根目录“/”之下。linux的目录都是从根开始,整个目录结构是一棵倒立的树结构,“/”是树根,其中的子文件夹就是树干和树叶。

根目录(/)下有如下目录文件:

目录/文件名功能
bin存放二进制文件,可执行文件,也可能存在别处,默认使用较多所有用户软连接文件——命令
sbin

管理员可以使用的二进制文件——命令ls、cd、useradd等

boot系统内核、启动文件
dev硬件文件(黄色)
etc系统默认配置文件,等同于Windows的注册表,一般都是文本文件
run运行的内存中文件,运行中的文件
tmp临时文件  -t  特殊权限
usr应用程序和操作系统相关的文件
var/log日志文件,数据变化的
home

普通用户的家目录的上级目录,如用户liming,在/home/目录下/home/liming

root系统管理员的家目录
lib动态库文件,类似于Windows的dll文件
proc主要保存系统的内核、进程、外部设备状态和网络状态等
media可移动设别
mnt默认挂载点
opt第三方应用程序安装所在目录

二、查看文件内容

1、常见的七种Linux文件

        -:普通文件,包括纯文本文件、二进制文件、各种压缩文件等

        d:目录文件(directory)

        b:块设备文件(block),就是保存大块数据的设备,如硬盘

        c:字符设备文件(character),这些文件通常隐藏在/dev/目录下,当进行设别读取或外设交互时才会被使用

        l:符号链接文件(link)

        p:管道文件(pipe),主要用于进程间同行单向传输一个发一个传输管道文件

        s:套接字文件(socket),套接字文件一般隐藏在/var/run/目录下,用于进程的网络通信

2、显示命令

cat

格式:cat       [选项]        文件名

选项:-n        -b        -s        -A 

-n:显示行号,包括空行

-b:跳过空行标号

 -s:将所有的连续的多个空行替换成一个空行(压缩成一个空行)

 -A:显示隐藏字符

tac        反方向查看

more 

格式:more     [选项]      文件名

基本操作

  • 空格下一行 到文末后自动退出

  • b上一行

  • enter一行一行滚动

  • 自动退出

  • q退出

选项如下:

 less

格式:less    [选项]     文件名

  • 可以使用/ 查找 n向下 N向上查找

  • Page Up 向上翻页,Page Down 向下翻页

  • 其余参考more

head/tail

head     -n     具体数字     文件名(不加数字,默认开头十行)

tail      -n     具体数字      文件名(不加数字,默认结尾十行

tail     -f     具体数字      文件名        实时跟踪最后十行

tr   基本功能转换

 格式:tr    [选项]     SET1  [SET2]

        SET是一组字符串,一般都可按照字面含义理解

选项:-d    删除                -s      压缩         

-d:删除

-s:压缩

wc      

格式:wc    [选项]        目标文件

统计列数,wc本身就是参数word

选项:-l        -w        -c

-l:统计行数

-w:统计单词数

-c:统计字节数

grep        过滤

格式:grep [选项]… 查找条件 目标文件

  • -i:查找时忽略大小写

  • -v:反向查找,输出与查找条件不相符的行

  • -o 只显示匹配项

  • -f 对比两个文件的相同行

  • -c 匹配的行数([root@localhost ky15]# grep -c root passwd 2)

基本格式

  • 要查找的字符串以双引号括起来单引号也可以

  • “^……”表示以……开头,“……$”表示以……结尾

  • “^$”表示空行

 paste     合并文件

         -d        指定分隔符

         -s        平行输出

split        分割文件

split [-b ][-C ][-][-l ][要切割的文件][输出文件名前缀][-a ]

最常用的选项:
-b<字节>:指定按多少字节进行拆分,也可以指定 K、M、G、T 等单位。
-<行数>或-l<行数>:指定每多少行要拆分成一个文件。
输出文件名前缀:设置拆分后的文件的名称前缀,split 会自动在前缀后加上编号,默认从 aa 开始。
-a<后缀长度>:默认的后缀长度是 2,也就是按 aa、ab、ac 这样的格式依次编号。

3、压缩   解压缩

gzip        bzip2

gzip [-9] 文件名… 提高压缩比例,但是文件较大时效率会低 bzip2 [-9] 文件名... gzip -d .gz格式的压缩文件 d就是解压 bzip2 -d .bz2格式的压缩文件

9代表压缩比率,9最大1最小,使用以上两种压缩源文件不存在了

gzip的压缩率 要高于bzip2

tar        归档

        tar [选项] ... 归档文件名 源文件或目录

        tar [选项] ... 归档文件名 [-C 目标目录]

选项:

  • -c:创建(Create).tar 格式的包文件

  • -x:解开.tar 格式的包文件

  • -C:解压时指定释放的目标文件夹

  • -f:表示使用归档文件(一般都要带上表示使用tar)

  • -p:打包时保留文件及目录的权限

  • -P:打包时保留文件及目录的绝对径

  • -t:列表查看包内的文件(要和f一起使用)

  • -v:输出详细信息(Verbose)

  • -j:调用 bzip2 程序进行压缩或解压

  • -z:调用 gzip 程序进行压缩或解压

        一般压缩时,联合使用以上的多个选项如 zcvf  表示将文件以gzip格式压缩,jcvf  表示将文件以bzip2格式压缩,但是解压时,可以直接使用 xf 两个选项联合,可解压以上两种格式的压缩文件。

        在使用以上选项时可以不加“ - ”,如果加“ - ” ,那么联合使用多个选项时,必须将 f 选项放在最后,非则会报错。

 解压缩使用 xf 两个选项的联合

三、vi编辑器

linux中常见的 文本 nano ,gedit,vi,推荐使用 Vi 文本编辑器,原因如下:       

  • 几乎所有的Linux 发行版都内嵌有 Vim 文本编辑器,而其他的编辑器则不一定存在;

  • Vim具有编辑程序的能力,会主动利用不同的字体颜色辨别语法的正确性,方便程序设计 接口

vim是vi的升级版

基本格式:vim    [选项]        文件

vim  文件名不存在  是新建
vim  文件名存在   就是修改

如果在安装Linux系统时,是最小化安装,则系统中是没有安装vim的需要手动安装;

使用yum install vim -y  命令安装。

1、vim常用选项

+#        打开文件后,让光标处于第几行的行首,+默认行尾

!        打开上一次的文件

2、vim的三种模式

三种常见模式:

  1. 命令或普通(Normal)模式:默认模式,可以实现移动光标,剪切/粘贴文本

  2. 插入(Insert)或编辑模式:用于修改文本

  3. 扩展命令(extended command )或末行模式:保存,退出等搜索替代

命令模式-------->插入模式

有以下几种方式:

i          insert, 在光标所在处输入
I          在当前光标所在行的行首输入
a         append, 在光标所在处后面输入
A         在当前光标所在行的行尾输入
o         在当前光标所在行的下方打开一个新行
O        在当前光标所在行的上方打开一个新行

命令模式

命令模式:此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。

命令模式中的一些常用命令:

        退出VIM的命令

                ZZ 保存退出
                ZQ 不保存退出

        光标跳转

                h:向左;      l:向右;      j:向下;      k:向上

        单词间跳转
                w:下一个单词的词首
                e:当前或下一单词的词尾
                b:当前或前一个单词的词首

        

        当前页跳转:
                H:页首     
                M:页中间行     
                L:页底
                zt:将光标所在当前行移到屏幕顶端
                zz:将光标所在当前行移到屏幕中间
                zb:将光标所在当前行移到屏幕底端

        行首行尾跳转:
                ^         跳转至行首的第一个非空白字符
                0         跳转至行首
                $         跳转至行尾

        行间移动:

                G        跳转至页末行
                gg       跳转至页首行

        字符编辑:

                x         剪切光标处的字符   
                #x        从光标处开始剪切,向后剪切#个(#是数字)
                ~         转换大小写
                J         删除当前行后的换行符

        替换命令(replace)
                r          只替换光标所在处的一个字符
                R         切换成REPLACE模式(在末行出现-- REPLACE -- 提示),按ESC回到命令模式

        删除命令(delete)
                d            删除命令,可结合光标跳转字符,实现范围删除
                d$          删除到行尾
                d^          删除到非空行首
                d0          删除到行首
                dw         下一个单词的词首
                de         当前或下一个单词的词尾
                db         当前或上一个单词的词首
                dd        剪切光标所在的行
                D        从当前光标位置一直删除到行尾,等同于d$
               

        复制命令(yank)
                y          复制,行为相似于d命令
                y$        复制到行尾
                y0        复制到行首
                y^        复制到非空行首
                ye        当前或下一个单词的词尾
                yw       下一个单词的词首
                yb        当前或上一个单词的词首
                yy        复制一整行
                Y         复制多个整行

        粘贴命令(paste)
                p(小p)         缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面
                P(大P)        缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面

        撤消更改
                u           撤销最近的更改,相当于windows中ctrl+z
                #u         撤销之前多次更改
                U           撤消光标落在这行后所有此行的更改
                Ctrl-r     重做最后的“撤消”更改,相当于windows中crtl+y
                .            重复前一个操作
                #         重复前一个操作#次

输入模式

       输入模式: 使 Vim 进行输入模式的方式是在命令模式状态下输入 i、I、a、A、o、O 等插入命令(各指令的具体功能如表 3 所示),当编辑文件完成后按 Esc 键即可返回命令模式。

切入到输入模式:

                i          在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动
                I          在当前光标所在行的行首输入
                a         在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本
                A         在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入
                o         在当前光标所在行的下方打开一个新行
                O        在当前光标所在行的上方打开一个新行

末行模式

        末行模式:文件中的指定内容执行保存、查找或替换等操作。使 Vim 切换到编辑模式的方法是在命令模式状态下按“:”(英文冒号)键,此时 Vim 窗口的左下方出现一个“:”符号,这是就可以输入相关指令进行操作了。

        基础命令: 

                #              #具体第#行,例如2表示第2行
                #,#           #从左侧#表示起始行,到右侧#表示结尾行 
                #,+#         #从左侧#表示的起始行,加上右侧#表示的行数,范例:2,+3 表示2到5行
                .               #当前行
                $              #最后一行
                .,$-1         #当前行到倒数第二行
                %             #全文, 相当于1,$

                /pattern/       #从当前行向下查找,直到匹配pattern的第一行,即:正则表达式
                /pat1/,/pat2/     #从第一次被pat1模式匹配到的行开始,一直到第一次被pat2匹配到的行结束
                #,/pat/         #从指定行开始,一直找到第一个匹配pattern的行结束
                /pat/,$         #向下找到第一个匹配patttern的行到整个文件的结尾的所有

        查找并替换

                格式:范围  s/要查找的内容/替换的内容/g

                说明:
                        要查找的内容:可使用基本正则表达式模式   
                        替换为的内容:不能使用模式,但可以使用\1, \2, ...等后向引用符号;
                                                 还可以使用“&”引用前面查找时查找到的整个内容

           修饰符:
                i          #忽略大小写
                g         #全局替换,默认情况下,每一行只替换第一次出现
                c         #全局替换,每次替换前询问     

        显示行号        set  nu                取消显示        set        nonu

        加密        set        key=密码        取消加密        set        key=空

可视化模式

        在末行有”-- VISUAL -- “指示,表示在可视化模式

        允许选择的文本块

  • v 面向字符,-- VISUAL --

  • V 面向整行,-- VISUAL LINE --

  • ctrl-v 面向块,-- VISUAL BLOCK --

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值