Files
inode
inode = index node. A data structure describes a file or a directory. For a user, a file is a path like /home/yourname/whatever.txt; for the operating system, an inode is used to store the extra info about the file, like file type, owner, group, who can access the file, size of the file, last modified time, etc.
Manage Files
Create Files
$ touch a.txt             # Create an empty file
$ echo "hello" > b.txt    # Create a file with "hello"
$ echo "world" >> b.txt   # append content to the existing file
Remove Files
$ rm a.txt
Manage Directories
$ mkdir dir1
$ rmdir dir1
$ rm -r dir2
Manage Links
ln -s will create symbolic links, or soft links, or symlinks (calling symlink system call), while without -s will create hard links (calling link system call).
$ sudo ln -s <source_path> <target_path>
For example:
$ ln -s 0.1.0-SNAPSHOT/ snapshot
$ ls -l
... snapshot -> 0.1.0-SNAPSHOT/
File Info
Use ls -l to check file info:
$ ls -l
-rw-rw-rw- 1 ubuntu ubuntu    13 Mar 12 16:56 a.txt
Type
The first char is the type of the file:
-: regular filed: directoryl: symbolic link
Permissions
Next are 3 groups of rwx describing the permissions:
- 1st 
rwx: permissions for owner of the file - 2nd 
rwx: permissions for group owners of the file - 3rd 
rwx: permissions for all other users 
where
r: permission to readw: permission to writex: permission to execute-: no permission
Instead of rwx, we can also use a number between 0 and 7 to describe the permissions: map rwx to the binary form of the number, for example,
7=>111=>rwx: you have all the permissions6=>110=>rw-: you can read or write but not execute5=>101=>r-x: you can read or execute but not edit4=>100=>r--: read only0=>0=>---: no permission at all
Then a file's permission can be described by 3 numbers, e.g. 755 is equivalent to rwxr-xr-x.
To change a file's permission, use chmod
$ chmod 755 a.txt
or use something like this if you do not like the numbers:
$ chmod a+rw a.txt
where a is for all users, + is to add permissions, rw is for read and write. Check $ man chmod for all available options.
Owners
-rw-rw-rw- 1 ubuntu ubuntu    13 Mar 12 16:56 a.txt
             ------ ------
                |      |
                |      |---- group owner of the file
                |----------- owner of the file
To change owners, use chown:
$ sudo chown root:root a.txt
The first root is the OWNER while the second root is the GROUP.
List Files
Show file size in different unit
$ ls -l --block-size=M
$ ls -l --block-size=K
Set Color
$ ls --color=auto
$ ls --color=tty
$ ls --color=none
Search Files
Find files with .txt suffix in home directory
$ find ~ -name "*.txt"
Or use locate
$ locate passwd
locate uses a database (using updatedb) rather than hunting individual directory paths.
which is used for locating binaries; whereis lists locations for binaries, sources, and man pages.
grep is used to search inside the content.