linux文件和目录管理

时间:2023-02-24 20:57:54

本文主要:进一步操作与管理文件

路径:

  1. 绝对路径:一定从根目录写起,正确度较好,写法虽然麻烦,但是使用起来不会造成混乱
  2. 相对路径:相对于目前工作目录的路径,在使用过长的路径名时,使用相对路径要更加快捷

目录相关操作:

特殊目录:

.  代表此层目录

..  代表上层目录

-:前一个工作目录

~:目前使用者身份所在家目录

~【名称】:代表当前使用者的家目录

cd:切换目录

cd ..:去到目前的上层目录

cd -:回到刚刚的那个目录

cd [~]:回到自己家目录

cd 【绝对路径】【相对路径】:去到绝对路径或者是相对路径位置

pwd:显示位置

作用:显示目前所在目录的命令

常用选项:-P:以当前目录的正确位置显示,而非是用链接文件的路径显示

mkdir:创建新目录

格式:mkdir 【选项】 目录名

常用选项:-p:递归创建目录

-m:强制设置一个新目录相关的权限,直接设置即可


rmdir:删除空目录

格式:rmdir【-p】 目录名称

目录要一层层删除,被删除目录之下不能有其他存在目录或者文件

要是将目录下所有东西删除使用rm -f test指令即可

选项:-p:连上层空的目录也一起删除


$PATH

执行路径的命令变量:$PATH

执行一个命令时候,系统会按照PATH设置去每个PATH定义的目录之下查找命令的可执行文件,若是有若干同名,先查找到的先执行

linux文件和目录管理

特点

  • 不同用户的PATH命令不用,执行命令也不同
  • PATH可以进行更改
  • 使用绝对路径或者相对路径可以直接指定某个命令文件名来执行,比PATH正确
  • 命令应该放到正确目录下,执行起来更加方便
  • 本目录最好不要放在PATH下

添加PATH方法:PATH=“PATH:【目录名】”

文件和目录管理

主题:文件一些基本管理

ls:文件和目录查看

默认使用时候只有非隐藏文件名、以文件名进行排序及文件名代表的颜色显示

选项:

-a;显示隐藏文件

-l:显示文件详细信息,因为常用,所以后来的ll就是ls -l简写

linux文件和目录管理

cp:复制文件或者目录

格式:

命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination)

cp [option] source1 source2 source3 ... directory

选项

  • -a:是指archive的意思,也说是指复制所有的目录
  • -d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身
  • -f:强制(force),若有重复或其它疑问时,不会询问用户,而强制复制
  • -i:若目标文件(destination)已存在,在覆盖时会先询问是否真的操作
  • -l:建立硬连接(hard link)的连接文件,而非复制文件本身
  • -p:与文件的属性一起复制,而非使用默认属性
  • -r:递归复制,用于目录的复制操作
  • -s:复制成符号连接文件(symbolic link),即“快捷方式”文件
  • -u:若目标文件比源文件旧,更新目标文件 

默认条件中,cp源文件与目标文件权限不同的,目标文件拥有者通常会是命令操作者本身,对文件进行复制的时候要注意权限,否则别人依旧无法进行修改。

在使用cp还要清楚了解到:

是否保留原文件信息

源文件是否为符号链接文件

源文件是否为特殊文件

源文件是否为目录

rm:删除目录或者文件,

使用rm-i的时候要小心,他会删除整个目录

rm 【-fir】  文件或者目录

选项和参数:

-f:忽略不存在wenjian

-i:交互模式,使用前询问是否删除

-r:递归删除,常用于目录的删除

删除的是特殊字符开头的是使用“./”就不会误判,不适用的话系统就会误判以特殊字符开头的目录

mv:移动文件、目录、重命名

mv 【-fiu】source destination

mv 【options】 source1 source2 source3.。。directory

选项和参数

-f:强制覆盖,如果目标文件存在,不会询问直接覆盖

-i:已经存在询问是否覆盖

-u:目标文件已存在时,询source较新就会覆盖

  • 文件内容查看:
  • cat:第一行开始显示文件
  • tac:最后一行开始显示文件内容
  • nl:显示出行号

直接查看文件内容:

cat 【-AbEnTv】

选项:使用【man cat】查看文件选项内容,放心有我们国家Linux爱好者已经帮我们做了汉化。

linux文件和目录管理


tac:从最一行开始显示文件内容、

nl:添加行号打印

可翻页查看:

more:一页一页翻动

格式:more 【选项】 文件

选项:

linux文件和目录管理

操作:

空格:翻页

Enter:向下翻一行

:f:文件名和当前行数

q:退出

b:向回翻页

less:一页一页翻动

命令功能:

空格:翻一页

pagedown:向下翻一页

pageup:向上翻一页

/字符串:查找字符串,向下查找字符串

?字符串:向上查找字符串

q:退出

n/N:向上向下和使用/和?有关

数据截取

head:读取文件前面几行

格式:head 【-n number】 文件

-n 后面跟数字,代表着显示几行意思

tail:读取文件后面几行

格式:tail 【-n number】文件

选此:-f:持续刷线文件内容

-n:后面接数字:代表显示几行

非纯文本文件:od

查看非文本文件

格式:od 【-t TYPE】文件

选项:

linux文件和目录管理

修改文件时间或创建新文件:touch

  • 修改时间(mtime):文件【内容数据】变更,更新这个时间,内容数据指文件内容
  • 状态时间(ctime):文件状态改变就会更新这个时间
  • 读取时间(atime):文件内容被读取就会更新这个读取时间

语法:touch 【-acdmt】文件

选项和参数

  • -a:修改读取时间
  • -c:仅修改文件时间,文件不存在不创建新文件
  • -d:后面可以跟自定义信息
  • -m:修改mtime(文件数据变更更新时间)
  • -t:后面跟自定义时间不用目前时间

在文件进行cp拷贝时候文件内容和属性有可能

文件特殊权限

  • lsttr:列出文件系统隐藏属性查看
  • chattr:设置文件隐藏属性

文件默认权限:umask

指定用户建立文件时候权限默认值

查看方式:

  • 第一种以数字类型显示权限设置值
  • 第二种以符号形式显示权限设置值

linux文件和目录管理

建立为用户文件默认没有x属性,只有rw这两个属性即为:

-rw-rw-rw-

用户建立为目录权限全部开放

-rwxrwxrwx

umask数字指的是默认值需要减去权限

  • 建立目录时候:(-rw-rw-rw-)-(------w--w-)==》-rw-r--r--
  • 建立目录:(drwxrwxrwx)-(d----w--w-)==》drwxr-xr-x

umask数字:

  • 修改umask数字:umask 数字
  • root用户数字默认是022
  • 一般用户umask数字默认是002

文件隐藏属性

cahttr:配置文件隐藏属性

chattr命令在ext2、ext2、ext4之下完全生效

chattr 【+-=】【ASacdistul】文件或者目录名称

a:只能增加数据,不能删除不能修改

i:让一个文件不能改名,设置链接,改名,不能增加或者删除数据

c:自动压缩解压缩

d:dump程序执行时候,设置d属性可以使dump不被备份

s:删除文件后,完全从硬盘之内删除,误删除无法回复

u:文件被删除后还存在硬盘里面

lsattr:显示文件隐藏属性

lsattr :【adR】 文件或者目录

  • -a:隐藏文件属性列出
  • -d:目录本身的属性并非内容
  • -R:连同子目录数据一并列出来


增加属性并且删除:

linux文件和目录管理

观察文件类型:

知道文件基本信息,例如属于二进制文件还是数据文件或是ASCII,和这些有没有使用到动态链接库

命令和文件查找;

脚本文件查找:

which:查找文件

语法:which [-a] command

-a:所有在PATH目录中可以找到的命令列出

history是在bash内置的命令,因为是默认查找PATH之下的目录,所以找不到history,当然,有了bash就有history

文件的查找

whereis 【-bmsu】 文件和目录名

选项参数


选项参数:linux文件和目录管理

locate/updatedb:

特点:使用之前要使用updatedb更新数据库来进行查找,如果西湖句酷没有更新,那就回停留在过去数据库内,在其中查找数据,可能会找不到这个过程可能会有点长,他需要先访问/etc/updatedb.comf这个配置文件的配置,再访问硬盘查找文件名,最后会更新数据库。

  • update:更新数据库,根据/etc/update.conf设置查找硬盘内的文件,然后更新/var.lib/mlocate内数据库文件
  • locate:根据/var/lib/mlocate内的数据库记录,找出用户要找的文件名。

选项参数:

-l:输出几行

-i:忽略大小写

-c:不输出文件名,只找到文件数量

find

find 【path】【option】【action】

选型和参数:

  • 时间:

时间分为atime、ctime、mtime,根据要查看哪种类型的时间查看内容

time:n:n天之前的那一天之内的修改过内容的文件,例如5就是5-6这天文件。

+n:第n天之前,不含n本身,例如+5就是在大于等于第六天之前的文件

-n:n天之内修改过内容的文件,例如-5就代表5天之内文件

newer:辨别两个文件之间新旧关系

  • 使用者或者用户组名称:

-uid n:使用者的账号id,叫做UID,在etx/passwd之下保存。

-gid n:用户组名称的id,叫做GID,在、etc/group之下保存

-user name:使用者账号名称

-group name:组名称

nouser:查找文件拥有者不在/etc/passwd中

nogroup:查找文件拥有组不在/etc/group/中

  • 文件权限:

-name filename:查找文件名称

-size 【+-】SIZE:查找比SIZE还大(+)或者小(-)文件

-type -TYPE:查找文件类型查找文件

-prem mode:根据权限查找文件

exec command:其他命令《后面跟额外命令查找结果

-print:结果打印屏幕上

  • {}代表有find找到内容,find结果放到{}位置上
  • -exec一直到\;是关键词,在这中间的就是find命令之内额外操作
  • ;在bash中有特殊含义,用反斜杠进行转义

温习一下:首先我们学习了绝对路径和相对路径的含义、用途、用法。之后学习到了特殊目录有·.、..、~、-、等特殊符号

目录的命令至关重要,我们学习了cd:切换目录,mkdir创建目录,rmdir删除目录,pwd:显示当前工作路径

我们平时会使用命令,命令是在PATH变量之下规定目录之下查找

ls可以查看命令有很多,尤其是-d,-a,-l选项至关重要

文件复制删除移动可以使用:cp、mv。rm等命令

查看文件命令:cat、tac、nl。more。less。head。tail

touch可以修改文件名和文件时间参数,还可以用来创建空文件

一个文件记录时间有三种:读取时间(atime)、状态时间(stime)、修改时间(mtime)