!"#$command'%$!"#$%&'()*+(command,#(-&./&%($&0+(
1&23/+#(4&".&)(5(6789(
BASH cheat sheet - Level 2
Miscellaneous
\' (:#2&$+( 2*&;&2)+;<(=)($;+#+;>+#()*+(%")+;&%(>& %/+(? @(
)*+( .+A)( 2*&;&2)+;( )*&)( @?%%?B#C( B")*( )*+(
+A2+$)"?.(?@(.+B%".+<
`$comm and`$$$$$$$$$D*+(E&2F)"2F(G`H("#(&(2?--&.!(#/E#)")/)"?.<$$
&'()$*(&$'+,,&#-$.),/0#1$20,&'-),3$04%$56.25$
7*(&$'+,,&#-$.),/0#1$20,&'-),3$04%$8home8user8path'
$
D*+()+A)( E+)B++. (&($&";(?@(E&2F)"2F("#(+A+2/)+! (E '()* +(
#*+%%(E+@?;+()*+(-&".(2?--&.!( &.!( "#()*+.( ;+$%&2+!(
E'( )*+( ?/)$/)( ?@( )*&)( +A+2/)"?.<( D*+( #'.)&A(
9:command; ("#(0+.+;&%%'($;+@+;&E%+<(
(
9(( =)( ".);?!/2+#( $&;&-+)+;( +A$&.#"?.C( 2?--&.!(
#/E#)")/)"?.C( ?;( &;")*-+)"2( +A$&.#"?.<( D*+(
$&;&-+)+;((.&-+((?;((#'-E?%()?(E+(+A$&.!+!(-&'(
E+(+.2%?#+!(".(E;&2+#<(
Using variables
variable<value$
I##"0.(&(>&%/+(value()?()*+(>&;"&E%+(variable<( D*+(
>&;"&E%+(#2?$+("#(;+#);"2)+!()?()*+(#*+%%<(
=)'"='variable<value$
I##"0.(&(>&%/+(value()?()*+(%?2&%(>&;"&E%+(variable<(
=)(!?+#.,)(2?-+(?/ )(&(2/ ;%'(E;& 2F +)(&;+ &<(
&>6),-'variable<value$
J&F+( )*+( >&;"&E%+( name( &>&"%&E%+( )?( ( )*+( #*+%%(
&.!(#/E5$;?2+##+#<(
variable<9:command;$
$ $ I##"0.()*+(?/)$/)(?@(command.)?(variable<(
9?@variableA
K+.0)*(?@()*+(>&%/+(2?.)&".+!(E'()*+(>&;"&E%+<(
9?variable%NA$
L++$( )*+( 2*&;&2)+;( ?@( )*+( >&%/+( 2?.)&".+!( E'(
>&;"&E%+(&@)+;()*+(B
)*
<(
(
(
9?variable%N%length A$
M/E#);".0( )*+( >&%/+( 2?.)&".+!( E'( variable( @;?- (
)*;(N
)*
(2*&;&2)+;()?(/$()?(length $#$+2"!"+!<(
9?variable8pattern8stringA$
D*+(%?.0+#)(-&)2*(?@(pattern(&0&".#)( )*+(variable(
>&%/+("#(;+$%&2+!(B")*(string<(
Print commands
&'()$My'home'is:'$HOME' ' O;")+(&;0/-+.)#()?()*+('
7C3$()!&$04%$8()!&8user' ' #)&.!&;!(?/)$/)<'
$
&'()$D&(( :.&E%+( ".)+;$;+)&)"?.( ?@( E&2F#%&#*5
+#2&$+!(2*&;&2)+;#.
6,0#-E$ P?;-&)(&.!($;".)()*+(&;0/-+.)#<(
$
6,0#-E$FG$H9IJKH$ $$$$$$$$$$Q;".)()*+(&;0/-+.)#(#*+%%53/?)+!<(
7L$M-M#L$$
$
6,0#-E$HFNOEH$PNQQR$$ M$+2"@'()*+(!+2"-&%($;+2"#"?.<(
7PNS$
$
6,0#-E$HF4M-F4M#H$HOH$HPH$HTH$HUH$ $$$$$$$$$$$$R#(".)+;$;+)#()*+($
7O$ P$ $ $$$$$&##?2"&)+!(&;0/-+.)$
$$T$ U$ $ $$$$$%")+;&%%'(&#(#);".0<(
Using quotes
V&"/$G+)-0#1$W$!?/E%+(3/?)+$GHH( S$
(
string<HC3$()!&$04%$9X Y C Z H$
&'()$9string$
7C3$()!&$04%$8()!&8user'
T#+( B *+.( '?/( B&.)( )?( +.2%?#+( >&;"&E%+#( ?;(
/#+(#*+%%(+A$&.#"?.(".#"!+(&(#);".0<((
K-,)#1$G+)-0#1$W$#".0%+(3/?)+$GLH(S$
(
&'()$LC3$XYCZ$04%$9XYCZL$
7C3$XYCZ$04%$9XYCZ$
Q;+#+;>+#( )*+( %")+;&%( >&%/+( ?@( +&2* ( 2*&;&2)+;(
B")*".()*+(3/?)+#<(
Wildcards operators
[&1+=",$&>6,&440)#4$%$ T#+!()?(-&)2*()+A)<$
$
\$$ J&)2*+#()*+(E+0"..".0(?@()*+(%".+<$
9$$ J&)2*+#()*+(+.!(?@()*+(%".+<$
\9$ J&)2*+#(E%&.F(%".+#<$
N$$ I.'(2*&;&2)+;<$
]^$$ I.'(?@()*+(2*&;&2)+;(".#"!+()*+(E;&2F+)#<(
]\"WE^$$ J&)2*+#(&.'(2*&;&2)+;(+A2+$)()*?#+(".()*+(;&.0+(
&()?(@<(
M"$$ I(%+))+;(G#"-"%&;()?(U&5VI5WXH<$
M-$ I()&E/%&)"?. <$
M#$$ I(.+B(%".+<(
M.$ I.(&%$*&./-+;"2(GU&5VI5W75YZXH(
MV$ N?.(&%$*&./-+;"2(GD*+(?$$?#")+(?@([BH(
_$$$$ D*+($;+2+!".0(")+-(-&)2*+#(7(?;(8()"-+<$
`$$ D*+($;+2+!".0(")+-(-&)2*+#(7(?;(-?;+()"-+#<(
a$ D*+($;+2+!".0(")+-(-&)2*+#(8(?;(-?;+()"-+#<(
?BA$ D*+($;+2+!".0(")+-(-&)2*+#(+A&2)%'(N()"-+#< (
?BbA$ D*+($;+2+!".0(")+-(-&)2*+#(N()"-+#(?;(-?;+<(
?BbCA$ D*+($;+2+!".0(")+-(-&)2*+#(&)(%+&#)(N()"-+#(&.!(
.?)(-?;+()*&.(J()"-+#<(
$]%class%^$ Q\M=]( ^*&;&2)+;( ^%&##+#( GUS&%./- SXC( US&%$ *&SXC(
USE%&.FSXC( US!"0")SXC( +)2C( ;+#$+2)">+%'( +3/">&%+.)( )?(
I5W&5V75YC(I5W&5VC(#$&2+(?;(&()&EC(75YC(+)2H<((
(
c=)dd 0#1 $:e"-( #"! & $&>6"# 40)# ;$%$
$$$$$$$$$$$T#+!()?(-&)2*(@"%+.&-+G#H<(
_( I.'(#".0%+(2*&;&2)+;(
`( W+;?(?;(-?;+(2*&;&2)+;#(
]^( M$+2"@'( &( ;&.0+<( I.'( 2*&;&2)+;( ?@( )*+( ;&.0+( ?;(
.?.+(?@()*+-(E'(/#".0(f(".#"!+()*+(E; & 2F + )<(
?term1bte rm 2 A( M$+2"@'( &( %"#)( ?@( )+;-#( #+$&;&)+!( E'(
2?--&#( &.!( +& 2*( )+;-( -/#)( E+( &( .&-+( ?;( &(
B"%!2&;!<(
?-&,!ONN-&, ! PA$ ^&%%+!( E;&2+( +A$&.#"?.C( )*"#( #'.)&A(
+A$&.!#(&%%()*+()+;-#(E+)B++.(term 1 (&.!(term2(
GK+))+;#(?;(=.)+0+;#H<(
(
O")*()*+(&>-1=)d(#*+%%(?$)"?.(+.&E%+!(G2*+2F(")(B")*(4()6-H(S(
=.()*+(@?%%?B ". 0(!+#2;"$)"?.C(& (pattern6list( "#(&(% "#)(?@(?.+(
?;(-?;+($&))+;.#(#+$&;&)+!(E'(&(_<(
!"#$command'%$!"#$%&'()*+(command,#(-&./&%($&0+(
1&23/+#(4&".&)(5(6789(
(
_:pattern?list;$ J&)2*+#( V+;?( ?;( ?.+( ?22/;;+.2+( ?@( )*+(
0">+.($&))+;.#<(
`:pattern?list;$ J&)2*+#(V+;?(?;(-?;+(?22/;;+.2+#(?@()*+(
0">+.($&))+;.#<$
a:pattern?list;$ J&)2*+#(?.+(?;(-?;+( ?22/;;+.2+#( ?@()*+(
0">+.($&))+;.#<(
g:pattern?list;$ J&)2*+#(?.+(?@()*+(0">+.($&))+;.#<(
$
f:pattern?list;$$ J&)2*+#( &.')*".0( +A2+$)( ?.+( ?@( )*+(
0">+.($&))+;.#<(
(
8fM$[&1+=",$&>6,&440)#4$"#2$1=)dd0# 1$.0=2'",24$4()+=2$
#)-$d&$!0>&2$+6N$*(&3$("h&$20EE&,&#-$!&" #0# 1N$
File modification commands
tr'string1'string2$i'file$
`+$%&2+(string 1'2* &;&2)+;#( ?22/;;+. 2+#( B")*".(file ( E'(
string2. 2*&;&2)+;#( GB*+;+( )*+( @";#)( 2*&;&2)+;( ".(
#);".08("#();&.#%&)+!(".)?()*+(@";#)(2*& ;&2)+;(".(#);".06(
&.!(#?(?.H<(
(
4&2("#(&(.?.5".)+;& 2 )"> +() +A )(@"%+ (+! ")? ; (S(
(
4&2'L48pattern18pattern281j'ficOrigine'
`+$%&2+( 6"--&,#O$ ?22/;;+.2+( B")*".( file( E'( pattern2<(
D*+( 4( -+&.#( a(#/E#)")/)+(b( &.!( )*+( 1( -+&.#( a(0%?E&%(
;+$%&2-+.)(b(GN?)(?.%'()*+(@";#)(?22/;+.2+H<(
W&(S(&%%?B#(2?- E".".0(-/%)"$%+(2?--&.!#(G/#+(&(5+(E+@?;+(
+&2*(2?--&.!H<(
W0$S(:!")(@"%+#(".5$%&2+<(Gc+(2&;+@/%%(/#".0()*&)(?$)"?.H(
4&2$W#'5,106'file'
$ Q;".)(%".+#(9()?(87<'
The awk command
"./("#(&(@"+%!5?;"+.)+!($&))+;.($;?2+##".0(%&.0/&0+<(
(
awk 'BEGIN { Initial command(s) }
{ by line command(s) }
END { final command(s) }' file
9k("#(&.(+.)";+(%".+<(
9O("#()*+(@";#)(@"+%! C(9P()*+(#+2?.!C(+)2<(
(
c'( !+@&/%)C( @"+%!#( &;+( #+$&;&)+!( E'( B*")+( #$&2+<( T#+(
)*+(DJ(?$)"?.()?(!+@".+()*+(".$/)(@"+%!(#+$&;&)?;(G2&.(
E+(&(;+0/%&;(+A$;+##"?.H<(
(
( BJ( N/-E+;(?@(@"+%!#(".()*+(2/;;+.)(;+2?;!<(
( B[$ \;!".&%(./-E +;(?@()*+(2/;;+.)(;+2?;! <(
( JB[( \;! ".&%(./-E+;(?@()*+(2/;;+.)( ;+2?;!(".(
)*+(2/;;+.)(@"%+<(
(
Wh$name<9var(( ( =)(&%%?B #()? ($&## ()*+(#*+ %%(
>&;"&E%+(dvar()?(&BF(2?--&. !<(D*+(>& ;"&E%+(
"#(F.?B. (& #(nam e(B")*".()*+(&BF(2?--&.!<(
"./$L?$0E$:$2$l$pattern;$arr]$0^aaA$ZBm$?$E),$:i$0#$
arr;?6,0#-$$iA$AL$file$
( P?;(+&2*(%".+(B*+;+()*+(#+2?.!(@"+%!(-&)2*(
)*+(patternC(#&>+()*+(% ". + (& # (F + ' (".()*+(&##?2"&)">+(
&;;&'(arr(&.!(".2;+-+.)(")#(>&%/+<(I)()*+(+.!($;".)(
+&2*(F+'(?@()*+(&##?2"&)">+(&;;&'<(D*"#(B"%%(;+-?>+()*+(
!/$%"2&)+(%".+#()*&)(*&>+(-&)2*+!<(
(
"./$LJB[<<B[?arr]$4^aan#&>-A?$0E:$4$0#$arr;6,0#-$
9k$AL$file1$file2$
Q;".)(&%%(%".+#(?@(file2(B*+;+()*+(@?/;)*(@"+%!(
-&)2*+#(?.+(?@()*+()*";!(@"+%!(?@(file1<(
String commands together
command$i$file''
`+!";+2)( file( ".)? ( &( command< ( File( "#( ;+&!( &#(
#)&.!&;!(".$/)(".#)+&!(?@()*+()+;-".&%(2?-- &. !<(
(
command1$o$command2'
^?..+2)()*+(#)&.!&;!(?/)$/ )(?@()*+(%+@)(2?- - &. !(
)?()*+(#)&.!&;!(".$/)(?@()*+(;"0*)(2? - - &. !<(
(
command1';'comm and2
M+$&;&)+( )B?( 2?--&. !#<( Q+;-")( $/))".0(
#+>+;&%(2?--&.!#(?.()*+(#&-+(%".+<(
Math calculation
a( Q%/#(
a<( Q%/#5+3/&%(G".2;+-+.)(>&;"&E%+(E'(&(2?.#)&.)H(
W$ J"./#<(
W<( J"./# 5 +3 /&%(G!+ 2;+- +. )(>&;"&E %+(E'(&(
2?.#)&.)H<(
`( J/%)"$%"2&)"?.<(
`<( D"-+#5+3/&%(G-/%)"$%'(>&;"&E%+(E'(&(
2?.#)&.)H<(
8( 4">"#"?. <(
8<( M%& #* 5+3/&%(G!">"!+(>&;"&E%+(E'(&(2?.#)&.)H<(
F(( J?!/%?(G;+)/;.#()*+(;+-& ".!+;(?@(&.(".)+0+;(
!">"#"?.(?$+;&)"?.H<(
F<( J?!/%?5+3/&%(G;+-&".!+;(?@(!">"!".0(>&;"&E%+(
E'(&(2?.#)&.)H<(
``( :A$?.+.)"&)"?.<(
aa(( =.2;+-+.)(&(>&;"&E%+(E'(8<(
WW( 4+2;+-+.)(&(>&;"&E%+(E'(8<(
(
(( var = operation )) or var=$(( operation ))
I##"0.()*+( ;+#/%)( ?@( &.( &;")*-+)"2(+>&%/&)"?.(
)?()*+(>&;"&E%+(var<
8$fM $ B"-0h&=3 p"4($ '"#$ )#=3$ ("#2=&$ 0#-&1&,$
",0-(!&-0'N$
J=)"-0#1W6)0#-$",0-(!&-0'$
e?/( -/#)( !+%+0&)+( #/2*( F".!( ?@( 2&%2/%( )?( #$ +2"@"2(
2?--&.!(%".+()??%(&#(d'<(
(
echo "operation" | bc –l
Display the result of a floating-point
arithmetic.
var=$(echo "operation " | bc -l)
Assign the floating-point arithmetic result
to the variable var.