Linux基础学习——文件与目录管理

版权声明:版权没有,盗用不究 https://blog.csdn.net/liman65727/article/details/83757404

 

前言

Linux文件与目录的管理部分还有很多细节,在鸟哥的linux私房菜中都有提及,但是,第一遍熟悉,重点在命令上面,没有进行具体的深入,后面会不断丰富这些博客。

目录的相关操作

一些命令

mkdir 创建文件目录

mkdir创建一个目录,其实不止一种用法,还可以结合权限操作使用。

mkdir -m [权限码] [目录名称]

如上图所示:mkdir -m 777 testDir 之后,testDir的权限被赋予了,如果没有指定的权限码,文件夹的权限如下图所示,至于为什么是这个,这和umask有关

mkdir -p [路径名] 按照层级创建文件夹

rmdir 删除空的目录

rmdir -p [路径名] 按照层级删除文件夹名称

但是这个命令只能删除空的文件夹,不能删除有内容的文件夹。

执行文件路径的变量 $PATH

其实这个变量就类似于window下的环境变量

 PATH这个变量的内容是由一堆目录所组成的,每个目录中用冒号来隔开。

文件与目录管理

这部分主要介绍文件的拷贝,删除,移动等等。

文件的检视——ls命令

这个命令算是比较熟悉了,这里不再详细介绍

复制、移动与删除——cp,mv,rm

复制文件 cp

cp [-adfilprsu] [来源文件] [目标文件] (destination),这个也是符合一般的命令格式,至于其中的选项这里只介绍几个常见的

-i 覆盖复制,如果目标文件存在,则在覆盖前先询问

-a 完全复制原来的文件,复制过后会发现新的文件创建时间也和原来的文件一样

这里暂时没有总结创建文件链接的操作。

rm——移除文件或目录

rm [-fir] [文件或者目录]

-f:force强制删除

-i:i其实是interation 即交互的意思,就是指操作前给用户提示

-r:递归删除

 注意:

删除有‘-'文件名称的文件夹,直接删除会报错,因为带有-的文件夹会被系统误认为命令的选项,因此删除有这类名字的文件夹需要加上路径名。

mv——移动命令

mv [-fiu] [源文件] [目的文件]

 mv指令还可以直接修改文件夹名称

mv指令还是可以同时拷贝多个文件到指定文件夹,但是最后一个参数一定是文件夹 

文件内容查阅

cat——从第一行开始显示文件

tac——从最后一行开始显示文件(命令与cat相反)

nl—— 显示的时候顺道输出行号

more——一页一页的显示文件内容

               这个命令还有指定的操作

less——在more的基础上,可以往前翻页显示文件内容

这个在工作中其实用的比较多这里不做详细操作

head——只看头几行

head [-n number] 文件 实例:head /etc/man_db.conf 默认显示10行,如果想显示多行需要指定 -n 和数值

head -n 20 /etc/man_db.conf

tail——查看后几行

tail [-n number] [文件名]

-n:后面接数值表示几行的意思

-f:表示持续侦测文件的输出,常用于实时日志的查看。

实例:

tail /etc/man_db.conf

 tail -n 20 /etc/man_db.conf

 tail -n +100 /etc/man_db.conf 查看man_db.conf文件100行以后的数据

 od——查看非纯文本文件

od [-t TYPE] 文件

实例:od -t oCc /etc/issue

 修改文件时间或建立新文件

touch——创建空文件与修改文件时间

touch [-acdmt] 文件

1、创建空文件

 2、修改某个文件的日期(mtime,atime)

touch -d 

linux中针对一个文件其实有三种时间描述,mtime——modify time(最后修改时间),ctime——status time(最后权限修改的时间),atime——access time(最后的访问时间)

 文件与目录的默认权限与隐藏权限

umask——文件预设权限,指定目前用户在建立文件或目录时候的权限默认值。

就是指定在建立默认文件的权限,直接umask即可完成当前umask的查看

 umask -S 也可以输出当前的用户创建文件夹权限列表

 这个现实的是文件夹的默认权限,不是文件的,文件在此基础上没有x的权限。

可以看到之前创建的文件夹和文件的默认权限,都是umask指定的,如果修改umask的值,可以直接在umask后面输入数据,例如:umask 222,这里的计算方式,是在原有的421基础上做减法。

 指令与文件的搜寻

指令文件搜索

搜索相应的指令文件所在的目录,用which,which -a [command]——列出所有指令所在的目录

目录文件搜索

一般用whereis和locate进行查找,通常find还不是很常用

whereis [-lbmsu] 文件或目录名

whereis 只查询几个特定的目录而已,并没有全系统去查询,通常指查询/bin/sbin 目录和/usr/share/man目录。

locate [-ir] keyword

locate 直接在后面输入部分的文件名就可以了,但是这个命令找寻的数据是由已建立的数据库 /var/lib/mlocate 里面的数据所搜寻到的,所以不用直接去硬盘中度数据。如果用户新建的文件没有及时更新到 /var/lib/mlocate/中,当然文件就是找不到的。如下实例可以说明:

updatedb,就是更新数据库的命令,这个命令就是直接更新 /var/lib/mlocate内的数据库

猜你喜欢

转载自blog.csdn.net/liman65727/article/details/83757404