2. 文件及目录管理

文件管理不外乎文件或目录的创建、删除、查询、移动,有mkdir/rm/mv

文件查询是重点,用find来进行查询;find的参数丰富,也非常强大;

查看文件内容是个大的话题,文本的处理有太多的工具供我们使用,在本章中只是点到即止,后面会有专门的一章来介绍文本的处理工具;

有时候,需要给文件创建一个别名,我们需要用到ln,使用这个别名和使用原文件是相同的效果;

2.1. 创建和删除

  • 创建:mkdir
  • 删除:rm
  • 删除非空目录:rm -rf file目录
  • 删除日志 rm *log (等价: $find ./ -name “*log” -exec rm {} ;)
  • 移动:mv
  • 复制:cp (复制目录:cp -r )

查看当前目录下文件个数:

$find ./ | wc -l

复制目录:

$cp -r source_dir  dest_dir

2.2. 目录切换

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

2.3. 列出目录项

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

以上这个命令用到的频率如此之高,以至于我们需要为它建立一个快捷命令方式:

在.bashrc 中设置命令别名:

alias lsl='ls -lrt'
alias lm='ls -al|more' 

这样,使用lsl,就可以显示目录中的文件按照修改时间排序;以列表方式显示;

  • 给每项文件前面增加一个id编号(看上去更加整洁):

    >ls | cat -n 

    1 a 2 a.out 3 app 4 b 5 bin 6 config

注:.bashrc 在/home/你的用户名/ 文件夹下,以隐藏文件的方式存储;可使用 ls -a 查看;

2.4. 查找目录及文件 find/locate

搜寻文件或目录:

$find ./ -name "core*" | xargs file

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

$find ./ -name '*.o'

递归当前目录及子目录删除所有.o文件:

$find ./ -name "*.o" -exec rm {} \;

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

$locate string

寻找包含有string的路径:

$updatedb

与find不同,locate并不是实时查找。你需要更新数据库,以获得最新的文件索引信息。

2.5. 查看文件内容

查看文件:cat vi head tail more

显示时同时显示行号:

$cat -n

按页显示列表内容:

$ls -al | more

只看前10行:

$head - 10 **

显示文件第一行:

$head -1 filename

显示文件倒数第五行:

$tail -5 filename

查看两个文件间的差别:

$diff file1 file2

动态显示文本最新信息:

$tail -f crawler.log

2.6. 查找文件内容

使用egrep查询文件内容:

egrep '03.1\/CO\/AE' TSF_STAT_111130.log.012 egrep 'A_LMCA777:C' TSF_STAT_111130.log.035 > co.out2 

2.7. 文件与目录权限修改

  • 改变文件的拥有者 chown
  • 改变文件读、写、执行等属性 chmod
  • 递归子目录修改: chown -R tuxapp source/
  • 增加脚本可执行权限: chmod a+x myscript

2.8. 给文件增加别名

创建符号链接/硬链接:

ln cc ccAgain :硬连接;删除一个,将仍能找到;
ln -s cc ccTo :符号链接(软链接);删除源,另一个无法使用;(后面一个ccTo 为新建的文件)

2.9. 管道和重定向

  • 批处理命令连接执行,使用 |
  • 串联: 使用分号 ;
  • 前面成功,则执行后面一条,否则,不执行:&&
  • 前面失败,则后一条执行: ||
ls /proc && echo  suss! || echo failed.

能够提示命名是否执行成功or失败;

与上述相同效果的是:

if ls /proc; then echo suss; else echo fail; fi 

重定向:

ls  proc/*.c > list 2> &l 将标准输出和标准错误重定向到同一文件;

等价的是:

ls  proc/*.c &> list 

清空文件:

:> a.txt

重定向:

echo aa >> a.txt 

2.10. 设置环境变量

启动帐号后自动执行的是 文件为 .profile,然后通过这个文件可设置自己的环境变量;

安装的软件路径一般需要加入到path中:

PATH=$APPDIR:/opt/app/soft/bin:$PATH:/usr/local/bin:$TUXDIR/bin:$ORACLE_HOME/bin;export PATH

2.11. Bash快捷输入或删除

快捷键:

Ctl-U   删除光标到行首的所有字符,在某些设置下,删除全行
Ctl-W   删除当前光标到前边的最近一个空格之间的字符
Ctl-H   backspace,删除光标前边的字符
Ctl-R   匹配最相近的一个文件,然后输出

2.12. 综合应用

查找record.log中包含AAA,但不包含BBB的记录的总数:

cat -v record.log | grep AAA | grep -v BBB | wc -l 

2.13. 总结

文件管理,目录的创建、删除、查询、管理: mkdir rm mv

文件的查询和检索: find locate

查看文件内容:cat vi tail more

管道和重定向: ; | && >

转载于:https://www.cnblogs.com/HomeG/p/10519423.html

Linux基础-2文件及目录管理相关推荐

  1. Linux命令工具基础02 文件及目录管理

    文件及目录管理 文件管理不外乎文件或目录的创建.删除.查询.移动,有mkdir/rm/mv 文件查询是重点,用find来进行查询:find的参数丰富,也非常强大: 查看文件内容是个大的话题,文本的处理 ...

  2. [linux基础学习]文件和目录属性

    注:在[北南南北]的基础上修改而来 1. Linux 文件属性概说: Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容 ...

  3. Linux 系列之八文件和目录管理

    4 建立文件和目录 4.1 建立目录:mkdir ​ linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录. 命令 ...

  4. Linux 命令(文件和目录管理 - zip/unzip)

    简述 zip/unzip 是 Linux 中广泛使用的压缩/解压缩程序,zip 命令用来将文件压缩为常用的 zip 格式(扩展名为 .zip):unzip 命令则用来解压缩 zip 文件. | 版权声 ...

  5. Linux基础-查看文件与目录

    今天我们一起认识下linux使用的最频繁的命令: ls (list source) 查看资源 ls -a 列出隐藏文件(以.开头的文件) ls -F 根据资源类型,在资源后使用后缀来区分不同的类型,/ ...

  6. linux gzip默认目录,Linux 命令(文件和目录管理 - gzip/gunzip)

    简述 和 zip 命令类似,gzip 用于文件的压缩,gzip 压缩后的文件扩展名位 .gz,gzip 默认压缩后会删除原文件.gunzip 用于解压经过 gzip 压缩过的文件. gzip 命令介绍 ...

  7. linux locate 用目录,Linux 命令(文件和目录管理 - locate)

    简述 locate 可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的索引数据库,当寻找时就只需查询这个索引数据库而不必实际深入档案系统之中.locate 因 ...

  8. Linux 命令(文件和目录管理 - bzip2/bunzip2)

    简述 bzip2 是 Linux 下一款压缩软件,能够高效地完成文件数据的压缩,支持现在大多数的压缩格式,包括 tar.gzip 等.若没有加上任何参数,bzip2 压缩完文件后会产生 .bz2 的压 ...

  9. linux文件和目录管理指令,Linux 命令(文件和目录管理 - cat)

    简述 cat 命令连接文件并打印到标准输出设备上,经常用来显示整个文件的内容.cat 只能查看文本内容的文件,如查看二进制文件,则屏幕会显示乱码.另外,cat 还可以用来创建文件.合并文件等. 命令介 ...

最新文章

  1. 计算机辅助英语训练,一种计算机辅助外语阅读训练系统及其方法
  2. 你的响应阻塞了没有?--Spring-WebFlux源码分析
  3. springboot配置文件的加载顺序(./config目录优先级最高)
  4. Python Redis pipeline操作(秒杀实现)
  5. 自适应宽_移动端实现自适应缩放界面的方法汇总
  6. Spring Boot(5)---第一个Spring Boot应用程序
  7. 接口测试工具Postman接口测试图文教程
  8. 上岗乌镇大会安防的智慧警眼“云镜”,是谁家的AR眼镜?
  9. linux将文件的第二列求和,awk实现第一列相乘,第二列求和,并相加 - 米扑博客...
  10. springboot 数据权限_13 个最火的 SpringBoot 实战开源项目推荐!总有一个适合你!...
  11. 计算机数据库技术的应用现状,计算机数据库技术的发展及应用
  12. U盘插入电脑识别不出来,如何解决?
  13. Myeclipse2014破解教程
  14. 大白兔奶糖取法(小米公司测试题)——————华清远见
  15. STM32固件库(标准外设库)入门学习 第四章OLED屏幕使用
  16. 华硕灵焕3装鸿蒙系统,EMUI 10系统公布、鸿蒙OS 1.0现身,华为隐藏实力终于要爆发了...
  17. Android 集成FaceBook广告
  18. DSP6678 RapidIO基本原理之一
  19. FPGrowth 关联规则
  20. 2022年电商商家如何用微查宝防止降权号引响店铺权重

热门文章

  1. 错误代码:ERR_UNSAFE_PORT
  2. 阅读《构建之法》第6 第7章
  3. FPGA————构建3*3矩阵实现每一列求和
  4. sybase 设置默认值_[转]SYBASE 数据库操作笔记
  5. php判断直线相交,zoj 1158 判断2线段完全相交
  6. 许久了,都体会不到恋爱的气息
  7. mpvue返回上一个页面_服务器出现404页面是什么情况了
  8. SIFT算法学习心得
  9. android设备如何苹果,Android安卓设备如何连接Mac的方法
  10. Java多线程(二)——多线程基本特性