watch – execute a program periodically

commandline session

following commandline session may not be accurate.

$vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 1  0      0 2246368  32720 497284    0    0   217    10  236  436  3  1 92  3
$watch vmstat
$watch -n 0.5 vmstat
$watch -n 0.5 iostat
$watch -n 0.5 iostat
$iostat
Linux 3.12.0 (debian) 	Friday 08 November 2013 	_x86_64_	(2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           6.64    0.01    2.31    1.80    0.00   89.24

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               8.82       272.09        51.03     696015     130532

$

the following video tutorial content may not be accurate

file — determine file type

commandline session

$ls
faq  favicon.ico  index.html  kernel.css  mirrors  pub	robots.txt
$file kernel.css
kernel.css: ASCII text
$file -l | head
Set 0:
Binary patterns:
Text patterns:
Set 1:
Binary patterns:
Text patterns:
Set 0:
Binary patterns:
Strength = 340 : sc68 Atari ST music []
Strength = 340 : T64 tape Image []
$file -l | tail
Strength =  28 : exported SGML document text []
Strength =  20 : Java source [text/x-java]
Strength =  20 : script text executable []
Strength =  18 : a []
Strength =  17 : a []
Strength =  12 : Perl5 module source text []
Strength =   2 : Tcl script []
Set 1:
Binary patterns:
Text patterns:
$



readelf – Displays information about ELF files

commandline session

$readelf  -I /bin/ping

Histogram for `.gnu.hash' bucket list length (total of 3 buckets):
 Length  Number     % of total  Coverage
      0  0          (  0.0%)
      1  0          (  0.0%)      0.0%
      2  0          (  0.0%)      0.0%
      3  3          (100.0%)    100.0%
$readelf  -a /bin/ping | head
ELF Header:
  Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF64
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           Advanced Micro Devices X86-64
  Version:                           0x1
$readelf  -a /bin/ping | head -n 20
ELF Header:
  Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF64
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           Advanced Micro Devices X86-64
  Version:                           0x1
  Entry point address:               0x402ac0
  Start of program headers:          64 (bytes into file)
  Start of section headers:          38200 (bytes into file)
  Flags:                             0x0
  Size of this header:               64 (bytes)
  Size of program headers:           56 (bytes)
  Number of program headers:         9
  Size of section headers:           64 (bytes)
  Number of section headers:         27
  Section header string table index: 26
$

linux 0.01 boot.s (copy from linux 0.01)

boot.s is  loaded at 0x7c00 by the  bios startup routines
and moves itself  out of the way to  address 0x90000, and
jumps there.It  then loads  the system at  0x10000, using
BIOS    interrupts.    Thereafter    it   disables    all
interrupts,moves the  system down to 0x0000  , changes to
protected mode and calls  the start of system. The system
then should  reinitialize the protected mode  in it's own
tables, and enables interrupts as needed.

chrt – manipulate real-time attributes of a process

A UNIX Command
$chrt -m
SCHED_OTHER min/max priority	: 0/0
SCHED_FIFO min/max priority	: 1/99
SCHED_RR min/max priority	: 1/99
SCHED_BATCH min/max priority	: 0/0
SCHED_IDLE min/max priority	: 0/0
$chrt -b  -p 0 4555
$chrt -p 4555
pid 4555's current scheduling policy: SCHED_BATCH
pid 4555's current scheduling priority: 0
$chrt -o  -p 0 4555
$chrt -p 4555
pid 4555's current scheduling policy: SCHED_OTHER
pid 4555's current scheduling priority: 0
$

UNIX Explanation
chrt   sets  or retrieves the real-time scheduling
attributes of an existing PID or runs COMMAND with
the given attributes.  Both policy (one of SCHED_OTHER,
SCHED_FIFO, SCHED_RR, SCHED_BATCH, or SCHED_IDLE)
and priority can be set and retrieved.