Linux之文件管理

 

在Linux中有一个重要特性:everything is file

在Linux中对系统管理归根到底就是对文件进行管理,也就是对文件实施增删改查,因此学好文件管理是非常重要的!

1.文件和目录的建立

  • 文件

新建文件的正确命令:<touch> 空格  <文件名>    

touch  file                   #新建文件名为file的文件#
touch  file1 file2 file3      #新建多个文件,分别为file1 file2 file3#

<touch   -t  >空格<时间> 空格<文件名>: 用来修改文件的时间戳

<ls -l  文件名>:查看文件的属性

在下面这个示例中,我们可以看到在调用touch -t 命令后,file文件的时间被改变

  • 目录

新建目录的正确命令:<mkdir> 空格 <目录名>

mkdir  linux                     #新建linux目录#
mkdir  linux1 linux2 linux3      #新建多个目录,分别为linux1 linux2 linux3#
mkdir  -p linux4/content/test   #新建层级目录,linux4中包含content目录,content中有test目录#

2.文件和目录的删除

  • 删除文件的命令:<rm > 空格 <文件名>

rm  linux                #删除linux文件#
rm  linux1 linux2 linux3 #批量删除文件#

<rm >空格 <-f> <文件名>    强制删除文件,没有删除提示(-f=-force)

  • 删除目录的命令:<rm>空格 <-r> 空格 <目录名>   #  -r表示递归删除,删除目录本身及其所包含的所有内容#
rm -fr dir                #删除目录#
rm -fr dir1 dir2 dir3     #批量删除目录#

3.文件的编辑

gedit:  图形文本编辑,直接编辑文件,与windowstxt记事本操作类似。(只有在图形时才可以使用)

vim: Linux中常用文本编辑工具

3.1 、vim的基本用法

<vim   文件名>       # 打开文件并进入vim命令模式#


[I]                  #按i键进入插入模式,可以修改文件内容#


[esc]                #书写完毕后按esc,退出插入模式返回命令模式#
:wq                  #在命令模式下 :wq 推出保存#

!!!在vim中编写时要注意到它的工作模式,这样在使用时就会减少很多错误操作

3.2、vim调整工作参数

  • 在命令模式下(此设定为临时设定,vim关闭后设定消失)

       <:set   参数信息 >  例如 set nu   #设置行号#

  • vim下永久设定   :  编写vimrc文件

     vim  /etc/vimrc      全局配置文件,所有用户都生效
     vim  /root/.vimrc    超级用户配置vim(进入家目录,编辑.vimrc文件,不同用户的设定只对自己有用)

   

  • 常用参数
参数作用
set nu  显示行号
set cursorline    显示当前行
set ai   设置自动缩进  默认值为8个空格
set ts=4     设置Tab键宽度为4个空格

 

3.3、vim命令模式下字符的搜索

      

【/关键字】     高亮显示关键字
【:noh】 撤销高亮
【n】        向下匹配
【N】      向上匹配

命令效果

3.4、vim命令模式下字符管理

命令作用
【y[n]l】        复制n个字符
【y[n]w】复制n个单词
【y[n]y】复制n行
【d[n]l】           删除n个字符
【d[n]w】删除n个单词
【d[n]d】         删除n行
【c[n]l】      剪切n个字符
【c[n]w】剪切n个单词
【c[n]c】剪切n行
【p】  粘贴     
【u】  撤销   
【ctrl】+【r】恢复

注意:剪切操作会进入插入模式,粘贴时按esc退出插入模式进行粘贴

3.5、vim可视化模式

  • 在vim可视化模式中处理字符区域

      *在命令模式下按【ctrl+v】进入可视化模式
       *键盘上下左右可以移动选择区域

  • 在可视化模式下批量添加字符

     *【ctrl+v】选中要加入字符所在的列
     *按大写的【I】
     *加入字符
     *esc退出

3.6、vim命令模式下字符的替换

字符替换的命令: <:%s/原字符/替换后字符/g>
#  %s表示全文所有行#           #  g表示全文所出现原字符的列#

示例:
①  <:%s/a/1/g >                #替换全文的a为1#
②  <:1,5s/a/1/g >                 #替换1-5行的a为1#
③ <:/haha/,/hehe/s/a/1/g>   #替换haha到hehe之间的a为1 # 

3.7、vim命令模式下的分屏功能
 

【ctrl+w  s】上下分屏
【ctrl+w  v】 左右分屏
【ctrl+w  c】 关闭光标所在屏幕
【ctrl+w  上下左右】 光标移动到指定屏幕
【:sp file2】 同时编辑当前文件和file2

3.8、vim在命令模式下光标的移动

               

【gg】光标移动到文件的第一行
【G】光标移动到文件的最后
【:数字】光标移动到到指定的行

3.9、vim的编写模式进入

 

【i】    光标所在位置插入
【I】    光标所在行插入
【o】  光标所在行的下一行插入
【O】光标所在行的上一行插入
【a】 光标所在字符的下一个字符插入
【A】光标所在行的行尾插入
【s】  光标所在字符删除并插入
【S】光标所在行删除并插入

3.10、vim的退出模式

  • vim的退出命令:
【:q】   退出,在文件内容没有被改变时使用
【:wq】 退出保存
【:q!】  强制退出不保存,在改变文件后不想保存时使用
【:wq!】 强制退出保存,在只对文件编写时使用
  • vim退出异常:

       *   vim异常退出        当vim还没保存编写内容而被强制关闭时
       *   .filename.swp       文件内保存没有写入部分数据,此文件手动删掉vim恢复正常
       *   快捷键说明

【O】pen Read-Only只读打开
【E】dit anyway   继续编辑
【R】ecover 恢复数据
【D】elete  it 删除.swp文件 (按D后恢复正常)
【Q】uit 退出
【A】bort 恢复后退出
  • 异常页面

 4.文件的查看

 4.1、cat  

查看文件的正确命令:<cat> 空格<文件名>    

cat  file           # 显示file文件全部内容
cat  -b  file      #显示file文件全部内容并显示行号(空行不显示行号)
cat  -n  file      #显示file文件全部内容并显示行号(空行显示行号)


4.2、 less     

<less filename >   #分页浏览工具,会开启less环境#   

 less环境下的操作

上下键                   #逐行查看
pgup|pgdown         #逐页查看
[/关键字]                 #搜索关键字,n向下匹配   N向上匹配
[v]                           # 进入vim环境   编辑完成后:wq 回到less
[q]                           # 退出less模式

4.3、head|tail

head  file           #显示file文件前10行#
head  -3 file        #显示file文件前3行#

tail  file           #显示文件后10行#
tail  -3 file        #显示文件后3行#

4.4、查看文件类型

不能用文件的后缀名来判断文件的类型,要用file 命令来查看

查看文件的正确命令:<file> 空格 <文件名>

4.5、文件内容统计

统计文件内容命令:<wc> 空格 <参数> 空格<文件名> 

参数作用
wc   -l    file   文件file的行数
wc   -w    file       文件的字数
wc   -m    file  文件的字符数
wc   -c    file  文件的字节统计(一个汉字3个字节)

4.6、文件信息查看

查看文件的命令:<ls> 空格 <参数>空格 <文件名>

ls -l file         #文件属性
ls    dir          #目录中包含的内容
ls  -d dir         #目录本身
ls  -a dir         #所有文件包括隐藏文件
ls  -S dir         #查看dir目录中内容并按大小排序
ls  -s file|dir    #查看文件大小
stat  file         #查看文件信息,比ls更详细

5.文件复制

  复制文件的命令:<cp>空格 <souecefile>空格 <destfile>

cp   file  linux        ## 复制file到linux ,当linux文件存在会覆盖文件内容,不存在会自动创建#
cp   file1   file2   filedir    ##复制多个文件到filedir目录中, filedir必须为目录#
cp   -r   filedir1  filedir2    ##复制目录到指定目录  ,必须用-r参数#

6.文件的移动

mv   file   linux           #当linux存在则覆盖linux内容,不存在即重命名#
mv   filedir  filedir1      #移动filedir到filedir1目录中#
mv   file1  file2  filedir  #移动多个文件到filedir目录中 ,filedir必须为目录#

7.关于路径

7.1相对路径:

相对与当前系统所在目录的一个文件名称的简写

此名称省略了系统当前所在目录的名称

此名称不以“/”开头

此名称在命令执行时会自动在操作对象前加入“PWD”所显示的值

7.2绝对路径:

绝对路径是文件在系统的真实位置
此命令是以 “/” 开头的
此命令在命执行时系统不会考虑现在所在位置的信息
在当前目录下包括所要进入的文件时,可以使用相对路径,若不在当前路径中,则要使用文件的绝对路径
示例:

7.3 关于路径的命令

<pwd>                 #显示路径
<cd  目录名称 >   #进入指定路径
<cd -  >                # 当前目录和当前目录之前所在目录之间的切换
<cd .. >                 #进入当前目录的上级目录
“~"应用汇总
【~】                 #当前用户家目录
【~username】 #指定用户家目录
【~+】               #当前目录
【~-】                #进入当前目录所在目录中
示例:
cp /etc/passwd ~-    ##复制etc中的passwd文件到进入当前目录之前所在目录中 
cp /etc/passwd ~+    ##复制etc中的passwd文件到当前目录

注意:"~-"相当于“cd -"中的“-",但”-“不能用来进行文件管理,如【cp /etc/passwd -】不是把passwd复制到之前目录中,而是进行重命名

8.文件批处理

8.1 、系统中的通用配置符号

匹配单个字符
[[:alpha:]]     单个字母
[[:lower:]]  单个小写字母
[[:upper:]]    单个大写字母
[[:digit:]]   单个数字
[[:punct:]]   单个符号
[[:space:]]    单个空格
[[:alnum:]]   单个数字或字母
[[:punct:][:upper:]] 单个符号或大写字母

示例:

rm -fr  ??              ##删除文件名为两个字符的文件
rm -fr  *[[:digit:]]    ##删除文件名最后一个字符为数字的文件

8.2、字符集和

{}          用于精确匹配内容

{1..4}      4个, 1  2 3 4 
{1,2,5}     3个, 1  2 5

[]          用于模糊匹配

[1-9]       1位,这位是1-9的数字
[a-z]       1位,a-z的任意字母
[!2-6]      1位,不是2-6的数字
[^2-8]      1位,不是2-8的数字 

示例:
touch {1..5}    #创建文件名分别为1,2,3,4,5的五个文件
rm -fr [2-4]    #删除文件名为2,或3,或4的文件

模糊匹配与精确匹配的对比

9.Linux系统中的根文件系统的层级结构

目录说明
/根目录,系统中的顶级目录
/bin所有用户可执行的命令程序文件
/sbin系统管理命令程序,通常只有root用户可以执行
/boot系统启动引导过程中加载的文件存放目录
/dev系统设备文件存放路径 :字符设备  块设备
/etc系统程序的配置文件
/home普通用户家目录集合:
此目录中的子目录通常被设定为用户家目录,是可选目录,此目录不是基本系统目录
普通用户在登录后默认被设定进入此目录中的相应子目录中
/root超级用户家目录:超级用户登录系统后默认进入的系统目录
/lib

系统启动程序和根下应用程序

(/lib64:64位系统存放64位库的路径)

/media临时设备挂载点:cdrom   usb
/mnt系统磁盘的临时挂载点
/opt系统默认第三方软件安装的位置
/proc进程和内核相关参数信息
/sys内核参数目录
/tmp系统临时文件存放目录,对所有用户可写
/usr全局共享只读资源,除根目录外系统最重要的目录
/run当前运行进程相关数据,此目录中的文件通常被程序自动调用

 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值