Linux Bash Shell Cheat Sheet for Beginners

Davide Ciambelli
Davide CiambelliConsultant um Like Reply
freeworld.posterous.com




               Linux Bash Shell
                  Cheat Sheet

                          (works with about every distribution, except for apt-get which is Ubuntu/Debian exclusive)



Legend:

Everything in “<>” is to be replaced, ex: <fileName> --> iLovePeanuts.txt
Don't include the '=' in your commands
'..' means that more than one file can be affected with only one command ex: rm
file.txt file2.txt movie.mov .. ..
Linux Bash Shell Cheat Sheet
                                                                Basic Commands

Basic Terminal Shortcuts                                                                Basic file manipulation
CTRL L = Clear the terminal                                                             cat <fileName> = show content of file
CTRL D = Logout                                                                                      (less, more)
SHIFT Page Up/Down = Go up/down the terminal                                            head = from the top
CTRL A = Cursor to start of line                                                              -n <#oflines> <fileName>
CTRL E = Cursor the end of line
CTRL U = Delete left of the cursor                                                      tail = from the bottom
CTRL K = Delete right of the cursor                                                           -n <#oflines> <fileName>
CTRL W = Delete word on the left
CTRL Y = Paste (after CTRL U,K or W)                                                    mkdir = create new folder
TAB = auto completion of file or command                                                mkdir myStuff ..
CTRL R = reverse search history                                                         mkdir myStuff/pictures/ ..
!! = repeat last command
CTRL Z = stops the current command (resume with fg in foreground or bg in background)   cp image.jpg newimage.jpg = copy and rename a file
Basic Terminal Navigation                                                               cp   image.jpg <folderName>/ = copy to folder
                                                                                        cp   image.jpg folder/sameImageNewName.jpg
ls   -a = list all files and folders                                                    cp   -R stuff otherStuff = copy and rename a folder
ls   <folderName> = list files in folder                                                cp   *.txt stuff/ = copy all of *<file type> to folder
ls   -lh = Detailed list, Human readable
ls   -l *.jpg = list jpeg files only                                                    mv   file.txt Documents/ = move file to a folder
ls   -lh <fileName> = Result for file only                                              mv   <folderName> <folderName2> = move folder in folder
                                                                                        mv   filename.txt filename2.txt = rename file
cd <folderName> = change directory                                                      mv   <fileName> stuff/newfileName
      if folder name has spaces use “ “                                                 mv   <folderName>/ .. = move folder up in hierarchy
cd / = go to root
cd .. = go up one folder, tip: ../../../                                                rm   <fileName> .. = delete file (s)
                                                                                        rm   -i <fileName> .. = ask for confirmation each file
du -h: Disk usage of folders, human readable                                            rm   -f <fileName> = force deletion of a file
du -ah: “     “   “ files & folders, Human readable                                     rm   -r <foldername>/ = delete folder
du -sh: only show disc usage of folders
                                                                                        touch <fileName> = create or update a file
pwd = print working directory
                                                                                        ln file1 file2 = physical link
man <command> = shows manual (RTFM)                                                     ln -s file1 file2 = symbolic link
Linux Bash Shell Cheat Sheet
                                                       Basic Commands

Researching Files                                                       Extract, sort and filter data
The slow method (sometimes very slow):                                  grep <someText> <fileName> = search for text in file
                                                                              -i = Doesn't consider uppercase words
locate <text> = search the content of all the files                           -I = exclude binary files
locate <fileName> = search for a file                                   grep -r <text> <folderName>/ = search for file names
sudo updatedb = update database of files                                      with occurrence of the text

find   = the   best file search tool (fast)                             With regular expressions:
find   -name   “<fileName>”
find   -name   “text” = search for files who start with the word text   grep   -E ^<text> <fileName> = search start of lines
find   -name   “*text” = “      “     “    “  end   “    “   “    “     with   the word text
                                                                        grep   -E <0-4> <fileName> =shows lines containing numbers 0-4
Advanced Search:                                                        grep   -E <a-zA-Z> <fileName> = retrieve all lines
                                                                        with   alphabetical letters
Search from file Size (in ~)
      find ~ -size +10M = search files bigger than.. (M,K,G)            sort   = sort the content of files
                                                                        sort   <fileName> = sort alphabetically
Search from last access                                                 sort   -o <file> <outputFile> = write result to a file
      find -name “<filetype>” -atime -5                                 sort   -r <fileName> = sort in reverse
             ('-' = less than, '+' = more than and nothing = exactly)   sort   -R <fileName> = sort randomly
                                                                        sort   -n <fileName> = sort numbers
Search only files or directory’s
      find -type d --> ex: find /var/log -name "syslog" -type d         wc = word count
      find -type f = files                                              wc <fileName> = nbr of line, nbr of words, byte size
                                                                              -l (lines), -w (words), -c (byte size), -m
More info: man find, man locate                                               (number of characters)

                                                                        cut = cut a part of a file
                                                                        -c --> ex: cut -c 2-5 names.txt
                                                                              (cut the characters 2 to 5 of each line)
                                                                        -d (delimiter)         (-d & -f good for .csv files)
                                                                        -f (# of field to cut)

                                                                        more info: man cut, man sort, man grep
Linux Bash Shell Cheat Sheet
                                                   Basic Commands

Time settings                                                    (continued)
date = view & modify time (on your computer)                     crontab = execute a command regularly
                                                                       -e = modify the crontab
View:                                                                  -l = view current crontab
      date “+%H” --> If it's 9 am, then it will show 09                -r = delete you crontab
      date “+%H:%M:%Ss” = (hours, minutes, seconds)              In crontab the syntax is
      %Y = years                                                 <Minutes> <Hours> <Day of month> <Day of week (0-6,
Modify:                                                          0 = Sunday)> <COMMAND>
               MMDDhhmmYYYY
      Month | Day | Hours | Minutes | Year                       ex, create the file movies.txt every day at 15:47:
                                                                 47 15 * * * touch /home/bob/movies.txt
sudo date 031423421997 = March 14 th 1997, 23:42                 * * * * * --> every minute
                                                                 at 5:30 in the morning, from the 1st to 15th each month:
Execute programs at another time                                 30 5 1-15 * *
                                                                 at midnight on Mondays, Wednesdays and Thursdays:
use 'at' to execute programs in the future                       0 0 * * 1,3,4
                                                                 every two hours:
Step 1, write in the terminal: at <timeOfExecution> ENTER        0 */2 * * *
ex --> at 16:45 or at 13:43 7/23/11 (to be more precise)         every 10 minutes Monday to Friday:
or after a certain delay:                                        */10 * * * 1-5
      at now +5 minutes (hours, days, weeks, months, years)
Step 2: <ENTER COMMAND> ENTER                                    Execute programs in the background
      repeat step 2 as many times you need
Step 3: CTRL D to close input                                    Add a '&' at the end of a command
                                                                       ex --> cp bigMovieFile.mp4 &
atq = show a list of jobs waiting to be executed
                                                                 nohup: ignores the HUP signal when closing the console
atrm = delete a job n°<x>                                        (process will still run if the terminal is closed)
ex (delete job #42) --> atrm 42                                        ex --> nohup cp bigMovieFile.mp4

sleep = pause between commands                                   jobs = know what is running in the background
      with ';' you can chain commands, ex: touch file; rm file
you can make a pause between commands (minutes, hours, days)     fg = put a background process to foreground
ex --> touch file; sleep 10; rm file <-- 10 seconds                    ex: fg (process 1), f%2 (process 2) f%3, ...
Linux Bash Shell Cheat Sheet
                                                    Basic Commands

Process Management                                               Create and modify user accounts
w = who is logged on and what they are doing                     sudo adduser bob = root creates new user
                                                                 sudo passwd <AccountName> = change a user's password
tload = graphic representation of system load average            sudo deluser <AccountName> = delete an account
      (quit with CTRL C)
                                                                 addgroup friends = create a new user group
ps = Static process list                                         delgroup friends = delete a user group
      -ef --> ex: ps -ef | less
      -ejH --> show process hierarchy                            usermod -g friends <Account> = add user to a group
      -u --> process's from current user                         usermod -g bob boby = change account name
                                                                 usermod -aG friends bob = add groups to a user with-
top = Dynamic process list                                       out loosing the ones he's already in
While in top:
         •   q to close top                                      File Permissions
         •   h to show the help
         •   k to kill a process                                 chown = change the owner of a file
                                                                       ex --> chown bob hello.txt
CTRL C to top a current terminal process                         chown user:bob report.txt = changes the user owning
                                                                 report.txt to 'user' and the group owning it to 'bob'
kill = kill a process                                            -R = recursively affect all the sub folders
      You need the PID # of the process                                ex --> chown -R bob:bob /home/Daniel
             ps -u <AccountName> | grep <Application>
      Then                                                       chmod =   modify user access/permission – simple way
             kill <PID> .. .. ..                                       u   = user
kill -9 <PID> = violent kill                                           g   = group
                                                                       o   = other
killall = kill multiple process's
      ex --> killall locate                                            d = directory (if element is a directory)
                                                                       l = link (if element is a file link)
extras:                                                                r = read (read permissions)
      sudo halt <-- to close computer                                  w = write (write permissions)
      sudo reboot <-- to reboot                                        x = eXecute (only useful for scripts and
                                                                       programs)
Linux Bash Shell Cheat Sheet
                                                        Basic Commands

File Permissions (continued)                                         Flow Redirection (continued)
'+' means add a right                                                terminal output:
'-' means delete a right                                             Alex
'=' means affect a right                                             Cinema
                                                                     Code
ex --> chmod g+w someFile.txt                                        Game
      (add to current group the right to modify someFile.txt)        Ubuntu

more info: man chmod                                                        Another example --> wc -m << END

Flow redirection                                                     Chain commands
Redirect results of commands:                                        '|' at the end of a command to enter another one
                                                                           ex --> du | sort -nr | less
'>' at the end of a command to redirect the result to a file
      ex --> ps -ejH > process.txt                                   Archive and compress data
'>>' to redirect the result to the end of a file
                                                                     Archive and compress data the long way:
Redirect errors:
                                                                     Step 1, put all the files you want to compress in
'2>' at the end of the command to redirect the result to a file      the same folder: ex --> mv *.txt folder/
      ex --> cut -d , -f 1 file.csv > file 2> errors.log
'2>&1' to redirect the errors the same way as the standard output    Step 2, Create the tar file:
                                                                     tar -cvf my_archive.tar folder/
Read progressively from the keyboard                                       -c : creates a .tar archive
                                                                           -v : tells you what is happening (verbose)
<Command> << <wordToTerminateInput>                                        -f : assembles the archive into one file
      ex --> sort << END <-- This can be anything you want
             >   Hello                                                       Step 3.1, create gzip file (most current):
             >   Alex                                                gzip my_archive.tar
             >   Cinema                                                      to decompress: gunzip my_archive.tar.gz
             >   Game
             >   Code                                                Step 3.2, or create a bzip2 file (more powerful but slow):
             >   Ubuntu                                              bzip2 my_archive.tar
             >   END                                                         to decompress: bunzip2 my_archive.tar.bz2
Linux Bash Shell Cheat Sheet
                                                      Basic Commands

Archive and compress data (continued)                                 Installing software
step 4, to decompress the .tar file:                                  When software is available in the repositories:
       tar -xvf archive.tar archive.tar                               sudo apt-get install <nameOfSoftware>
                                                                            ex--> sudo apt-get install aptitude
Archive and compress data the fast way:
                                                                      If you download it from the Internets in .gz format
gzip: tar -zcvf my_archive.tar.gz folder/                             (or bz2) - “Compiling from source”
      decompress: tar -zcvf my_archive.tar.gz Documents/              Step 1, create a folder to place the file:
                                                                            mkdir /home/username/src <-- then cd to it
bzip2: tar -jcvf my_archive.tar.gz folder/
      decompress: tar -jxvf archive.tar.bz2 Documents/                Step 2, with 'ls' verify that the file is there
                                                                      (if not, mv ../file.tar.gz /home/username/src/)
Show the content of .tar, .gz or .bz2     without decompressing it:
                                                                      Step 3, decompress the file (if .zip: unzip <file>)
gzip:                                                                 <--
         gzip -ztf archive.tar.gz                                     Step 4, use 'ls', you should see a new directory
bzip2:                                                                Step 5, cd to the new directory
         bzip2 -jtf archive.tar.bz2                                   Step 6.1, use ls to verify you have an INSTALL file,
tar:                                                                  then: more INSTALL
         tar -tf archive.tar                                          If you don't have an INSTALL file:
                                                                      Step 6.2, execute ./configure <-- creates a makefile
tar extra:                                                            Step 6.2.1, run make <-- builds application binaries
      tar -rvf archive.tar file.txt = add a file to the .tar          Step 6.2.2 : switch to root --> su
                                                                      Step 6.2.3 : make install <-- installs the software
You can also directly compress a single file and view the file        Step 7, read the readme file
without decompressing:

Step 1, use gzip or bzip2 to compress the file:
      gzip numbers.txt

Step 2, view the file without decompressing it:
      zcat = view the entire file in the console (same as cat)
      zmore = view one screen at a time the content of the file (same as more)
      zless = view one line of the file at a time (same as less)
1 von 7

Recomendados

Linux cheat-sheet von
Linux cheat-sheetLinux cheat-sheet
Linux cheat-sheetCraig Cannon
4.3K views1 Folie
Course 102: Lecture 14: Users and Permissions von
Course 102: Lecture 14: Users and PermissionsCourse 102: Lecture 14: Users and Permissions
Course 102: Lecture 14: Users and PermissionsAhmed El-Arabawy
1.5K views39 Folien
Basic commands of linux von
Basic commands of linuxBasic commands of linux
Basic commands of linuxshravan saini
2.6K views11 Folien
Unix/Linux Basic Commands and Shell Script von
Unix/Linux Basic Commands and Shell ScriptUnix/Linux Basic Commands and Shell Script
Unix/Linux Basic Commands and Shell Scriptsbmguys
23.2K views100 Folien
Linux commands von
Linux commandsLinux commands
Linux commandsBalakumaran Arunachalam
9.8K views18 Folien
Unix Command-Line Cheat Sheet BTI2014 von
Unix Command-Line Cheat Sheet BTI2014Unix Command-Line Cheat Sheet BTI2014
Unix Command-Line Cheat Sheet BTI2014Noé Fernández-Pozo
19K views1 Folie

Más contenido relacionado

Was ist angesagt?

Php basics von
Php basicsPhp basics
Php basicsJamshid Hashimi
15.2K views38 Folien
Linux basic commands von
Linux basic commandsLinux basic commands
Linux basic commandsMohanKumar Palanichamy
2K views14 Folien
Linux commands and file structure von
Linux commands and file structureLinux commands and file structure
Linux commands and file structureSreenatha Reddy K R
3.1K views22 Folien
Linux System Monitoring basic commands von
Linux System Monitoring basic commandsLinux System Monitoring basic commands
Linux System Monitoring basic commandsMohammad Rafiee
6.7K views19 Folien
Linux Basic Commands von
Linux Basic CommandsLinux Basic Commands
Linux Basic CommandsHanan Nmr
3.5K views42 Folien
Course 102: Lecture 2: Unwrapping Linux von
Course 102: Lecture 2: Unwrapping Linux Course 102: Lecture 2: Unwrapping Linux
Course 102: Lecture 2: Unwrapping Linux Ahmed El-Arabawy
1.2K views18 Folien

Was ist angesagt?(20)

Linux System Monitoring basic commands von Mohammad Rafiee
Linux System Monitoring basic commandsLinux System Monitoring basic commands
Linux System Monitoring basic commands
Mohammad Rafiee6.7K views
Linux Basic Commands von Hanan Nmr
Linux Basic CommandsLinux Basic Commands
Linux Basic Commands
Hanan Nmr3.5K views
Course 102: Lecture 2: Unwrapping Linux von Ahmed El-Arabawy
Course 102: Lecture 2: Unwrapping Linux Course 102: Lecture 2: Unwrapping Linux
Course 102: Lecture 2: Unwrapping Linux
Ahmed El-Arabawy1.2K views
Linux basic commands with examples von abclearnn
Linux basic commands with examplesLinux basic commands with examples
Linux basic commands with examples
abclearnn2K views
Basic unix commands von swtjerin4u
Basic unix commandsBasic unix commands
Basic unix commands
swtjerin4u1.4K views
Course 102: Lecture 5: File Handling Internals von Ahmed El-Arabawy
Course 102: Lecture 5: File Handling Internals Course 102: Lecture 5: File Handling Internals
Course 102: Lecture 5: File Handling Internals
Ahmed El-Arabawy1.3K views
Cascading Style Sheet von vijayta
Cascading Style SheetCascading Style Sheet
Cascading Style Sheet
vijayta2.1K views
Linux presentation von Nikhil Jain
Linux presentationLinux presentation
Linux presentation
Nikhil Jain2.6K views
Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands... von Edureka!
Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands...Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands...
Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands...
Edureka!3.3K views
Linux standard file system von Taaanu01
Linux standard file systemLinux standard file system
Linux standard file system
Taaanu01958 views
Linux Directory Structure von Kevin OBrien
Linux Directory StructureLinux Directory Structure
Linux Directory Structure
Kevin OBrien10.9K views
Grep - A powerful search utility von Nirajan Pant
Grep - A powerful search utilityGrep - A powerful search utility
Grep - A powerful search utility
Nirajan Pant3K views

Similar a Linux Bash Shell Cheat Sheet for Beginners

Bash cheat sheet von
Bash cheat sheetBash cheat sheet
Bash cheat sheetJogesh Rao
22 views7 Folien
Bash cheat sheet von
Bash cheat sheetBash cheat sheet
Bash cheat sheetMRATUNJAI TIWARI
127 views7 Folien
Linux cheat sheet von
Linux cheat sheetLinux cheat sheet
Linux cheat sheetPinaki Mahata Mukherjee
1.5K views7 Folien
Course 102: Lecture 3: Basic Concepts And Commands von
Course 102: Lecture 3: Basic Concepts And Commands Course 102: Lecture 3: Basic Concepts And Commands
Course 102: Lecture 3: Basic Concepts And Commands Ahmed El-Arabawy
891 views53 Folien
Directories description von
Directories descriptionDirectories description
Directories descriptionDr.M.Karthika parthasarathy
130 views28 Folien
Workshop on command line tools - day 1 von
Workshop on command line tools - day 1Workshop on command line tools - day 1
Workshop on command line tools - day 1Leandro Lima
952 views52 Folien

Similar a Linux Bash Shell Cheat Sheet for Beginners(20)

Course 102: Lecture 3: Basic Concepts And Commands von Ahmed El-Arabawy
Course 102: Lecture 3: Basic Concepts And Commands Course 102: Lecture 3: Basic Concepts And Commands
Course 102: Lecture 3: Basic Concepts And Commands
Ahmed El-Arabawy891 views
Workshop on command line tools - day 1 von Leandro Lima
Workshop on command line tools - day 1Workshop on command line tools - day 1
Workshop on command line tools - day 1
Leandro Lima952 views
Common linux ubuntu commands overview von Ameer Sameer
Common linux  ubuntu commands overviewCommon linux  ubuntu commands overview
Common linux ubuntu commands overview
Ameer Sameer1.3K views
Treebeard's Unix Cheat Sheet von wensheng wei
Treebeard's Unix Cheat SheetTreebeard's Unix Cheat Sheet
Treebeard's Unix Cheat Sheet
wensheng wei204 views
Linux Command Line - By Ranjan Raja von Ranjan Raja
Linux Command Line - By Ranjan Raja Linux Command Line - By Ranjan Raja
Linux Command Line - By Ranjan Raja
Ranjan Raja80 views
Lesson 3 Working with Files in Linux von Sadia Bashir
Lesson 3 Working with Files in LinuxLesson 3 Working with Files in Linux
Lesson 3 Working with Files in Linux
Sadia Bashir846 views
BITS: Introduction to Linux - Text manipulation tools for bioinformatics von BITS
BITS: Introduction to Linux - Text manipulation tools for bioinformaticsBITS: Introduction to Linux - Text manipulation tools for bioinformatics
BITS: Introduction to Linux - Text manipulation tools for bioinformatics
BITS7.8K views
Termux commands-list von DhanushR24
Termux commands-listTermux commands-list
Termux commands-list
DhanushR241.2K views
Coming Out Of Your Shell - A Comparison of *Nix Shells von Kel Cecil
Coming Out Of Your Shell - A Comparison of *Nix ShellsComing Out Of Your Shell - A Comparison of *Nix Shells
Coming Out Of Your Shell - A Comparison of *Nix Shells
Kel Cecil2K views

Más de Davide Ciambelli

SEMrush SEO Toolkit Exam von
SEMrush SEO Toolkit ExamSEMrush SEO Toolkit Exam
SEMrush SEO Toolkit ExamDavide Ciambelli
359 views1 Folie
SEMrush SEO Fundamentals Exam von
SEMrush SEO Fundamentals ExamSEMrush SEO Fundamentals Exam
SEMrush SEO Fundamentals ExamDavide Ciambelli
210 views1 Folie
Google Analytics for Beginners von
Google Analytics for BeginnersGoogle Analytics for Beginners
Google Analytics for BeginnersDavide Ciambelli
144 views1 Folie
Advanced Google Analytics von
Advanced Google Analytics Advanced Google Analytics
Advanced Google Analytics Davide Ciambelli
109 views1 Folie
Ecommerce Analytics: From Data to Decision von
Ecommerce Analytics: From Data to DecisionEcommerce Analytics: From Data to Decision
Ecommerce Analytics: From Data to DecisionDavide Ciambelli
95 views1 Folie
Google Tag Manager Fundamentals von
Google Tag Manager Fundamentals Google Tag Manager Fundamentals
Google Tag Manager Fundamentals Davide Ciambelli
111 views1 Folie

Más de Davide Ciambelli(20)

Ecommerce Analytics: From Data to Decision von Davide Ciambelli
Ecommerce Analytics: From Data to DecisionEcommerce Analytics: From Data to Decision
Ecommerce Analytics: From Data to Decision
Davide Ciambelli95 views
Abilitazione all'utilizzo dei dispositivi DAE von Davide Ciambelli
Abilitazione all'utilizzo dei dispositivi DAEAbilitazione all'utilizzo dei dispositivi DAE
Abilitazione all'utilizzo dei dispositivi DAE
Davide Ciambelli249 views
Guida introduttiva di Google all’ottimizzazione per motori di ricerca (SEO) von Davide Ciambelli
Guida introduttiva di Google  all’ottimizzazione per motori di ricerca (SEO)Guida introduttiva di Google  all’ottimizzazione per motori di ricerca (SEO)
Guida introduttiva di Google all’ottimizzazione per motori di ricerca (SEO)
Davide Ciambelli690 views
Google analytics platform principles certificate von Davide Ciambelli
Google analytics platform principles certificateGoogle analytics platform principles certificate
Google analytics platform principles certificate
Davide Ciambelli407 views
Social Network Analysis for Journalists Using the Twitter API von Davide Ciambelli
Social Network Analysis for Journalists Using the Twitter APISocial Network Analysis for Journalists Using the Twitter API
Social Network Analysis for Journalists Using the Twitter API
Davide Ciambelli1.5K views
The 2009 Simulated Car Racing Championship von Davide Ciambelli
The 2009 Simulated Car Racing ChampionshipThe 2009 Simulated Car Racing Championship
The 2009 Simulated Car Racing Championship
Davide Ciambelli1.5K views

Último

6g - REPORT.pdf von
6g - REPORT.pdf6g - REPORT.pdf
6g - REPORT.pdfLiveplex
10 views23 Folien
Voice Logger - Telephony Integration Solution at Aegis von
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at AegisNirmal Sharma
31 views1 Folie
The Research Portal of Catalonia: Growing more (information) & more (services) von
The Research Portal of Catalonia: Growing more (information) & more (services)The Research Portal of Catalonia: Growing more (information) & more (services)
The Research Portal of Catalonia: Growing more (information) & more (services)CSUC - Consorci de Serveis Universitaris de Catalunya
79 views25 Folien
Microsoft Power Platform.pptx von
Microsoft Power Platform.pptxMicrosoft Power Platform.pptx
Microsoft Power Platform.pptxUni Systems S.M.S.A.
52 views38 Folien
AMAZON PRODUCT RESEARCH.pdf von
AMAZON PRODUCT RESEARCH.pdfAMAZON PRODUCT RESEARCH.pdf
AMAZON PRODUCT RESEARCH.pdfJerikkLaureta
19 views13 Folien
handbook for web 3 adoption.pdf von
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdfLiveplex
22 views16 Folien

Último(20)

6g - REPORT.pdf von Liveplex
6g - REPORT.pdf6g - REPORT.pdf
6g - REPORT.pdf
Liveplex10 views
Voice Logger - Telephony Integration Solution at Aegis von Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma31 views
handbook for web 3 adoption.pdf von Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex22 views
Attacking IoT Devices from a Web Perspective - Linux Day von Simone Onofri
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
Simone Onofri15 views
Data-centric AI and the convergence of data and model engineering: opportunit... von Paolo Missier
Data-centric AI and the convergence of data and model engineering:opportunit...Data-centric AI and the convergence of data and model engineering:opportunit...
Data-centric AI and the convergence of data and model engineering: opportunit...
Paolo Missier39 views
STPI OctaNE CoE Brochure.pdf von madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb13 views
From chaos to control: Managing migrations and Microsoft 365 with ShareGate! von sammart93
From chaos to control: Managing migrations and Microsoft 365 with ShareGate!From chaos to control: Managing migrations and Microsoft 365 with ShareGate!
From chaos to control: Managing migrations and Microsoft 365 with ShareGate!
sammart939 views
PharoJS - Zürich Smalltalk Group Meetup November 2023 von Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi126 views
Web Dev - 1 PPT.pdf von gdsczhcet
Web Dev - 1 PPT.pdfWeb Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdf
gdsczhcet60 views
Lilypad @ Labweek, Istanbul, 2023.pdf von Ally339821
Lilypad @ Labweek, Istanbul, 2023.pdfLilypad @ Labweek, Istanbul, 2023.pdf
Lilypad @ Labweek, Istanbul, 2023.pdf
Ally3398219 views
Spesifikasi Lengkap ASUS Vivobook Go 14 von Dot Semarang
Spesifikasi Lengkap ASUS Vivobook Go 14Spesifikasi Lengkap ASUS Vivobook Go 14
Spesifikasi Lengkap ASUS Vivobook Go 14
Dot Semarang37 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... von James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson66 views

Linux Bash Shell Cheat Sheet for Beginners

  • 1. freeworld.posterous.com Linux Bash Shell Cheat Sheet (works with about every distribution, except for apt-get which is Ubuntu/Debian exclusive) Legend: Everything in “<>” is to be replaced, ex: <fileName> --> iLovePeanuts.txt Don't include the '=' in your commands '..' means that more than one file can be affected with only one command ex: rm file.txt file2.txt movie.mov .. ..
  • 2. Linux Bash Shell Cheat Sheet Basic Commands Basic Terminal Shortcuts Basic file manipulation CTRL L = Clear the terminal cat <fileName> = show content of file CTRL D = Logout (less, more) SHIFT Page Up/Down = Go up/down the terminal head = from the top CTRL A = Cursor to start of line -n <#oflines> <fileName> CTRL E = Cursor the end of line CTRL U = Delete left of the cursor tail = from the bottom CTRL K = Delete right of the cursor -n <#oflines> <fileName> CTRL W = Delete word on the left CTRL Y = Paste (after CTRL U,K or W) mkdir = create new folder TAB = auto completion of file or command mkdir myStuff .. CTRL R = reverse search history mkdir myStuff/pictures/ .. !! = repeat last command CTRL Z = stops the current command (resume with fg in foreground or bg in background) cp image.jpg newimage.jpg = copy and rename a file Basic Terminal Navigation cp image.jpg <folderName>/ = copy to folder cp image.jpg folder/sameImageNewName.jpg ls -a = list all files and folders cp -R stuff otherStuff = copy and rename a folder ls <folderName> = list files in folder cp *.txt stuff/ = copy all of *<file type> to folder ls -lh = Detailed list, Human readable ls -l *.jpg = list jpeg files only mv file.txt Documents/ = move file to a folder ls -lh <fileName> = Result for file only mv <folderName> <folderName2> = move folder in folder mv filename.txt filename2.txt = rename file cd <folderName> = change directory mv <fileName> stuff/newfileName if folder name has spaces use “ “ mv <folderName>/ .. = move folder up in hierarchy cd / = go to root cd .. = go up one folder, tip: ../../../ rm <fileName> .. = delete file (s) rm -i <fileName> .. = ask for confirmation each file du -h: Disk usage of folders, human readable rm -f <fileName> = force deletion of a file du -ah: “ “ “ files & folders, Human readable rm -r <foldername>/ = delete folder du -sh: only show disc usage of folders touch <fileName> = create or update a file pwd = print working directory ln file1 file2 = physical link man <command> = shows manual (RTFM) ln -s file1 file2 = symbolic link
  • 3. Linux Bash Shell Cheat Sheet Basic Commands Researching Files Extract, sort and filter data The slow method (sometimes very slow): grep <someText> <fileName> = search for text in file -i = Doesn't consider uppercase words locate <text> = search the content of all the files -I = exclude binary files locate <fileName> = search for a file grep -r <text> <folderName>/ = search for file names sudo updatedb = update database of files with occurrence of the text find = the best file search tool (fast) With regular expressions: find -name “<fileName>” find -name “text” = search for files who start with the word text grep -E ^<text> <fileName> = search start of lines find -name “*text” = “ “ “ “ end “ “ “ “ with the word text grep -E <0-4> <fileName> =shows lines containing numbers 0-4 Advanced Search: grep -E <a-zA-Z> <fileName> = retrieve all lines with alphabetical letters Search from file Size (in ~) find ~ -size +10M = search files bigger than.. (M,K,G) sort = sort the content of files sort <fileName> = sort alphabetically Search from last access sort -o <file> <outputFile> = write result to a file find -name “<filetype>” -atime -5 sort -r <fileName> = sort in reverse ('-' = less than, '+' = more than and nothing = exactly) sort -R <fileName> = sort randomly sort -n <fileName> = sort numbers Search only files or directory’s find -type d --> ex: find /var/log -name "syslog" -type d wc = word count find -type f = files wc <fileName> = nbr of line, nbr of words, byte size -l (lines), -w (words), -c (byte size), -m More info: man find, man locate (number of characters) cut = cut a part of a file -c --> ex: cut -c 2-5 names.txt (cut the characters 2 to 5 of each line) -d (delimiter) (-d & -f good for .csv files) -f (# of field to cut) more info: man cut, man sort, man grep
  • 4. Linux Bash Shell Cheat Sheet Basic Commands Time settings (continued) date = view & modify time (on your computer) crontab = execute a command regularly -e = modify the crontab View: -l = view current crontab date “+%H” --> If it's 9 am, then it will show 09 -r = delete you crontab date “+%H:%M:%Ss” = (hours, minutes, seconds) In crontab the syntax is %Y = years <Minutes> <Hours> <Day of month> <Day of week (0-6, Modify: 0 = Sunday)> <COMMAND> MMDDhhmmYYYY Month | Day | Hours | Minutes | Year ex, create the file movies.txt every day at 15:47: 47 15 * * * touch /home/bob/movies.txt sudo date 031423421997 = March 14 th 1997, 23:42 * * * * * --> every minute at 5:30 in the morning, from the 1st to 15th each month: Execute programs at another time 30 5 1-15 * * at midnight on Mondays, Wednesdays and Thursdays: use 'at' to execute programs in the future 0 0 * * 1,3,4 every two hours: Step 1, write in the terminal: at <timeOfExecution> ENTER 0 */2 * * * ex --> at 16:45 or at 13:43 7/23/11 (to be more precise) every 10 minutes Monday to Friday: or after a certain delay: */10 * * * 1-5 at now +5 minutes (hours, days, weeks, months, years) Step 2: <ENTER COMMAND> ENTER Execute programs in the background repeat step 2 as many times you need Step 3: CTRL D to close input Add a '&' at the end of a command ex --> cp bigMovieFile.mp4 & atq = show a list of jobs waiting to be executed nohup: ignores the HUP signal when closing the console atrm = delete a job n°<x> (process will still run if the terminal is closed) ex (delete job #42) --> atrm 42 ex --> nohup cp bigMovieFile.mp4 sleep = pause between commands jobs = know what is running in the background with ';' you can chain commands, ex: touch file; rm file you can make a pause between commands (minutes, hours, days) fg = put a background process to foreground ex --> touch file; sleep 10; rm file <-- 10 seconds ex: fg (process 1), f%2 (process 2) f%3, ...
  • 5. Linux Bash Shell Cheat Sheet Basic Commands Process Management Create and modify user accounts w = who is logged on and what they are doing sudo adduser bob = root creates new user sudo passwd <AccountName> = change a user's password tload = graphic representation of system load average sudo deluser <AccountName> = delete an account (quit with CTRL C) addgroup friends = create a new user group ps = Static process list delgroup friends = delete a user group -ef --> ex: ps -ef | less -ejH --> show process hierarchy usermod -g friends <Account> = add user to a group -u --> process's from current user usermod -g bob boby = change account name usermod -aG friends bob = add groups to a user with- top = Dynamic process list out loosing the ones he's already in While in top: • q to close top File Permissions • h to show the help • k to kill a process chown = change the owner of a file ex --> chown bob hello.txt CTRL C to top a current terminal process chown user:bob report.txt = changes the user owning report.txt to 'user' and the group owning it to 'bob' kill = kill a process -R = recursively affect all the sub folders You need the PID # of the process ex --> chown -R bob:bob /home/Daniel ps -u <AccountName> | grep <Application> Then chmod = modify user access/permission – simple way kill <PID> .. .. .. u = user kill -9 <PID> = violent kill g = group o = other killall = kill multiple process's ex --> killall locate d = directory (if element is a directory) l = link (if element is a file link) extras: r = read (read permissions) sudo halt <-- to close computer w = write (write permissions) sudo reboot <-- to reboot x = eXecute (only useful for scripts and programs)
  • 6. Linux Bash Shell Cheat Sheet Basic Commands File Permissions (continued) Flow Redirection (continued) '+' means add a right terminal output: '-' means delete a right Alex '=' means affect a right Cinema Code ex --> chmod g+w someFile.txt Game (add to current group the right to modify someFile.txt) Ubuntu more info: man chmod Another example --> wc -m << END Flow redirection Chain commands Redirect results of commands: '|' at the end of a command to enter another one ex --> du | sort -nr | less '>' at the end of a command to redirect the result to a file ex --> ps -ejH > process.txt Archive and compress data '>>' to redirect the result to the end of a file Archive and compress data the long way: Redirect errors: Step 1, put all the files you want to compress in '2>' at the end of the command to redirect the result to a file the same folder: ex --> mv *.txt folder/ ex --> cut -d , -f 1 file.csv > file 2> errors.log '2>&1' to redirect the errors the same way as the standard output Step 2, Create the tar file: tar -cvf my_archive.tar folder/ Read progressively from the keyboard -c : creates a .tar archive -v : tells you what is happening (verbose) <Command> << <wordToTerminateInput> -f : assembles the archive into one file ex --> sort << END <-- This can be anything you want > Hello Step 3.1, create gzip file (most current): > Alex gzip my_archive.tar > Cinema to decompress: gunzip my_archive.tar.gz > Game > Code Step 3.2, or create a bzip2 file (more powerful but slow): > Ubuntu bzip2 my_archive.tar > END to decompress: bunzip2 my_archive.tar.bz2
  • 7. Linux Bash Shell Cheat Sheet Basic Commands Archive and compress data (continued) Installing software step 4, to decompress the .tar file: When software is available in the repositories: tar -xvf archive.tar archive.tar sudo apt-get install <nameOfSoftware> ex--> sudo apt-get install aptitude Archive and compress data the fast way: If you download it from the Internets in .gz format gzip: tar -zcvf my_archive.tar.gz folder/ (or bz2) - “Compiling from source” decompress: tar -zcvf my_archive.tar.gz Documents/ Step 1, create a folder to place the file: mkdir /home/username/src <-- then cd to it bzip2: tar -jcvf my_archive.tar.gz folder/ decompress: tar -jxvf archive.tar.bz2 Documents/ Step 2, with 'ls' verify that the file is there (if not, mv ../file.tar.gz /home/username/src/) Show the content of .tar, .gz or .bz2 without decompressing it: Step 3, decompress the file (if .zip: unzip <file>) gzip: <-- gzip -ztf archive.tar.gz Step 4, use 'ls', you should see a new directory bzip2: Step 5, cd to the new directory bzip2 -jtf archive.tar.bz2 Step 6.1, use ls to verify you have an INSTALL file, tar: then: more INSTALL tar -tf archive.tar If you don't have an INSTALL file: Step 6.2, execute ./configure <-- creates a makefile tar extra: Step 6.2.1, run make <-- builds application binaries tar -rvf archive.tar file.txt = add a file to the .tar Step 6.2.2 : switch to root --> su Step 6.2.3 : make install <-- installs the software You can also directly compress a single file and view the file Step 7, read the readme file without decompressing: Step 1, use gzip or bzip2 to compress the file: gzip numbers.txt Step 2, view the file without decompressing it: zcat = view the entire file in the console (same as cat) zmore = view one screen at a time the content of the file (same as more) zless = view one line of the file at a time (same as less)