Introduction to Unix CLI: Difference between revisions

From HPC documentation portal
Line 32: Line 32:
</pre>
</pre>
===pwd===
===pwd===
''pwd'' prints the full name of the current working directory.
''pwd'' prints the full name of the current working directory.
Line 37: Line 38:
/tmp/test/course2015
/tmp/test/course2015
</pre>
</pre>
===cd===
===cd===
''cd'' changes the current working directory to the specified directory name. If no directory is specified than ''cd'' changes current working directory to users home directory.
''cd'' changes the current working directory to the specified directory name. If no directory is specified than ''cd'' changes current working directory to users home directory.
''cd'' supports relative and absolute paths. Additionally shortcuts like ''~'' (points to user's home directory).
<pre>$ pwd
<pre>$ pwd
/tmp/test/course2015
/tmp/test/course2015
Line 50: Line 53:
$ pwd
$ pwd
/home/lorand/bin
/home/lorand/bin
$ # Change back to previous directory
$ cd -
</pre>
</pre>
===mkdir===
===mkdir===
''mkdir'' command creates (makes) directories if they do not exist.
''mkdir'' command creates directories if they do not exist.
<pre>$ mkdir build
<pre>$ mkdir build
$ # Create a whole directory structure
$ # Create a whole directory structure
Line 58: Line 64:
</pre>
</pre>


===ls===
''ls'' command lists content of the current or the specified directory.
One of the most used options for ''ls'' is "-l", which will generate a long list format. "-a" will list all files and folders, even hidden ones.<br />
'''NB:''' Files, directories starting with "." character are treated as hidden files.
<pre>
$ ls
GConf                                  libegroupwise-1.2.so.13                    libospf.so.0.0.0
ImageMagick-6.4.3                      libegroupwise-1.2.so.13.0.1                libossp-uuid.so.16
Mcrt1.o                                libelf-0.152.so                            libossp-uuid.so.16.0.22
PackageKitDbusTest.py                  libelf.so.0                                libp11.so.1
$ ls -l
total 806992
drwxr-xr-x  3 root root    4096 Mar 11  2012 GConf
drwxr-xr-x  4 root root    4096 Nov 18  2014 ImageMagick-6.4.3
-rw-r--r--  1 root root    1358 Oct  8 20:07 Mcrt1.o
-rw-r--r--  1 root root    3383 May 29  2013 PackageKitDbusTest.py
-rw-r--r--  1 root root    4267 Oct  8 20:07 Scrt1.o
</pre>
{{expand}}
{{expand}}


[[Category:Hexagon]]
[[Category:Hexagon]]
[[Category:Fimm]]
[[Category:Fimm]]

Revision as of 13:44, 26 October 2015

What is Unix CLI?

Unix CLI is actually the shell, a text interface to the operating system. Shell interprets and executes your commands and their arguments by passing them to the operating system.
There are different shell variants, like bash, csh, ksh, sh, tcsh, etc., probably the most popular being bash. The name “bash” is an acronym for “Bourne Again SHell” and is an enhanced replacement for sh. In this short introductory we are going to cover bash.

Bash

Bash is an interactive and scriptable shell. Supports name expansion, wildcards and typing shortcuts.

Note: Interaction with bash is case-sensitive just like everything in Unix system.

Some useful shortcuts:

TAB, UP, DOWN, Ctrl+R, Esc+.

Popular commands

man

man is the system's manual pager. It is an interface to on-line manuals. man has it's own manual pager.

$ # Show default man page for top command
$ man sleep
$ # Show all manual pages for top command, successively
$ man -a sleep

Whenever you are uncertain what a command does, what options and argument can be passed to, man is your friend.

apropos

apropos searches the manual page names and descriptions for the specified keyword.

$ apropos shell
bash                 (1)  - GNU Bourne-Again SHell
bash [sh]            (1)  - GNU Bourne-Again SHell
capsh                (1)  - capability shell wrapper
chroot               (1)  - run command or interactive shell with special root directory
chsh                 (1)  - change your login shell
…

pwd

pwd prints the full name of the current working directory.

$ pwd
/tmp/test/course2015

cd

cd changes the current working directory to the specified directory name. If no directory is specified than cd changes current working directory to users home directory. cd supports relative and absolute paths. Additionally shortcuts like ~ (points to user's home directory).

$ pwd
/tmp/test/course2015
$ cd bin
$ pwd
/tmp/test/course2015/bin
$ cd ../../src
$ pwd
/tmp/test/src
$ cd ~/bin
$ pwd
/home/lorand/bin
$ # Change back to previous directory
$ cd -

mkdir

mkdir command creates directories if they do not exist.

$ mkdir build
$ # Create a whole directory structure
$ mkdir -p ~/build/wrf/3.7

ls

ls command lists content of the current or the specified directory. One of the most used options for ls is "-l", which will generate a long list format. "-a" will list all files and folders, even hidden ones.
NB: Files, directories starting with "." character are treated as hidden files.

$ ls
GConf                                   libegroupwise-1.2.so.13                     libospf.so.0.0.0
ImageMagick-6.4.3                       libegroupwise-1.2.so.13.0.1                 libossp-uuid.so.16
Mcrt1.o                                 libelf-0.152.so                             libossp-uuid.so.16.0.22
PackageKitDbusTest.py                   libelf.so.0                                 libp11.so.1
…

$ ls -l
total 806992
drwxr-xr-x  3 root root     4096 Mar 11  2012 GConf
drwxr-xr-x  4 root root     4096 Nov 18  2014 ImageMagick-6.4.3
-rw-r--r--  1 root root     1358 Oct  8 20:07 Mcrt1.o
-rw-r--r--  1 root root     3383 May 29  2013 PackageKitDbusTest.py
-rw-r--r--  1 root root     4267 Oct  8 20:07 Scrt1.o
…

Template:Expand