四。文件管理:

不外乎 对文件的增删改查,   对文件内容的增删改查。

1. 新建: touch  [选项][文件名]           

  -a  只修改文件的 access(访问)时间。  (硬性修改)

  -c 或 --no-create   不创建不存在的文件。

  -d 使用指定的时间,而非现在的时间。 (只能修改年月日的时间,  touch -d 2019-6-21 a.txt ,  修改时只是修改 atime 和 mtime。 ctime 自动变化)

  -m 只修改 Modify(修改)时间, 而不修改 access(访问)时间

  -r file  使用指定 file 文件的时间戳 (access, modify) 更新文件的时间戳(access, modify)

  -t 将时间参数修改为指定的日期, 如: 10011150代表 10月8号11点55分

[root@python 桌面]# touch a.txt      创建一个文件
[root@python 桌面]# touch a b c d    一次创建多个文件。 

文件创建之后linux存储时,分为两部分:  inode 节点、block块。  文件的源数据都会存在 i 节点中, 文件的内容存在block块中。

stat 查看,某个文件 i节点下的内容。
[root@python 桌面]# stat a.txt
  文件:"a.txt"
  大小:0             块:0          IO 块:4096   普通空文件
设备:fd00h/64768d    Inode:9821483     硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2019-06-21 16:50:49.129699858 +0800
最近更改:2019-06-21 16:50:49.129699858 +0800
最近改动:2019-06-21 16:50:49.129699858 +0800
创建时间:-

文件在创建之初有三个时间    atime 访问时间、 ctime修改源数据的时间、 mtime修改文件内容的时间。

atime: 显示的是 文件中的数据最后被访问的时间,比如系统进程直接使用或者通过一些命令和脚本简介的使用

mtime: 文件内容发生变化 mtime 才会发生变化。

ctime: 存储的是  inode 节点中的源数据发生改变时,ctime就会改变。(只是访问的话这个不会变)  文件发生改变,这个时间也会发生改变。

 

2. 删除: rm

  语法 rm[options] name...

  -i  删除前逐一询问

  -f 即使原档案属性设置为只读, 也会直接被删除,无需逐一确认

  -r 讲目录及以下的所有档案 逐一删除。(倒着递归删除)

  所以  rm -rf  这个命令,能不用就别用吧。 这个东西你连后悔的机会都么得。

 

3. 改名: mv  (移动和改名)

  语法:mv[options] 源文件或目录    目标文件或目录

  -b   若需要覆盖文件,则覆盖前先备份再覆盖。(备份时会在原文件名后加一个 ~  这个文件,只能在文本界面查看。 cat)

  -i  若指定目录已有同名文件,则先询问是否覆盖旧的文件。

  -f  force 强制的意思,如果目标文件已经存在,不会询问而是直接覆盖文件。

  -u 若目标文件已经存在, 并且 source 比较新,才会更新(update).  (判断mtime 和ctime,源文件的时间 比目标文件的时间 要新。)

 

mv old_file new_file  # 这里 old_file 后面如果跟的是一个文件名,那就是要改名字。  如果跟的是一个路径那么就是移动的意思。

  

4. 查看: ls -l    或者 ll

  - 普通文件

  d 目录

  l 链接文件

  b 设备文件(一般都是 实实在在存在的设备)

  c 字符设备 (一般都是虚拟设备)

  s 套接字文件

  p 管道文件

[root@python ~]# ll
-rw-r--r--. 1 root root   36 5月  19 16:16 a.txt
drwxr-xr-x. 2 root root   30 5月  17 18:37 tex

就是最前面的这个 字段。

linux文件颜色意义:

  绿色文件: 可执行文件,可执行程序

  红色文件: 压缩文件或者包文件

  蓝色文件: 目录

  白色文件: 一般性文件, 如文本文件,配置文件,源码文件等。

  浅蓝色文件: 链接文件,主要是使用  ln 命令建立的文件。

  红色闪烁: 表示链接的文件有问题。

  黄色: 表示设备文件

  灰色: 表示其他文件

 

 5. 拷贝: cp 命令

  cp[options] 源文件或目录   目标目录

  -a  通常在赋值目录时使用, 保留链接、文件属性、并复制目录下的所有内容。

  -d  复制时保留链接。 这个链接相当于windows中的快捷方式

  -f  覆盖已经存在的目标文件,而不用给出提示

  -i   于 -f 相反。 再覆盖目标文件时 给出提示。 要求用户确认是否覆盖。

  -p  除复制文件的内容外,还会把修改时间 和 访问权限也一并复制到新的文件中。(连带着inode节点的信息也会,一并拷贝过去)

  -r  若给出源文件是一个  目录文件。 此时复制该目录下所有的子目录和文件

  -l  不复制文件,只是生成链接文件。

 

五,文件内容查看:

1.cat   用于链接文件并打印到标准输出设备上。

  cat [options] [files]

  -n  or  --number                    由1开始对所有输出的行数 进行编号

  -b  or  --number-nonblank    和 -n相似,只不过对于空白行不进行编号

  -s  or  --squeeze-blank          当遇到由连续两行以上的空白行时,就代换为一行的空白行。

  -v  or  --show-nonprinting       使用 ^ 和 M- 符号, 除了 LFD 和 TAB  之外

  -E  or  --show-ends               在每行结束处显示 $

  -T  or  --show-tabs                 讲 Tab 字符显示为  ^|

  -A  or  --show-all                  等价于  -vET

  -e                                         等价于  -vE

  -t                                          等价于  -vT

2. head  输出文件的  开始部分

  head [option][file]

  -c  --bytes=SIZE               打印起始的size 字节

  -n  --lines=NUMBER          显示起始的 NUMBER行, 而非默认的起始10行

  -q  --quiet, --silent            从不显示给出文件名的首部

  -v  --verbose                    总是显示给出文件的首部

  --help                显示帮助后退出

  --version                          输出版本信息后退出

3. tail  这个命令和 head相反。 打印的是文件的 末尾的部分。

  tail [option][file]

  -f 循环读取    (滚动输出, 比如你想要查看某个web程序的日志文件,就可以用这个命令。 有写入就会输出到屏幕,)

  -v 显示详细的处理信息

  -c <数目> 显示字节数

  -n <行数> 显示文件的尾部 n 行内容。

延申:

tail -n +5 file_name    从文件的第5行开始,打印到末尾。

 

posted on 2019-06-21 19:25  rookiehbboy  阅读(100)  评论(0编辑  收藏  举报