Linux History and Access Command Line
Linux History and Access Command Line
http://centos.hqserv.co.il/7.8.2003/isos/x86_64/CentOS-7-x86_64-Everything-
2003.iso
Linux History:
MULTICS Project created by three companies (Bell Labs now AT & T, General
Electric (GE), MIT University) in 1969. To provide the three main functions User
friendly, Multiuser and data sharing.
This partnership ended and Bell labs decided to continue development in this
project and called it UNICS and then its name changed to UNIX it was written in
C Language in 1970.
AT&T licensed UNIX to outside parties in the late 1970s, leading to a variety of
both academic and commercial UNIX variants from vendors.
Richard Stallman is the god father of open source S/W. He makes a project called
GNU project, its objective to make the source code of the open source S/W free for
development and publish the S/W owner.
General Public license (GPL) for open source code.
In 1991 Linus Torvalds developed a new kernel based on the UNIX kernel,
RedHat founded 1994. RedHat is Commercial (Updates, Application Support and
OS Support) stable release every 5 years.
Redhat Packages: ftp://ftp.redhat.com
Centos (Community Enterprise Operating System) is a Linux distribution that
provides a free, enterprise-class, community-supported computing platform
functionally compatible with its upstream source, Red Hat Enterprise Linux
(RHEL).
Fedora is Red Hat Project (buggy release) used for developer testing and home
users. The Fedora operating system is released every 6 month.
User interactivity:
-GUI
-CLI (CMD or Shell)
-Remote Login (ssh protocol)
-Web Based Dashboard
Installation types:
-Graphical Installation
-Kickstart Installation
OS Component:
-kernel: it is the core of the operating system
-shell and libraries: shell is used to run certain libraries to compile any application
-Terminal: the window that is used to run the shell
Linux Tree:
It is inverted tree where its root is the / it is like the C partition in windows, under
this tree directories or Partitions in the following form:
/etc ==> it holds the configuration files of the system (passwd, shadows and group)
/var ==> Variable data of the system, these files are dynamically changed
(database files, mail directory, log files, printer and website content)
/usr/bin ==> user commands (binaries) ==> ls command
/usr/sbin ==> system administration ==> command blkid
/usr/local ==> used by system administrators, when installing software locally. It
needs to be safe from being overwritten when the system software is updated.
/home/ ==> standard user home (ali, ahmed, sami)
ex. /home/ali, /home/sami, /home/ahmed.
/root ==> super user home
/tmp ==> temp files that is deleted after 10 days, /var/tmp deleted every 30 days
/dev ==> system devices (hard disks)
/boot ==> to boot the operating system (grub)
/sys ==> hardware of the system
/run ==> runtime data for processes started since last boot. Include process id and
lock files. The content of this directory are recreated on reboot (journald)
/proc ==> it is the image or the view of the kernel, it is read only and cannot be
deleted.
Note:
.. ==> means the parent directory
. ==> means the current directory
Ex.
pwd ==> to know the current location on the system
cd ==> is used to change the directory
[user1@server ~]$pwd
[user1@server ~]$cd /home/iti ==> absolute path
[user1@server ~]$cd ../../root ==> relative path
[user1@server ~]$cd ~ ==> to be in home directory
[user1@server ~]$cd ==> go to home directory
To be in my home directory cd or cd ~ command
Machine:
[user1@server ~]$uname
[user1@server ~]$uname -a ==> will display FQDN, kernel, processor arch., etc…
[user1@server ~]$uname -rms ==> will display the kernel version
[user1@server ~]$clear or CTRL +l ==> used to clear the screen.
To change terminal:
CRTL+ALT+F1-F6 where F1 is the GUI
Note: there is big difference between /dir2/files and dir2/files. First one will create
the /dir2/files in the root file system ( / ) but dir2/files will create the files in the
location that you are in.
rm and rmdir:
[user1@server ~]$rmdir dir1 ==> used to remove the empty directory
[user1@server ~]$rmdir -p dir1/files --> used to remove the empty directory and
the subdirectory if it is empty.
Community: https://access.redhat.com/documentation/en-us/