forked from ari-hacks/command-line-cheat-sheet
-
Notifications
You must be signed in to change notification settings - Fork 1
/
bash.sh
101 lines (91 loc) · 3.85 KB
/
bash.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#Bash Cheat Sheet
######################
#System Basics
######################
date #Show date and time
uptime #Display system uptime
cal #Show calendar
w #Display who is logged in
whoami #Display effective username
finger user #Show info about user
df #Display free disk space
du #Display disk usage stats
free #Show memory and swap usage
uname -a #Show system and kernel
mount #Show mounted filesystems
man <command> #Show manual for command
clear #Clears the command line window
######################
#Directory Operations
######################
pwd #Show current directory
mkdir <dir> #Create a directory
cd <dir> #Change directory
cd .. #Go up a directory
ls #List files
#ls options
ls -a #Shows all files including hidden
ls -l #Shows long listing
ls -al #Shows long listing of directory contents including hidden files
ls -t #Sort by last modified
ls -S #Sort by file size
ls -1 #One file per line
ls -m #Comma-separated output
######################
#Shortcuts
######################
CTRL-c #Stop current command
CTRL-z #Sleep program
CTRL-a #Go to start of line
CTRL-e #Go to end of line
CTRL-r #Search history
!! #Repeat last command
!abc #Run last command starting with abc
!abc:p #Print last command starting with abc
!$ #Last argument of previous command
######################
#Files
######################
grep "text" <files> #Output all occurrences of text in file (add -i for case insensitivity)
grep -rl "text" <dir> #Search for all file containing text inside dir
grep -r #Recursive search
grep -v #Inverted search
grep -o #Show matched part of file only
find <dir> -name "file" #Find all files named file inside dir ([*] wildcard searches for parts of filenames. Ex/ "file.*")
whereis command #Find binary / source / manual for command
locate <file> #Find file (quick search of system index)
touch <file> #Create file
cat <file1> <file2> #Concatenate files and output
cat <file> #Output the contents of the file
less <file> #View and paginate file
file <file> #Get type of file
cp <file> <dir> #Copy file to directory
cp -r <dir1> <dir2> #Copy dir1 and its contents to dir2 - may overwrite files in an existing directory
mv <name1> <name2> #Rename file from name1 to name2
mv <file> <dir> #Move file to directory
rm <file> #Delete file -f for Force-delete
rm -r <dir> #Delete directory
head <file> #Show first 10 lines of file
tail <file> #Show last 10 lines of file
tail -F <file> #Output last lines of file1 as it changes
######################
#Processes
######################
ps #Output snapshot of processes
ps ax #Output currently running processes
top #Output real time processes
kill <pid> #Kill process with id pid
pkill <name> #Kill process with name name
killall <name> #Kill all processes with names beginning name
######################
#Network
######################
ping <host> #Ping host and display status
whois <domain> #Output whois information for <domain>
ssh <username>@<host> #SSH connection to host with username
######################
#File Permissions
######################
chmod 775 <file> #Change mode of file to 775
chmod -R 600 <dir> #Change permissions of dir and its contents to 600
chown <user>:<group> <file> #Change ownership of file to user and group - add -R to include a dir's contents