cy 2550 foundations of cybersecurity · bash scripting l all of the commands you have been entering...
TRANSCRIPT
![Page 1: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/1.jpg)
CY 2550 Foundations of Cybersecurity
Intro to Linux
Alina OpreaAssociate Professor, Khoury College
Northeastern University
![Page 2: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/2.jpg)
Required Softwarel Linux ISO File
- Ubuntu (https://www.ubuntu.com/download/desktop)
l Virtualization Software
- Oracle VirtualBox (http://www.virtualbox.org/wiki/Downloads)
- VMware Workstation (https://www.vmware.com/products/workstation-pro.html)
2
![Page 3: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/3.jpg)
Virtualization• The process of running a virtual instance of a computer
system in a layer abstracted from the actual hardware.
• Provides isolation between Virtual Machines (VMs) mediated by the hypervisor
![Page 4: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/4.jpg)
Different Ways to Learn Linuxl Install it as the host OS on your computer
l For Windows users, Windows Subsystem for Linux (WSL) is a good option to run the bash terminal on your Windows machine
l Virtual Machines – install Linux on a virtual machine, a computer within a computer
4
![Page 5: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/5.jpg)
Different Ways to Learn Linuxl For the Mac, you can use your default terminal with
Homebrew
l PuTTY, an SSH client for Windows users, so you can login to the CCIS Server from your laptop
5
![Page 6: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/6.jpg)
Resources
• https://cbw.sh/linuxbasics/
• Tutorial written by Martin Petrauskas
• http://linuxcommand.org/
• Linux Command Line by W. Shotts:
• http://linuxcommand.org/tlcl.php
• The man command in Linux
6
![Page 7: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/7.jpg)
Installing Necessary Programsl We need to install some miscellaneous
programs that you will need throughout the semester
l We will install vim, emacs, pip, python, ruby, perl, and git
l sudo apt-get install python-pip vim emacs ruby perl git
7
![Page 8: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/8.jpg)
Directories and File Systemsl Root directory – top most directory in a file system (“C:/“
for Windows, “/” for Unix/Mac)
l Home directory – directory for a specific user in a file system (“C:/Users/<USERNAME>” for Windows “/home/<USERNAME>” for Unix/Mac
8
![Page 9: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/9.jpg)
Filepathsl Two types:
- Absolute – always starts from the root directory
- Relative – starts from the current working directory
9
![Page 10: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/10.jpg)
The Terminall Here is a breakdown of what we see in the terminal when we start it up
l learninglinux – username of the current person using the computer
l learninglinux-VirtualBox – the name of the computer
l ~ represents the filepath of the home directory
l $ prompt symbol
10
![Page 11: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/11.jpg)
Print Working Directory (pwd)
l The pwd command will print the filepath of your current working directory
11
![Page 12: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/12.jpg)
Manual Pages (man)
l The man command will display information about the given command
l The syntax is man [command]
12
![Page 13: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/13.jpg)
Change Directory (cd)
l The cd command allows you to move around the file system between all the different types of directories
l By default, typing in cd in the terminal will take you back to your home directory
13
![Page 14: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/14.jpg)
Change Directory (cd)
l The syntax for this command is cd [directory]
l To change to a different directory, you must specify which directory you want to go to
l You must give an absolute filepath of relative filepath of the directory
14
![Page 15: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/15.jpg)
List Segments (ls)
l The ls command lets you view the files/directories in the current working directory
l Two optional arguments you should know
- a – will show ALL the files in the current working directory, including hidden files
- l – will show the files with more specific information in long format
15
![Page 16: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/16.jpg)
List Segments (ls)
Color File Type
White Regular Text File
Blue Directory
Green Executables or Scripts
Pink Images
Cyan Links (shortcuts)
Red Archives
16
![Page 17: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/17.jpg)
List Segments (ls)
l The syntax is ls [options]
17
![Page 18: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/18.jpg)
Making Files (touch, vim)l There are multiple ways to make a new file
l touch [filename]
l This will create a new text file by default with the name filename
l vim [filename]
l Use the file command to see the the type of file
18
![Page 19: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/19.jpg)
Making a Directory (mkdir)
l To make a new directory use the command mkdir
l The syntax is mkdir [directory name]
19
![Page 20: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/20.jpg)
Copying Files (cp)l To copy a file from one directory to another, use the cp
command
l The syntax is cp [file] [destination]
l This will copy a file from the source directory to the destination directory
20
![Page 21: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/21.jpg)
Copying Directories (cp)l To copy an entire directory, you can still use the cp
command
l The syntax is cp -r [directory] [destination]
l The r is an optional argument that will let you copy directory contents recursively
21
![Page 22: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/22.jpg)
Removing Files (rm)
l To remove or delete a file, use the rm command
l The syntax is rm [filename]
22
![Page 23: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/23.jpg)
Removing Directories (rm)l To remove or delete an entire directory, you can still use
the rm command
l The syntax is rm -r [filename]
l Like the cp command, the r is an optional argument that you need to specify to work on directories
23
![Page 24: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/24.jpg)
Moving Files (mv)
l To move a file from one directory to another, use the mvcommand
l The syntax is mv [filename] [destination]
l This moves the file to the destination folder
24
![Page 25: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/25.jpg)
Moving Directories (mv)
l To move an entire directory, you can still use the mvcommand
l The syntax mv -r [directory] [destination]
25
![Page 26: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/26.jpg)
Renaming Files (mv)
l To rename a file, you can also use the mv command
l The syntax is mv [original filename] [new filename]
26
![Page 27: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/27.jpg)
File Permissions – Background Infol Unix systems have three levels of permissions:
l Read – user can view file contents (4)
l Write – user can edit file (2)
l eXecute – user can run file as a program or script (1)
l Users are split into three categories for permissions:
l User/owner – user who created the file (u)
l Group – group of users (g)
l Other – all the other users (o)
27
![Page 28: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/28.jpg)
Reading File Permissionsl How to read file permissions:
First character:“-” (file) or “d” (directory)
File Permissions for the user (u)
File Permissions for the group (g)
File Permissions for other users (o)
28
![Page 29: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/29.jpg)
Changing File Permissions – Basic
Execute permissions are given to all users
l Use the chmod command to change file permissions
l The syntax is chmod [mode] [filename]
29
![Page 30: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/30.jpg)
Changing File Permissions – Advanced
l chmod u+x,g+w python-script
Give execute permissions to the owner and write permissions to the group
30
![Page 31: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/31.jpg)
Changing File Permissions – Octal
l We can use the octal number system to encode file permissions in numbers
l chmod 764 python-script
l Same thing as chmod u+x,g+w python-script
l Useful website: https://chmod-calculator.com/
7 is for rwx, 6 is rw-, and 4 is r--.31
![Page 32: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/32.jpg)
Source Code Available on Github
l All the code that is written in this lab is available on my github:
l https://github.com/petrauskasm/After-Hours-Command-Line-Basics
32
![Page 33: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/33.jpg)
What is scripting?l Scripting is a program that automates the execution of
tasks
l Examples:
– creating 100 directories
– connecting to a server
l Scripting Languages:
– Python
– Ruby
– Perl33
![Page 34: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/34.jpg)
Bash Scriptingl All of the commands you have been entering on the
command line are part of the Bash programming language
l Examples:
l echo
l ls
l pwd
l You can write a script to execute these commands
34
![Page 35: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/35.jpg)
Bash Scripting Example
l The following is a simple script written in bash
Shebang for bash
Some random bash commands
35
![Page 36: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/36.jpg)
Environment Variables
l There are some special bash variables that you should take note of:
l $PATH
l $USER
l $HOME
l $SHELL
l Use the echo command to see what these variables are
36
![Page 37: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/37.jpg)
Example scripts in bash
Print environment variables Create new files
![Page 38: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/38.jpg)
Wildcards
l There are three types of wildcards:
l * (asterisk)
l ? (question mark)
l [] (square brackets)
38
![Page 39: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/39.jpg)
Asterisk Wildcard
l The asterisk represents any number of characters
l Try the command file * in any directory that has some files
39
![Page 40: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/40.jpg)
Question Mark Wildcard
l Rather than representing multiple characters like the asterisk, the question mark will only represent one character
l Run the command ls -l example?.txt
40
![Page 41: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/41.jpg)
Square Brackets Wildcard
l The square brackets wildcard offers some flexibility in which characters you'd like to substitute
l With the square brackets, you can only substitute certain characters
l Try the command file l[aeiou]st.txt
l This will only return file names with the second character as a vowel and the other characters being fixed
41
![Page 42: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/42.jpg)
Combining All the Wildcards
l The wildcards can be combined with each other to give more flexibility in your searches
l Examples:
l ls -l *.?? (this will search for any file which has a file extension which is two characters long)
l file [nmc]* (this will search for anything which starts with “n”, “m”, or “c”
l There are endless ways to put together wildcards
42
![Page 43: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/43.jpg)
What is a process?
l A process is an instance of a computer program being executed using code and instructions
l Each process uses system resources like CPU or RAM to complete the specific tasks
43
![Page 44: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/44.jpg)
Different Types of Processes
l There are four types of processes:
l Running: current process that is being executed in the operating system
l Waiting: process which is waiting for system resources to run
l Stopped: process that is not running
l Zombie: process whose parent processes has ended, but the child process is still in the process table
44
![Page 45: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/45.jpg)
Viewing Processes
l Two commands you can use to view the process from the command line: ps and top
l To view all the processes with ps, use ps -ef
ps -ef top 45
![Page 46: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/46.jpg)
Ending a Process In Linux
l Sometimes you need to end a program or process from the command line. Use the following steps:
1. Locate the process id [PID] of the process/program you want to kill
2. Use the kill command with the following syntax: kill [PID]
3. If the process is still running, do the following: kill -9 [PID]
4. The -9 is a SIGKILL signal telling the process to terminate immediately
46
![Page 47: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/47.jpg)
What is filtering?
l Filtering is a process by which a large set of data is restricted by certain conditions to make the data set smaller
47
![Page 48: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/48.jpg)
Head
l The head command will output the first part of a file
l The syntax is head [OPTIONS] [FILE]
l Example:
l head -5 random-words.txt
l Head -1 random-passwords.txt
48
![Page 49: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/49.jpg)
Tail
l The tail command will output the last part of a file
l The syntax is tail [options] [file]
l Examples:
l tail -5 random-words.txt
l tail -1 random-passwords.txt
49
![Page 50: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/50.jpg)
Sorting
l Sorting is a common filtering technique
l There is a built-in sort command
l The syntax is sort [options] [file]
l Example:
l sort random-passwords.txt
l This will sort the contents of the file alphabetically
50
![Page 51: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/51.jpg)
More Sorting
l There are numerous options that you can use with the sort command
l Some common options:
l -r: this will reverse the sorting
l -c: this will check to see if the contents are already sorted
l -o: let’s you specify an output file for sorting
51
![Page 52: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/52.jpg)
Word Countl The wc command will print out information about word
count, lines, and bytes in a file
l wc random-passwords.txt
l Optional Arguments:
l -c: display the number of bytes in the file
l -l: display the number of newline characters in the file
l -w: display the number of words in the file
52
![Page 53: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/53.jpg)
Unique Items
l To see unique items of duplicates in a file, you can use the uniq command
l The syntax is uniq [options] [file]
l uniq dups.txt
l Note: this command only works when duplicate items are adjacent to each other, run the sort command first before using uniq
53
![Page 54: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/54.jpg)
More & Less
l The more and less commands can be used to help with reading large files
l They will display as much information as they can in the terminal and then you can scroll through the rest of it at your own leisure
54
![Page 55: CY 2550 Foundations of Cybersecurity · Bash Scripting l All of the commands you have been entering on the command line are part of the Bash programming language l Examples: l echo](https://reader034.vdocument.in/reader034/viewer/2022051814/603833ee6aa80d121e69e2a2/html5/thumbnails/55.jpg)
Remote connections
l Use ssh to connect to a remote machine
l ssh [email protected]
l First time connecting to a machine, need to verify its public key (aka digital certficate)
l Use scp to copy files on the remote machine
l scp local_file remote_file
l Use network path for the remote file
l scp file.txt [email protected]:~/files/text_files
55
Remote user and machine File path on remote machine