Skip to content

Commit 3d443e7

Browse files
added example files
1 parent 76770d4 commit 3d443e7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+424
-3
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
⚠️ ⚠️ ⚠️ This is a **work-in-progress** book on Linux command line and Shell Scripting for beginner to intermediate level users.
44

5-
[Click this link](https://github.com/learnbyexample/cli-computing/tree/09091253463a313ddce5a95f467857ea85c25ce6) for an earlier version of the book on this repo.
5+
[Click this link](https://github.com/learnbyexample/cli-computing/tree/09091253463a313ddce5a95f467857ea85c25ce6) for an earlier version of the book in this repo.
66

7-
See also my curated list on [Linux CLI and Shell scripting](https://learnbyexample.github.io/curated_resources/linux_cli_scripting.html) for more learning resources.
7+
See my curated list on [Linux CLI and Shell scripting](https://learnbyexample.github.io/curated_resources/linux_cli_scripting.html) for more learning resources.
88

99
<br>
1010

@@ -13,7 +13,7 @@ See also my curated list on [Linux CLI and Shell scripting](https://learnbyexamp
1313
For web version of the book, visit https://learnbyexample.github.io/cli-computing/
1414

1515
* Links to pdf/epub versions of the book will be added once they are done
16-
* See https://learnbyexample.github.io/books/ for list of other books
16+
* See https://learnbyexample.github.io/books/ for a list of my other books
1717

1818
<br>
1919

example_files/scripts/cp.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
dir_name='cp_examples'
2+
if [[ -e "$dir_name" ]] ; then
3+
cd "$dir_name"
4+
return
5+
fi
6+
7+
mkdir "$dir_name" && cd $_
8+
9+
mkdir -p backups/reports reference
10+
echo 'apple banana cherry' > backups/ip.txt
11+
touch backups/reports/jan.log

example_files/scripts/du.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
dir_name='du_examples'
2+
if [[ -e "$dir_name" ]] ; then
3+
cd "$dir_name"
4+
return
5+
fi
6+
7+
mkdir "$dir_name" && cd $_
8+
9+
mkdir -p projects/scripts todos
10+
11+
</dev/urandom tr -cd '[:alnum:]_ \n' | head -c7654321 > report.log
12+
</dev/urandom tr -cd '[:alnum:]_ \n' | head -c12345 > projects/errors.log
13+
</dev/urandom tr -cd '[:alnum:]_ \n' | head -c22222 > projects/scripts/calc.sh
14+
</dev/urandom tr -cd '[:alnum:]_ \n' | head -c3333 > todos/books.txt

example_files/scripts/file.sh

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
dir_name='file_examples'
2+
if [[ -e "$dir_name" ]] ; then
3+
cd "$dir_name"
4+
return
5+
fi
6+
7+
mkdir "$dir_name" && cd $_
8+
9+
printf 'long\nshot\n' > ip.txt
10+
11+
printf '#!/bin/bash\n\necho hi\n' > hi.sh
12+
chmod +x hi.sh
13+
14+
echo 'iVBORw0KGgoAAAANSUhEUgAAAEwAAABMCAMAAADwSaEZAAADAFBMVEX///8cI4AdJIA0TryopsIe
15+
JIHCw9z/5Vh9WFYjJIY0KJMgJIMnJYn/7otmhCT/5lvc4fSddWCXpTuig5c0Srj/7oY0RrM0Qa80
16+
SLb/6Gc0RLHo4eI0Oqc0QKwwJ5AuJo7/6W7/63crJot0UlSSksL/6nP///7/7YL//e7/++f/983/
17+
/vWkjaP/4VX/5l41LJhIR5pUPU5qS1L+7o+jh53/6305OoSZlMqPnEORn0E1MJv/52JgfDJCRZRL
18+
TIexdENSSqKNmUanmLE1PqkpK4U7Q50vMIVkgSj/8rH/9br/8aD/+dmWlMZuU2iopL+mnLX//vtK
19+
WFWFkU2jgpL/0EP/2Fb89OiNhpH/8alifiz46ZH/7pbRxZXm23qBjVKVoj2aothrSkQiISGam9H/
20+
1Uu1scfTztZUacZEPplbWYs1N6M4R61FWIL/9L//9cf++OBdeED/9tRuaZRAPI9SZkVUYl9XbD6l
21+
bkg3OJc6OppDVrpPS5z/5G9UX7vv4ZFNZG5WcFBKXI41M595hWBtfWhUVrI0OnNUT6nSy1X/4nZY
22+
Wnl5VVNYPjqCYm6TZE3s6t3/206hk6fp6eSsqsS8spM8VajZzZRCQKA7SWAyO25kZIf/98NFR4G7
23+
vU9fYnGKlUhtc15yeVnGyuWHXVKPYUz4+fwxKSfu8Pne4e6RZ12CfZV+eLXPlVP/3V++uM307eaw
24+
g17b09csMnc4UbT/32pAVZsxMZFlYJZZZYDEupHY0XRDQIZbczdzfWGirUGwtkpCSGpUZUk9Liyg
25+
q95ASaTX1eB1gslwX4JWTpJ3bZSllKzs0bn/8Xb463aWkX3WwcDn2pL549exp5aroro6SZ9le09S
26+
THm+ubCjmphhcXt4dIo+TpFmc3OelZHt21qJiKTm47erm6ZFRY1IUGjj1Vf55GVna2S3dz+AV0lb
27+
YKRUOzd3g8l3hMq6prWNnNjTtbH46Zzhuq1oYa2xn7J8en3ywVfUpFv81oainHt2c33opkzt577h
28+
1ZNlht2PkGrd1GEc7EGzAAAGeElEQVRYw+3Xd1gTZxwH8FNij5DcRQ8DBrAm0Vwm0TaEJiaASSAE
29+
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' | \
58+
base64 --decode > moon.png
59+
60+
echo '/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIf
61+
IiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7
62+
Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCABMAEwDASIA
63+
AhEBAxEB/8QAGwABAAIDAQEAAAAAAAAAAAAAAAQFAQIDBgf/xAAyEAABAwIEAggFBQEAAAAAAAAB
64+
AAIDBBEFEiExBkETFBZRVZGT0hVCUmGBIiNxgrKh/8QAGgEBAAMBAQEAAAAAAAAAAAAAAAEDBQQC
65+
Bv/EACgRAAICAQMBBwUAAAAAAAAAAAABAgMRBBIhkQUiQlFSYYEUFUHR8P/aAAwDAQACEQMRAD8A
66+
+zIiIAiIgCwsOe1lszgLmwvzK2UZQCIikBERAEREBznmbTxGVwJa3ewUDEqodSbU08gOR4NwVmqx
67+
RlM90VTTvDToCNQQvPhjqipkipZD0DtXE8gsPX69QThF5z1TO7T0bu9LjHQscRxZk0VK+M65szh3
68+
EKRJiIqsQgpoXfoBDnEHfmoLMLpmts4Oee8uK4zUT6XNPSPdcDUE62+xWPHtK3c3L84z8fs6VVS+
69+
6vc9N1uHrAgDs0h5DW38ruvNYTX0tJEXvLpJn72Gy9BTzOniDzG6O+wduvpdHq1fHLfPl5GfdS63
70+
g6oiLvKDC1lkEUTpHbALdQ8UeI8PkedgW/6Ch5xwM45K2ur56mIxiiBB+rVR8OgfDAc8Za5ziSLL
71+
p8QtsSthiLOcixr+zHdLdOTb/vYtjrYqOxLB017j5LNj3HyWra8OOhPksurHDbX8rm+zQ82PqyDS
72+
RS0dY+QUXStzHKTyV/SVvWDldC6J1tjzVWa2T6f+regqzNiUbCflctHSaSWn4i+Pgi3VK18rkvER
73+
FpFYVZxFKIMDqJD8uX/QVmqniakqa7h+qp6SPpZ35crLgXs4Hc6bBeoY3LJXZnY8HiziQJ1cSO4l
74+
YOIC+ht+VG7McS+Fv9aP3J2Y4l8Lf60fuWtsp9SMDN/pfQk/Ejze7zXVmLMj1AcT93KD2Y4l8Lf6
75+
0fuTsxxL4W/1o/codVD8SJUtQvC+hLkxQP2Fv7Eqy4aq+mx2Jt7/ALb1RdmOJfC3+tH7lccKYHjV
76+
DjsdRW0LoYWxuBcZGHU7bEquyFSg9rRbQ7nat0We8REWYboREQBERAEREAREQBERAf/Z' | \
77+
base64 --decode > sunrise.jpg
78+

example_files/scripts/find.sh

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
dir_name='find_examples'
2+
if [[ -e "$dir_name" ]] ; then
3+
cd "$dir_name"
4+
return
5+
fi
6+
7+
mkdir "$dir_name" && cd $_
8+
9+
mkdir -p backups/dot_files projects/{.venv,tictactoe,calculator} todos
10+
ln -s ../../scripts
11+
12+
printf 'long\nshot\n' > ip.txt
13+
touch -a -d "$(date '+%Y-%m-%d %H:%M:%S' -d '-1 days')" ip.txt
14+
15+
printf '#!/usr/bin/python3\n\nprint("Hello World!")\n' > hello_world.py
16+
17+
printf '#!/bin/bash\n\necho hi\n' > hi.sh
18+
touch -d "$(date '+%Y-%m-%d %H:%M:%S' -d '-10 days')" hi.sh
19+
20+
echo 'ghost' > .hidden
21+
touch -d '2018-12-21 22:33:44' .hidden
22+
23+
</dev/urandom tr -cd '[:alnum:]_ \n' | head -c1234567 > report.log
24+
</dev/urandom tr -cd '[:alnum:]_ \n' | head -c54321 > errors.log
25+
touch -d '2022-01-01 01:01:01' report.log
26+
touch -d '2022-01-01 03:30:33' errors.log
27+
28+
touch backups/bookmarks.html backups/{jan,aug}.log
29+
touch backups/dot_files/{.bashrc,.inputrc,.vimrc}
30+
touch projects/tictactoe/game.py projects/calculator/calc.sh
31+
touch todos/{books,TRIP,wow}.txt
32+
33+
chmod +x hello_world.py hi.sh

example_files/scripts/ls.sh

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
dir_name='ls_examples'
2+
if [[ -e "$dir_name" ]] ; then
3+
cd "$dir_name"
4+
return
5+
fi
6+
7+
mkdir "$dir_name" && cd $_
8+
9+
mkdir -p backups/dot_files projects/{tictactoe,calculator} todos
10+
ln -s ../../scripts
11+
12+
printf 'long\nshot\n' > ip.txt
13+
touch -d '2017-07-21 10:11:44' ip.txt
14+
15+
printf '#!/usr/bin/python3\n\nprint("Hello World!")\n' > hello_world.py
16+
touch -d '2020-02-29 20:20:20' hello_world.py
17+
18+
printf '#!/bin/bash\n\necho hi\n' > hi
19+
touch -d '2019-12-05 15:10:05' hi
20+
21+
echo 'ghost' > .hidden
22+
touch -d '2018-12-21 22:33:44' .hidden
23+
24+
</dev/urandom tr -cd '[:alnum:]_ \n' | head -c7654321 > report.log
25+
</dev/urandom tr -cd '[:alnum:]_ \n' | head -c12345 > errors.log
26+
touch -d '2022-01-01 01:01:01' report.log
27+
touch -d '2022-01-01 03:30:33' errors.log
28+
29+
touch backups/bookmarks.html backups/dot_files/{.bashrc,.inputrc,.vimrc}
30+
touch projects/tictactoe/game.py projects/calculator/calc.sh
31+
touch todos/{books,outing}.txt
32+
33+
touch -d '2022-02-04 09:23:25' backups
34+
touch -d '2022-03-05 11:21:27' projects
35+
touch -d '2022-04-06 13:19:29' todos
36+
touch -hd '2022-05-07 15:17:31' scripts
37+
38+
chmod +x hello_world.py hi

example_files/scripts/mv.sh

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
dir_name='mv_examples'
2+
if [[ -e "$dir_name" ]] ; then
3+
cd "$dir_name"
4+
return
5+
fi
6+
7+
mkdir "$dir_name" && cd $_
8+
9+
mkdir -p backups/projects dot_files manuals
10+
touch hello.py loops.py ip.txt
11+
touch backups/projects/game.py manuals/mv.info
12+

example_files/scripts/rm.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
dir_name='rm_examples'
2+
if [[ -e "$dir_name" ]] ; then
3+
cd "$dir_name"
4+
return
5+
fi
6+
7+
mkdir "$dir_name" && cd $_
8+
9+
mkdir -p reports projects/{tictactoe,calculator} empty_dir
10+
touch hello.py loops.py read_only.txt reports/jan.log
11+
touch projects/tictactoe/game.py projects/calculator/calc.sh
12+
chmod -w read_only.txt
13+

example_files/scripts/stat.sh

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
dir_name='stat_examples'
2+
if [[ -e "$dir_name" ]] ; then
3+
cd "$dir_name"
4+
return
5+
fi
6+
7+
mkdir "$dir_name" && cd $_
8+
9+
printf 'long\nshot\n' > ip.txt
10+
touch -a -d '2022-06-01 13:25:18.693823117' ip.txt
11+
touch -m -d '2022-05-24 14:39:41.285714934' ip.txt
12+
13+
ln -s /usr/share/dict/words words.txt
14+
15+
printf '#!/bin/bash\n\necho hi\n' > hi.sh

example_files/scripts/tar.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
dir_name='tar_examples'
2+
if [[ -e "$dir_name" ]] ; then
3+
cd "$dir_name"
4+
return
5+
fi
6+
7+
mkdir "$dir_name" && cd $_
8+
9+
mkdir -p projects/scripts todos
10+
11+
</dev/urandom tr -cd '[:alnum:]_ \n' | head -c7654321 > report.log
12+
</dev/urandom tr -cd '[:alnum:]_ \n' | head -c12345 > projects/errors.log
13+
</dev/urandom tr -cd '[:alnum:]_ \n' | head -c12345 > projects/scripts/calc.sh
14+
</dev/urandom tr -cd '[:alnum:]_ \n' | head -c22222 > todos/books.txt

0 commit comments

Comments
 (0)