文件

在常见的Linux的文件系统中,经常使用能了解到的文件管理系统是分为多个文件夹进行管理的。

  • 如何查看文件路径 pwd ,在文件目录中,会有一个点(.)代表的是当前目录,两个点(..)代表的是当前目录的上层目录
  • 在Linux下,所有以点开始的文件都是“隐藏文件”,对于这类文件,只使用命令ls-l是看不到的,必须要使用ls-la才可以看到。
  • 相对路径和绝对路径,绝对路径就是指的是从根目录下开始的路径,一般是用/开头,而相对路径是一般从当前目录开始的,一般是用 ./ 或者../ 为开头的。

创建文件命令:touch

  • 使用文件的命令touch filename ,注意在使用这个命令的时候,会有一个问题就是重复使用的时候,就会吧文件的创建时间覆盖,有点类似于将文件名修改的意思。

删除文件 :rm

  • 在文件管理中,会有实际的情况需要在系统中删除文件,这时候就会使用到删除命令,rm filename

移动或者重命名文件:mv

  • 具体使用的命令就是mv filename 路径
  • 在移动文件的时候,同步重复名文件名mv filename /路径/newfilename

查看文件:cat 、head 、tail

  • 显示文件内容:cat filename
  • 文件显示行号:cat -n filename
  • 默认显示文件头前10行 :head filename
  • 添加-n参数 ,可以查看前30行:head -n 30 filename
  • 查看问文件尾部后10行: tail -f filename
  • 添加一定数量的文件尾部: tail -500f fiilename

文件格式转换:dos2uinx

  • 使用这个命令能将dos格式的文本转化为在Unix下的文本,可以实现在Windows中的文件移动在Linux中文本格式

目录管理

创建目录:mkdir

  • 直接使用命令:mkdir filename
  • 使用参数-p创建多级目录:mkdir -p filename1/filename2
  • 使用绝对路径进行创建:mkdir -p /root/dir1/dir2/dir3/dir4

删除目录 : rmdir 和rm

  • rmdir这个命令: 这个命令就是有一个缺点,如果是需要删除的目录不为空目录的话,会删除失败。在使用这个命令的时候,如果目录中文件比较多,是需要递归删除文件
  • 使用rm来删除文件,如果需要使用它删除目录,只需要使用一个-r参数就可以做到
  • 命令 :rm -r filename/
  • 文件复制和目录复制:cp
  • 可以复制目录到指定路径下的命令是, 这里路径后的文件名字也可以不用写,能确保复制过去的文件是一致的:cp filename /路径/filename
  • 在复制目录的时候需要加上-r 这个参数:cp -r dir1 dir2

文件和目录的权限设置

  • 在查看文件或者目录权限的时候,会使用到命令 :ls -al ,在输出的时候,能够格式化的输出文件的详细信息
  • 查看文件的隐藏属性 命令是 :lsattr filename ,可以具体使用man chattr ,可以查看很多的属性信息
  • 改变文件权限一般使用:chmod
  • 在改变文件的拥有者的时候,会使用chown username filename
  • 修改用户组和文件所属人员时候会使用到一个命令 : chown grouupname:username
  • 改变文件拥有组 :chgrp username filename
  • 改变目录或者文件夹的拥有组:chgrp -R username dir

文件权限控制

  • 对于root用户,文件的默认权限是644,目录的默认权限是755;对于普通用户,文件的默认权限是664,目录的默认权限是775。
  • 对数字权限的理解:666 对应的是字符串:rw-rw-rw- ,777 对应的字符串是:rwxrwxrwx 。这里分别表示读写编辑权限
  • 使用命令file:可以查看具体的文件内容,包含了是不是可执行的二进制文件,是不是一个ASCII编码文件等,在使用 ls -l filename,就只能查看普通文件。

查找文件

  • 查文件的命令也有多种,包括使用 find 、locate 、which 、 whereis,他们适用于不同的场景下
  • 一般常用的是find :find /路径 -name filename,在这里find会遍历路径下的所有文件
    • 合理使用通配符进行查找 :find / -name *.conffind / -name httpd*
  • 在数据库中查找就会使用到命令: locate filename 路径,在这个命令使用的时候,如果发现没有更新,需要使用updatedb这个命令去更新数据库的最新文件,这样才能在使用命令在数据库中找到数据
  • which用于从系统的PATH变量所定义的目录中查找可执行文件的绝对路径:which passwd
  • 使用whereis也能查到其路径,但是和which不同的是,它不但能找出其二进制文件,还能找出相关的man文件:whereis passwd

文件打包和压缩

  • 在文件管理中 ,打包和压缩也是比较常见的文件管理命令,
  • 单个文件压缩使用:gzip filename ,对应解压使用:gunzip filenname
  • tar命令可以配合参数,实现单个文件或者目录的打包和解压
    • -z的含义是使用gzip压缩,-c是创建压缩文件(create),-v是显示当前被压缩的文件,-f是指使用文件名,也就是这里的boot.tgz文件
    • tar打包命令,得到的文件,他的后缀名字一般是.tar.gz 或者.tgz
    • 打包命令: tar -zcvf filename.tgz /目标路径
    • 解压命令: tar -zxvf filename.tgz
    • 解压到指定目录(加参数—C): tar -zxvf filename.tgz -C /目标目录
  • 还有一个不常用的命令 bzip2 ,使用这个命令会有后缀 .bz2 ,在参数上使用 -z是压缩,使用-d是解压
    • 压缩命令: bzip2 -z filename
    • 解压命令:bzip2 -d filename.bz2
  • 和find配套使用的一个命令是cpio
    • 该命令一般是不单独使用的,需要和find命令一同使用。当由find按照条件找出需要备份的文件列表后,可通过管道的方式传递给cpio进行备份,生成/tmp/conf.cpio文件,然后再将生成的/tmp/conf.cpio文件中包含的文件列表完全还原回去。
    • 备份:find /etc -name *.conf | cpio -cov > /tmp/conf.cpio
    • 还原:cpio --absolute -filenames -icuv < /tmp/conf.cpio

Linux学习系列--如何在Linux中进行文件的管理的更多相关文章

  1. Linux学习系列八:操作网口

    一些相对高性能的单片机会带以太网接口,网口在MCU里算是比较复杂的外设了,因为它涉及到网络协议栈,通常情况下网络协议栈会运行在一个RTOS中,所以对普通单片机开发者来说网口使用起来相对难度较大一些.在 ...

  2. Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问

    本篇内容还是建立在上一篇Java Web学习系列——Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Jar包 这 ...

  3. Linux入门进阶 - 如何在Linux中使用export命令

    来自:Linux迷链接:https://www.linuxmi.com/linux-export.html Linux export命令会标记哪些值需要传递给一组子进程.这是bash shell提供的 ...

  4. Linux学习系列之一:在centos 7.5上安装nginx 以及简单配置

    说到Linux我们都知道那是相当相当得重要得啊,在计算机这个行业,开发运维都是离不开它得.我作为一个准毕业生,智商可能不太够,只能自己笨鸟先飞,自己操作起来咯.俗话说的好,好记性不如难笔头嘛.而且ng ...

  5. Linux学习系列之Nginx调优实战

    Nginx配置文件性能微调 全局的配置 user www-data; pid /var/run/nginx.pid; worker_processes auto; worker_rlimit_nofi ...

  6. Linux学习系列之memcached

    memcached简介 一.memcached是什么 memcached是一个开源的.支持高性能.高并发的分布式内存缓存系统 mem+cache+daemon:分布式内存缓存守护进程 memcache ...

  7. 虚拟机中如何Linux系统如何访问PC硬盘中的文件(如何将windows下的文件夹挂载到linux虚拟机下)

    这段时间决定学习嵌入式,变打算安装个Linux系统先熟悉一下Linux系统的使用,但自己电脑上安装的win7系统又不想装双系统,一是闲麻烦,二是由于对Linux系统不熟悉担心会因为自己的误操作而损坏系 ...

  8. linux学习第三天 (Linux就该这么学)

    今天是学习的第三天,讲了很多命令,又赶上双11,网络经常波动,我经常掉线,没有听到多少,回头再看一下录播.我也写一下讲的命令吧,也加深一下命令的印象.第三章老师讲完了. ifconfig命令:输出信息 ...

  9. Linux学习笔记之(1)~Linux有趣的历史概览

    献给知道mono,了解Jexus,对.net混搭技术感兴趣的朋友. 1965年,Bell.MIT和GE公司发起Multics计划,目标是实现一个操作系统可以让大型主机实现连接三百个终端的目标.(那个时 ...

随机推荐

  1. 关于 MyBatis-Plus 分页查询的探讨 → count 都为 0 了,为什么还要查询记录?

    开心一刻 记得上初中,中午午休的时候,我和哥们躲在厕所里吸烟 听见外面有人进来,哥们猛吸一口,就把烟甩了 进来的是教导主任,问:你们干嘛呢? 哥们鼻孔里一边冒着白烟一边说:我在生气 环境搭建 依赖引入 ...

  2. 【拖拽可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!

    "整篇文章较长,干货很多!建议收藏后,分章节阅读." 一.设计方案 整体设计方案思维导图: 整篇文章,也将按照这个结构来讲解. 若有重点关注部分,可点击章节目录直接跳转! 二.项目 ...

  3. linux篇-linux LAMP yum版安装

    LAMP(linux.apache.mysql.php),是四个套件的合成,简单讲就是要把php运行在linux上,需要依赖apache和mysql数据库. 1 准备好一个linux系统(centos ...

  4. 146_ACCESS之HR招聘信息管理_64位

    焦棚子的文章目录 点击下载附件 一.背景: 最近把之前做的一个HR招聘信息管理工具翻新了下,有需要的朋友可以自取,主要想解决的问题是多人在跟进人员招聘的时候信息的不对称,这样下来的就可以及时的看到整个 ...

  5. [持续更新] Python学习、使用过程中遇见的非代码层面知识(想不到更好的标题了 T_T)

    写在前面: 这篇博文记录的不是python代码.数据结构.算法相关的内容,而是在学习.使用过程中遇见的一些没有技术含量,但有时很令人抓耳挠腮的小东西.比如:python内置库怎么看.python搜索模 ...

  6. jeecgboot-vue3笔记(九)——treeSelect树形选择组件的使用(异步加载)

    使用效果 初始化加载顶层节点,点击各层的>加载该节点的子节点,加载后>标识去除不再重复加载. 前端代码 vue ant-design组件 tree-data,树节点,children方式或 ...

  7. MATLAB调用NASTRAN的连续计算解决方案

    使用MATLAB调用NASTRAN提交bdf文件计算的方法笔者试过几种,分别做一下介绍 MATLAB直接调用操作系统命令 该方法对单次计算可能方便些,定义一个字符串,并使用eval命令调用,具体格式为 ...

  8. ER图/模型转换为关系模型

    ER图中的主要成分是实体类型和联系类型,转换规则就是如何把实体类型.联系类型转换成关系模式. 1. 二元联系转换 规则1.1(实体类型的转换):将每个实体类型转换成一个关系模式,实体的属性即为关系模式 ...

  9. Jmeter(五十四) - 从入门到精通高级篇 - 如何在linux系统下运行jmeter脚本 - 上篇(详解教程)

    1.简介 上一篇宏哥已经介绍了如何在Linux系统中安装Jmeter,想必各位小伙伴都已经在Linux服务器或者虚拟机上已经实践并且都已经成功安装好了,那么今天宏哥就来介绍一下如何在Linux系统下运 ...

  10. 关于缓存一致性协议、MESI、StoreBuffer、InvalidateQueue、内存屏障、Lock指令和JMM的那点事

    前言 事情是这样的,一位读者看了我的一篇文章,不认同我文章里面的观点,于是有了下面的交流. 可能是我发的那个狗头的表情,让这位读者认为我不尊重他.于是,这位读者一气之下把我删掉了,在删好友之前,还叫我 ...