Linux文件与目录管理命令小结
1、cd
cd ~,cd:回到自己的主文件夹;cd ..:目前的上一层;cd -:回到刚才那个目录
2、pwd显示当前的所在的目录
-p:标书不以连接文件的数据显示,而是显示正确的完整路径
3、mkdir新建新目录
-p:自行创建多层目录;-m mod:强制设置权限
4、rmdir删除“空”的目录
当要将一个非空的目录下的东西删掉:rm -r dirName
5、ls查看文件与目录
-a:全部文件,包括隐藏文件;-d:仅列出目录本身;-F:根据文件、目录等信息给予附加数据结构(*:代表可执行文件,/:代表目录,=:代表socket文件,|:代表FIFO)
-i:列出inode号码;-l:列出长数据串(常用);-S:以文件容量大小排序;-t:以时间排序;--color=never/always/auto(文件特性是否给予颜色),--time={atime,ctime}
6、cp [-adfilprsu] 源文件 目标文件
-a:相当于-pdr;-d:若源文件为连接文件的属性,则复制连接文件属性而非文件本身;-i:若目标文件已经存在,在覆盖时会先询问操作;-l:进行硬连接的连接文件创建,而非复制文件本身;-p:连同文件的属性一起复制过去;-r:递归持续复制(用于目录)
7、rm(移除文件或者目录)
-i:互动模式;-r:递归删除
8、mv(移动文件与目录、或更名)
-f:如果目标文件已经存在,不会询问而直接覆盖;-i:互动模式;-u:若目标文件已经存在,且比较新的时候才会更新
9、cat(查看文件内容)
-b:列出行号(空白行布不标号);-E:将结尾处的断行字符$显示;-n:打印行号(包括空白行);-V:列出特殊字符;-T:将【Tab】以^I显示出来
10、tac(反向列示)
11、nl(添加行号打印)
-b:指定行号的方式 a:空行也列出 t:空行不列;-n:列出行号的表示的方法 ln:行号在屏幕的最左边显示 rn:行号在自己字段的最右边显示,不加0 rz:同rn且加0;-w:行号字段占用的位数
12、more(翻页查看)
在more这个程序额运行过程中,一下几个按键功能:
空格键:向下翻一页 Enter:向下翻一行 /字符串:向下查询字符串 :f:立即显示出文件名以及目前显示的行数 q:退出 b:往回翻页(只对文件有用,管道无用)
13、less(一页一页翻动)
空格键:向下翻一页 【PageDown】:向下翻动一页 【PageUp】:向上翻动一页 /字符串:向下查询字符串 ?字符串:向上查询字符串 n:复制前一个查询 N:反向复制前一个查询 q:退出
14、head(取出前几行)
-n number:后面接数字代表几行(不写number默认显示10行,负数表示后面number行数据都不打印)
15、tail(取出后面几行)
-n number:(后面接数字,代表后几行的意思,不写默认10行,+number代表前面的number行数据不打印)
16、od(非纯文本文件)
-t:后面可以接各种类型
c:ASCII字符输出;d[size]:十进制;f[size]:浮点数;o[size]:八进制;x[size]:十六进制
17、touch修改文件时间或创建文件
-a:仅修改access time(访问时间);-c:仅修改status time(状态时间),若文件不存在则不新建;-d:后面可以接欲修改的日期;-m:仅修改modification time;-t:后面可以接欲修改的时间,格式【YYMMDDhhmm】
18、umask:设置新建文件或目录默认的权限
19、chattr设置问阿金的隐藏属性
+:增加特殊参数;-:减少某一个特殊参数;=:仅有后面接的参数
a:此文件只能增加数据,而不能删除和修改数据(常用)
i:让一个文件不能被删除、改名、设置连接也无法写入或添加数据(常用)
20、lsattr显示文件的隐藏属性
-a:将隐藏文件的属性也列出来;-d:如果是目录,仅列出目录本身属性而非目录内的问文件名;-R:连同子目录的数据也一同列出来
21、(关于SUID、SGID、SBIT下一篇在详细记录)
22、file查看文件的类型
23、which寻找“执行文件”(脚本文件名、命令)
24、whereis(文件名的查找,利用数据库来查找数据,快速高效)
-b:只找二进制文件;-s:只找source源文件;-m:只找在说明文件manual路径下的文件
25、locate(文件名的查找,寻找的数据由已经创建的/var/lib/mlocate里面的数据提供)
-i:忽略大小写;-r:后面接正则表达式的显示方式
26、find(最常用)
参数一:
-mtime n:n为数字,在n天之前的“一天之内”被更改的文件
-mtime +n:意思是n天之前(不含n天本身)
-mtime -n:意思是n天之内(含n天)
-atime、-ctime的用法和-mtime一样参数二:
-uid n:查找属于n这个用户账号Id的文件
-gid n:查找属于n这个用户组Id的文件
-user name:查找属于name这个用户的文件
-group name:查找属于name这个用户组的文件
-nouser:不属于任何用户
-nogroup:不属于任何用户组
参数三:
-name filename:查找名为filename的文件
-size [+-]size:查找比size还大(+)或小(-)的文件,单位为c:byte,k:1024bytes
-type TYPE:指定文件类型,一般文件(f)、目录(d)、socket文件(s)、FIFO(p)、连接文件(b/c)
-perm mod:查找文件权限刚好为mod的文件
-perm -mod:查找问文件必须包含mod所有文件(必须全部包含)
-perm +mod:查找文件包含mod任一权限(有一个即可)
参数四:
-exec command:-exec后面可再接其他命令来处理查找到的结果
fiind的几个例子:
例一:找出/etc下面,文件容量大于50KB且文件的所有者不是root的文件名,并将权限完整列出
find /etc -size +50k -uid +0 -exec ls -l {} \;
例二:找出/etc下面,容量大于1500KB以及容量等于0的文件,并完整列出
finf /etc \( -size +1500k -o -size 0k \) -exec ls -l {} \;
最后再补充一点:权限与命令的关系
情况一:让用户能进入某个目录(比如cd):
(1)目录:至少x的权限
(2)文件:如果用户需要查阅(ls等),则文件需要r权限
情况二:用户在某个目录内读取一个文件(cat、more、less)
(1)目录:至少x权限
(2)文件:至少r权限
情况三:用户修个一个文件
(1)目录:至少r和x权限
(2)文件:至少r和w
情况四:让一个用户在一个目录下创建文件
(1)目录:至少w和x权限
情况五:让用户进入目录并执行目录下的某个命令
(1)目录:至少x权限
(2)文件:至少x权限