\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{Sara (lasago)} \pdfinfo{ /Title (ubuntu-commands.pdf) /Creator (Cheatography) /Author (Sara (lasago)) /Subject (Ubuntu commands 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}{4A021F} \definecolor{LightBackground}{HTML}{F9F7F8} \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{Ubuntu commands Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{Sara (lasago)} via \textcolor{DarkBackground}{\uline{cheatography.com/70899/cs/19987/}}} \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}Sara (lasago) \\ \uline{cheatography.com/lasago} \\ \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 30th December, 2020.\\ 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*}{3} \begin{tabularx}{5.377cm}{p{0.4977 cm} x{4.4793 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Storage management}} \tn % Row 0 \SetRowColor{LightBackground} df & shows the amount of disk space used and disk space available on every file system containing each filesystem's name and its path \tn % Row Count 4 (+ 4) % Row 1 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{df -h} \tn % Row Count 5 (+ 1) % Row 2 \SetRowColor{LightBackground} free & displays the amount of free and used memory in the complete system \tn % Row Count 7 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{p{0.64701 cm} x{4.32999 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Processes}} \tn % Row 0 \SetRowColor{LightBackground} ps & process status command is used to provide information about the processes currently running on the system, including their respective process identification numbers (PIDs). \tn % Row Count 6 (+ 6) % Row 1 \SetRowColor{white} \seqsplit{uptime} & information about how long the system has been running in one line. Result for this command includes the current time, the time duration system has been running for, the number of users who are currently logged on, and the system load averages for the past 1, 5, and 15 minutes respectively. \tn % Row Count 15 (+ 9) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{1.24425 cm} x{3.73275 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{User management}} \tn % Row 0 \SetRowColor{LightBackground} w & displays the detailed information about the users who are logged in the system currently. \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} passwd {\emph{name}} & change the password of the user \tn % Row Count 5 (+ 2) % Row 2 \SetRowColor{LightBackground} exit & logout from the current user \tn % Row Count 6 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{p{0.4977 cm} p{0.4977 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Power off}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{shutdown} \tn % Row Count 1 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.4885 cm} x{2.4885 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{File handling}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{mkdir {\emph{dir}}} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{rmdir {\emph{dir}}} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{rm {\emph{file}}} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{mv {\emph{file or folder}}} \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} mv {\emph{file1}} {\emph{file2}} & move content of file1 onto file2, deleting file1 \tn % Row Count 7 (+ 3) % Row 5 \SetRowColor{white} mv {\emph{file}} {\emph{new\_name}} & renaming file1 \tn % Row Count 8 (+ 1) % Row 6 \SetRowColor{LightBackground} cp {\emph{A}} {\emph{B}} & copy all the data from file A to file B and user can still access both files (A and B). \tn % Row Count 13 (+ 5) % Row 7 \SetRowColor{white} cat {\emph{file}} & show file content \tn % Row Count 14 (+ 1) % Row 8 \SetRowColor{LightBackground} cat {\emph{file1}} {\emph{file2}} & show file content of both \tn % Row Count 16 (+ 2) % Row 9 \SetRowColor{white} cat {\emph{file1}} {\emph{file2}} \textgreater{} {\emph{file\_output}} & the user can create a new file (File\_Output) and append data from both the files (File1 and File2) into this new file named as File\_Output by using operand "\textgreater{}". \tn % Row Count 25 (+ 9) % Row 10 \SetRowColor{LightBackground} head -{\emph{number}} {\emph{file}}.txt & The command "head" prints the top N rows of data of the given input or file. By default, it prints the first 10 lines of the specified files \tn % Row Count 33 (+ 8) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{x{2.4885 cm} x{2.4885 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{File handling (cont)}} \tn % Row 11 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{tail} \tn % Row Count 1 (+ 1) % Row 12 \SetRowColor{white} echo {\emph{expression}} & used to display any expression that is passed as an argument. \tn % Row Count 5 (+ 4) % Row 13 \SetRowColor{LightBackground} grep "{\emph{text\_portion}}" {\emph{file\_or\_folder}} & used to search for a text in the specified file/folder. \tn % Row Count 8 (+ 3) % Row 14 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{zip {\emph{zip\_file}}.zip {\emph{file1}} {\emph{file2}} {\emph{file3}}} \tn % Row Count 9 (+ 1) % Row 15 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{unzip {\emph{zip\_files}}.zip} \tn % Row Count 10 (+ 1) % Row 16 \SetRowColor{white} tar -xvf archive.tar.gz -C \seqsplit{/home/linuxize/files} & unzip .tar.gz file onto another directory \tn % Row Count 13 (+ 3) % Row 17 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{sudo -i} \tn % Row Count 14 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{\seqsplit{https://linuxize.com/post/how-to-extract-unzip-tar-gz-file/}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{1.24425 cm} x{3.73275 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Basic commands}} \tn % Row 0 \SetRowColor{LightBackground} history & command history \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} history -c & clear previous history \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{help} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} man {\emph{command}} & displays user manual of said command \tn % Row Count 5 (+ 2) % Row 4 \SetRowColor{LightBackground} dir & display list of all directories in current directory \tn % Row Count 7 (+ 2) % Row 5 \SetRowColor{white} ls & displays the list of all directories, folder, and files present in the current directory. \tn % Row Count 10 (+ 3) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{cd} \tn % Row Count 11 (+ 1) % Row 7 \SetRowColor{white} pwd & displays the path of the current directory user is operating in via Termina \tn % Row Count 14 (+ 3) % Row 8 \SetRowColor{LightBackground} clear & clear terminal screen \tn % Row Count 15 (+ 1) % Row 9 \SetRowColor{white} whereis & displays the path where the package for specific built-in Linux command locates \tn % Row Count 18 (+ 3) % Row 10 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{whatis} \tn % Row Count 19 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.73735 cm} x{2.23965 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Packages}} \tn % Row 0 \SetRowColor{LightBackground} apt list -{}-installed & List all installed packages \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} sudo apt-get purge -{}-auto-remove packagename & Remove packages with dependencies \tn % Row Count 4 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}