\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{karthikmgs} \pdfinfo{ /Title (developer-cheatsheet.pdf) /Creator (Cheatography) /Author (karthikmgs) /Subject (Developer Cheatsheet Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{E3324A} \definecolor{LightBackground}{HTML}{FDF2F3} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{Developer Cheatsheet Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{karthikmgs} via \textcolor{DarkBackground}{\uline{cheatography.com/41761/cs/12623/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}karthikmgs \\ \uline{cheatography.com/karthikmgs} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 26th August, 2017.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{2} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Zip Files}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\bf{tar -cvf sample1.tar /home/sample1dir/}} \newline % Row Count 1 (+ 1) where, \newline % Row Count 2 (+ 1) c – Creates a new .tar archive file. \newline % Row Count 3 (+ 1) v – Verbosely show the .tar file progress. \newline % Row Count 4 (+ 1) f – File name type of the archive file. \newline % Row Count 5 (+ 1) Above command creates a "sample1.tar" file by zipping "/home/sample1dir/" directory.% Row Count 7 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{gzip archive}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{To create a compressed gzip archive file we use the option as z: \newline % Row Count 2 (+ 2) {\bf{tar cvzf sample2.tar.gz /home/sample2dir}} \newline % Row Count 3 (+ 1) or \newline % Row Count 4 (+ 1) {\bf{tar cvzf sample3.tgz /home/sample3dir}}% Row Count 5 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{tar.bz2 archive}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{The bz2 feature compress and create archive file less than the size of the gzip. The bz2 compression takes more time to compress and decompress files as compared to gzip which takes less time. To create highly compressed tar file we use option as j. \newline % Row Count 5 (+ 5) {\bf{tar cvfj sample4.tar.bz2 /home/sample4}} \newline % Row Count 6 (+ 1) OR \newline % Row Count 7 (+ 1) {\bf{tar cvfj sample5.tar.tbz /home/sample5}} \newline % Row Count 8 (+ 1) OR \newline % Row Count 9 (+ 1) {\bf{tar cvfj sample6.tar.tb2 /home/sample6}}% Row Count 10 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Add Files or directories to tar Archive files}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{To add files or directories to existing tar archived file we use the option r (append) \newline % Row Count 2 (+ 2) {\bf{tar -rvf sample1.tar xyz.txt}}% Row Count 3 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{untar archive file}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{To untar or extract a tar file, just issue following command using option x (extract). \newline % Row Count 2 (+ 2) {\bf{tar -xvf sample1.tar}} \newline % Row Count 3 (+ 1) This command extracts the file in current directory% Row Count 5 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{untar file in different directory}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{To untar in a different directory then use option as "-C \textless{}specified\_directory\textgreater{}" \newline % Row Count 2 (+ 2) {\bf{tar -xvf samle1.tar -C /targetDir/}}% Row Count 3 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{3.04 cm} x{4.96 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Uncompress Files}} \tn % Row 0 \SetRowColor{LightBackground} tar -xvf sample2.tar.gz & Uncompress tar.gz files \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} tar -xvf \seqsplit{sample3.tar.bz2} & Uncompress tar.bz2 files \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} tar -tvf sample1.tar & Lists content of tar file {\emph{(t- list content)}} \tn % Row Count 6 (+ 2) % Row 3 \SetRowColor{white} tar -tvf sample2.tar.gz & Lists content of tar.gz file {\emph{(t- list content)}} \tn % Row Count 8 (+ 2) % Row 4 \SetRowColor{LightBackground} tar -tvf \seqsplit{sample3.tar.bz2} & Lists content of tar.bz2 file \tn % Row Count 10 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Untar single file from tar archive file}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{To extract only specific file from archive file: \newline % Row Count 1 (+ 1) For *.tar: \newline % Row Count 2 (+ 1) {\bf{tar -xvf sample1.tar process.sh}} \newline % Row Count 3 (+ 1) (or) \newline % Row Count 4 (+ 1) {\bf{tar -{}-extract -{}-file=sample1.tar process.sh}} \newline % Row Count 5 (+ 1) For *.tar.gz: \newline % Row Count 6 (+ 1) {\bf{tar -zxvf codedir.tar.gz pom.xml}} \newline % Row Count 7 (+ 1) (or) \newline % Row Count 8 (+ 1) {\bf{tar -{}-extract -{}-file=codedir.tar.gz pom.xml}} \newline % Row Count 9 (+ 1) For *.tar.bz2 \newline % Row Count 10 (+ 1) {\bf{tar -jxvf phpfiles.tar.bz2 home/php/index.php}} \newline % Row Count 11 (+ 1) (or) \newline % Row Count 12 (+ 1) {\bf{tar -{}-extract -{}-file=phpfiles.tar.bz2 /home/php/index.php}}% Row Count 14 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Untar multiple files}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{To extract or untar multiple files from the tar, tar.gz and tar.bz2 archive file. For example the below command will extract "file 1" "file 2" from the archive files. \newline % Row Count 4 (+ 4) tar -xvf sample1.tar "file 1" "file 2" \newline % Row Count 5 (+ 1) tar -zxvf sample2.tar.gz "file 1" "file 2" \newline % Row Count 6 (+ 1) tar -jxvf sample3.tar.bz2 "file 1" "file 2"% Row Count 7 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Extract group of files using wildcard}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\bf{tar -xvf sample1.tar -{}-wildcards '*.php'}} \newline % Row Count 1 (+ 1) {\bf{tar -zxvf sample2.tar.gz -{}-wildcards '*.php'}} \newline % Row Count 2 (+ 1) {\bf{tar -jxvf sample3.tar.bz2 -{}-wildcards '*.php'}}% Row Count 3 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Check size of tar file}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Following command shows the size of archive file in KB: \newline % Row Count 2 (+ 2) {\bf{tar -czf - sample1.tar | wc -c}} \newline % Row Count 3 (+ 1) {\bf{tar -czf - sample2.tar.gz | wc -c}} \newline % Row Count 4 (+ 1) {\bf{tar -czf - sample3.tar.bz2 | wc -c}}% Row Count 5 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Tar command attributes}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{c – create a archive file. \newline % Row Count 1 (+ 1) x – extract a archive file. \newline % Row Count 2 (+ 1) v – show the progress of archive file. \newline % Row Count 3 (+ 1) f – filename of archive file. \newline % Row Count 4 (+ 1) t – viewing content of archive file. \newline % Row Count 5 (+ 1) j – filter archive through bzip2. \newline % Row Count 6 (+ 1) z – filter archive through gzip. \newline % Row Count 7 (+ 1) r – append or update files or directories to existing archive file. \newline % Row Count 9 (+ 2) W – Verify a archive file. \newline % Row Count 10 (+ 1) wildcards – Specify patterns in unix tar command% Row Count 11 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}