Linux学习系列--如何在Linux中进行文件的管理

   2023-03-08 学习力0
核心提示:文件在常见的Linux的文件系统中,经常使用能了解到的文件管理系统是分为多个文件夹进行管理的。如何查看文件路径 pwd ,在文件目录中,会有一个点(.)代表的是当前目录,两个点(..)代表的是当前目录的上层目录在Linux下,所有以点开始的文件都是“隐藏文件

文件

在常见的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
 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 【强转】QEMU+GDB调试linux内核全过程
    【强转】QEMU+GDB调试linux内核全过程
    昨天更新了一篇名为《QEMU+GDB调试linux内核全过程》[link][https://blog.csdn.net/weixin_37867857/article/details/88138432]的博客,发现排版比较混乱,而且思维也比较混乱。咋一看下来简直是惨不忍睹,而且会给读者在安装过程中一种云里雾里的感觉,加上
    03-08
  • Linux下Bochs,NASM安装和使用 linux bom
    Linux下Bochs,NASM安装和使用 linux bom
    以Ubuntu为例,先更新一下:sudo apt-get updatesudo apt-get upgrade然后安装Bochs环境:sudo apt-get install build-essential xorg-dev libgtk2.0-dev安装NASMNASM官网下载,这以nasm-2.14.02.tar.gz为例:用tar zxvf nasm-2.14.02.tar.gz解压后编译安装cd
    03-08
  • 把玩Alpine linux(一):安装
    把玩Alpine linux(一):安装
    导读Alpine Linux是一个面向安全应用的轻量级Linux发行版。它采用了musl libc和busybox以减小系统的体积和运行时资源消耗,同时还提供了自己的包管理工具apk。Alpine 的内核都打了grsecurity/PaX补丁,并且所有的程序都编译为Position Independent Executabl
    03-08
  • 日志审计与分析实验三(rsyslog服务器端和客户端配置)(Linux日志收集)
    日志审计与分析实验三(rsyslog服务器端和客户
     Linux日志收集一、实验目的:1、掌握rsyslog配置方法2、配置rsyslog服务收集其他Linux服务器日志:C/S架构:客户端将其日志上传到服务器端,通过对服务器端日志的查询,来实现对其他客户端的日志进行集中管理;下面实现就是通过两套机器来实现,(server:19
    03-08
  • [JetBrains] 我想在 Linux 上使用 macOS 键绑定!
    [JetBrains] 我想在 Linux 上使用 macOS 键绑定
    很高兴认识你,我的名字是kitakkun。我最近开始实习,是工程界的新手。顺便说一句,这是我的第一篇文章。你最喜欢的操作系统是什么?视窗?苹果系统?还是Linux?我将它们全部用于不同的目的,但感觉就像 macOS ≒ LinuxWindows。一两个月前,我最喜欢 Linux
    03-08
  • linux 配置Socks51
    linux 配置Socks51
    ***大家耳熟能详,但是socks用到的人比较少,那什么是socks呢?请看第二段或者百度百科,socks分别有4和5两个版本,现在5为主流。工作中经常用***访问国外,但是同时国内的速度又慢了,让人很纠结,实际上这个时候可以考虑使用socks。指定某一个程序使用国外s
    02-10
  • linux下如何单独编译设备树? linux设备树是什
    答: make vendor/device_name.dtb  如: make freescale/fsl-1043a-rdb.dtb
    02-10
  • linux下mysql开启远程访问权限及防火墙开放3306端口
    linux下mysql开启远程访问权限及防火墙开放3306
    开启mysql的远程访问权限默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。主流的有两种方法,改表法和授权法。相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这
    02-10
  • 移植linux3.7到nuc900系列开发板遇到的问题
    通过移植学习linux新版本内核,大概了解一下内核变化。记录一下移植过程中遇到的问题或值得注意的地方。1,添加一款arm9芯片的支持首先修改\arch\arm\tools\mach-types文件添加一行w90p950evbMACH_W90P950EVBW90P950EVB同目录下的脚本文件在编译内核时会根据
    02-10
  • linux下安装redis3.2
    这部分来自网络: http://blog.csdn.net/cuibruce/article/details/535015321.下载下载地址:http://www.redis.io/download选取当前最新版本3.2.1下载,上传到linux上,进行解压缩:[root@mongodb1 redis]# lsredis-3.2.1 redis-3.2.1.tar.gz进入redis-3.2.1目录
    02-10
点击排行