别人的Linux私房菜(7)文件与目录管理

- 代表上一个工作目录

~username代表用户所在的家目录

cd切换目录  配合之上的参数 .   ..   /    ~    ~name     (change directory)

pwd显示当前目录    可选参数-P 显示真正的路径而不是链接路径 (print working directory)

mkdir建立新的目录  -m设置新建目录的权限, -p创建递归目录

rmdir删除一个空目录   -p递归删除    仅能删除空目录,使用rm -r text可以删除全部

使用echo $PATH可以显示出当前的执行文件路径

PATH="${PATH}:/root"  将目录/root添加到PATH中便于执行

ls -a全部信息 -d仅列出目录本身  -l详细信息显示   后加路径显示该路径下信息    --color=never不显示颜色   --full-time 显示文件完整时间

cp 复制文件或者目录

-a相当于-dr(可用于完整复制权限)  

-d如果源文件为链接文件则复制链接文件而不是文件本身  

-i如果是覆盖文件会询问  

-p连同属性一起复制(可用于完整复制权限)  

-r递归复制  

-s复制成为符号链接文件  

-l进行硬连接

-u目标与源文件差异时才进行复制

cp命令受到用户权限的限制,-a在一些用户权限的情况无法完成权限复制

rm -i 删除时进行询问

-r 递归删除目录

-f忽略不存在的文件

mv -f目标文件存在则不询问直接覆盖

-i 询问是否覆盖

-u 目标文件存在则选择比较新的文件

可用于重命名 具体通过手册,可以移动文件夹和文件等

获取文件名对应的路径

basename /etc/sysconfig/network

目录名对应的路径

dirname /etc/sysconfig/network

文件内容查看:

cat从第一行开始显示   -n打印行号   -A包含特殊符号   tab以^I表示   linux的换行符为^$  Windows为^MS

tac从最后一行开始显示

nl显示并输出行号  nl -b a -n rz -w 3。显示出空行,行号列出前加0 。总宽度为3。

more一页一页显示    空格下翻页,enter下一行,/查找  b回翻页

less比more多了向前翻页   空格 pgup pgdn 翻页/ ? n重复前一个查找 N反向重复前一个查找 g前进到第一行 G最后一行 q退出

head只看前几行   head -n 20 /etc/man_db.conf   head -n -20 /etc/man_db.conf前20行不打印

tail只看最后几行  tail -n 20 /etc/man_db.conf     tail -n -20 /etc/man_db.conf   -f持续监测

head -n 20 /etc/man_db.conf | tail -n 10 列出10-20行的数据 也可以用cat加管道

od以二进制文件方式读取文件内容  od -t c /usr/bin/passwd等

echo passwd | od -t oCc  显示对应ascii的一个简便方案

修改时间mtime

状态时间ctime

读取时间atime

ls -l --time=cime可以查看...

touch命令修改文件时间或创建文件  -a自定义atime    -m修改mtime       ctime不能改

touch -t 202001011212 bashrc修改时间为2020  0101  12 12 

umask为建立新文件或者目录后的默认权限。数字为减掉的权限数值,-S为最后的权限数值。设置可参考/etc/bashrc

文件权限最大为666.目录权限最大为777

隐藏权限

chattr [+=-]  设定   

A为修改时间的不改变,

a文件增加数据,不能修改和删除数据只有root可以设置,

d文件不会被dump备份,

i不能被删除改名设置链接写入新增数据

lsattr显示文件隐藏属性

文件特殊权限:

SUID  文件拥有者x的权限上,变为s。执行者拥有对该文件的执行权限,在执行过程中会暂时获得拥有者对该文件的权限。如密码修改过程等。

SGID 文件用户组x的权限上,变为s。执行则具备了执行权限后,在执行过程中会获得该用户组的支持。

SBIT  文件其他人x的权限上,变为t。针对目录有效。用户对文件夹wx具备权限时,具有写入权限。建立目录时,只有自己和root可以删除。

SUID 4    SGID 2    SBIT  1

大写的S或T

file命令查看文件属性格式

file  /usr/bin/passwd

脚本文件的查找which

which ifconfig

文件的查找:

whereis查找系统某些指定目录下的文件,   -l 列出部分查找目录 -m在说明手册下查找 等

locate按照数据库来查找文件名 , -l+数字输出结果只取前几行 。-S记录使用数据库文件的相关信息  等

数据库有些每天一更,updatedb直接手动更新数据库

find与时间有关的选项

find / -mtime 0   列出/下24小时内变动的文件  -+空格 nunber  表示在几天之内、几天之外、几天上(之前)的文件时间点查找

find  /etc -never /etc/passwd辨别文件的新旧关系

find与使用者,用户组有关的选项

find / -nouser查找无用户的文件  find /home -user bai 查找用户为bai的文件

find与文件权限和名称有关的选项

find / -perm /7000查找权限为7000的文件

find / -name "*passed*"

额外操作:

find / -perm /7000 -exec -l {} ; 执行查找结束以后的ls -l命令 {}为内容、;结束

find / -size +1M 文件中大于1M的文件

原文地址:https://www.cnblogs.com/bai2018/p/10676468.html