本文大部分内容参看 《Linux基础》一书,根据自己的工程经验和理解加以修改、拓展和优化形成了本篇博客,不适合 Linux 纯小白,适合有一定基础的开发者阅读。

一,概述

在 Linux 中一切皆文件。文件管理主要是涉及文件/目录的创建、删除、移动、复制和查询,有mkdir/rm/mv/cp/find 等命令。其中 find 文件查询命令较为复杂,参数丰富,功能十分强大;查看文件内容是一个比较大的话题,文本处理也有很多工具供我们使用,本文涉及到这两部分的内容只是点到为止,没有详细讲解。另外给文件创建一个别名,我们需要用到 ln,使用这个别名和使用原文件是相同的效果。

二,文件及目录常见操作

2.1,创建、删除、移动和复制

创建和删除命令的常用用法如下:

  • 创建目录:mkdir
  • 删除文件:rm file(删除目录 rm -r)
  • 移动指定文件到目标目录中:mv source_file(文件) dest_directory(目录)
  • 复制:cp(复制目录 cp -r)

这些命令的常用和复杂例子程序如下

$ find ./ | wc -l  # 查看当前目录下所有文件个数(包括子目录)
14995
$ cp –r test/ newtest # 使用指令 cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下
$ mv test.txt demo.txt # 将文件 test.txt 改名为 demo.txt

2.2,目录切换

  • 切换到上一个工作目录: cd -
  • 切换到 home 目录: cd or cd ~
  • 显示当前路径: pwd
  • 更改当前工作路径为 path: $ cd path

2.3,列出目录内容

  • 显示当前目录下的文件及文件属性ls
  • 按时间排序,以列表的方式显示目录项:ls -lrt

ls 命令部分参数解释如下:

  • -a:显示所有文件及目录 (. 开头的隐藏文件也会列出)
  • -l:除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
  • -r:将文件以相反次序显示(原定依英文字母次序)
  • -t: 将文件依建立时间之先后次序列出

常用例子如下:

$ pwd
/
$ ls -al # 列出根目录下所有的文件及文件类型、大小等资讯
total 104
drwxr-xr-x 1 root root 4096 Dec 24 01:24 .
drwxr-xr-x 1 root root 4096 Dec 24 01:24 ..
drwxrwxrwx 11 1019 1002 4096 Jan 13 09:34 data
drwxr-xr-x 15 root root 4600 Dec 24 01:24 dev
drwxr-xr-x 1 root root 4096 Jan 8 03:15 etc
drwxr-xr-x 1 root root 4096 Jan 11 05:49 home
drwxr-xr-x 1 root root 4096 Dec 23 01:15 lib
drwxr-xr-x 2 root root 4096 Dec 23 01:15 lib32
... 省略

2.4,查找目录或者文件 find/locate

1,查找文件或目录

$ find ./ -name "cali_bin*" | xargs file  # 查找当前目录下文件名含有 cali_bin 字符串的文件
./classifynet_calib_set/cali_bin.txt: ASCII text
./calib_set/cali_bin.txt: ASCII text
./cali_bin.txt: ASCII text

2,查找目标文件夹中是否含有 obj 文件:

$ find ./ -name '*.o'

find 是实时查找,如果需要更快的查询,可试试 locate;locate 会为文件系统建立索引数据库,如果有文件更新,需要定期执行更新命令来更新索引库。

$ locate string  # 寻找包含有 string 的路径

2.5,查看及搜索文件内容

1,查看文件内容命令:cat vi head tail more

$ cat -n  # 显示时同时显示行号
$ ls -al | more # 按页显示列表内容
$ head -1 filename # 显示文件内容第一行
$ diff file1 file1 # 比较两个文件间的差别

2,使用 egrep 查询文件内容:

$ egrep "ls" log.txt  # 查找 log.txt 文件中包含 ls 字符串的行内容
-rw-r--r-- 1 root root 2009 Jan 13 06:56 ls.txt

三,总结

利用 ls -al 命令查看文件属性及权限,已知了 Linux 系统内文件的三种身份(文件拥有者、文件所属群组与其他用户),每种身份都有四种权限(rwxs)。可以使用 chown, chgrp, chmod 去修改这些权限与属性。文件是实际含有数据的地方,包括一般文本文件、数据库内容文件、二进制可执行文件(binary program)等等。

  • 文件管理,目录的创建、删除、查询、管理: mkdir rm mv cp
  • 文件的查询和检索命令: find locate
  • 查看文件内容命令:cat vi tail more
  • 管道和重定向命令: ; | && >

四,参考资料

《Linux基础》

Linux 基础-文件及目录管理的更多相关文章

  1. Linux基础--文件与目录管理

    1.目录与路径 1)特殊目录 .   代表此层目录 ..  代表上一层目录 -   代表前一个工作目录 ~   代表『目前使用者身份』所在的家目录 ~account   代表account这个使用者的 ...

  2. (五)Linux之文件与目录管理以及文本处理

    Linux之文件与目录管理 目录 Linux之文件与目录管理 前言 绝对路径与相对路径说明: 一.目录常用命令 常用处理目录的命令: 切换目录 cd 显示当前路径 pwd 查看目录下文件 ls 创建目 ...

  3. Linux命令——文件和目录管理

    Linux命令--文件和目录管理 基本命令 命令ls 作用:显示目录下的文件和文件夹 说明:默认显示当前目录,可跟路径参数 参数:-a,显示隐藏目录 参数:-l,显示文件权限 参数:-d,显示文件最后 ...

  4. Linux学习-文件和目录管理 

    Linux文件和目录管理  文件系统架构  1.Linux文件系统具有层级性     1)文件或者目录起始于根目录"/"成为树状结构    2)最顶层由/开始   2 ...

  5. linux——(3)文件与目录管理

    文件与目录管理相关指令 ls [-adlR] 目录 #查看目录与文件的命令. -a #连同隐藏文件一起列出来. -d #只列出目录. -l #列出相关属性和权限等数据. -R #连同子目录内容一起列出 ...

  6. Linux 的文件和目录管理类命令

    文件和目录管理类的命令 目录: cd ~[username] ~:指定用户的家目录 cd -:回到上一次所在的目录 路径: 相对路径中: .:当前目录 ..:父目录 pwd: print workin ...

  7. Linux基础 文件和目录

    文件和目录 前言 本章讨论文件属性和文件系统内容.除了上一章讨论的普通文件,Linux的文件概念还包括:目录.设备等.在Linux系统中,文件的种类包括:普通文件.目录.符号链接.块设备.字符设备.管 ...

  8. linux(2)文件和目录管理(新增,删除,复制,移动,文件和目录权限,文件查找)

    一.目录与路径 1.相对路径与绝对路径绝对路径:/开头, cd /usr相对路径:cd ../..2.目录操作(cd:change directory).:当前目录..:上一层目录-:上一个目录~:当 ...

  9. Linux的 文件 和 目录 管理

    包括了文件和目录的创建.删除.修改,权限.压缩.搜索.分区.挂载 简单的一些命令: [ pwd ]查看当前所在目录 [ cd .. ]上级目录 [ cd ~ ]当前用户的家目录 [cd -]上次打开目 ...

  10. Linux之文件与目录管理

    加油!

随机推荐

  1. Apache DolphinScheduler 3.3.0 版本重磅更新提前看!

    Apache DolphinScheduler 3.3.0版本终于要在万众期待中发布啦!本次发版将有重大功能更新,包括架构上的调整. 为了让广大用户提前尝鲜,社区特别准备了直播活动提前揭秘3.3.0版 ...

  2. Apache DolphinScheduler 3.0.6 发布,或将是最后一个 3.0.X 版本

    Apache DolphinScheduler 于近日发布了 3.0.6 版本,主要针对 3.0.5 重要 bug 进行修复.如果之后没有发现重大问题,3.0.6 将会是 3.0.x 最后一个版本. ...

  3. IE中在线预览PDF文件

    今天在项目中偶然遇到一个需要在线查看pdf的需求.在查阅一些资料之后使用了最简单的写法(需要在客户端安装AdbeRdr11000_zh_CN_11.0.0.379.exe软件). 还有其他方法可以实现 ...

  4. 【测试平台开发】——01后端web开发框架Flask

    官方中文地址:https://flask.net.cn/ 官方英文地址:https://flask.palletsprojects.com/en/2.1.x/ github地址:https://git ...

  5. 使用 nuxi analyze 命令分析 Nuxt 应用的生产包

    title: 使用 nuxi analyze 命令分析 Nuxt 应用的生产包 date: 2024/8/29 updated: 2024/8/29 author: cmdragon excerpt: ...

  6. Openharmony 跑 CV 应用

    最近有个项目,老同学让帮忙验证一个在ARM 板上跑 OpenHarmony,然后再集成一个CV算法上去,写这个文章主要是整理一下思路.如果有思路不对的地方,也烦请指出. 1. 个人做纯软件比较多,所以 ...

  7. 一文看懂global, nonlocal, local变量

    Python中,变量是根据程序运行顺序进行的,比如函数外的变量,在函数内是可见的,但是可用,不可赋值.那么如何实现赋值呢? 利用global关键字进行. 在函数内,如果出现和函数外的变量同名变量,而且 ...

  8. 变“金点子”为“好应用”,合合信息智能文档处理技术助力大学生探索AI创新边界

    谈"糖"色变.追求养生.低卡生活--这些热门词汇频频在社交媒体上掀起讨论热潮.有这样一批年轻人不但捕捉到了这些词汇背后真实的用户需求,并且正在利用AI技术寻找解决之道. 近日,&q ...

  9. 戴尔笔记本游匣DELL G16 7620更换固态硬盘从选购固态硬盘到系统和应用程序迁移(克隆)全过程(教程)

    又到了捣鼓电脑的时候了.去年(2022年)8月14日买的电脑,当时7月份刚出戴尔游匣G16,搜了一下,2022年7月22日,戴尔首发游匣G16国行版本. 到现在也就用了差不多半年的时间,我的内存满了, ...

  10. JavaScript习题之算法设计题

    // 1.九九乘法表 for (var i = 1; i < 10; i++) { document.write("<span>"); for (var j = ...