User Tools

Site Tools


linux_notes

This is an old revision of the document!


dummy

tasks

what is my OS?

awk -F= '$1=="ID" {print $2}' /etc/os-release

Sample run:

% cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
% awk -F= '$1=="ID" {print $2}' /etc/os-release     
debian

Ref:

last reboot times

last reboot --time-format full

Sample run

 % last reboot --time-format full
reboot   system boot  5.10.0-17-amd64  Tue Dec  6 08:18:33 2022   still running
reboot   system boot  5.10.0-17-amd64  Tue Dec  6 08:11:34 2022 - Tue Dec  6 08:17:36 2022  (00:06)
reboot   system boot  5.10.0-17-amd64  Tue Dec  6 07:41:53 2022 - Tue Dec  6 08:11:01 2022  (00:29)
reboot   system boot  5.10.0-17-amd64  Sat Dec  3 13:18:10 2022 - Tue Dec  6 08:11:01 2022 (2+18:52)
reboot   system boot  5.10.0-17-amd64  Sat Dec  3 13:04:06 2022 - Tue Dec  6 08:11:01 2022 (2+19:06)
reboot   system boot  5.10.0-17-amd64  Wed Nov 16 11:18:41 2022 - Tue Dec  6 08:11:01 2022 (19+20:52)
reboot   system boot  5.10.0-17-amd64  Mon Sep  5 21:26:07 2022 - Wed Nov 16 11:18:01 2022 (71+14:51)
reboot   system boot  5.10.0-16-amd64  Mon Aug 15 05:27:05 2022 - Mon Sep  5 19:36:09 2022 (21+14:09)
reboot   system boot  5.10.0-16-amd64  Mon Aug  1 17:56:22 2022 - Mon Aug 15 05:26:20 2022 (13+11:29)
...

ls and mv

Sample command

ls -rt *.txt | tail -n5 | tr '\n' '\0' | xargs -0 -i% mv % x1

Notes:

  • Works even if there are spaces in the filenames. Compare this with
    mv `ls -rt *.txt | tail -n5` x1

    which will not work if there are spaces in the filenames.

  • Does not work if the filenames contain newline characters.

Ref:- https://stackoverflow.com/a/937965/6305733

Related commands

ls -rt *.txt | tail -n5 | tr '\n' '\0' | xargs -0 -i% md5sum %

remove large directories

Use rsync to delete large directories.

mkdir empty_dir
rsync -a --delete empty_dir/    yourdirectory/

As per https://unix.stackexchange.com/questions/37329/efficiently-delete-large-directory-containing-thousands-of-files, it is more efficient than running “rm -rf” or some combination of find + “rm -rf”.

stackoverflow answers I came across

get file modified time in shell script

tput: unknown terminal "xterm-256color"

When I moved my miniconda3 installation from /home/rajulocal/miniconda3 to /opt/rajulocal/miniconda3, I started getting

tput: unknown terminal "xterm-256color"

To fix it, I did

conda install --force-reinstall ncurses

It turns out that the –fore-reinstall option was important since simply doing

conda install ncurses

was not installing ncurses as it was already uptodate.

Ref:- https://stackoverflow.com/questions/32798940/tput-unknown-terminal-xterm-256color

Why is the shell called as such?

From https://www.linuxdoc.org/HOWTO/Unix-and-Internet-Fundamentals-HOWTO/running-programs.html

The shell is Unix's interpreter for the commands you type in; it's called a shell because it wraps around and hides the operating system kernel. It's an important feature of Unix that the shell and kernel are separate programs communicating through a small set of system calls. This makes it possible for there to be multiple shells, suiting different tastes in interfaces.
linux_notes.1728172752.txt.gz · Last modified: 2024/10/05 23:59 by raju