Anki

Software/System engineering is a vast field. It’s like being a doctor for computers. For example, a doctor can be specialized in heart surgery but the same doctor may not be specialized in brain surgery. But it’s very helpful for doctors to know other parts of human body. After all, a human body is a whole system that work together.

I want to know more about computers but there is so much that I can’t remember everything. That’s part of why I’m doing this blog.

I found this web service that allows you to create flash cards. Anki means “remembering or learning by heart” in Japanese. I’m starting to use it because I want to remember more things. I know repetition is the key to remembering things. I don’t remember the command I used one year ago if I don’t use it.

It has iPhone app (which costs money and I bought it) and Android app that syncs with the data on the web service. It lets you repeat the questions you create on the website and/or on the client application that you sync the data with the web service.

I think this is pretty cool. I hope they will improve the UI a bit more. 🙂

Commands

Just did find ./ -printf "%f\n" under /bin and got the list of available commands. There are 177 of them. There are commands I don’t know. To build bash muscle efficiently, I should investigate the ones I don’t know. This will be a bit of journey but I will try to remember the ones that are actually useful. At the same time, it’s good to go through all of them just in case.

kbd_mode
openvt
mt
su
systemctl
systemd-escape
ntfssecaudit
ping
plymouth
lesskey
lsmod
readlink
mkfs.btrfs
systemd-tty-ask-password-agent
chgrp
umount
loadkeys
stty
systemd-notify
systemd-machine-id-setup
bzless
btrfs-image
zcat
sh.distrib
bzdiff
unicode_start
which
nc.openbsd
echo
systemd-ask-password
lessfile
mkdir
zdiff
dmesg
setfacl
journalctl
ping6
efibootdump
btrfs-zero-log
uncompress
zfgrep
zforce
ntfstruncate
findmnt
wdctl
bzcmp
ed
ntfsfix
grep
lesspipe
mountpoint
udevadm
zless
chacl
mount
systemd-tmpfiles
lessecho
btrfs-find-root
tar
vdir
lsblk
run-parts
ntfsinfo
gzip
efibootmgr
ulockmgr_server
dir
true
uname
bash
keyctl
ps
zcmp
false
ypdomainname
btrfs-debug-tree
bunzip2
rm
bzfgrep
mknod
pidof
open
bzip2recover
nc
zegrep
bzexe
tempfile
zmore
mktemp
date
ntfsfallocate
znew
dnsdomainname
chown
fsck.btrfs
fusermount
ntfs-3g.probe
brltty
systemd-inhibit
netstat
ntfsusermap
gzexe
nano
setfont
bzcat
ntfswipe
sync
systemd
whiptail
dd
fgrep
mt-gnu
ln
less
more
rbash
egrep
bzmore
kmod
bzgrep
static-sh
zgrep
btrfs
ls
bzegrep
lowntfs-3g
ntfsrecover
ntfsmove
ntfscmp
cp
fuser
sh
ntfscluster
btrfsck
rnano
fgconsole
df
ping4
gunzip
dumpkeys
rmdir
ntfsls
ss
red
bzip2
systemd-sysusers
cat
login
hostname
dash
pwd
getfacl
sleep
domainname
busybox
kill
netcat
setupcon
btrfs-map-logical
chvt
cpio
chmod
archdetect
ntfscat
touch
btrfs-select-super
systemd-hwdb
ntfs-3g
loginctl
btrfstune
networkctl
mv
nisdomainname
hciconfig
sed
ip

Building Bash Muscle (5)

Let’s talk about scp this time. What is scp? It’s “secure copy (remote file copy program)” It lets you “copy files between hosts on a network.” I’m going to write an example to upload a file to a server.

$ scp file_to_upload user@remotehost:/path/on/remotedir/file_to_upload

You can upload multiple files like the following example.

$ scp file1 file2 user@remotehost:/path/on/remotedir

Alternatively, you could specify -r option to copy the entire directory recursively. Here is what the man page says. “Recursively copy entire directories. Note that scp follows symbolic links encountered in the tree traversal.”

scp works well when you are just dealing with Mac or Linux but you may find it not so easy from Windows. I personally used WinSCP to transfer files from Windows to Linux machines.

I just checked Git Bash on Windows and yes scp is available. Git Bash is actually giving us pretty good tools for Windows users. (I’m no longer full time Windows user anymore… as I use Linux Mint as my main desktop.)

That’s it for today. Happy scp’ing!