Software resources for all

  • The vimdiff command runs vim in the diff mode on two, three or four files. It is useful for comparing multiple versions of a file and for editing those versions based on differences.
  • Git is a source code management system. Git simplifies the SCM functions for a project and improves the overall efficiency of the software process.
  • The iptables command under Linux helps us in establishing and configuring a firewall by defining rules for packet filtering. iptables also helps in configuring the Network Address Translation (NAT) table.
  • As we work on multiple computers, we need to transfer the work done from one computer to another. Doing this manually is prone to error. This synchronization can be automated using Unison. Unison provides bidirectional synchronization between two computers.
  • The netstat command in Linux provides network statistics and information about the networking subsystem. It gives information about network connections, routing tables and network interface statistics.
  • Quite often, we wish to connect two computers back to back using an Ethernet LAN cable. It may be because we wish to transfer files between the two computers or because one of these has the Internet access and we wish to have one more access point to the Net. The step by step instructions on how to do this are given here.
  • The Routing Table contains the routes for forwarding the IP packets on each network interface. Commands to view and modify the Routing Table are explained with examples.
  • logrotate is a utility for rotation, compression, removal and mailing of log files. logrotate does this work daily, weekly, monthly, or when the log file becomes bigger than a predefined limit.
  • The sar command under Linux and Unix systems gives the system activity reports. The sar command gives statistics regarding the CPU, I/O, paging, devices, memory, swap space, network, run queue length and load average, interrupts and power management.
  • The pidstat command gives the CPU utilization, I/O statistics, page faults and memory utilization, stack details for processes and threads in Linux systems.
  • The mpstat command in a Linux or Unix system gives the processor related statistics. The command gives the CPU utilization report and the hardware and software interrupts per second for each processor.
  • The iostat command is for getting the CPU and input-output statistics for Linux and Unix systems.
  • Installation and configuration steps for nginx HTTP server and associated packages, apc and PHP-FPM, are given.
  • The vmstat command prints the system virtual memory statistics for Linux and Unix systems. vmstat prints information about system processes, memory, swap, I/O blocks, interrupts and context switches and the CPU activity.
  • The uptime and w commands in Linux and Unix systems help in finding about the system uptime, load average and information about logged in users.
  • Using the free command, the free and used memory in a Linux or Unix system can be found.
  • Load average, reported by commands like top, uptime and w, is explained. Load average is an indication of whether the system resources (mainly the CPU) are adequately available for the processes (system load) that are running, runnable or in uninterruptible sleep states during the previous n minutes.
  • The top command is useful for monitoring a Linux or Unix system continuously for processes that take more system resources like the CPU time and the memory. top periodically updates the display showing the high resource consuming processes at the top.
  • The ps command is for the process status. ps gives the status of currently executing processes on a Linux or Unix system. There are multiple options for the ps command that help in getting the process information of interest.
  • The Coordinated Universal Time (UTC) is the universally accepted time standard. Computers around the world use it as the reference time. It is important that our computers have the correct UTC. The Network Time Protocol (NTP) helps us in synchronizing the time of our computers with the UTC maintained by timeservers.