Linux 文件与目录管理
2018-12-03 10:14:53 0 举报
AI智能生成
Linux文件与目录管理总结
作者其他创作
大纲/内容
未命名文件
ls [-aAdfFhilnrRSt] 目录/文件名称
-a:列出全部文件,包括隐藏文件
-A:列出全部文件,包括隐藏文件,但不包括 . 和 .. 目录
-d:仅列出目录本身,而不是目录里面内容
-f:对列出结果不进行排序(ls默认以文件名排序)
-F:同时列出文件类型信息
*:可执行文件
/:目录
@:软链接
=:socket文件
|:管道文件
-h:将文件大小以人类可读方式列出
-i:列出文件inode号
-l:长格式
-n:列出UID和GID,而非属主和属组名称
-r:将排序结果反向输出
-R:连同子目录一起列出来
-S:以容量大小排序,而不是文件名,默认由大到小显示
-t:依时间排序,而不是文件名,默认排序是由新到旧
--color=never:不显示颜色
--color=always:显示颜色
--color=auto:系统决定颜色显示
--full-time:以完整时间格式显示文件修改时间
-1:每行显示一个文件
cp [-adfilprsu] 源文件 目标文件
-a:相当于-pdr三个参数连用
-d:若源文件为链接文件,则复制链接文件本身,不是复制链接文件指向的文件
-i:若目标文件存在,则询问是否覆盖
-l:创建源文件的硬链接,和ln创建硬链接一样
-p:连同源文件的属性一起复制,而非使用默认属性(备份常用)
-r:递归复制,连同子目录一起复制
-s:创建源文件的软链接,和ln -s创建软链接一样
-u:若目标文件比源文件旧才更新目标文件
rm [-fir] 文件或目录
-f:强制删除,忽略不存在的文件,不会出现警告信息
-i:删除前确认提示
-r:递归删除
mv [-fiu] source destination
-f:强制重命名,如果目标文件已存在则直接覆盖,不会确认提示
-i:若目标文件已存在,则进一步确认提示
-u:若目标文件一存在,且源文件比目标文件新时才更新
获取文件或目录名称
获取文件名
basename /etc/sysconfig/network输出:network
获取目录名
dirname /etc/sysconfig/network输出:/etc/sysconfig
cat [-AbEnTv]
-A:相当于-vET三个选项连用
-b:列出行号,仅非空白行显示行号
-E:将结尾的断行符 $ 打印出来
-n:列出行号,包括空白行和非空白行
-T:将[tab]键以^I显示出来
-v:列出一些看不出的特殊字符
tac
倒序查看文件内容,和cat正好相反
nl [-bnw] 文件名添加行号打印
-b:空行是否列出行号
a 不论是否为空行,都列出行号,类似 cat -n
t 空行不列出行号(默认为该方式)
-n:行号显示的位置
ln 行号在屏幕的最左侧显示
rn 行号在自己字段最右侧显示,不加0
rz 行号在自己字段最右侧显示,加0
-w:行号字段占用的位数
more
空格键:向下翻一页
Enter键盘:向下翻一行
/字符串:向下搜索字符串
:f:立刻显示文件名及目前已经显示过的文本行数
q:退出
b:往回翻一页
less:比more更加灵活
[pagedown]:向下翻一页
[pagedown]:向上翻一页
?字符串:向上搜索字符串
n:重复前一个搜索
N:反向重复前一个搜索
head [-n number] 文件名
-n
正数 N:显示文件前N行
-负数 N:不显示文件后面N行
tail [-n number] 文件名
N:显示文件后N行
+N:显示N行之后的所有内容
-f:持续检测文件变化
举例: head -n 20 /etc/man.config | tail -n 10显示 /etc/man.config 的第 11 到第 20行
od [-t TYPE] 文件名
TYPE
a 默认字符输出
c ASCII 输出
d[size] 利用十进制(decimal)输出数据,每个整数占用 size bytes
f[size] 利用浮点数(floating)输出数据,每个数占用 size bytes
o[size] 利用八进制(octal)输出数据,每个整数占用 size bytes
x[size] 利用十六进制(hexadecimal)输出数据,每个整数占用 size bytes
touch [-acdmt] 文件名
modification time (mtime):文件内容变更时间
-m 修改文件 mtime
status time (ctime):文件状态变更时间,如权限、属性被更改的时间
-c 修改文件 ctime
access time (atime):文件被读取时间,不如 cat 读取,就会更新文件atime
-a 修改文件 atime
-t: 后面接要修改的时间,不用当前时间,格式为[YYMMDDhhmm]
-d: 后面接要修改的日期,不用当前时间
umask
文件(默认:rw-rw-rw)
新建文件默认权限计算:(rw-rw-rw-) - (umask)
目录(默认:rwxrwxrwx)
新建目录默认权限计算:(rwxrwxrwx) - (umask)
umask: umask值查看
umask xxxx:umask值设定
umask 0022
举例:umask值为0044,则新建文件和目录默认权限如何文件:(rw-rw-rw-) - (---r--r--) = (rw--w--w-)目录: (rwxrwxrwx) - (---r--r--) = (rwx-wx-wx)
chattr [+-=][ASacdistu] 文件或目录名称
+ 增加某一个特殊参数,其他原本存在参数则不动- 移除某一个特殊参数,其他原本存在参数则不动= 设定参数,仅有后面接的参数
A 文件访问时间atime不会被修改
S 对文件的修改同步写入磁盘
a 文件只能增加数据,不能删除也不能修改,只有root才能设置该权限
c 会自动压缩文件,读取的时候再解压缩
d 禁止文件被dump命令备份
i 使文件不能被删除、改名、也无法写入、修改内容,只有root有权限设置该权限
s 文件被删除后永久从磁盘移除,无法恢复
u 与 s 权限作用相反
举例:chattr +i filename chattr -i filename
lsattr [-adR] 文件或目录
-a:将隐藏文件的属性也显示出来
-d:列出目录本身的隐藏属性
-R:递归列出,包括子目录
which [-a] command
根据PATH环境变量指定的路径搜索command完整路径,该搜索为绝对匹配
-a:将所有PATH变量中找到的命令均列出,而不是找到第一个就终止
whereis [-bmsu] 文件或目录
从系统数据库中搜索,不是直接遍历磁盘,因此速度比find快很多,绝对匹配
-b:只找出二进制文件
-m:只找出说明文件manual路径的文件
-s:只找出源文件
-u:搜寻不在上述三个项目中的其他特殊档案
locate [-ir] keyword
-i:忽略大小写差异
-r:正则表达式
文件特殊权限
SUID(Set UID):s 标志出现在文件属主的x权限位置,比如:-rwsr-xr-x
主要作用是临时执行者身份临时变为可执行文件的属主1.SUID只对二进制程序起作用2.文件执行者需要有可执行权限3.s 权限只在程序执行过程中有效4.执行者身份临时变为可执行文件的属主5.对目录无效
SGID(Set GID):s 标志在文件属组的x权限位置,比如:-rwx--s--x
可以用于目录、二进制可执行文件
二进制程序
1.用户需要具有二进制程序的可执行权限2.执行者属组临时变为可执行文件的属组
目录
1.用户需要具有目录的r和x权限2.用户在此目录下的群组会变为该目录的群组
用途:用户在此目录下如果具有w权限,则在该目录下新建的文件属组为该目录的属组
SBIT(Sticky Bit):仅针对目录
1.当用户具有该目录的写入权限时2.当用户在该目录下新建文件或目录时,仅有自己和 root 有权限删除
举例:一个典型的例子是系统/tmp目录,权限为:drwxrwxrwt虽然权限看上去任何人都可以在该目录下新建、删除任何文件,其实由于末尾 t 这个权限作用,导致只能删除自己新建的文件
三个特殊权限设定
chmod
数字方式SUID: 4SGID: 2SBIT: 1
举例:设置文件权限为 -rwsr-xr-xchmode 4755 filename
符号方式
SUID: chmod u+s filename
SGID: chmod g+s filename
SBIT: chmod +t filename
find [PATH] [option] [action]
时间相关的选项
-atime
n: n天之前,24小时内访问时间变动过的文件+n: n天之前(不含n本身)访问时间变动过的文件-n: n天之内(含n本身)访问时间变动过的文件
-ctime
n: n天之前,24小时内文件状态变动过的文件+n: n天之前(不含n本身)文件状态变动过的文件-n: n天之内(含n本身)文件状态变动过的文件
-mtime
n: n天之前,24小时内文件内容变动过的文件+n: n天之前(不含n本身)文件内容变动过的文件-n: n天之内(含n本身)文件内容变动过的文件
-newer file: 列出比 file 还要新的文件
用户和用户组相关选项
-uid n: n为用户ID,UID记录在/etc/passwd
-gid n: n为用户ID,GID记录在/etc/group
-user name: name 为账号名称
-group name: name 为组名称
-nouser 查找文件拥有者不在/etc/passwd的文件
-nogroup 查找文件属组不在/etc/group的文件
文件权限属性相关选项
-name filename: 找出文件名为filename的文件
-size [+-]SIZE: 搜索比SIZE还要大(+)或小(-)的文件
SIZEc:Bk:KBM:MBG:GB
-type TYPE:根据文件类型搜索
TYPEb: 块设备文件c: 字符设备文件d: 目录f: 普通文件l: 软链接文件s: 套接字文件p: 管道文件
-perm mode: mode 为权限数字
mode: 文件权限刚好为mode的文件
-mode: 文件权限包含mode的文件
+mode: 文件权限包含任一mode的文件举例:找出含有SUID、SGID、SBIT属性的文件find / -perm +700
额外动作
-exec command
find -type f -exec ls -l {} \\;
{}: find找到的结果
-exec ... \\;: 代表find额外动作的开始(-exec)和结束(\\;)
-print: 默认动作
0 条评论
回复 删除
下一页