文件和目录

查:(ls,cat,more,less,head,tail,rev,tac,find, stat)

     ls -a   查看目录中所有的文件,包括隐藏文件(以.开头的) 
     ls -l    查看目录中文件的详细信息
     ls -t    以时间先后顺序显示结果
     ls -h   显示文件大小
     ls -d   查看目录信息
     ls -i    显示inode节点

     cat    查看文件文件,只显示最后一页,例如cat /etc/passwd
     more  分屏显示,按空格键翻页,无法前翻
     less    可上下滚动查看文件内容
     head  默认只显示前10行
     head -20 /etc/passwd   显示前20行
     tail     默认显示最后10行
     tail -20 /etc/passwd  显示最后20行
     rev    使文件内容左右颠倒
     tac    使文件内容前后颠倒
ls -l /bin/bash
-rwxr-xr-x    1 root     wheel      430540 Dec 23 18:27 /bin/bash
第一部分需要拆开 这里只讲第一个 短横线, 后面的九个字符查看权限部分 - rwx r-x r-x
-: 文件类型
d: 目录
l:链接文件
c: 专门设备文件
b: 块设备文件
p: 先进先出
s: 套接字文件

查找find
查找文件或目录 ----- find 目标目录 -name 文件名
一次查找多个文件(添加-o参数) ----- find  / -name 1.txt -o -name 2.txt -o -name 3.txt ...
查找指定类型 ----- find /tmp/ -type d(f, b, c, d, l, s)
查找指定大小 ----- find /root/ -size 1M   注意文件要大写
                                   +1M   显示大于1M
                                   -1M   显示小于1M
查找指定拥有者|组 ----- find /root/ -user jingwang 查找jingwang的文件
                    find /root/ -group 运行维护  查找运行维护组的文件
访问或执行时间大于/小于n天的文件 ----- find 目标目录 -atime +n/-n
写入、更改inode属性(例如更改所有者、权限或者链接)时间大于/小于n天的文件
    ----- find 目标目录 -ctime +n/-n
写入时间大于/小于n天的文件 ----- find 目标目录 -mtime +n/-n
/var/ 目录下,最近一天内变更的文件 ----- find /var/ -type f -mtime -1
/root/ 目录下一小时内变更的文件 改变了的是默认天time为分min(还有 -maxdepth -mindepth -mmin -mount -mtime)
        ----- find /root/ -type f -mmin -60    同样是m修改   改变了的是默认天time为分min
搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备 ----- find / -xdev -name \*.rpm 
查找结果执行指令连用
find /path/ -name "param" -exec rm -f {} \; 注意这里的是反斜杠
find /path/ -name "param" -ok   rm -f {} \;  更有好的交互方式


查看文件|目录属性 ----- stat 目录|文件
  文件的 Access time也就是 ‘atime’ 是在读取文件或者执行文件时更改的。
  文件的 Modified time也就是 ‘mtime’ 是在写入文件时随文件内容的更改而更改的。
  文件的 Create time也就是 ‘ctime’ 是在写入文件、更改所有者、权限或链接设置时随inode的内容更改而更改的。 
  因此,更改文件的内容即会更改mtime和ctime,但是文件的ctime可能会在 mtime 未发生任何变化时更改,
  例如,更改了文件的权限,但是文件内容没有变化。

增:(mkdir ,touch,vim)

     mkdir aminglinux   创建一个aminglinux目录
     mkdir a b c           依次在当前目录下创建a b c 同级目录
     mkdir -p aa/bb/cc       递推创建aa bb cc目录,aa目录包含bb,bb目录包含cc
     touch a.txt          创建一个a.txt文件

删:(cp, mv,rm)

     cp  a   b   将文件a复制一份成b
     cp -r        复制目录,默认不加-r只能复制文件
     mv          移动或改名
     rm           删除文件
     rm -r       删除目录,默认不加-r只能删除文件
     rm -f       强制删除,不提示

改(查看权限部分):(chown)

语法: chown [ -R ] 账户名 文件名 chown [ -R ] 账户名:组名 文件名

链接

## 硬链接 
  ln 源文件或目录 目标文件或目标目录
  linux会在文件的存放目录中(data_block)添加一个新的文件名
  而指向的inode编号与原始文件的inode编号相同.
  原始数据始终都是只有一份,只是两个文件名同时引用了一个inode编号
## 软连接 
  ln -s 源文件或目录 目标文件或目标目录
  linux会在文件的存放目录中(data_block)添加一个新的文件名
  同时inode编号也全新的,只是新的inode中记录的是原始文件的路径名称
  
硬链接和软连接的差别
  1.  inode  硬链接不产生新的inode,软链接则会使用一个新的inode
  2.  限制   硬链接只能作用于文件,且不能跨分区;软链接即可作用于目录又可以是文件,可跨分区
  3.  删除   删除源文件后,硬链接依然可以使用,而软连接则见血

标准linux 目录

/            根目录
/boot        用于存放系统的启动文件
/var         用于存放系统中经常需要变化的一些文件,例如日志
/home        普通用户的家目录
/root        超级用户的家目录
/bin         用户存放普通用户可执行的命令
/sbin        用户存放超级用户可执行的命令
/etc         用于存放配置文件
/tmp         临时目录
/mnt         挂载目录
/dev         设备文件的目录
/opt         第三方应用软件的安装目录