Linux 学习笔记 2:文件系统
1.文件系统层次结构

系统目录内容:
/: 根目录(之后的/都是目录分隔符)
/home:用户目录
/bin: Unix常用命令,如bash, date, cat, tar等
/sbin: 管理员命令,如fdisk, mkfs等
/etc: 系统配置文件目录,如passwd, shadow(登录名和密码)等
/dev: 设备文件目录,如硬盘等
/lib: 库文件目录
/var: 可变文件目录,如打印和邮件等
/tmp: 临时文件目录
2.文件系统相关命令
a. ls [OPTION] [FILE]
功能:列出文件
|
-a |
显示以.开头的文件 |
|
-F |
用*标记可执行文件,用/标记目录,用@标记符号连接 |
|
-l |
以列表形式显示文件属性 |
|
-t |
按最后修改时间排序(降序) |
|
-u |
按最后访问时间排序 |
|
-r |
逆序排序 |
|
-R |
递推显示子目录和文件 |
|
-i |
显示inode编号 |
b. cd [DIR]
功能:改变当前工作目录
根目录: /
当前用户主目录: ~ or $HOME
当前目录:.
父目录:..
c. mkdir [OPTION] DIC
功能:创建目录(文件夹)
d. rmdir
功能:删除空目录,目录非空时会报错
|
-p |
删除空目录树 |
e. cp [OPTION] SRC_DIC/FILE DST_DIC
功能:复制文件
|
-b |
为已存在目标文件创建备份 |
|
-n |
不覆盖已有目标文件 |
|
-i |
覆盖时询问 |
|
-R |
递推复制子目录和文件 |
f. mv [OPTION] SRC_DIC/FILE DST_DIC
功能:移动文件、重命名文件;当DST_DIC为文件名时,功能为重命名
|
-b |
为已存在目标文件创建备份 |
|
-n |
不覆盖已有目标文件 |
|
-i |
覆盖时询问 |
g. rm [OPTION] [FILE]
功能:删除文件
|
-f |
强制删除 |
|
-i |
删除时询问 |
|
-R |
递推删除子目录和文件 |
删除一个文件夹时一定要加-R选项
h. cat [OPTION] [FILE]
在shell中显示文件内容,如果不写文件名,默认为标准输入
i. tar [OPTION] [FILE]
功能:存档管理
|
-c |
创建存档 |
|
-x |
提取存档 |
|
-t |
显示存档中的文件 |
|
-f |
指定存档名称 |
|
-v |
显示执行过程 |
|
-z |
同时使用gzip压缩文档 |
j. gzip [OPTION] [FILE]
功能:压缩、解压缩文件
|
-d |
解压缩 |
|
-k |
保留原文件 |
|
-l |
显示压缩文件内容 |
|
-r |
递推压缩子目录文件 |
3.文件属性
Linux支持多个文件系统;每个文件都使用inode编号与一个inode表格相关联,该表格可以用ls -l打印;文件在一个文件系统中有唯一的inode编号
inode表格包含了文件的属性:类型,权限,链接数,所有者,用户组,文件大小,修改时间;一个指向文件存储磁盘区块的指针数组
查看命令:ls -l
显示格式:incode 类型权限(所有者、用户组、其他用户) 链接数 所有权(所有者、用户组) 大小 最后修改时间 文件名
类型:- 表示普通文件;d 表示目录;l 表示符号链接
大小:字符数,与实际不同
a. chmod [OPTION] MODE FILE
功能:改变文件权限
|
选项 |
功能 |
|
-R |
递推改变所有子目录的文件权限 |
mode:
|
类别 |
操作 |
权限 |
|
u 用户 |
+ 增加权限 |
r 读权限 |
|
g用户组 |
- 删除权限 |
w 写权限 |
|
o其他用户 |
= 指定绝对权限 |
x 执行权限 |
|
a全部 |
- 无权限 |
权限的数字表示:
|
权限 |
二进制 |
八进制 |
|
--- |
000 |
0 |
|
--x |
001 |
1 |
|
-w- |
010 |
2 |
|
-wx |
011 |
3 |
|
r-- |
100 |
4 |
|
r-x |
101 |
5 |
|
rw- |
110 |
6 |
|
rwx |
111 |
7 |
默认普通文件权限:666 rw-rw-rw-
默认目录权限:777 rwxrwxrwx
b. umask [八进制权限掩码]
功能:设定默认权限,最终权限=默认权限-权限掩码
c. chown [OPTION] OWNER [:GROUP] FILE
功能:改变文件所有者,需要superuser权限
d. chgrp [OPTION] GROUP FILE
功能:改变文件用户组所有权,需要superuser权限
4.文件链接
一个文件可以拥有多个文件名,称为一个文件有多个链接,可以通过任意一个链接访问该文件
a. ln [OPTION] TARGET LINK_NAME
功能:创建一个链接
|
-s |
创建符号链接 |
|
-f |
当链接名已被占用,强制创建链接 |
硬链接:创建一个具有相同inode编号的文件名(默认)
作用:文件实际位置发生变化时,依然可以使用该链接访问文件;可以访问意外删除,因为使用rm命令只是删除了一个链接
符号链接:创建一个拥有独立inode,且指向该文件的链接文件
作用:类似于快捷方式;创建的是指向该文件的指针文件;支持跨文件系统建立连接
b. stat [OPTION] FILE
功能:查看文件属性
|
-f |
查看文件系统属性 |
c. touch [OPTION] FILE
功能:修改文件时间戳,创建空文件
|
-a |
只改变访问时间 |
|
-c |
不创建文件 |
|
-m |
只改变修改时间 |
|
-t |
使用yymmddhhmm更新时间 |
d. wc [OPTION] FILE
功能:统计行数,字数,字符数
|
-c |
计算字符数 |
|
-l |
计算行数 |
|
-w |
计算字数 |
e. find PATH OPTION EXPRESSION
|
选项 |
查找标准 |
|
-name |
文件名 |
|
-perm |
权限 |
|
-type |
类型,f d l |
|
-user |
所有者 |
|
-group |
用户组 |
|
-ctime |
创建时间 |
|
-exec xx {} \; |
对符合条件的文件执行xx命令 |
Linux 学习笔记 2:文件系统的更多相关文章
- Linux学习笔记(一) 文件系统
对于每一个 Linux 学习者来说,了解 Linux 文件系统的结构是十分有必要的 因为在 Linux 中一切皆文件,可以说只有深入了解 Linux 的文件系统,才会对 Linux 有更深刻的理解 L ...
- Linux学习笔记(二) 文件管理
了解 Linux 系统基本的文件管理命令可以帮助我们更好的使用 Linux 系统,以下介绍几个常用的文件管理命令 1.pwd pwd 是 Print Working Directory 的简写,用于显 ...
- Linux学习笔记(四) vi编辑器
一.vi 编辑器 vi 编辑器 (Visual Interface) 是所有 Unix 及 Linux 系统下标准的编辑器,相当于 Windows 系统中的记事本 它有三种模式,分别是: Comman ...
- Linux学习笔记(五) 账号管理
1.用户与组账号 用户账号:包括实际人员和逻辑性对象(例如应用程序执行特定工作的账号) 每一个用户账号包含一个唯一的用户 ID 和组 ID 标准用户是系统安装过程中自动创建的用户账号,其中除 root ...
- Linux学习笔记(六) 进程管理
1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...
- Linux学习笔记(七) 查询系统
1.查看命令 (1)man 可以使用 man 命令名称 命令查看某个命令的详细用法,其显示的内容如下: NAME:命令名称 SYNOPSIS:语法 DESCRIPTION:说明 OPTIONS:选项 ...
- Linux学习笔记-文件系统和基本命令
目录 分区设备文件名 分区 挂载 文件目录 文件处理命令 目录处理命令 硬件设备文件名 IDE硬盘 /dev/hd[a-d] USB硬盘 /dev/sd[a-p] 光驱 /dev/cdrom或者/de ...
- Linux学习笔记之 Btrfs文件系统简介及使用
Btrfs 也有一个重要的缺点,当 BTree 中某个节点出现错误时,文件系统将失去该节点之下的所有的文件信息.而 ext2/3 却避免了这种被称为”错误扩散”的问题. Btrfs相关介绍: Btrf ...
- deepin linux学习笔记
目录 deepin linux学习笔记 前言 linux常用命令 ls 显示文件夹内容 cd 切换当前目录 pwd 查看当前工作目录 mkdir 新建文件夹 rm 删除文件或文件夹 mv 移动文件 c ...
- linux学习笔记2 - linux常用命令
转载请标注原链接:http://www.cnblogs.com/xczyd/p/5543731.html 第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装lin ...
随机推荐
- Scala编程 摘录
有件你会注意到的事情是,几乎所有的 Scala 的控制结构都会产生某个值.这是函数式语言所采用的方式,程序被看成是计算值的活动,因此程序的控件也应当这么做.你也可以把这种方式看做早已存在于指令式语言中 ...
- C 语言 符合运算符
复合赋值 5个算术运算符 + - * / % 可以和赋值运算符 = 结合起来形成符合运算符 += -= *= /= %= total += 5 total = total + 5 note:两个运算符 ...
- Android 开发 实现文本搜索功能
核心逻辑方法: /** * 搜索item * @param searchContent 需要搜索的文本内容 */ public void searchItem(String searchContent ...
- c语言实现:扫雷
问题描述:相信大多数人都很熟悉扫雷游戏,在n*n的雷盘上随机埋上一些雷,玩家翻开一个非地雷格时,该格将会出现一个数字——提示周围格子中有多少个是地雷格.游戏的目标是在不翻出任何地雷格的条件下,找出所有 ...
- RocketMQ入门(消费者)_3
消费者角色: 1. 推式(一般建议用推式) 2. 拉式 消费模式: 1. 集群(cluster) --均衡负载消费 2. 广播(broadcasting) --发布和订阅 ...
- Linux命令:source
语法 source filename 说明 . 的同义词
- struts2.5入门
引用链接:https://www.cnblogs.com/qulianqing/p/6627746.html
- Python连接Access数据库遇到问题'ADODB.Connection', '未找到提供程序。该程序可能未正确安装。'的处理办法
环境Windows7+python3.6.4 x64位+AccessDatabaseEngine_X64.exe,执行代码: import win32com.client conn = win32co ...
- mysql批量update更新,mybatis中批量更新操作
在日常开发中,有时候会遇到批量更新操作,这时候最普通的写法就是循环遍历,然后一条一条地进行update操作.但是不管是在服务端进行遍历,还是在sql代码中进行遍历,都很耗费资源,而且性能比较差,容易造 ...
- 前端生成pdf
https://stackoverflow.com/questions/31610129/pdfmake-html-table-to-pdfmake-table https://www.jianshu ...