0%

Linux学习-文件与目录管理

执行文件路径的变量:$PATH

当我们执行ls命令,系统会依照PATH的设置去每个PATH定义的目录下查找文件名为ls的可执行文件。
使用echo:$PATH显示目前的PATH

1
2
3
swn233@LAPTOP-S7CJRRVT:~/blog-demo/source/_posts$ echo $PATH   

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:

PATH的内容由一堆目录组成,使用:来分隔,可以看到包含了/usr/bin,其中有ls命令,所以在系统的任意地方可以执行ls命令。
如果想要让root在任何目录执行/root下的命令,那么就将/root加入PATH中

1
swn233@LAPTOP-S7CJRRVT:~$ PATH="${PATH}:/root"

more info:鸟哥的linux私房菜平p176


文件与目录管理

ls:查看文件与目录

cp:复制,建立链接文件,对比两文件的新旧予以更新
-a:不加任何选项的情况下,文件的属性、权限等信息会改变,如果想要所有文件信息都复制过来,需要加上-a
在默认的条件中,cp的源文件与目标文件的权限是不同的,目标文件的拥有者通常会是命令操作者本身,进行备份时密码文件及配置文件应该加上-a或-p等可以完整复制文件属性的选项。
-l和-s都会建立链接文件,-l为硬链接文件名右侧会有->符号,建立了快捷方式,-s为符号链接,link数会改变。
-u是在目标文件与源文件有差异时复制过来,备份时使用。
使用cp考虑是否需要完整的保留源文件的信息,源文件是否为符号链接文件,源文件是否为特殊文件,源文件是否为目录等情况。
more info:鸟哥的linux私房菜平p180

rm:删除

mv:移动,重命名
使用-u测试新旧文件,需要大量改名时可以使用rename命令


文件内容查看

cat:由第一行开始显示文件内容
DOS文件需要特别留意一些奇怪的符号,例如换行和tab显示出来,这时加上-A

tac:由最后一行开始显示

nl:显示的时候同时输出行号
nl可以将输出的内容自动的加上行号,其默认的结果与cat -n不太一样,nl可以将行号做比较多的显示设计,包括位数与自动补齐0等功能

more:一页一页地显示文件内容
空格代表向下翻一页,enter代表向下翻一行,/str在显示内容中查找str,:f显示出文件名及当前行数,q离开more不再显示,b往回翻页

less:与more相同,但可以向前翻页

head:只看前面几行

tail:只看后面几行

od:以二进制方式读取文件内容
读取二进制文件时使用


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

有三个主要的变动时间:修改时间、状态时间、读取时间


文件默认权限umask

用户建立为文件则默认没有可执行权限,即只有rw这两个项目,也就是最大为666,默认权限如下:
-rw-rw-rw-
若为目录则为:
drwxrwxrwx
umask的数字指的是该默认值需要减掉的权限


文件隐藏属性

chattr配置文件隐藏属性
lsattr查看文件隐藏属性


文件特殊权限

SUID SGID SBIT


使用fiel查看文件格式

通过这个命令,可以简单判断这个文件的格式是什么


命令与文件的查找

which查找执行文件
根据PATH这个环境变量所规范的的路径,去查找可执行文件的文件名
whereis:查找系统中特定目录下面的文件
loacate:利用数据库查找文件名
find:直接查找硬盘