Difference Between Symbolic Link and Hard Link - Toolbox for IT Groups



* All inodes are created for a filesystem when the filesystem is created.
* Each file, directory, soft link, device, etc. that is tracked by the filesystem is assigned an inode # when it is created. (The filesystem treats all these things as "files.")
* The inode is a data strcuture that keeps track of many pieces of information related to the "file", including user owner and group owner IDs, file type (regular, directory, etc.), size of the file, # of hard links to the file (set to 1 for a regular file with no hard links and incremented for each hard link), disk addresses (where the file is physically located on the disk), etc.

Since each hard link pointing to the same data on the disk uses the same inode # to refer to the data, any change to the data will be seen by ALL users with a hard link to the data (the original file owner and any hard link owners).

What is a hard link? 
A hard link is an additional name for an existing file on Linux or Unix-like OS. Any number of hard links, and thus any number of names, can be created for any file. Hard links can also be created to other hard links. However, they cannot be created for directories, and they cannot cross file system boundaries or span across partitions. 
command: ln file1 hardlink1 

What is a symbolic link? 
Also called soft link, is a special kind of file that points to another file. Unlike a hard link, a symbolic link does not contain the data in the target file. It simply points to another entry somewhere in the file system. 

a.) Soft link files have different inode numbers than source file
b.) The soft link file will be of no use if original file is deleted. 
c.) Soft links are not updated
d.) They can create links between directories
e.) They can cross file system boundaries
Read full article from Difference Between Symbolic Link and Hard Link - Toolbox for IT Groups

No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts