When I first started out with Linux, I was having trouble understanding the basic commands such as
rsync, etc. What got me with those commands was the SOURCE and DEST options until I figured out the arrow law.
rsync command looks like this:
rsync -av /home/andrew/file1.txt /opt/andrew/file2.txt
Where as a basic tar command looks like this:
tar -cJf tarfile.xz /home/andrew/file1.txt
rsync example, the SOURCE came first. In the
tar example, the DEST came first. Did I really have to learn every command to know which order my commands were supposed to be in?
There are a few quirks, but most commands follow the arrow law:
-> . SOURCE should come first – then DEST.
To place the
tar command in the arrow law way, we would write the command like the example below. Tar allows the use of multiple source locations in the form of files or folders. Each source is then compress and place in the file.
tar -cJ /home/andrew/file1.txt /opt /folder -f files.xz
At a glance, one should easily recognize that the
-f indicates the DEST/SOURCE file to be worked on by the
tar command. Thus by typing the extraction command as the below is following the arrow law.
tar -xvJf files.xz
The command that really confused me the most was the
ln. By using the arrow law, it was easy to figure this one out. (note: in the below example
-s is the option for making a symbolic link – not to indicate the source.)
ln -s /opt /home/andrew/opt
In human readable terms, the above command means the following: take
/opt and make it accessible by going to