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

Linux学习——操作文件与目录

1.ls:列出文件及目录信息。命令格式:ls[选项]常用选项:-a显示指定目录下所有子目录与文件,包括隐藏文件。-A显示指定目录下所有子目录与文件,包

 

1. ls:列出文件及目录信息。

  • 命令格式:ls [选项] ...
  • 常用选项:

-a 显示指定目录下所有子目录与文件,包括隐藏文件。

-A 显示指定目录下所有子目录与文件,包括隐藏文件。但不列出“.”和 “..”。

-c 按文件的修改时间排序。

-l 以长格式来显示文件的详细信息。这个选项最常用,在有些系统下,可以直接输入ll命令,实际就是ls -l的简写。

-r 按字母逆序或最早优先的顺序显示输出结果。

-t 显示时按修改时间(最近优先)而不是按名字排序。若文件修改时间相同,则按字典顺序。

-u 显示时按文件上次存取的时间(最近优先)而不是按名字排序。

-i 显示文件或目录的inode号

  • 示例:

#ls –il(下面是对显示信息的简要说明)

1)inode号:该文件或目录的索引节点号

2)类型:使用不同的字符代表不同的文件类型

-:普通文件

d:目录

b:块设备文件

c:字符设备文件

l:软链接文件

s:套接字(socket)文件

p:管道(pipe)文件

3)权限:每个文件可针对拥有者(创建者)、同组用户以及其他用户设置读、写、执行权限,以以下字符表示不同的权限:

r:读权限

w:写权限

x:执行权限

-:没有权限

 

2. chmod:文件拥有者(属主)或特权用户修改文件访问权限。

  • 命令格式:chmod  [选项] 权限 文件名
  • 常用选项:

-c:输出被改变文件信息

-R递归遍历子目录,把修改应到目录下所有文件和子目录

--reference=filename:参照filename的权限来设置

-v:无论修改是否成功,输出每个文件的信息

示例:

#chmod u+x file     file的属主增加执行权限

#chmod 751 file     file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限

#chmod u=rwx,g=rx,o=x file  上例的另一种形式

#chmod =r file       为所有用户分配读权限

#chmod a-wx,a+r file   同上例

#chmod -R u+r directory 递归地给directory目录下所有文件和子目录的属主分配读的权限

 

3.cp:拷贝文件或目录。

  • 命令格式:cp [选项] 源文件/目录名 目的文件/目录名
  • 常用选项:

-a常在拷贝目录时使用。保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。

-r若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件,此时目标文件必须为一个目录名。

-d拷贝时保留链接。

-f删除已经存在的目标文件而不提示。

-i和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。是交互式拷贝。

- p此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。

示例:

#cp file1 file2              将文件file1拷贝到文件file2。如果file2存在将会被file1的内容覆盖;不存在将会先创建file2

#cp  -r direct1 direct2   direct1(目录及其内容)拷贝到direct2。同上。

 

4. mv:移动文件到另一个目录,也可使用该命令重命名文件。

  • 命令格式:mv [选项] 源文件/目录名 目标文件/目录名  
  • 常用选项:

-f:覆盖已经存在的目标文件而不提示。

-i:覆盖已存在文件之前将给出提示要求用户确认。

示例

#mv file1 file2 将文件file1重命名为file2

#mv file1 ../file1 将文件file1移动到当前目录父目录

#mv dir1 dir2 将目录dir1及其内容移动到dir2下,同时删除dir1

 

5.mkdir:在当前目录下创建子目录。

 

  • 命令格式:mkdir [选项] 目录名
  • 常用选项:784

m:设定目录权限,类似于chmod

v:每次创建新目录都显示信息。

示例

#mkdir test1   创建test1子目录

#mkdir –m 777 test     创建test目录,并赋予所有人读、写、执行权限

 

6.rm:删除文件或目录。

  • 命令格式:rm [选项] 文件/目录名
  • 常用选项:

-r:若给出的源文件是一目录文件,此时rm将递归删除该目录下所有的子目录和文件。

-f:删除已经存在的目标文件而不提示。

-i:在删除文件之前将给出提

示要求用户确认。 

示例:

#rm testdirect –rf 删除testdirect目录,不做提示

#rm file1 删除file1文件

#rm -r file1 dir1 删除file1、dir1以及它们的内容。

  

7. rmdir:删除空目录。

命令格式:rmdir [选项] 目录名

  • 常用选项:

-p:递归删除目录,当子目录删除后,其父目录为空时,也一并被删除。

  • 示例

#rmdir dirname

#rmdir -p pdir/cdir    删除子目录cdir,如cdir被删除后,pdir为空,pdir一并被删除

 

8. find:搜索文件。

  • 命令格式:find 查找路径 [选项] …
  • 常用选项:

-name 按名字查找

-perm 按执行权限来查找

-user 按文件拥有者来查找

-mtime 按文件修改时间来查找

-atime 按文件访问时间来查找

-ctime 按文件创建时间来查找

-type   按文件类型来查找,参数可以是b(块设备)、c(字符设备)、d(目录)、p(管道)、l(符号链接)、f(普通文件)

  • 示例:

#find . –name “*.txt” 在当前目录(含子目录)查找.txt文件

#find / -name  test 在根目录(含子目录)查找test文件

#find ~ -type l home目录查找符号链接文件

 

9.cat:显示一个或多个文件的信息。

  • 命令格式:cat [选项] ...
  • 常用选项:

-n :由 1 开始对所有输出的行数编号

-b :和-n 相似,但对于空白行不编号

-s :当遇到有连续两行以上的空白行,替换为一行的空白行

  • 示例:

#cat  -n test1.txt  把test1.txt内容加上行号显示出来(包括空行)

#cat  -b test1.txt  test2.txt  把test1.txt和test2.txt的内容显示出来,test2.txt的内容显示在test1.txt后面(除空行外加上行号) 

 

10.more:显示文件的内容,空格向下翻页,常通过管道与其它命令配合使用。

  • 命令格式:more [选项]...
  • 常用选项:

+n:从第n行开始显示

-n:定义屏幕大小为n行

-c:从顶部清屏,然后显示

-s:把连续的多个空行显示为一行

  • 示例

#more test.txt 显示test.txt内容

#more +10 test.txt 从第10行开始显示test.txt内容

#ls –il | more 列出当前目录文件信息,空格翻页

 

11.less:显示文件内容,空格、PgDn向下翻页,PgUp向上翻页,上、下箭头上下翻行,按q退出。

  • 命令格式:less  [选项] ...
  • 常用选项:

-e:文件内容显示完毕后,自动退出

-f:强制显示文件

-N:每一行行首显示行号

-s:将连续多个空行压缩成一行显示

-S:在单行显示较长的内容,而不换行显示

-x<数字>:将TAB字符显示为指定个数的空格字符。

  • 示例

#less -N test.cpp 显示test.cpp内容,前面显示行号

#less -x 2 test.cpp 显示test.cpp内容,TAB定义为2个空格

#ls –il | less 列出当前目录信息,使用less分页显示


推荐阅读
  • 本文详细介绍如何安装和配置DedeCMS的移动端站点,包括新版本安装、老版本升级、模板适配以及必要的代码修改,以确保移动站点的正常运行。 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • 本文深入探讨了Linux内核中进程地址空间的设计与实现,包括虚拟地址空间的概念、内存描述符`mm_struct`的作用、内核线程与用户进程的区别、进程地址空间的分配方法、虚拟内存区域(VMA)的结构以及地址空间与页表之间的映射机制。 ... [详细]
  • 本文详细介绍了JQuery Mobile框架中特有的事件和方法,帮助开发者更好地理解和应用这些特性,提升移动Web开发的效率。 ... [详细]
  • 深入体验Python的高级交互式Shell - IPython
    IPython 是一个增强型的 Python 交互式 Shell,提供了比标准 Python 控制台更为强大的功能,适用于开发和调试过程。它不仅支持直接执行 Linux 命令,还提供了丰富的特性来提高编程效率。 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • 本文介绍了在Linux环境下如何有效返回命令行状态、上一级目录及快速查找头文件和函数定义的方法。包括处理长时间运行命令、编辑器退出技巧、目录导航以及文件搜索策略。 ... [详细]
  • 本文详细介绍了如何在ARM架构的目标设备上部署SSH服务端,包括必要的软件包下载、交叉编译过程以及最终的服务配置与测试。适合嵌入式开发人员和系统集成工程师参考。 ... [详细]
  • 尽管在WPF中工作了一段时间,但在菜单控件的样式设置上遇到了一些基础问题,特别是关于如何正确配置前景色和背景色。 ... [详细]
  • 想把一组chara[4096]的数组拷贝到shortb[6][256]中,尝试过用循环移位的方式,还用中间变量shortc[2048]的方式。得出的结论:1.移位方式效率最低2. ... [详细]
  • 利用Node.js实现PSD文件的高效切图
    本文介绍了如何通过Node.js及其psd2json模块,快速实现PSD文件的自动化切图过程,以适应项目中频繁的界面更新需求。此方法不仅提高了工作效率,还简化了从设计稿到实际应用的转换流程。 ... [详细]
  • 本文详细介绍了如何在最新版本的Xcode中重命名iOS项目,包括项目名称、应用名称及相关的文件夹和配置文件。通过本文,开发者可以轻松完成项目的重命名工作。 ... [详细]
  • 本文介绍了记事本的基本保存方法以及通过辅助软件实现自动保存的技术,帮助用户更好地管理和保护重要数据。 ... [详细]
  • Fiddler 安装与配置指南
    本文详细介绍了Fiddler的安装步骤及配置方法,旨在帮助用户顺利抓取用户Token。文章还涵盖了一些常见问题的解决方案,以确保安装过程顺利。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
author-avatar
手机用户2502920725
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有