152 lines
4.9 KiB
Markdown
152 lines
4.9 KiB
Markdown
|
|
# Lab 1
|
||
|
|
## Tasks
|
||
|
|
|
||
|
|
- [x] 1. **Connect**
|
||
|
|
```
|
||
|
|
I ran the commands from VirtualBox
|
||
|
|
```
|
||
|
|
- [x] 2. **Explore**
|
||
|
|
```
|
||
|
|
I ran the sample commands
|
||
|
|
```
|
||
|
|
- [x] 3. **Play**
|
||
|
|
- [x] grep
|
||
|
|
```sh
|
||
|
|
vboxuser@ubel:~/lab-1$ vim extra/folders/example.txt
|
||
|
|
vboxuser@ubel:~/lab-1$ grep -i "Error" syslog
|
||
|
|
this is an error i am an error!
|
||
|
|
yeah I am another error!
|
||
|
|
vboxuser@ubel:~/lab-1$ grep -ir "Error" syslog
|
||
|
|
this is an error i am an error!
|
||
|
|
yeah I am another error!
|
||
|
|
vboxuser@ubel:~/lab-1$ ls
|
||
|
|
extra syslog
|
||
|
|
vboxuser@ubel:~/lab-1$ ls
|
||
|
|
extra syslog
|
||
|
|
vboxuser@ubel:~/lab-1$ grep -r "error" syslog
|
||
|
|
this is an error i am an error!
|
||
|
|
yeah I am another error!
|
||
|
|
vboxuser@ubel:~/lab-1$ ls
|
||
|
|
extra syslog
|
||
|
|
vboxuser@ubel:~/lab-1$ cat extra/folders/example.txt
|
||
|
|
error I am a file
|
||
|
|
hello world
|
||
|
|
i am not an
|
||
|
|
but this is an error!
|
||
|
|
vboxuser@ubel:~/lab-1$ grep -r "error" .
|
||
|
|
./extra/folders/example.txt:error I am a file
|
||
|
|
./extra/folders/example.txt:but this is an error!
|
||
|
|
./syslog:this is an error i am an error!
|
||
|
|
./syslog:yeah I am another error!
|
||
|
|
vboxuser@ubel:~/lab-1$ grep -rc "error" .
|
||
|
|
./extra/folders/example.txt:2
|
||
|
|
./syslog:2
|
||
|
|
vboxuser@ubel:~/lab-1$ grep -ra "error" .
|
||
|
|
./extra/folders/example.txt:error I am a file
|
||
|
|
./extra/folders/example.txt:but this is an error!
|
||
|
|
./syslog:this is an error i am an error!
|
||
|
|
./syslog:yeah I am another error!
|
||
|
|
vboxuser@ubel:~/lab-1$ grep -rb "error" .
|
||
|
|
./extra/folders/example.txt:0:error I am a file
|
||
|
|
./extra/folders/example.txt:48:but this is an error!
|
||
|
|
./syslog:0:this is an error i am an error!
|
||
|
|
./syslog:47:yeah I am another error!
|
||
|
|
```
|
||
|
|
- [x] tail
|
||
|
|
Displays the end of the file -- if you add -f (for follow),
|
||
|
|
you can display the contents indefinitely. It is fun to snoop
|
||
|
|
on bots who are trying to log into my server, and this command is useful
|
||
|
|
for that.
|
||
|
|
```sh
|
||
|
|
sudo tail -f /var/log/auth.log
|
||
|
|
```
|
||
|
|
|
||
|
|
- [x] man
|
||
|
|
Better than Google when you have no internet connection
|
||
|
|
or access to chatGPT. Holds an exhaustive (I assume) list of
|
||
|
|
available commands.
|
||
|
|
```sh
|
||
|
|
man grep
|
||
|
|
man man
|
||
|
|
```
|
||
|
|
|
||
|
|
- [x] history
|
||
|
|
Shows command history. I would usually use zsh and, if I needed to run a
|
||
|
|
command, I would just press the "up" arrow. That is very tedious if
|
||
|
|
I need to run something that I did > 5 commands ago. This is very useful
|
||
|
|
if I needed to run an obscure command. Or maybe to just figure out what I did.
|
||
|
|
```sh
|
||
|
|
history
|
||
|
|
history | grep "tail"
|
||
|
|
man history
|
||
|
|
```
|
||
|
|
|
||
|
|
- [x] df
|
||
|
|
Never used this command before. I randomly decided to check this on both MacOS
|
||
|
|
(my computer is always running out of space for some reason or other)
|
||
|
|
as well as on one of my linux boxes.
|
||
|
|
|
||
|
|
There are a lot of differences. Feels like more similarities than differences,
|
||
|
|
but a lot of the important columns are the same. It's also a good command
|
||
|
|
for keeping an eye on the mounted volumes on my linux box.
|
||
|
|
|
||
|
|
Also, since the two commands are so different, I don't think I'll ever be able
|
||
|
|
to remember them!
|
||
|
|
|
||
|
|
Stands for "disk free".
|
||
|
|
```sh (on Mac)
|
||
|
|
df (display free disk space)
|
||
|
|
df -h
|
||
|
|
```
|
||
|
|
```sh (on VM Ubuntu)
|
||
|
|
df (report file system space usage)
|
||
|
|
df -h
|
||
|
|
```
|
||
|
|
- [x] du
|
||
|
|
Displays file usage. Should use this to investigate where all the space
|
||
|
|
on my local Mac is going.
|
||
|
|
|
||
|
|
```sh
|
||
|
|
man du
|
||
|
|
du -hS
|
||
|
|
du -s * | sort -nr > $HOME/user_space_report.txt
|
||
|
|
```
|
||
|
|
- [x] ps
|
||
|
|
Showed me a list of running processes. By default it only shows you
|
||
|
|
the processes that were started/were run personally by you on a terminal.
|
||
|
|
|
||
|
|
Also: the man for `ps` under the Ubuntu box mentioned you can use
|
||
|
|
UNIX (?), BSD (default for mac os?), and GNU (what I assume are the usual default commands) options for ps, provided you use the flags in a specific way.
|
||
|
|
|
||
|
|
Once in a blue moon I have to use pkill some orphaned program, and without fail
|
||
|
|
I have to google how to every time. Maybe I can just use the pids from here instead?
|
||
|
|
```sh (on Mac)
|
||
|
|
man ps
|
||
|
|
ps -A
|
||
|
|
```
|
||
|
|
```sh (on Linux)
|
||
|
|
man ps
|
||
|
|
```
|
||
|
|
- [x] top
|
||
|
|
Looks similar to ps, but you get a whole dashboard. I could
|
||
|
|
see how you could use this to monitor programs. This is the
|
||
|
|
text version of what I'd use the activity monitor for.
|
||
|
|
```sh
|
||
|
|
top
|
||
|
|
```
|
||
|
|
- [x] htop
|
||
|
|
Top, but **fancier**! It's keyboard navigable AND mouse navigable,
|
||
|
|
and comes with a bunch of colors out of the box. Very cool!
|
||
|
|
```sh
|
||
|
|
htop
|
||
|
|
```
|
||
|
|
- [x] exit
|
||
|
|
Exits you out of the current terminal session.
|
||
|
|
|
||
|
|
extra reading
|
||
|
|
- [x] [The Linux Command Line](http://linuxcommand.org/tlcl.php)
|
||
|
|
WIP still reading this
|
||
|
|
- [x] [Grep mini-zine](https://wizardzines.com/comics/grep/)
|
||
|
|
- [x] [reddit thread: bsd v gnu](https://old.reddit.com/r/linuxquestions/comments/vzmfye/differences_between_bsd_and_gnu_utilities/)
|
||
|
|
* Most of this goes completely over my head. But this was interesting to look at.
|