Linux consists of: FILES and PROCESSES
1) files
a) plain
b) directory
c) special (character/block)
d) other special
2) processes
stdin, stdout, stderr (input, output and error processes)
piping, the use of interprocess communications to transfer stdout to stdin: ps -ef | more
FIVE BASIC COMMANDS:
1) man
2) ls
3) cd
4) pwd
5) more
the environment configuration file for the user's shell: .bashrc
within the .bashrc the following are the main sections:
1) prompt
2) path
3) umask (022 creates 644 files, 755 directories - see man chmod)
4) history tools
5) command line editor: vi
6) alias of commands
--> vi .bashrc
#######################################################################################################
## 1-PROMPT PS1 SETTING ################################# - updated 10 July 2012 - jem
#######################################################################################################
export PS1="
------------------------------------------------
$(whoami)@`hostname` [\$PWD]
------------------------------------------------
--> "
##########
export PROMPT_COMMAND='echo -ne "\033]0;__`hostname` --- `date +%a--%d.%b.%y` ---> ${PWD}\007"'
#######################################################################################################
## 2 - PATH SETTING ##################################################################################
#######################################################################################################
export PATH=$PATH:/usr/bin/:~/bin:/bin:/sbin/:/usr/sbin:~:/etc:/usr/local/sbin:/usr/local/bin:.
#######################################################################################################
# (note this file can be copied and used by the root user, but NEVER include the "." in the path
#######################################################################################################
#######################################################################################################
## 3 - umask SETTING #################################################################################
#######################################################################################################
umask 022 # creates files with 644 and directories with 755 permissions - see chmod
#######################################################################################################
## 4 - history SETTING (change john to your userid ) #################################################
#######################################################################################################
if [ ! -d /home/john/.History ]
then
/bin/mkdir /home/john/.History
/bin/echo "history directory made"
fi
HISTFILE="/home/john/.History/`/bin/date '+%d%b%y_%H%M'.history`" ; export HISTFILE
HISTSIZE=1024; export HISTSIZE
#######################################################################################################
## 5 - command line editor: vi SETTING ##############################################################
#######################################################################################################
EDITOR=/usr/bin/vi; export EDITOR
VISUAL=/usr/bin/vi; export VISUAL
set -o vi
#######################################################################################################
## 6 - alias SETTINGS ##############################################################
#######################################################################################################
alias l="/bin/ls -al"
alias ll="/bin/ls -l"
alias lm="/bin/ls -l | more"
alias mv="/bin/mv -i"
alias cp="/bin/cp -i"
alias rm="rm -i"
alias mroe=more
alias dfh='/bin/df -h | /bin/grep sd'
alias vi="/usr/bin/vim"
#######################################################################################################
practice exercise - create text files from man pages and write a short script
---------------------------------------------------------------
1) mkdir LAB
2) cd LAB
(if history recalls doesn't work with jk, etc. then type: set -o vi )
3) for each x - insert LPI cert commands, create script below and run by typing: "sh ./create-man-pages.sh"
after you've created the SCRIPT below.
the basic command: man $x | col -b > man.$x.txt
dmesg bootloader ldd ldconfig dpkg dpkg-reconfigure apt-get apt-cache
aptitude rpm rpm2cpio yum yumdownloader bash echo env exec export pwd set unset man
uname history cat cut expand fmt head od join nl paste pr sed sort split tail tr
unexpand uniq wc cp find mkdir mv ls rm rmdir touch tar cpio dd file gzip
gunzip bzip2 tee xargs bg fg jobs kill nohup ps top free uptime killall nice ps renice
grep egrep fgrep sed regex vi fdisk mkfs mkswap du df fsck e2fsck mke2fs debugfs dumpe2fs
tune2fs mount umount quota edquota repquota quotaon chmod umask chown chgrp find
locate updatedb whereis which type
CREATE THIS SCRIPT:
4) vi create-man-pages.sh
#!/bin/bash
# script with test and loop
TOOL="dmesg bootloader ldd ldconfig dpkg dpkg-reconfigure apt-get apt-cache aptitude rpm rpm2cpio yum
yumdownloader bash echo env exec export pwd set unset man uname history cat cut expand fmt head od
join nl paste pr sed sort split tail tr unexpand uniq wc cp find mkdir mv ls rm rmdir touch tar
cpio dd file gzip gunzip bzip2 tee xargs bg fg jobs kill nohup ps top free uptime killall nice ps
renice top grep egrep fgrep sed regex vi fdisk mkfs mkswap du df fsck e2fsck mke2fs debugfs dumpe2fs
tune2fs mount umount quota edquota repquota quotaon chmod umask chown chgrp find locate updatedb
whereis which type" ; export TOOL
#
#
for x in $TOOL
do
man $x | col -b > man.$x.txt
done
ls -al
5) execute the script:
sh ./create-man-pages.sh
6) count all the lines of text created:
cat *.txt | wc -l
to delete lines while editing files in vi:
:%s/\n\n/\n/g # results in a file with ^@ - not the desired effect
:%s$\n\n$\n$g # (\n = new line... ) - results in a file with ^@ - not the desired effect
:g/^\s*$/d # (\s shortcut for string)
:g/^[]*$/d # (in brackets press tab and space)
misc info:
https://help.ubuntu.com/community/SwitchingToUbuntu/FromLinux/RedHatEnterpriseLinuxAndFedora
Revolution OS - a must see documentary on Linux and OpenSource!
a few introductory slides on Linux
########################################################################################################