文件

在常见的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. 一窥 AJAX

    一窥 AJAX 本文写于 2020 年 6 月 7 日 AJAX 这个词非常常见,如果使初学者,说不定还会非常害怕这个名字看起来非常高端.非常难的技术. AJAX,全称 Async JavaScrip ...

  2. @Inherited 原注解功能介绍

    @Inherited 底层 package java.lang.annotation; /** * Indicates that an annotation type is automatically ...

  3. Spring Security之用户名+密码登录

    自定义用户认证逻辑 处理用户信息获取逻辑 实现UserDetailsService接口 @Service public class MyUserDetailsService implements Us ...

  4. 153. Find Minimum in Rotated Sorted Array - LeetCode

    Question 153. Find Minimum in Rotated Sorted Array Solution 题目大意:给一个按增序排列的数组,其中有一段错位了[1,2,3,4,5,6]变成 ...

  5. python模块详情与开发规范

    目录 循环导入 py文件类型 模块的查找顺序 相对导入与绝对导入 包 软件开发目录规范 循环导入 在初学模块时,我们有些时候会出现两个文件彼此导入,这时候可能会有报错. 比如有以下两个py文件 a.p ...

  6. WPF|快速添加新手引导功能(支持MVVM)

    阅读导航 前言 案例一 案例二 案例三(本文介绍的方式) 如何使用? 控件如何开发的? 总结 1. 前言 案例一 站长分享过 眾尋 大佬的一篇 WPF 简易新手引导 一文,新手引导的效果挺不错的,如下 ...

  7. 「ARC 139F」Many Xor Optimization Problems【线性做法,踩标】

    「ARC 139F」Many Xor Optimization Problems 对于一个长为 \(n\) 的序列 \(a\),我们记 \(f(a)\) 表示从 \(a\) 中选取若干数,可以得到的最 ...

  8. VUE3 之 render 函数的使用 - 这个系列的教程通俗易懂,适合新手

    1. 概述 老话说的好:不用想的太多.太远,做好当天的事,知道明天要做什么就可以了. 言归正传,今天我们来聊聊 VUE 中 render 函数的使用. 2. render 函数 2.1 一个简单的例子 ...

  9. 计算机网络 - HTTP和HTTPS的区别

    计算机网络 - HTTP和HTTPS的区别 http所有传输的内容都是明文,并且客户端和服务器端都无法验证对方的身份. https具有安全性的ssl加密传输协议,加密采用对称加密. https协议需要 ...

  10. Anaconda新建虚拟环境并添加到Jupyter Notebook

    可参考:https://www.jianshu.com/p/ab9ae548b253 虚拟环境是Python的隔离工作副本.这意味着每个环境都可以具有自己的依赖关系,甚至可以具有自己的Python版本 ...