Linux:文件

文件属性

用户分为三种:文件拥有者、群组以及其它人,对不同的用户有不同的文件权限。

  

使用 ls 查看一个文件时,会显示一个文件的信息,例如 drwxr-xr-x. 3 root root 17 May 6 00:14 .config,对这个信息的解释如下:

  • drwxr-xr-x:文件类型以及权限,第 1 位为文件类型字段,后 9 位为文件权限字段
  • 3:链接数
  • root:文件拥有者
  • root:所属群组
  • 17:文件大小
  • May 6 00:14:文件最后被修改的时间
  • .config:文件名

常见的文件类型及其含义有:

  • d:目录
  • -:文件
  • l:链接文件

9 位的文件权限字段中,每 3 个为一组,共 3 组,每一组分别代表对文件拥有者、所属群组以及其它人的文件权限。一组权限中的 3 位分别为 r、w、x 权限,表示可读、可写、可执行。

文件时间有以下三种:

  • modification time (mtime):文件的内容更新就会更新;
  • status time (ctime):文件的状态(权限、属性)更新就会更新;
  • access time (atime):读取文件时就会更新。

文件与目录的基本操作

1. ls

列出文件或者目录的信息,目录的信息就是其中包含的文件。

# ls [-aAdfFhilnrRSt] file|dir
-a :列出全部的文件
-d :仅列出目录本身
-l :以长数据串行列出,包含文件的属性与权限等等数据

2. cd

更换当前目录。

cd [相对路径或绝对路径]

3. mkdir

创建目录。

# mkdir [-mp] 目录名称
-m :配置目录权限
-p :递归创建目录

4. rmdir

删除目录,目录必须为空。

rmdir [-p] 目录名称
-p :递归删除目录

5. touch

更新文件时间或者建立新文件。

# touch [-acdmt] filename
-a : 更新 atime
-c : 更新 ctime,若该文件不存在则不建立新文件
-m : 更新 mtime
-d : 后面可以接更新日期而不使用当前日期,也可以使用 --date="日期或时间"
-t : 后面可以接更新时间而不使用当前时间,格式为[YYYYMMDDhhmm]

6. cp

复制文件。

如果源文件有两个以上,则目的文件一定要是目录才行。

cp [-adfilprsu] source destination
-a :相当于 -dr --preserve=all 的意思,至于 dr 请参考下列说明
-d :若来源文件为链接文件,则复制链接文件属性而非文件本身
-i :若目标文件已经存在时,在覆盖前会先询问
-p :连同文件的属性一起复制过去
-r :递归持续复制
-u :destination 比 source 旧才更新 destination,或 destination 不存在的情况下才复制
--preserve=all :除了 -p 的权限相关参数外,还加入 SELinux 的属性, links, xattr 等也复制了

7. rm

删除文件。

# rm [-fir] 文件或目录
-r :递归删除

8. mv

移动文件。

# mv [-fiu] source destination
# mv [options] source1 source2 source3 .... directory
-f : force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖

修改权限

  可以将一组权限用数字来表示,此时一组权限的 3 个位当做二进制数字的位,从左到右每个位的权值为 4、2、1,即每个权限对应的数字权值为 r : 4、w : 2、x : 1

# chmod [-R] xyz dirname/filename

  示例:将 .bashrc 文件的权限修改为 -rwxr-xr--。

# chmod 754 .bashrc

  也可以使用符号来设定权限

# chmod [ugoa]  [+-=] [rwx] dirname/filename
- u:拥有者
- g:所属群组
- o:其他人
- a:所有人
- +:添加权限
- -:移除权限
- =:设定权限

链接

 

最新文章

  1. OS10.11系统下 安装cocoapods 以及 安装cocoapods-xcode-plugin-master插件来加载三方框架
  2. ACM/ICPC 之 Floyd练习六道(ZOJ2027-POJ2253-POJ2472-POJ1125-POJ1603-POJ2607)
  3. 如果下次做模板,我就使用Nvelocity
  4. Writing On-Error Trigger In Oracle Forms
  5. 在CentOS 7 上安装广告服务器 Revive Adserver
  6. 使用phantomjs生成网站快照
  7. android sdk manager 闪退 打不开问题
  8. [NOIP1999]拦截导弹
  9. [IO] C# DirFileHelper文件与文件夹操作类教程与源码下载 (转载)
  10. html中编写js的方式
  11. Oracle ORA-01555 快照过旧 说明
  12. 转 ogg组件介绍
  13. Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.RequestContext
  14. ord()与char()
  15. 百度地图API开发一——仿照现有测距效果实现测面功能
  16. python日志重复输出
  17. 【转廖大神】package.json 包安装
  18. vue生命周期钩子函数
  19. Java表达式转型规则
  20. java程序员到底该不该了解一点算法(一个简单的递归计算斐波那契数列的案例说明算法对程序的重要性)

热门文章

  1. ThreadLocal使用方法
  2. hive 添加UDF(user define function) hive的insert语句
  3. Git使用技巧(1)-- 配置【持续更新】
  4. iptables进阶
  5. Java进阶03 IO基础(转载)
  6. ThinkPHP与EasyUI整合之三(searchbox):在datagrid中查询指定记录
  7. hdu5334(2015多校4)--Virtual Participation(构造)
  8. poj 2195(KM求最小权匹配)
  9. 1. 写出一个能创建多级目录的 PHP 函数(新浪网技术部)
  10. react 近期