Linux Commands Part 5 - 8
Tags: linux-com-book
What are commands
An executable program
A program built into the shell itself
A shell function
A alias
Commands
to know command is of which type :
type commandto the exact location of executable :
which lsin bash, to get info regarding shell built-ins :
help cdto display program’s manual page :
man programto search the list of man pages for possible matches based on a search term
-> apropos partition
#output :
addpart (8) - tell the kernel about the existence of a partition
cfdisk (8) - display or manipulate a disk partition table
cgdisk (8) - Curses-based GUID partition table (GPT) manipulator
delpart (8) - tell the kernel to forget about a partition
fdisk (8) - manipulate disk partition table
...to display one-line manual page description :
whatis lsalternative to man page :
info coreutilsto create alias command :
alias foo=”cd programm && code .”
Input Output Commands
to redirect standard output to a file :
[me@linuxbox ~]$ ls -l /usr/bin > ls-output.txt“>” also clears the whole file and adds the new content
“>>” will append the content to the file at the end
Error message aren’t send to file unless specified in the command, they are sent to standard error
There are 3 types of file streams
Input
Output
Error
# redirect standard error to file
ls -l /bin/usr 2> ls-error.txt
# redirecting standard output to standard error
ls -l /bin/usr > ls-output.txt 2>&1
# modern way to redirect output
ls -l /bin/usr &> ls-output.txt
# disposing unwanted output
ls -l /bin/usr 2> /dev/nullPipelines
The capability of commands to read data from standard input and send to standard output.
to view a long output :
ls -l /usr/bin | lessPipelines are used along with filter
Ex :
ls -l /usr/bin | sort | less
The Difference Between > and |
Simply put, the redirection operator connects a command with a file, while the pipeline operator connects the output of one command with the input of a second command.
uniqis used to remove duplicate lines, mostly placed after sortwc: to print Print Line, Word, and Byte Counts :wc names.txtgrep to filter out using keyword :
ls /bin /usr/bin | sort | uniq | grep zipheadto print the first part of file-n xto print first/last x lines
tailto print the last part of file-fto keep watching file for changes
tee: program reads standard input and copies it to both standard output (allowing the data to continue down the pipeline) and to one or more files
The world of Echo
print something to terminal
➜ ~ echo "hello world"
hello world
# print file starting with D
➜ ~ echo D*
Desktop Documents Downloads
# print upper case
[me@linuxbox ~]$ echo [[:upper:]]*
Desktop Documents Music Pictures Public Templates Videos
# print matching directories
[me@linuxbox ~]$ echo /usr/*/share
/usr/kerberos/share /usr/local/shareArithmetic Expression
➜ ~ echo $((2 + 2))
4
➜ ~ echo $(($((5**2)) * 3))
75Brace Expression
➜ ~ echo Front-{A,B,C}-Back
Front-A-Back Front-B-Back Front-C-Back
➜ ~ echo Number_{1..5}
Number_1 Number_2 Number_3 Number_4 Number_5
# In bash version 4.0 and newer,
# integers may also be zero-padded like so:
[me@linuxbox ~]$ echo {01..15}
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
# with numbers
[me@linuxbox ~]$ echo {001..15}
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015
# Here is a range of letters in reverse order
[me@linuxbox ~]$ echo {Z..A}
Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
# Brace expansions may be nested.
[me@linuxbox ~]$ echo a{A{1,2},B{3,4}}b
aA1b aA2b aB3b aB4b
# making dir with braces
- ~ mkdir {2007..2009}-{01..12}
[me@linuxbox Photos]$ ls
2007-01 2007-07 2008-01 2008-07 2009-01 2009-07
2007-02 2007-08 2008-02 2008-08 2009-02 2009-08
2007-03 2007-09 2008-03 2008-09 2009-03 2009-09
2007-04 2007-10 2008-04 2008-10 2009-04 2009-10
2007-05 2007-11 2008-05 2008-11 2009-05 2009-11
2007-06 2007-12 2008-06 2008-12 2009-06 2009-12use “” to print the string as it is
use ** to as escape character
!200will give the command in history at line 200
Last updated
Was this helpful?