library(tidyverse)

What’s happening?

  • who

  • top, htop

  • free, df

  • ps, kill

  • less

  • Who am I?

who
whoami
w
## bbaumer  :0           2019-06-16 21:03 (:0)
## bbaumer
##  09:16:19 up 1 day, 12:12,  1 user,  load average: 1.49, 0.89, 0.61
## USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
## bbaumer  :0       :0               Sun21   ?xdm?  14:29   0.01s /usr/lib/gdm3/gdm-x-session --run-script env GNOME_SHELL_SESSION_MODE=ubuntu gnome-session --session=ubuntu
  • How much memory does this computer have?
free -h
##               total        used        free      shared  buff/cache   available
## Mem:            15G        4.5G        1.5G        874M        9.6G        9.9G
## Swap:           31G          0B         31G
df -h
## Filesystem      Size  Used Avail Use% Mounted on
## udev            7.8G     0  7.8G   0% /dev
## tmpfs           1.6G  2.3M  1.6G   1% /run
## /dev/nvme0n1p3  435G  174G  240G  43% /
## tmpfs           7.8G  194M  7.6G   3% /dev/shm
## tmpfs           5.0M  4.0K  5.0M   1% /run/lock
## tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup
## /dev/loop1      4.2M  4.2M     0 100% /snap/gnome-calculator/406
## /dev/loop2       15M   15M     0 100% /snap/gnome-characters/280
## /dev/loop3      141M  141M     0 100% /snap/gnome-3-26-1604/86
## /dev/loop4       36M   36M     0 100% /snap/gtk-common-themes/1198
## /dev/loop6      3.8M  3.8M     0 100% /snap/gnome-system-monitor/83
## /dev/loop7       54M   54M     0 100% /snap/core18/970
## /dev/loop8      141M  141M     0 100% /snap/gnome-3-26-1604/82
## /dev/nvme0n1p1  496M   41M  456M   9% /boot/efi
## /dev/loop9      152M  152M     0 100% /snap/gnome-3-28-1804/51
## /dev/loop10      89M   89M     0 100% /snap/core/6964
## /dev/loop12     1.0M  1.0M     0 100% /snap/gnome-logs/61
## tmpfs           1.6G   28K  1.6G   1% /run/user/125
## tmpfs           1.6G   80K  1.6G   1% /run/user/1000
## /dev/loop13     3.8M  3.8M     0 100% /snap/gnome-system-monitor/87
## /dev/loop14      15M   15M     0 100% /snap/gnome-characters/284
## /dev/loop15     152M  152M     0 100% /snap/gnome-3-28-1804/55
  • What is this computer doing right now?
ps aux

Activity

  1. Kill a process on your computer (ask me if it’s safe!)

Getting help

  • man

Where is it?

echo $PATH
## /home/bbaumer/bin:/home/bbaumer/.local/bin:/home/bbaumer/bin:/home/bbaumer/.local/bin:/home/bbaumer/bin:/home/bbaumer/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
locate stuff
## /home/bbaumer/Dropbox/Academic/Smith/courses/mth220/StatEdCompute-2013/collaborations2013/poster/knitrstuff.tex
## /home/bbaumer/Dropbox/Academic/Smith/stationery/poster/knitrstuff.tex
## /home/bbaumer/Dropbox/Academic/modeling_fielding/knitrstuff.tex
## /home/bbaumer/Dropbox/Academic/modeling_fielding/Poster/knitrstuff.tex
## /home/bbaumer/Dropbox/Academic/poster-test/knitrstuff.tex
## /home/bbaumer/Dropbox/WAR/nessis2013/knitrstuff.tex
## /home/bbaumer/Dropbox/git/sds/to-do/poster/knitrstuff.tex
## /home/bbaumer/backup/home/bbaumer/.config/chromium/Default/Local Storage/http_stupidstuffihadtofix.blogspot.com_0.localstorage
## /home/bbaumer/backup/home/bbaumer/.config/chromium/Default/Local Storage/http_stupidstuffihadtofix.blogspot.com_0.localstorage-journal
## /snap/gnome-3-26-1604/82/usr/share/icons/Humanity/mimes/16/application-x-stuffit.svg
## /snap/gnome-3-26-1604/82/usr/share/icons/Humanity/mimes/16/gnome-mime-application-x-stuffit.svg
## /snap/gnome-3-26-1604/82/usr/share/icons/Humanity/mimes/22/application-x-stuffit.svg
## /snap/gnome-3-26-1604/82/usr/share/icons/Humanity/mimes/22/gnome-mime-application-x-stuffit.svg
## /snap/gnome-3-26-1604/82/usr/share/icons/Humanity/mimes/24/application-x-stuffit.svg
## /snap/gnome-3-26-1604/82/usr/share/icons/Humanity/mimes/24/gnome-mime-application-x-stuffit.svg
## /snap/gnome-3-26-1604/82/usr/share/icons/Humanity/mimes/32/application-x-stuffit.svg
## /snap/gnome-3-26-1604/82/usr/share/icons/Humanity/mimes/32/gnome-mime-application-x-stuffit.svg
## /snap/gnome-3-26-1604/82/usr/share/icons/Humanity/mimes/48/application-x-stuffit.svg
## /snap/gnome-3-26-1604/82/usr/share/icons/Humanity/mimes/48/gnome-mime-application-x-stuffit.svg
## /snap/gnome-3-26-1604/82/usr/share/mime/application/x-stuffit.xml
## /snap/gnome-3-26-1604/86/usr/share/icons/Humanity/mimes/16/application-x-stuffit.svg
## /snap/gnome-3-26-1604/86/usr/share/icons/Humanity/mimes/16/gnome-mime-application-x-stuffit.svg
## /snap/gnome-3-26-1604/86/usr/share/icons/Humanity/mimes/22/application-x-stuffit.svg
## /snap/gnome-3-26-1604/86/usr/share/icons/Humanity/mimes/22/gnome-mime-application-x-stuffit.svg
## /snap/gnome-3-26-1604/86/usr/share/icons/Humanity/mimes/24/application-x-stuffit.svg
## /snap/gnome-3-26-1604/86/usr/share/icons/Humanity/mimes/24/gnome-mime-application-x-stuffit.svg
## /snap/gnome-3-26-1604/86/usr/share/icons/Humanity/mimes/32/application-x-stuffit.svg
## /snap/gnome-3-26-1604/86/usr/share/icons/Humanity/mimes/32/gnome-mime-application-x-stuffit.svg
## /snap/gnome-3-26-1604/86/usr/share/icons/Humanity/mimes/48/application-x-stuffit.svg
## /snap/gnome-3-26-1604/86/usr/share/icons/Humanity/mimes/48/gnome-mime-application-x-stuffit.svg
## /snap/gnome-3-26-1604/86/usr/share/mime/application/x-stuffit.xml
## /snap/gnome-3-28-1804/51/usr/share/icons/Humanity/mimes/16/application-x-stuffit.svg
## /snap/gnome-3-28-1804/51/usr/share/icons/Humanity/mimes/16/gnome-mime-application-x-stuffit.svg
## /snap/gnome-3-28-1804/51/usr/share/icons/Humanity/mimes/22/application-x-stuffit.svg
## /snap/gnome-3-28-1804/51/usr/share/icons/Humanity/mimes/22/gnome-mime-application-x-stuffit.svg
## /snap/gnome-3-28-1804/51/usr/share/icons/Humanity/mimes/24/application-x-stuffit.svg
## /snap/gnome-3-28-1804/51/usr/share/icons/Humanity/mimes/24/gnome-mime-application-x-stuffit.svg
## /snap/gnome-3-28-1804/51/usr/share/icons/Humanity/mimes/32/application-x-stuffit.svg
## /snap/gnome-3-28-1804/51/usr/share/icons/Humanity/mimes/32/gnome-mime-application-x-stuffit.svg
## /snap/gnome-3-28-1804/51/usr/share/icons/Humanity/mimes/48/application-x-stuffit.svg
## /snap/gnome-3-28-1804/51/usr/share/icons/Humanity/mimes/48/gnome-mime-application-x-stuffit.svg
## /snap/gnome-3-28-1804/51/usr/share/mime/application/x-stuffit.xml
## /snap/gnome-3-28-1804/55/usr/share/icons/Humanity/mimes/16/application-x-stuffit.svg
## /snap/gnome-3-28-1804/55/usr/share/icons/Humanity/mimes/16/gnome-mime-application-x-stuffit.svg
## /snap/gnome-3-28-1804/55/usr/share/icons/Humanity/mimes/22/application-x-stuffit.svg
## /snap/gnome-3-28-1804/55/usr/share/icons/Humanity/mimes/22/gnome-mime-application-x-stuffit.svg
## /snap/gnome-3-28-1804/55/usr/share/icons/Humanity/mimes/24/application-x-stuffit.svg
## /snap/gnome-3-28-1804/55/usr/share/icons/Humanity/mimes/24/gnome-mime-application-x-stuffit.svg
## /snap/gnome-3-28-1804/55/usr/share/icons/Humanity/mimes/32/application-x-stuffit.svg
## /snap/gnome-3-28-1804/55/usr/share/icons/Humanity/mimes/32/gnome-mime-application-x-stuffit.svg
## /snap/gnome-3-28-1804/55/usr/share/icons/Humanity/mimes/48/application-x-stuffit.svg
## /snap/gnome-3-28-1804/55/usr/share/icons/Humanity/mimes/48/gnome-mime-application-x-stuffit.svg
## /snap/gnome-3-28-1804/55/usr/share/mime/application/x-stuffit.xml
## /snap/gtk-common-themes/1198/share/icons/Humanity/mimes/16/application-x-stuffit.svg
## /snap/gtk-common-themes/1198/share/icons/Humanity/mimes/16/gnome-mime-application-x-stuffit.svg
## /snap/gtk-common-themes/1198/share/icons/Humanity/mimes/22/application-x-stuffit.svg
## /snap/gtk-common-themes/1198/share/icons/Humanity/mimes/22/gnome-mime-application-x-stuffit.svg
## /snap/gtk-common-themes/1198/share/icons/Humanity/mimes/24/application-x-stuffit.svg
## /snap/gtk-common-themes/1198/share/icons/Humanity/mimes/24/gnome-mime-application-x-stuffit.svg
## /snap/gtk-common-themes/1198/share/icons/Humanity/mimes/32/application-x-stuffit.svg
## /snap/gtk-common-themes/1198/share/icons/Humanity/mimes/32/gnome-mime-application-x-stuffit.svg
## /snap/gtk-common-themes/1198/share/icons/Humanity/mimes/48/application-x-stuffit.svg
## /snap/gtk-common-themes/1198/share/icons/Humanity/mimes/48/gnome-mime-application-x-stuffit.svg
## /usr/lib/python3/dist-packages/reportlab/lib/boxstuff.py
## /usr/lib/python3/dist-packages/reportlab/lib/__pycache__/boxstuff.cpython-36.pyc
## /usr/share/icons/Humanity/mimes/16/application-x-stuffit.svg
## /usr/share/icons/Humanity/mimes/16/gnome-mime-application-x-stuffit.svg
## /usr/share/icons/Humanity/mimes/22/application-x-stuffit.svg
## /usr/share/icons/Humanity/mimes/22/gnome-mime-application-x-stuffit.svg
## /usr/share/icons/Humanity/mimes/24/application-x-stuffit.svg
## /usr/share/icons/Humanity/mimes/24/gnome-mime-application-x-stuffit.svg
## /usr/share/icons/Humanity/mimes/32/application-x-stuffit.svg
## /usr/share/icons/Humanity/mimes/32/gnome-mime-application-x-stuffit.svg
## /usr/share/icons/Humanity/mimes/48/application-x-stuffit.svg
## /usr/share/icons/Humanity/mimes/48/gnome-mime-application-x-stuffit.svg
## /usr/share/mime/application/x-stuffit.xml
find /usr -name "git"
## /usr/bin/git
## /usr/share/bash-completion/completions/git
## /usr/share/doc/git
## /usr/share/lintian/overrides/git
## /usr/lib/git-core/git
which git
## /usr/bin/git

Activity

  1. Find the psql program on your computer
  2. Amend your $PATH variable to make this program accessible (permanently)

I/O

echo $PATH > my_path.txt
ls
wc my_path.txt
## aggregating.html
## aggregating.Rmd
## bash.Rmd
## bootcamp.Rproj
## create.Rmd
## data-raw
## docs
## dplyr.Rmd
## git.Rmd
## include
## index.Rmd
## intro.Rmd
## join.Rmd
## makefile
## my_path.txt
## postgres.Rmd
## queries.Rmd
## README.md
## resources.Rmd
## site_libs
## _site.yml
## slides
## structure.Rmd
##   1   1 228 my_path.txt
echo $PATH | wc
##       1       1     228

Beware of funky characters in filenames returned by find

find ~ -name "*.txt" -mtime -7
find ~ -name "*.txt" -mtime -7 -print0

Activity

  1. List all the files in all of the directories in your $PATH.
echo $PATH > my_path.txt
sed 's/:/\n/g' my_path.txt > my_path.csv
cat my_path.csv | xargs ls
  1. Can you do this in one line?

Tasks

  1. Copy a bunch of files in nested directories to /tmp.
find /home/bbaumer/Dropbox/ -type f -name "*.Rmd" -mtime -7 -exec cp -t /tmp {} \;

find /home/bbaumer/Dropbox/ -type f -regex ".+Rproj\.user.+conflicted copy.+\.pper" -print0 | xargs -0 cp -t /tmp
  1. Find and replace across files
grep "dplyr" *.Rmd
sed -i 's/dplyr/hello-dplyr/g' *.Rmd
grep "hello-dplyr" *.Rmd
  1. Rename a large set of files in nested directories