热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux命令之文件管理命令

Linux命令之文件管理命令前言:此博文仅仅介绍一些常用的Linux文件管理命令以及常用的命令参数!注意:下面命令参数中的逗号代表或的意思,也就是说这几种参数实现相同的功能,可以相互
Linux命令之文件管理命令

前言:此博文仅仅介绍一些常用的Linux文件管理命令以及常用的命令参数!

注意:下面命令参数中的逗号代表或的意思,也就是说这几种参数实现相同的功能,可以相互代替。

1、ls 

作用:ls命令用于显示目录内容,类似于DOS下的dir命令,它的使用权限是所有用户。

用法:ls [选项] ... [文件]...

-a,--all:列出该目录下的所有文件,包括以“.”开始的文件
-d,--directory:当遇到目录时列出目录本身而非目录内的文件
-l:列出每个文件的详细信息(分别是:权限、文件数、组用户、所有者、大小、创建日期)
-R,--recursive:递归显示当前目录下的所有目录以及其子目录
-S:根据文件大小排序
-t:根据文件的修改时间排序

例:显示当前目录下每个文件的详细信息 :ls  -l


注:红框中一共有十个占位符,第一个为"-"表示文件,第一个为"d"表示目录。剩下的9个占位符划分为三组,分别表示所有者权限,同组用户权限,其他用户权限。

附:使用ls命令时会有几种不同的颜色,其中蓝色表示目录,绿色表示可执行文件,红色表示压缩文件,浅蓝色表示链接文件,加粗的黑色表示符号链接,灰色表示其他用法文件。

2、rm 

作用:删除指定的文件

用法:rm [选项] ... 文件 ...

-f :--force:强制删除。忽略不存在的文件,不提示确认。温馨提示:此参数慎用
-i :在删除前需要确认
-r,-R--recursive:递归删除目录及其内容
-v,--verbose:详细显示进行的步骤

注:如果指定被删除的文件列表,如果参数中含有目录,则必须加上-r或者-R选项

例:删除所有后缀名为.c的文件;删除前逐一询问确认:rm -i *.c


3、cp 

作用:文件或目录的复制

用法:cp [选项] ... 源文件  ... 目标文件

-f:删除已存在的目标文件
-i:覆盖已存在的目标文件之前会给出警告提示
-R:复制目录时,包括此目录下的所有的子目录和文件
-r:复制目录时,包括此目录下的所有的子目录和文件。不同于-R的地方是-r在尝试打开目的文件前会删除已存在的目的文件

例:将当前目录下的a.txt源文件拷贝到test目录下,并修改为b.txt:cp a.txt test/b.txt


4、mv 

作用:将源文件重命名为目标文件,或将源文件移动至指定目录。

用法:mv [选项] ...[-T] 源目录

-b :若需覆盖文件,则覆盖前先行备份
-f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination)已经存在时,就会询问是否覆盖
-u :若目标文件已经存在,且source比较新,才会更新(update)
-t :指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后

mv命令的机制:

mv命令中第二个参数类型有两种(目标文件和目标目录):

1)如果参数类型是目标文件,mv命令实现的功能是文件或目录的重命名,即将原来的文件名更新为目标文件名。

注:此时源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件或目录名。

例:

    ①将hello.java文件从当前目录移动到/home/java/sh下:mv a.txt /home/java/sh

    ②将a.java文件重命名为b.java:mv a.java b.java

2)如果参数类型是目标目录,mv命令实现的功能是文件或目录的转移、覆盖或更新。

注:此时源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

例:移除目录home/java下的所有以.java为扩展名的文件:rm *.java home/java

5、rmdir

作用:删除一个或多个目录

用法:rmdir ...[选项] ... 目录

-p,--parents:删除指定目录及其上级文件夹
-v,--verbose:输出处理的目录详情

例:删除目录a中目录b中的目录c :rmdir -p a/b/c


6、find

作用:查找文件或者目录,使用权限:所有用户
用法:find pathname [选项] [参数]

命令选项:

-name   按照文件名查找文件
-perm   按照文件权限来查找文件
-prune  使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略
-user   按照文件属主来查找文件
-group  按照文件所属的组来查找文件
-mtime -n +n  按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项
-nogroup查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在
-nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在
-type  查找某一类型的文件,诸如:
    b - 块设备文件
    d - 目录
    c - 字符设备文件
    p - 管道文件
    l - 符号链接文件
    f - 普通文件

例:按照目录或文件的权限来查找文件:find /opt/soft/test/ -perm 777

7、ln

作用:链接文件和目录

用法:ln [选项] [源文件或目录] [目标文件或目录]

-f:链接时先将与dist同档名的档案删除
-d:允许系统管理者硬链接自己的目录
-i:在删除与dist同档名的档案时先进行询问
-n:在进行软链接时,将dist视为一般的档案
-s:进行软链结(symboliclink)
-v:在链接之前显示其档名
-b:将在链接时会被覆写或删除的档案进行备份

例:给a.java文件创建软链接,链接名为linkSH:ln -s a.java linkSH

例:给b.java文件创建软链接,链接名为linkSH:ln -s b.java linkSH

介绍:软连接与硬连接

【软连接】
        另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

【硬连接】

        硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

【二者的区别】

1、硬链接原文件 / 链接文件公用一个 inode 号,说明他们是同一个文件,而软链接原文件 / 链接文件拥有不同的 inode 号,表明他们是两个不同的文件;
2、在文件属性上软链接明确写出了是链接文件,而硬链接没有写出来,因为在本质上硬链接文件和原文件是完全平等关系;
3、链接数目是不一样的,软链接的链接数目不会增加;
4、文件大小是不一样的,硬链接文件显示的大小是跟原文件是一样的。而这里软链接显示的大小与原文件就不同了, centos-release 大小是 38B ,而 system-release是 14B 。因为 centos-release 共有 3 个字符;
5、软链接没有任何文件系统的限制,任何用户可以创建指向目录的符号链接

8、tree

作用:创建文件列表,将目录所有文件以树状的形式列出来。(颜值高)

用法:tree [选项] ... 文件或目录 ...

-a:显示所有文件和目录
-d:先是目录名称而非内容
-g:列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码
-i:不以阶梯状列出文件和目录名称
-p:列出权限标示
-s:列出文件和目录大小
-t:用文件和目录的更改时间排序
-u:列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码

例:只显示当前目录下的所有目录结构:tree -d


9、chmod

作用:修改文件或目录的访问权限,用户可以用它控制文件或目录的访问权限
用法:字符设定法和数字设定法

1)字符设定法

chmod [ugoa] [+ | - | =] [rwx] 文件名

注:

u:user(文件或目录所有者)

g:group(同组用户)

o:other(其他用户)

a:all(所有用户)系统默认值

+:表示添加某个权限

-:表示取消某个权限

=:表示赋予某个权限

r:read读  w:write写  x:execute执行

例:赋予其他用户对a.txt文件的读写权限:chmod o + rw a.txt

2)数字设定法

chmod [mode] 文件名

数字属性的格式应为3个0到7的八进制数,其顺序是(u)(g)(o) 文件名,支持通配符。

例:设置自己对sunhui.txt文件的权限为可读、写和执行,但对其他所有用户只读:chmod 744 sunhui.txt


10、chown

作用:更改与文件关联的所有者组
用法:
chown [选项] ... 所有者 [:[组]] 文件 ...
chown [选项] ... : 组文件 ...

chown [选项] ...--reference = 参考文件 ...

-c:显示更改的部分的信息
-f:忽略错误信息
-h:修复符号链接
-R:处理指定目录以及其子目录下的所有文件
-v:显示详细的处理信息
-deference:作用于符号链接的指向,而不是链接文件本身

例:将当前目录下的test文件的拥有者和群组改为root/demo:chown -R -v root:demo test

小结:此博文是本人翻阅书籍等资源精心整理,如有问题请指出!


推荐阅读
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
author-avatar
tuiqiu
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有