Tar: как разархивировать multipart-архив в командной строке

Разархивировать tar-архив, состоящий из множества частей, из командной строки можно с помощью следующей команды:
cat archive.tar.* | tar xvf -

Ubuntu 14.04: как удалить все старые ядра

При загрузке обновлений Ubuntu может жаловаться, что на диске /boot недостаточно свободного места. Скорее всего, это значит, что там хранятся старые версии ядра. Удалить их можно следующим образом:
сначала выясняем, какая версия ядра используется в данный момент, с помощью команды:
uname -r
Далее выводим список других установленных ядер:
dpkg -l linux-{image,headers}-"[0-9]*" | awk '/^ii/{ print $2}' | grep -v -e `uname -r | cut -f1,2 -d"-"` | grep -e '[0-9]'
и убеждаемся, что в этом списке нет используемого ядра.
Далее можно переправить вывод предыдущей команды на вход команды "sudo apt-get -y purge":
dpkg -l linux-{image,headers}-"[0-9]*" | awk '/^ii/{ print $2}' | grep -v -e `uname -r | cut -f1,2 -d"-"` | grep -e '[0-9]' | xargs sudo apt-get -y purge
После этого все ядра из списка будут удалены.
Источник.

Git: как объединить все коммиты в один

Чтобы объединить все предыдущие коммиты в один (например, чтобы удалить всю историю), можно воспользоваться командой:
git rebase --root -i
После этого список всех коммитов откроется в текстовом редакторе, и напротив каждого из них, кроме первого, нужно будет заменить слово "pick" на "squash". Тогда все предыдущие коммиты будут включены в тот, который находится на первом месте в списке. Затем его можно отредактировать:
git commit --amend --author "Name <e-mail>" --date="$(date -R)" 
Но можно сделать это быстрее с помощью команды:
git reset $(git commit-tree HEAD^{tree} -m "commit message")
которая создаст новый коммит на основе всего существующего дерева.
В обоих случаях при публикации изменений необходимо добавлять опцию "-f":
git push -f