Submit Search
Upload
4, files & folders
•
2 likes
•
246 views
ted-xu
Follow
Linux files & folders
Read less
Read more
Report
Share
Report
Share
1 of 34
Recommended
Linux学习
Linux学习
tonyhuang2008
Virtual file system (VFS)
Virtual file system (VFS)
Waylin Ch
Linux File system
Linux File system
Kenny (netman)
Linux必学的60个命令
Linux必学的60个命令
yiditushe
1, shell intro
1, shell intro
ted-xu
5, system admin
5, system admin
ted-xu
20030623 linuxbasic and-security
20030623 linuxbasic and-security
建融 黃
Linux command tutorial
Linux command tutorial
朋 陈
Recommended
Linux学习
Linux学习
tonyhuang2008
Virtual file system (VFS)
Virtual file system (VFS)
Waylin Ch
Linux File system
Linux File system
Kenny (netman)
Linux必学的60个命令
Linux必学的60个命令
yiditushe
1, shell intro
1, shell intro
ted-xu
5, system admin
5, system admin
ted-xu
20030623 linuxbasic and-security
20030623 linuxbasic and-security
建融 黃
Linux command tutorial
Linux command tutorial
朋 陈
Linux 教育訓練
Linux 教育訓練
Bo-Yi Wu
網路組-Ubuntu介紹
網路組-Ubuntu介紹
maryqute520
鏡像檔案系統 Mirror File System : MFS
鏡像檔案系統 Mirror File System : MFS
Mark Ting
Ubuntu
Ubuntu
Liu Lizhi
Unix常用命令 1
Unix常用命令 1
tony2yy_fish
Linux基础
Linux基础
zhuqling
Linuxcommand
Linuxcommand
jason hu 金良胡
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
SZ Lin
Linux常用命令
Linux常用命令
Tony Deng
我的 Windows 平台自動化經驗:基礎批次檔撰寫實務
我的 Windows 平台自動化經驗:基礎批次檔撰寫實務
Will Huang
MySQL源码分析.01.代码结构与基本流程
MySQL源码分析.01.代码结构与基本流程
Lixun Peng
淺談Debian套件打包
淺談Debian套件打包
Wen Liao
Linux 系统应用与程序设计
Linux 系统应用与程序设计
yiditushe
Debian 套件打包教學指南 - 繁體中文翻譯
Debian 套件打包教學指南 - 繁體中文翻譯
SZ Lin
Linux基础
Linux基础
Eric Lo
云存储系统设计
云存储系统设计
drewz lin
FAT file system implementation from scratch in boot-loader (chinese)
FAT file system implementation from scratch in boot-loader (chinese)
Sneeker Yeh
Heartbeat+my sql+drbd构建高可用mysql方案
Heartbeat+my sql+drbd构建高可用mysql方案
cao jincheng
Ch8 file system management(2013 ncu-nos_nm)
Ch8 file system management(2013 ncu-nos_nm)
Kir Chou
Linux安全配置终极指南
Linux安全配置终极指南
wensheng wei
lee RESUME
lee RESUME
leelakrshnan leelakrishnan
sprite
sprite
Allison Hill
More Related Content
What's hot
Linux 教育訓練
Linux 教育訓練
Bo-Yi Wu
網路組-Ubuntu介紹
網路組-Ubuntu介紹
maryqute520
鏡像檔案系統 Mirror File System : MFS
鏡像檔案系統 Mirror File System : MFS
Mark Ting
Ubuntu
Ubuntu
Liu Lizhi
Unix常用命令 1
Unix常用命令 1
tony2yy_fish
Linux基础
Linux基础
zhuqling
Linuxcommand
Linuxcommand
jason hu 金良胡
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
SZ Lin
Linux常用命令
Linux常用命令
Tony Deng
我的 Windows 平台自動化經驗:基礎批次檔撰寫實務
我的 Windows 平台自動化經驗:基礎批次檔撰寫實務
Will Huang
MySQL源码分析.01.代码结构与基本流程
MySQL源码分析.01.代码结构与基本流程
Lixun Peng
淺談Debian套件打包
淺談Debian套件打包
Wen Liao
Linux 系统应用与程序设计
Linux 系统应用与程序设计
yiditushe
Debian 套件打包教學指南 - 繁體中文翻譯
Debian 套件打包教學指南 - 繁體中文翻譯
SZ Lin
Linux基础
Linux基础
Eric Lo
云存储系统设计
云存储系统设计
drewz lin
FAT file system implementation from scratch in boot-loader (chinese)
FAT file system implementation from scratch in boot-loader (chinese)
Sneeker Yeh
Heartbeat+my sql+drbd构建高可用mysql方案
Heartbeat+my sql+drbd构建高可用mysql方案
cao jincheng
Ch8 file system management(2013 ncu-nos_nm)
Ch8 file system management(2013 ncu-nos_nm)
Kir Chou
Linux安全配置终极指南
Linux安全配置终极指南
wensheng wei
What's hot
(20)
Linux 教育訓練
Linux 教育訓練
網路組-Ubuntu介紹
網路組-Ubuntu介紹
鏡像檔案系統 Mirror File System : MFS
鏡像檔案系統 Mirror File System : MFS
Ubuntu
Ubuntu
Unix常用命令 1
Unix常用命令 1
Linux基础
Linux基础
Linuxcommand
Linuxcommand
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Linux常用命令
Linux常用命令
我的 Windows 平台自動化經驗:基礎批次檔撰寫實務
我的 Windows 平台自動化經驗:基礎批次檔撰寫實務
MySQL源码分析.01.代码结构与基本流程
MySQL源码分析.01.代码结构与基本流程
淺談Debian套件打包
淺談Debian套件打包
Linux 系统应用与程序设计
Linux 系统应用与程序设计
Debian 套件打包教學指南 - 繁體中文翻譯
Debian 套件打包教學指南 - 繁體中文翻譯
Linux基础
Linux基础
云存储系统设计
云存储系统设计
FAT file system implementation from scratch in boot-loader (chinese)
FAT file system implementation from scratch in boot-loader (chinese)
Heartbeat+my sql+drbd构建高可用mysql方案
Heartbeat+my sql+drbd构建高可用mysql方案
Ch8 file system management(2013 ncu-nos_nm)
Ch8 file system management(2013 ncu-nos_nm)
Linux安全配置终极指南
Linux安全配置终极指南
Viewers also liked
lee RESUME
lee RESUME
leelakrshnan leelakrishnan
sprite
sprite
Allison Hill
2, bash synax simplified
2, bash synax simplified
ted-xu
Barn i barnevernet
Barn i barnevernet
University Library of Stavanger / Universitetsbiblioteket i Stavanger
9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rman
ted-xu
Condensation Silicone-MSDS
Condensation Silicone-MSDS
Iris He
Наши партнеры
Наши партнеры
Vladimir Pokladov
fit-PC - Product line overview (v3.0)
fit-PC - Product line overview (v3.0)
Maxim Birger (马克斯)
Good company
Good company
Hugh Choi 최형욱
2, OCP - installing and creating a database
2, OCP - installing and creating a database
ted-xu
SCL Event - Egil Moller Nielsen & Chee Yew Wong - Innovative Delivery Solutio...
SCL Event - Egil Moller Nielsen & Chee Yew Wong - Innovative Delivery Solutio...
Global Business Intel
CIO Event - Bid Winning: How can technology in your business assist your next...
CIO Event - Bid Winning: How can technology in your business assist your next...
Global Business Intel
Τεστ στα διανύσματα
Τεστ στα διανύσματα
Μάκης Χατζόπουλος
Social Media Marketing and Your Targeted Audience
Social Media Marketing and Your Targeted Audience
Moshiur Monty
CIO Event - HP - Digital Disruption : How can IT play its part?
CIO Event - HP - Digital Disruption : How can IT play its part?
Global Business Intel
Viewers also liked
(15)
lee RESUME
lee RESUME
sprite
sprite
2, bash synax simplified
2, bash synax simplified
Barn i barnevernet
Barn i barnevernet
9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rman
Condensation Silicone-MSDS
Condensation Silicone-MSDS
Наши партнеры
Наши партнеры
fit-PC - Product line overview (v3.0)
fit-PC - Product line overview (v3.0)
Good company
Good company
2, OCP - installing and creating a database
2, OCP - installing and creating a database
SCL Event - Egil Moller Nielsen & Chee Yew Wong - Innovative Delivery Solutio...
SCL Event - Egil Moller Nielsen & Chee Yew Wong - Innovative Delivery Solutio...
CIO Event - Bid Winning: How can technology in your business assist your next...
CIO Event - Bid Winning: How can technology in your business assist your next...
Τεστ στα διανύσματα
Τεστ στα διανύσματα
Social Media Marketing and Your Targeted Audience
Social Media Marketing and Your Targeted Audience
CIO Event - HP - Digital Disruption : How can IT play its part?
CIO Event - HP - Digital Disruption : How can IT play its part?
Similar to 4, files & folders
Overlayfs and VFS
Overlayfs and VFS
Hao(Robin) Dong
20121111 linux intro
20121111 linux intro
Chang Mt
Linux1文字介面操作
Linux1文字介面操作
jiannrong
X64服务器 lamp服务器部署标准 new
X64服务器 lamp服务器部署标准 new
Yiwei Ma
賽門鐵克 Storage Foundation 6.0 簡報
賽門鐵克 Storage Foundation 6.0 簡報
Wales Chen
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 L
heima911
Aix操作系统培训文档
Aix操作系统培训文档
lwj2012
深入Docker的资源管理
深入Docker的资源管理
SpeedyCloud
康盛创想项目部Linux 服务器部署标准(最新版)
康盛创想项目部Linux 服务器部署标准(最新版)
Yiwei Ma
Bypat博客出品-利用cent os快速构建自己的发行版
Bypat博客出品-利用cent os快速构建自己的发行版
redhat9
Zh tw introduction_to_hadoop and hdfs
Zh tw introduction_to_hadoop and hdfs
TrendProgContest13
Rootkit 101
Rootkit 101
WEI CHIEH CHAO
Java线上应用问题排查方法和工具(空望)
Java线上应用问题排查方法和工具(空望)
ykdsg
淘宝主备数据库自动切换
淘宝主备数据库自动切换
mysqlops
7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery
ted-xu
開發環境建置
開發環境建置
Shengyou Fan
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定
Shengyou Fan
Why use MySQL
Why use MySQL
Zhaoyang Wang
Linux commands ppt
Linux commands ppt
xiaotingting
Introduction to FreeBSD commands
Introduction to FreeBSD commands
郁凱 黃
Similar to 4, files & folders
(20)
Overlayfs and VFS
Overlayfs and VFS
20121111 linux intro
20121111 linux intro
Linux1文字介面操作
Linux1文字介面操作
X64服务器 lamp服务器部署标准 new
X64服务器 lamp服务器部署标准 new
賽門鐵克 Storage Foundation 6.0 簡報
賽門鐵克 Storage Foundation 6.0 簡報
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 L
Aix操作系统培训文档
Aix操作系统培训文档
深入Docker的资源管理
深入Docker的资源管理
康盛创想项目部Linux 服务器部署标准(最新版)
康盛创想项目部Linux 服务器部署标准(最新版)
Bypat博客出品-利用cent os快速构建自己的发行版
Bypat博客出品-利用cent os快速构建自己的发行版
Zh tw introduction_to_hadoop and hdfs
Zh tw introduction_to_hadoop and hdfs
Rootkit 101
Rootkit 101
Java线上应用问题排查方法和工具(空望)
Java线上应用问题排查方法和工具(空望)
淘宝主备数据库自动切换
淘宝主备数据库自动切换
7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery
開發環境建置
開發環境建置
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定
Why use MySQL
Why use MySQL
Linux commands ppt
Linux commands ppt
Introduction to FreeBSD commands
Introduction to FreeBSD commands
More from ted-xu
11, OCP - awr & alert system
11, OCP - awr & alert system
ted-xu
10, OCP - flashback
10, OCP - flashback
ted-xu
8, OCP - backup with rman
8, OCP - backup with rman
ted-xu
6, OCP - oracle security
6, OCP - oracle security
ted-xu
5, OCP - oracle storage
5, OCP - oracle storage
ted-xu
4, OCP - oracle networking
4, OCP - oracle networking
ted-xu
3, OCP - instance management
3, OCP - instance management
ted-xu
1, OCP - architecture intro
1, OCP - architecture intro
ted-xu
12, OCP - performance tuning
12, OCP - performance tuning
ted-xu
7, business event system
7, business event system
ted-xu
6, workflow miscellaneous
6, workflow miscellaneous
ted-xu
5, workflow function activity
5, workflow function activity
ted-xu
4, workflow tables & api
4, workflow tables & api
ted-xu
3, workflow in ebs
3, workflow in ebs
ted-xu
2, a simple workflow
2, a simple workflow
ted-xu
1, workflow intro
1, workflow intro
ted-xu
8, bes tables & api
8, bes tables & api
ted-xu
OPM Recipe designer notes
OPM Recipe designer notes
ted-xu
5, sed
5, sed
ted-xu
4, grep
4, grep
ted-xu
More from ted-xu
(20)
11, OCP - awr & alert system
11, OCP - awr & alert system
10, OCP - flashback
10, OCP - flashback
8, OCP - backup with rman
8, OCP - backup with rman
6, OCP - oracle security
6, OCP - oracle security
5, OCP - oracle storage
5, OCP - oracle storage
4, OCP - oracle networking
4, OCP - oracle networking
3, OCP - instance management
3, OCP - instance management
1, OCP - architecture intro
1, OCP - architecture intro
12, OCP - performance tuning
12, OCP - performance tuning
7, business event system
7, business event system
6, workflow miscellaneous
6, workflow miscellaneous
5, workflow function activity
5, workflow function activity
4, workflow tables & api
4, workflow tables & api
3, workflow in ebs
3, workflow in ebs
2, a simple workflow
2, a simple workflow
1, workflow intro
1, workflow intro
8, bes tables & api
8, bes tables & api
OPM Recipe designer notes
OPM Recipe designer notes
5, sed
5, sed
4, grep
4, grep
4, files & folders
1.
Files & Folders
2.
Agenda
3.
概述 • 操作系统本质上是由文件和目录组成的, 如何
对这些文件和目录进行组织, 以及如何对它们 进行权限控制是一个系统首先需要考虑的问题. 本章节依次介绍了如下内容: - 磁盘分区管理(Disk Partition Management) - 文件系统(File System) - 文件和目录权限控制 - 文件与目录的管理 • linux系统的一个特点是一切都被抽象为文件, 包括普通文件, 目录, 设备, 网络套接字(socket), 进程, 管道(pipe)等.
4.
磁盘分区
- 磁盘设备文件 • 磁盘在被操作系统识别并使用之前必须先 进行分区操作, 可以根据系统的需要将磁盘 划分为若干个分区. linux下面可以通过如下 方式查看磁盘设备, 比如: ls /dev/sda # 系统第一块SATA硬盘设备 • 关于hda 和 sda 常用的硬盘接口类型有IDE, SATA, SCSI, SAS等, 其 中IDE硬盘在系统中的设备文件是/dev/hd[a-d], 比 如第一块硬盘/dev/hda, 第二块/dev/hdb; SATA和 其它的硬盘在系统中的设备文件则是/dev/sd[a-p];
5.
磁盘分区
- 分区设备文件 & 分区表 • 对磁盘进行分区之后, 在/dev目录下面会出现命名为 hda1, sda1的文件, 这些文件表示磁盘的分区, 以SATA 硬盘为例: /dev/sda1 表示第一个SATA分区 /dev/sda2 表示第二个SATA分区 ...... • /etc/fstab 此系统文件用于记录系统的分区信息, 示例: /dev/sda1 / ext3 defaults 11 文件中的每一行遵循如下格式: 分区 挂载点 文件系统 ...... 最好不要手动去修改此文件, 有可能会导致系统无法 正常启动.
6.
分区管理
- fdisk • fdisk fdisk是linux下面用于管理磁盘分区的命令, 格式: fdisk ${diskfile}. 示例: fdisk /dev/sda #对第一块SATA磁盘进行分区管理 执行该命令后会进入一个交互式的命令行界面, 通过 输入 相关的指令执行对应的操作: d 删除磁盘分区 l 列出所有的磁盘分区 n 添加一个新的分区 注意: 在使用fdisk进行分区管理时需要谨慎, 因为该命 令会导致磁盘分区数据的丢失.
7.
创建文件系统 • 对磁盘进行分区之后, 该分区不能使用,
需要在 该分区上建立文件系统(File System). linux提供 了多种文件系统供选择: ext3, ext4, reiserFS等. • 使用mkfs命令创建文件系统, 常用选项: -t 指定文件系统类型, ext3/ext4等 示例: mkfs -t ext3 /dev/sda2 # 创建ext3文件系统 • 使用各个文件系统专有的命令创建文件系统, 比如mkfs.ext3创建ext3文件系统, 这些命令相比 mkfs提供了更多的选项, 比如: -b 指定文件块的大小 -U 指定UUID
8.
SWAP分区 • SWAP分区类似于windows下面的虚拟内存,
即在内存空间不足的情况下, 将硬盘空间作 为内存使用. 在进行系统安装时, 通常要指 定swap分区, 该分区大小的设置一般为内存 大小的两倍. • 可以使用磁盘文件充当swap空间, 如下: dd if=/dev/zero of=/swapfile bs=1024 count=1048576 mkswap /swapfile 编辑/etc/fstab文件自动挂载该swap分区: /swapfile none swap sw 0 0
9.
挂载 • 分区在创建文件系统之后必须挂载到指定的目录进行访问, linux
下面使用mount命令进行挂载, 命令基本格式: mount -options device dir 其中device指定分区的名称, dir指定某个目录; 常用的选项有: -t 指定文件系统类型 -o 添加某些选项, 比如只读等 示例: mount -t ext3 /dev/sda1 /mnt/root 将文件系统为ext3的/dev/sda1分区挂载到/mnt/root目录, 挂载后可 以通过 /mnt/root目录访问该分区的内容. 其他: mount 显示所有的分区挂载 mount -a 重新挂载/etc/fstab中所有的分区 • 根分区 linux系统必须创建一个根分区并且挂载到根目录/下面, 在安装系统 时被要求指定.
10.
示例 • 示例中使用了基于文件的虚拟文件系统做为演
示, 重在展示文件系统的相关命令与操作: # 使用dd命令创建大文件, 这里50m dd if=/dev/zero of=tmp/vfs bs=1024 count=50000 # 基于该文件创建文件系统, ext3 mkfs -t ext3 tmp/vfs # 在/mnt目录下面创建一个挂载点 mkdir /mnt/vfs # 挂载虚拟文件系统 mount -t ext3 -o loop tmp/vfs /mnt/vfs # 进入挂载点, 作一些操作, 比如创建文件或者目录 cd /mnt/vfs # 查看当前分区的使用情况 df -h . # 卸载该文件系统 umount /mnt/vfs
11.
/etc/fstab
- 概述 • 此文件描述了系统磁盘分区, 光驱, 以及其他虚拟文件系统的挂载情况, 文件中典型的一行如下: /dev/sda1 / ext2 defaults 1 1 各列的含义说明如下: 1, /dev/sda1 磁盘分区. 还可以是光驱设备, 比如/dev/cdrom, 虚拟文 件系统, 比如proc 2, / 挂载点 3, ext2 文件系统类型除了基本的文件系统之外还可以是虚拟文 件系统如proc, 或者swap 4, defaults 此列表示分区挂载选项, defaults表示全部默认. 选项说明如下: auto/noauto 是否在启动时自动挂载, auto为默认; user/nouser 是否只允许root用户mount该分区(nouser), nouser为默认; exec/noexec 是否允许执行该分区上的二进制文件, exec为默认; ro/rw 只读或者可读写, rw为默认; sync/async 同步/异步读写, 默认为async deafults表示的是rw, auto, nouser, async, exec.
12.
/etc/fstab
- 概述 & procfs 5, 第五列是分区备份选项, 0表示不备份, 1表示进行备份; 6, 第六列是分区检查(fsck)选项, 0表示不进行检查, 非0表示对该分区执行fsck 的顺序, 由小到大. 说明: 通常情况下不要去手动修改fstab文件, 因为该文件的错误会导致系统无 法正常启动. 在必要时, 修改该文件之后使用mount -fav命令进行检查. • 进程文件系统procfs linux系统会将运行时的一些信息比如进程/内存使用/IO等挂载到一个虚拟 的进程文件系统中, 该挂载点通常为/proc目录, 这里列举该目录下一些比 较有用的文件: /proc/cpuinfo 系统cpu信息 /proc/meminfo 系统内存使用情况, free命令会读取此文件 /proc/version OS version /proc/partitions /proc/filesystems /proc/mounts 系统分区, 文件系统及挂载信息 /proc/stat 系统运行的统计数据 /proc/swaps 系统交换分区使用情况 /proc/uptime 系统自上次启动到当前的运行时间
13.
文件
- 文件类型 • linux有以下几种常见的文件类型: 普通文件 比如新建的文本文件, 压缩文件等; 使用ls –l命令查看时 出现-rw-r--r--字样的第一个-字符表示该文件是一个普通 文件; 目录文件 目录下面可以包含其他的文件或者目录, 使用ls命令查看 时第一个字符为d的文件是目录文件; 字符设备或者块设备文件 进入到/dev目录, 执行ls –l命令可以看到类似如下内容: crw-rw-rw- 1 root tty 5, 0 04-19 08:29 /dev/tty brw-r----- 1 root disk 3, 1 2006-04-19 /dev/sda1 以c开头的表示字符设备文件, 比如猫等串口设备; 以b开 头的表示磁盘, 光驱等设备;
14.
文件
- 文件类型 套接口文件(socket文件) 最常见的是在启动mysql服务器时会产生一 个mysql.sock文件, 使用ls –l命令查看该文件: srwxrwxrwx 1 mysql mysql 0 04-19 11:12 /var/lib/mysql/mysql.sock 以s字符开头, 这种文件类型了解即可; 符号链接文件(软链接文件) 这种文件在使用ls -l进行查看时, 会以字符l 开头, 它相当于windows系统下面的快捷方式. 使用”ln -s 源文件 新文件”命令创建符号链接.
15.
inode • inode 是
‘index node’的简称, 中文”索引节点”, inode用于存储文件的元信息, 比如文件字节数, 文件数据块的位置, 拥有者, 所属组, ctime(inode上一次更改时间), mtime(文件上一 次修改时间), atime(文件上一次访问时间), 指向 该inode的文件数等, inode不包含文件的名称; • 每个文件都必须对应一个inode, 文件与inode之间是多对一 的关系, 即有可能多个文件的inode相同; 如果分区inode数 量已经用完, 则无法在该分区上创建文件, 使用”df -i 分区” 命令查看分区的inode使用情况, 示例: • 每个inode都对应一个编号, 使用”ls -i 文件名”命令查看文件 的inode编号;
16.
inode
& 目录 • 在linux下面, 目录实际上也是一种文件, 目录 文件的内容是该目录包含的子文件/目录与 inode的映射关系, 使用ls -l命令则会访问子 文件/目录的inode信息, 并列举出来:
17.
文件链接
硬链接 & 软链接 • 在创建一个文件时, 会分配一个对应的inode; 在通常情况下 inode与文件是一对一的关系, 但是也可以创建多个文件使之指 向同一个inode; 创建文件硬链接就会出现这种情况, 使用如下命 令创建硬链接: ln 源文件名 目标文件名 示例: 可以看到给文件file1创建硬链接file2之后, 两者指向了同一个inode节点, 之后 在修改文件file1或者file2时实际上修改的都是同一份拷贝. • 使用如下命令创建软链接 ln -s源文件名 目标文件名 与硬链接不同的是, 软链接会分配另外的inode节点, 软链接文件包 含的是源文件的路径信息, 对软链接进行读写执行等操作实际上操 作的是源文件.
18.
inode的回收 • 对于磁盘的每一个分区, inode的数量都是有
限的, 另外inode存储了文件的元信息本身也 会占用一定的存储空间, 因此有必要对不再 被使用的inode节点进行回收; • 在指向inode节点的链接数归零之后inode会 被回收, 指向某个inode的链接数有可能大于 一, 每删除一个链接文件, 链接数减一.
19.
隐藏文件/目录 • 与windows不同的是, linux通过在文件名称
前面添加字符”.”来表示隐藏文件. 隐藏文件 通常被用于存储程序的配置信息, 用户登录 脚本等, 比如用户HOME目录下的.bash_profile 文件; • ls命令不会列出目录下面的隐藏文件或目录, 需要加上-a选项, 如图:
20.
当前目录
& 上级目录 • 通常linux文件系统上的每一个目录下面都有. 目录 和 ..目录, 其中前者表示当前目录, 后者 表示上级目录. 实际上这两者均是指向对应 目录的硬链接, 如下: • 经常使用”cd ..” 命令进入上一级目录.
21.
所有者
owner • 文件或者目录都有一个所有者(owner), 最开始 owner是创建者, 也可以通过chown命令更改所 有者. 使用ls -l命令查看所有者: 上图中红色区域的列表示文件的所有者, 这里 是root. • 可以使用chown命令更改文件/目录的所有者, 命令格式: chown 选项 用户名 文件/目录, 常用的选项: -R 递归更改目录下所有子目录/文件的所有者 chown -R demo tmp/
22.
所属组
owner group • 文件或者目录有对应的所属组, 最初的所属组 被设置为创建者的所属组, 可以通过chgrp命令 更改文件的所属组.使用ls -l命令查看所属组: 上图中红色区域的列表示文件的所属组, 这里 是root. • 可以使用chgrp命令更改文件/目录的所有者, 命 令格式: chgrp 选项 用户名 文件/目录, 常用的选项: -R 递归更改目录下所有子目录/文件的所有者 chgrp -R demo tmp/
23.
权限控制
- 概述 • 文件与目录的访问权限分读(r)/写(w)/执行(x), 另外针对不同的用户访 问权限会有不同, 比如某个文件对A用户是可写的, 但是对B用户却是只 读的. 使用ls -l命令查看文件的权限: 图中的红色框区域-rw-r--r--是文件的权限位, 下面按照顺序对该权限位 进行说明: - 表示文件的类型, -表示普通文件; rw- 所有者(u)权限, 这里的所有者是root用户, 权限是可 读写, 不能执行; 如果需要配置为可执行则应该是rwx; r-- 所属组(g)权限, 对于该组内用户的权限, 这里是只读; r-- 其他用户(o), 此用户既不是文件的所有者也不属于 文件的所属组. • 权限位可以使用数字表示, 以所有者权限为例, 权限的每一位如果不是- 则将该位置1, 否则置0; 比如rwx则对应111, 相应的10进制为7, rw-则是 6; 其他的权限位以此类推, 权限位rwxrwxrwx对应的是777; • linux通常将文件的权限设置为644 即rw-r--r--, 目录的权限则设置为755 即rwxr-xr-x
24.
权限控制
- chmod • 使用chmod命令修改文件/目录的权限, 该命令的格 式: chmod 选项 权限 文件/目录, 常用的选项有: -R 递归修改子文件/目录的权限 该命令可以采用如下形式: 1, 使用数字, eg: chmod 755 tmp/ 2, 修改指定用户或者组的权限, eg: chmod u+x test.sh # 修改用户权限为可执行 chmod g+w file.txt # 修改组权限为可写 chmod o-r file.txt # 修改其他用户权限 不可读 chmod +x file.sh # 所有的用户都将获得文件的可执行权限 chmod a+x file.sh # 与上相同
25.
权限控制
- 删除文件 • 用户对于文件的删除权限并不由文件本身 决定而是由文件所在目录的权限决定, 删除 文件的动作实际上修改的是所在目录的内 容, 因此用户需要对该文件所在目录有写权 限. 示例, 注意file.txt文件的权限位, 红色部 分修改所在目录其他用户的权限位可写: 切换为demo用户, 删除file.txt文件成功:
26.
权限控制
- 目录的可执行权限 • 目录的可执行权限决定了用户是否可以进 入到该目录及其子目录, 如果用户对指定目 录没有可执行权限则不能cd到该目录及其子 目录中, 示例, /root目录对其他用户不可执 行: 切换为demo用户, 执行cd /root
27.
权限控制
- 掩码 • 在创建文件或者目录时, 会分配一个默认的权 限位, 这是由当前进程的掩码决定的. 比如掩码 是000, 则目录的权限是777(rwxrwxrwx), 文件的 权限是666(rw-rw-rw-). 大多数情况下掩码设置 为022; • 使用umask命令查看或设置当前的掩码, 比如: • 在/etc/bashrc文件会使用umask命令对掩码进 行初始化设置, 用户在登录过程中, 该脚本文件 会被执行.
28.
常用命令 • pwd shell内置命令, 查看当前目录,
示例: • cd shell内置命令, 切换目录, 常用用法: cd/cd ~ 切换至用户HOME目录 cd - 切换到前一个目录$OLDPWD cd .. 切换至上级目录 cd /path/to 切换到指定的路径 • ls 列举当前文件/目录的内容, 常用选项: -l 查看文件/目录的详细信息 -d 查看当前目录, 而不是目录下面的内容 -a 列出隐藏的文件或者目录 • touch touch用于创建一个普通文件, 文件被创建后字节数为0; • mkdir mkdir则用于创建一个空目录. 常用的选项: -p 如果需要创建的目录父目录不存在则自动创建; 示例:
29.
常用命令 • cp 复制文件或者目录, 命令格式:
cp 源文件 目标文件 如果需要赋值目录, 则需要制定-r选项赋值目录以及下面的子文件/ 目录, 示例: • mv 移动文件或者目录到另一个位置或者对文件目录重命名. 命令格式: mv 源文件/目录 目标位置 mv 源文件/目录名 更改后的文件/目录名 示例: mv filename1 filename2 如果目的位置与源文件/目录在同一个文件系统上, 那么只 需要对父目录的内容进行更改即可(速度很快); 如果处在不 同的文件系统, 那么则会发生实质的文件拷贝操作.
30.
常用命令 • rm 删除文件或者目录, 如果删除的目录.
命令格式: rm 文件/目录 常用选项: -f 强制删除force -r 递归删除子文件和目录recursively 如果需要删除的目录非空通常使用-rf选项; • rmdir 仅用于删除空目录, 如果目录非空则无法删除, 使用rm -rf进行删除. • cat 查看文件的内容, 命令格式: cat 文件名 • more 与cat类似用于查看文件的内容, 如果文件内容超过了一定的行数, 则按顺序一次只显示一屏, 此时终端的底部会出现”--More--”的字样, 使用空格键查看接下来的内容, q键退出. Note: less 命令与more类似.
31.
常用命令
stat • stat命令用于查看文件或者目录的inode信息, 该命令常用的选项 有: -c 指定输出的格式, 比如输出访问权限, 拥有者等 -t 简洁模式打印信息 与-c选项相应的常用格式有: %a 访问权限(八进制) %A 访问权限(rwx) %F 文件类型 %i inode标志 %h 文件的硬链接个数 %n 文件名 %s 文件字节数 %U 文件所有者名称 %x 文件的最后访问时间 %y 最后修改时间 %z 文件的最后改变时间 示例: stat -c %a file # 查看文件的访问权限, 输出644 stat -c %y file # 查看文件的最后修改时间 # 输出类似file’s size is 123 bytes stat -c "%n's size is %s bytes" file
32.
系统安装目录 • linux系统在安装时会在根目录/下面创建很多的系统子目录, 这
些子目录的组织与命名都是很规范的: / 根目录, 必须有一个根分区挂载在此目录下面; /bin 常用的可执行命令被放在此目录下面 , 比如ls, grep, awk等; /boot 此目录包含了与系统启动相关的文件, 比如GRUB, 系统核心等; /dev 设备文件目录, 前面介绍的磁盘/分区等设备文件放在此目录; /etc 系统配置文件目录, 比如分区表, 系统启动脚本, yum配置等; /lib 系统库文件目录; /mnt mount目录, 通常用于挂载其他的文件系统, 比如将vbox共 享目录挂载到此目录下面; /proc 挂载虚拟进程文件系统到此目录, 用于查看一些系统运行时 信息; /sbin 此目录用于存放可执行文件, 与/bin不同的是, 它通常用于 存放一些系统维护和管理的可执行文件, 比如关机重启等命 令.
33.
系统安装目录 /tmp 临时文件目录, 专用于存放某些临时文件 /usr
用户目录, 用于存放各种用户程序, 比如apache, php 等通常会安装到此目录下面; /var 存放一些经常发生变化的文件, 比如系统日志, 邮件等; /root root用户的主目录; /home 系统除root外其他用户的HOME目录均创建在此目录下面. • 其他一些 比较常见的目录 /exports NFS输出文件系统目录; /opt 此目录通常用于软件安装, 比如安装oracle数 据库等;
34.
END