Linux学习系列--如何在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 *.conf
、find / -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中进行文件的管理的更多相关文章
- Linux学习系列八:操作网口
一些相对高性能的单片机会带以太网接口,网口在MCU里算是比较复杂的外设了,因为它涉及到网络协议栈,通常情况下网络协议栈会运行在一个RTOS中,所以对普通单片机开发者来说网口使用起来相对难度较大一些.在 ...
- Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问
本篇内容还是建立在上一篇Java Web学习系列——Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Jar包 这 ...
- Linux入门进阶 - 如何在Linux中使用export命令
来自:Linux迷链接:https://www.linuxmi.com/linux-export.html Linux export命令会标记哪些值需要传递给一组子进程.这是bash shell提供的 ...
- Linux学习系列之一:在centos 7.5上安装nginx 以及简单配置
说到Linux我们都知道那是相当相当得重要得啊,在计算机这个行业,开发运维都是离不开它得.我作为一个准毕业生,智商可能不太够,只能自己笨鸟先飞,自己操作起来咯.俗话说的好,好记性不如难笔头嘛.而且ng ...
- Linux学习系列之Nginx调优实战
Nginx配置文件性能微调 全局的配置 user www-data; pid /var/run/nginx.pid; worker_processes auto; worker_rlimit_nofi ...
- Linux学习系列之memcached
memcached简介 一.memcached是什么 memcached是一个开源的.支持高性能.高并发的分布式内存缓存系统 mem+cache+daemon:分布式内存缓存守护进程 memcache ...
- 虚拟机中如何Linux系统如何访问PC硬盘中的文件(如何将windows下的文件夹挂载到linux虚拟机下)
这段时间决定学习嵌入式,变打算安装个Linux系统先熟悉一下Linux系统的使用,但自己电脑上安装的win7系统又不想装双系统,一是闲麻烦,二是由于对Linux系统不熟悉担心会因为自己的误操作而损坏系 ...
- linux学习第三天 (Linux就该这么学)
今天是学习的第三天,讲了很多命令,又赶上双11,网络经常波动,我经常掉线,没有听到多少,回头再看一下录播.我也写一下讲的命令吧,也加深一下命令的印象.第三章老师讲完了. ifconfig命令:输出信息 ...
- Linux学习笔记之(1)~Linux有趣的历史概览
献给知道mono,了解Jexus,对.net混搭技术感兴趣的朋友. 1965年,Bell.MIT和GE公司发起Multics计划,目标是实现一个操作系统可以让大型主机实现连接三百个终端的目标.(那个时 ...
随机推荐
- 个人冲刺(五)——体温上报app(一阶段)
任务:完成了体温录入.体温记录删除.体温修改以及历史记录查询操作 体温录入 public void insertDB(View view) { MyDBHelper mydbh=new MyDBHel ...
- Hibernate基础入门2
HQL与Criteria HQL(Hibernate Query Language)-官方推荐面向对象的查询语言,与SQL不同,HQL中的对象名是区分大小写的(除了JAVA类和属性其他部分不区分大小写 ...
- 什么!Sentinel流控规则可以这样玩?
项目源码地址:公众号回复 sentinel,即可免费获取源码 前言 上一篇文章中,我们讲解了关于sentinel基本介绍以及流控规则中直接和快速失败的效果,有兴趣的可以去看上一篇文章,今天,我们给大家 ...
- Citrix Virtual Apps and Desktops 7 2203 LTSR虚拟云桌面单机教程
哈喽大家好,欢迎来到虚拟化时代君(XNHCYL). 大家好,我是虚拟化时代君,一位潜心于互联网的技术宅男.这里每天为你分享各种你感兴趣的技术.教程.软件.资源.福利--(每天更新不间断) 一 .主要内 ...
- 异常——JavaSE基础
异常 异常的分类 检查性异常 运行时异常:可能被程序员避免的异常,运行时异常可以在编译时被忽略 错误ERROR:错误不是异常 在Java中把异常当作对象来处理,并且定义了一个基类java.lang.T ...
- 在 Traefik Proxy 2.5 中使用/开发私有插件(Traefik 官方博客)
Traefik Proxy 在设计上是一个模块化路由器,允许您将中间件放入您的路由中,并在请求到达预期的后端服务目的地之前对其进行修改. Traefik 内置了许多这样的中间件,还允许您以插件的形式加 ...
- CentOS6.5修改镜像源问题
千呼万唤使出来阿,随着centos版本不断地更新好多镜像源已经被放弃了治疗,尤其是低版本的centos,下面以CentOS6.5为例进行刨析吧! 上干货: 配置文件 vi /etc/yum.repos ...
- Eureka服务下线太慢,电话被告警打爆了
某年某月的某一天,就像一张破碎的脸... 错了,重来. 某天,忽然发现大量的告警,经过多番调查研究考察(此处省略3000字),发现是由于 Eureka 服务下线太慢,而仍然有大量的请求打进来导致的报错 ...
- DS18B20数字温度计 (一) 电气特性, 供电和接线方式
目录 DS18B20数字温度计 (一) 电气特性, 供电和接线方式 DS18B20数字温度计 (二) 测温, ROM和CRC校验 DS18B20数字温度计 (三) 1-WIRE总线ROM搜索算法 DS ...
- 实现领域驱动设计 - 使用ABP框架 - 什么是领域驱动设计?
前言: 最近看到ABP官网的一本电子书,感觉写的很好,翻译出来,一起学习下 (Implementing Domain Driven Design) https://abp.io/books DDD简介 ...