head


Git: fatal: index file smaller than expected

Recently, we got the following error from git

$ git status
 fatal: index file smaller than expected

To fix it, without losing local changes, we removed the corrupted index and reset back to the HEAD using the following commands:

$ rm .git/index
$ git reset HEAD .

Generate Random Password

date +%s | sha256sum | base64 | head -c 32 ; echo
date +%s : will print the system date and time in seconds since 1970-01-01 00:00:00 UTC

sha256sum :  will compute  the SHA256 message digest of the time in seconds we produced before

base64 : will encode the previous data and print them to standard output

head -c 32 : will print the first 32 characters of the previous data

; echo : is used to create a new line at the end of the results


How to call ‘top’ on a remote machine using ssh 8

Some times it is not straight forward to call some remote commands using ssh (example of syntax here). Commands like top will not execute as is because they need some environment variables modified due to their interactive nature.

Usage example of wrong remote call to top and its result:

ssh remoteMachine 'top'
TERM environment variable not set.

We cannot really describe all of the solutions available but since we are talking about top, we will present a very simple solution.
Luckily, top can be executed in batch mode, which is used for sending output from top to other programs or files by invoking the -b parameter and thus changing the command syntax to:

ssh remoteMachine 'top -b'

This will work just fine but give you a full page of results which might be too much info. To limit the results that you are receiving you can filter the top command results with other commands like head. In the following example we use head to limit the number of rows retrieved to 8, so that we get the system status and the most computational intensive command of our system.

ssh remoteMachine 'top -b | head -n 8'

Which will result to something like this:

top - 07:29:38 up 1:04, 0 users, load average: 2.85, 2.83, 2.24
Tasks: 62 total, 2 running, 60 sleeping, 0 stopped, 0 zombie
Cpu(s): 27.8%us, 0.4%sy, 0.0%ni, 71.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1022116k total, 68960k used, 953156k free, 4364k buffers
Swap: 3905532k total, 0k used, 3905532k free, 22776k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
842 userName 20 0 32212 1320 1120 R 188 0.1 46:51.91 application.binary