the linux file system · unix file organization • computer has one or more physical hard drives...
TRANSCRIPT
![Page 1: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/1.jpg)
1
The Linux File System
![Page 2: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/2.jpg)
File and Directory • In linux and most of OS data are stored in files • File
– Contains data – Stored in (hard) disk
• Directory
– Contains files – Stored in (hard) disk – Makes easy for data organizing
• Hierarchy of directories and files = file system • Single file system for all logical disks
![Page 3: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/3.jpg)
3
Figure 3-3
A Directory Hierarchy
![Page 4: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/4.jpg)
4
Directory Types • Root Directory: /
– The first directory in any UNIX file structure – Always begin with the forward slash (/)
• Home Directory: $HOME or ~ • Created by system administrator • This is where you are when you first log in! • Under $HOME, you may create your own directory structure • Type: cd [Return] takes you $HOME
• Current Working Directory: . – The Directory you are currently working in – Also called Current Working Directory (cwd)
• Parent Directory: .. – The directory immediately above your current working directory.
![Page 5: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/5.jpg)
5
Path
Two ways of locating a file or a directory: • By Using Absolute Path
– Full path – Traces a path from root to a file or a directory – Always begins with the root (/) directory! – Example: /home/ux/krush/unix/assignments/assign1.sp04
• By Using Relative Path – Traces a path from the ‘cwd’ to a file or a directory – No initial forward slash (/) – Two dots (..) goes up one level on file structure – Dot (.) points to current working directory (cwd) – Example: unix/assignments/assign1.sp04 – ../usr/stafff/joan/file1
![Page 6: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/6.jpg)
6
Figure 3-4
Absolute Path for file3
Absolute Pathname:
/usr/staff/joan/file3
![Page 7: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/7.jpg)
File System
Relative Paths for file3
![Page 8: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/8.jpg)
8
Figure 3-12
Directory Operations
![Page 9: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/9.jpg)
9
Display Current Directory’s Full Pathname
• To determine the full pathname of the current working directory, use the command named “pwd”
• pwd stands for print working directory Example: To display the full pathname of the current
working directory ux% pwd /home/ux/krush/unix
![Page 10: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/10.jpg)
10
Figure 3-14
The ls Command
![Page 11: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/11.jpg)
11
ls
• ls List the content of the current directory • ls path_name List the content of the directory in path_name. • ls –l Long list • ls –a List all hidden files • ls -la Combine two options –l and –a together
![Page 12: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/12.jpg)
12
Figure 3-15
Long List Option
![Page 13: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/13.jpg)
13
List Contents of a Specific Directory
ux% ls -l unix/grades total 10 -rwxr-xr-x 3 krush csci 72 Jan 19 19:12 330assign-graderun -rwxr-xr-x 1 krush csci 70 Jan 19 19:13 330exam-graderun -rwxr-xr-x 2 krush csci 70 Jan 19 19:12 330quiz-graderun -r-x------ 1 krush csci 468 Feb 1 11:55 test-330grade -r-x------ 1 krush csci 664 Feb 1 11:55 test-330grade,v
Listing contents of a subdirectory named “unix/grades”
![Page 14: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/14.jpg)
14
File Name Expansion & Wildcards
Allows you to select files that satisfy a particular name pattern (wildcards)
Character Description Example
* Match zero or more char. ls *.c
? Match any single character ls conf.?
[list] Match any single character in list ls conf.[co]
[lower-upper] Match any character in range ls lib-id[3-7].o
str{str1,str2,…} Expand str with contents of { } ls c*.{700,300}
![Page 15: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/15.jpg)
15
Figure 3-17
The mkdir Command
![Page 16: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/16.jpg)
16
Directory Names • Use the following characters:
– Uppercase letters (A-Z) – Lowercase letters (a-z) – Numbers (0-9) – Underscore ( _ ) – Period/dot ( . )
![Page 17: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/17.jpg)
17
Directory Names • When naming a directory, avoid the following
characters:
& * \ | [ ] {}
$ <> () # ? /
“ ‘ ; ^ ! ~
Space Tab
![Page 18: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/18.jpg)
18
Example: Create a Directory Creation
Create a directory called Data under csci330 a) Using Absolute Pathname: b) Using Relative Pathname:
c) Make also missing parent directory, directory Data does not exist. mkdir -p csci330/Data/subData
usr etc dev home
ux mp tty null skel bin local ucb z036473
.cshrc .logout csci330 You are here
Data
Temp
mkdir /home/mp/z036473/csci330/Data
mkdir csci330/Data
![Page 19: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/19.jpg)
19
Figure 3-18
The cd Command
![Page 20: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/20.jpg)
20
Changing Directory
In the Data directory, go to $HOME directory a) Using Absolute Pathname: b) Using Relative Pathname:
usr etc dev home
ux mp tty null skel bin local ucb z036473
.cshrc .logout csci330
You are here Data
Temp
cd /home/mp/z036473
cd $home cd cd ~ cd ~z036473 cd ../..
![Page 21: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/21.jpg)
21
Remove Directories • To remove an empty directory – a directory that
does not contain user-created files, use the command named “rmdir”
Example: To remove a directory called “test”, which does not contain user-created files.
ux% rmdir test • To remove a non-empty directory, use the command
named “rm –r” Example: To remove a non-empty directory called
“old-data” ux% rm –r old-data
![Page 22: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/22.jpg)
Exercises • In your home directory (usually /home/students/2017xxxx)
create directory folder1 then folder2 inside folder1 • List the contents of folder1 then of folder2 • Move to folder2 • Print the current working directory • Get back to your home directory • Print the current working directory • Remove folder1 and folder2 • list the content of your home directory again.
File System
![Page 23: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/23.jpg)
23
Figure 3-22 Operations Common to Directories and Regular Files
![Page 24: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/24.jpg)
24
Copying Files
• To copy a file, use the command named “cp” • Syntax: cp source-file new-file • Commonly used options: -i if “new-file” exists, the command cp prompts for
confirmation before overwriting -p preserve permissions and modification times -r recursively copy files and subdirectories
![Page 25: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/25.jpg)
25
Copying Files • “source-file” must have read permission. • The directory that contains “source-file” must have
execute permission. • The directory that contains “new-file” must have
write and execute permissions. • Note that if “new-file” exists, you do not need the
write permission to the directory that contains it, but you must have the write permission to “new-file”.
![Page 26: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/26.jpg)
26
Moving Files • To move files from one directory to another
directory, or to re-name a file, use the command named “mv”.
• The directory that contains the source file and the destination directory must have write and execute access permissions.
![Page 27: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/27.jpg)
27
Moving Files • Syntax: mv source-file destination-file • If the destination file exists, “mv” will not
overwrite exiting file. Example: Move “assign1.txt” a different directory
and rename it to “assign1.save” ux% mv assign1.txt ~/archive/assign1.save ux% mv assign1.txt ~/archive
![Page 28: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/28.jpg)
28
Figure 3-31
Moving a File
![Page 29: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/29.jpg)
29
Rename Directories • To change the name of an existing directory, use
the command named “mv” Example: To rename the file called “unix” to
“csci330” ux% mv unix csci330 • For the above example, what happens if “csci330”
already exists in the current directory and it is the name of a directory?
![Page 30: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/30.jpg)
30
Figure 3-30
The mv Command
![Page 31: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/31.jpg)
31
Removing/Deleting Files
• You should remove un-needed files to free up disk space.
• To remove/delete files, use the command named “rm”.
• Syntax: rm file-list • Commonly used options: -f force remove regardless of permissions for “file-
list” -i prompt for confirmation before removing -r removes everything under the indicated directory
![Page 32: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/32.jpg)
32
Removing/Deleting Files • If “file-list” contains pathname, the directory
components of the pathname must have execute permission.
• The last directory that contains the file to be deleted must have execute and write permissions.
Example: Remove the file named “old-assign” ux% rm unix/assign/old-assign
![Page 33: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/33.jpg)
Examples
$ ls -l -rw-r--r-- 1 tuananh user1 16 Feb 10 19:12 test.txt
drwxr-xr-- 2 tuananh user1 512 Feb 10 19:14 mydir
$ cp test.txt mydir $ ls -l mydir -rw-r--r-- 1 tuananh user1 16 Feb 12 20:03 test.txt
$ rm –R mydir $ ls -l -rw-r--r-- 1 tuananh user1 16 Feb 10 19:12 test.txt $ rm test.txt $ ls -l $
![Page 34: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/34.jpg)
34
Recap: Common Operations on Files
![Page 35: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/35.jpg)
35
Finding Files
• The command named “find” can be used to locate a file or a directory.
• Syntax: find pathname-list expression • “find” recursively descends through pathname-list
and applies expression to every file. • Expression
• -name file_name • -perm permission_mod • -type d/f/... • -size N: N is the minimum number of block (512B) • -atime N, -mtime N, -ctime N, where is by defaut the number of
day.
![Page 36: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/36.jpg)
36
Finding Files
Example 1: Find all files, in your directory hierarchy, that have a name ending with “.bak”. ux% find ~ -name *.bak Example 2: Find all files, in your directory hierarchy, that were modified yesterday. ux% find ~ –mtime –1
![Page 37: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/37.jpg)
Example • $find /usr -name toto
• $find /usr -name " *.c »
• $find / -mtime 3
• $find / -size 2000 • All files with size more than 1 MB (= 2000 block 512 B) •
• $find / -type f -user olivier -perm 755
![Page 38: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/38.jpg)
Exercise • Write command for:
• Search for the files with name test in your personal folder • Search for the files with name .c in the whole disk • Search for the files with name ending with .conf in /etc • Search for the files with size greater than 100 MB in disk • Search for the files with name .lib and size greater than 5MB in the
whole disk
File System
![Page 39: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/39.jpg)
39
The “ln” command
• Allows file to listed in multiple directories • 2 types:
– Hard link – Symbolic link
• First: understand Unix file storage and organization
![Page 40: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/40.jpg)
40
Unix file organization
• Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system
– File system is set of data blocks – Data blocks contain
• general information • actual file data • directory information
![Page 41: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/41.jpg)
41
Figure 3-5
Blocks in a file system
![Page 42: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/42.jpg)
42
inode
• Index (or information) node: one inode per file • Each inode has unique number • contents:
– File type, access permissions, link count – UID, GID – Date and time of the file’s last
• Data access (read and execute) • Data modification (written) • I-node modification (permission change)
– Data blocks assigned to the file
![Page 43: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/43.jpg)
43
Figure 3-6
Inodes in a filesystem
![Page 44: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/44.jpg)
44
inode Contents: where is the file data ? Inode may store:
– 10 addresses of data blocks that belong to file – 1 address of a block that contains data block addresses – 1 address of a block that contains addresses of blocks
that contain data block addresses – 1 address of a block that contains addresses of blocks
that contain addresses of blocks that contain data block addresses
![Page 45: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/45.jpg)
File System
42
I-node Structure
Access, Links, and other
information
1
2
.
.
9
10
11
12
13
I-node blocks
triple indirectblock
indirect
block
blocksblocks
blocks
double indirect
block
blocks
blocks
blocks
Inode structure
![Page 46: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/46.jpg)
46
Directory representation Directory is a file:
– Has inode like regular file, but different file type – Data blocks of directory contains simple table:
Name Inode number
![Page 47: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/47.jpg)
File System
44
Example structure
. 1076
.. 2083
myfile 2764
Contents of dir12763
2764
2765
.
.
.
Data blocks
on disk
I-node
list
![Page 48: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/48.jpg)
48
Example: user view vs. system view
![Page 49: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/49.jpg)
File System
46
Output: ls -li
ux% ls -li crontab.cron 118282 -rw-r--r-- 1 krush csci 80 Feb 27 12:23 crontab.cron
I-node
![Page 50: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/50.jpg)
50
Linking Files
• To share a single file with multiple users, a link can be used.
• A link is: – A reference to a file stored elsewhere on the system. – A way to establish a connection to a file to be shared.
• Two types: – Hard link – Symbolic link (a.k.a. “soft link”)
![Page 51: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/51.jpg)
51
Hard Link
Advantages Disadvantages Allow access to original file name via the file name or the I-node number
The original file continues to exist as long as at least one directory contains its I-node
Checks for the existence of the original file
Cannot link to a file in a different file system Prevents owner from truly deleting it, and it counts against his/her disk quota
![Page 52: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/52.jpg)
52
Hard Link
54
Hard Link
home
z036473
dir3
dir1 dir2
aa
bb
From dir3, link to the file ‘aa’ in dir1
name it ‘bb’:
% ln /home/z036473/dir1/aa bb
Syntax: ln shared-file link-name
![Page 53: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/53.jpg)
53
Figure 3-32
The ln Command
![Page 54: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/54.jpg)
54
Figure 3-8
A Hard Link
![Page 55: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/55.jpg)
55
Figure 3-8
A Hard Link
57
2406
2407
2408
.
.
.
Hard Link
home
z036473
dir3
dir1 dir2
aa
bb
. 1076
.. 2083
aa 2407
Contents of dir1
. 1070
.. 2050
bb 2407
Contents of dir3
![Page 56: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/56.jpg)
Exercise • Use nano or gedit for creating a file in your personal
folder, name it file1 • Make a hardlink to file1, name the new file file2 • Show the content of file2 on screen by using
• $ cat file2
• Modify the content of file2 by using nano • Check the content of file1 with cat • Delete file1 • Check the content of file2.
File System
![Page 57: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/57.jpg)
57
Symbolic Link
Advantages Disadvantages Allow access to original file name Can use either relative or absolute path to access the original file Can cross partition and drives Allows the creation of a link to a directory
Created without checking the existence of the shared file Cannot access the shared file if its path has restricted permissions Can be circular linked to another symbolic linked file
![Page 58: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/58.jpg)
58
Symbolic Link • A hard link may not be created for a file on a
different file system • Use symbolic link • The linked files do not share the same I-node
number • link-path: relative path to the shared-file Syntax: ln –s shared-file link-path
Also called source-file Also called target-file
![Page 59: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/59.jpg)
59
Figure 3-10
Symbolic Links to Different File Systems
![Page 60: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/60.jpg)
Examples $ echo « Test content » > test.txt $ ls -l -rw-r--r-- 1 tuananh user1 8 Feb 10 1:12 test.txt
$ ln test.txt link1 $ ln -s test.txt link2 $ ls -l link* -rw-r--r-- 2 tuananh user1 16 Feb 10 1:12 link1
lrw-r--r-- 1 tuananh user1 16 Feb 10 1:13 link2->test.txt
![Page 61: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/61.jpg)
61
User’s Disk Quota
• A disk quota is set for each user account • The command: quota –v displays the user’s disk usage and limits • 2 kinds of limits:
– Soft limit: ex. 3MB • Maybe exceeded for one week • System will nag
– Hard limit: ex. 4MB • Cannot be exceeded
![Page 62: The Linux File System · Unix file organization • Computer has one or more physical hard drives • Hard drive is divided into partitions • Partition holds file system – File](https://reader034.vdocument.in/reader034/viewer/2022051903/5ff330c8d084f05fcd0b2d0a/html5/thumbnails/62.jpg)
Exercise • Use nano or gedit for creating a file in your personal
folder, name it file1 • Make a symbolic link to file1, name the new file file3 • Show the content of file3 on screen by using
• $ cat file2
• Modify the content of file3 by using nano • Check the content of file1 with cat • Move file1 to another folder • Check the content of file3. • Move file1 back • Check the content of file3
File System