Useful Unix/Linux commands

Standard
$ indicates terminal command
# indicates a comment
Bold indicates “not installed by default”
$ lsusb     #list USB devices
$ lspci     #list all PCI devi
$ startx    #initialize an X session
$ more      #filter for paging through text one screenful at a time. (less gives more advanced).
$ less      #opposite of more; allows backward movement in the file as well as forward movement.
$ stty      #change and print terminal line settings
  $ stty size # prints terminal size

File commands

$ locate            #find files by name (for newbies I suggest the gui catfish -requires installation)
$ find              #search for files in a directory hierarchy
$ ls                #list directory contents
$ cd                #change directory
$ pwd               #print name of current/working directory
$ cp                #copy files and directories
$ rm                #remove files or directories
$ rmdir             #remove empty directories
$ file foo.format   #extracts info about file and what software it was written with; helpful in the case of having forgot which software was used to produce such a file

System info

$ uname
$ df                         #report file system disk space usage
                             #e.g; df or df /home
$ man                        #interface to the on-line reference manuals
$ free                       #Display amount of free and used memory in the system
                             #e.g; free -mt (m for MB & t for totals line)
$ uptime                     #tell how long the system has been running.
$ finger                     #user information lookup program
$ w                          #show who is logged on and what they are doing.
$ whoami                     #print effective userid
$ cat /proc/meminfo          #memory info
$ cat /proc/cpuinfo          #cpu info
$ lsb_release -a             #print (a: all ) distribution-specific information
$ last -x | grep shutdown    #show listing of last 10 logged in users; you can pipe this to the tail to read the last n instances.
                             #e.g; for 10 instances: last -x | grep shutdown | tail -n 10
$ last -x | grep reboot      #show listing of last logged in users
$ sudo shutdown -P hh:mm     #shutdown & poweroff (-P) @ hh:mm

Processes

$ uname
$ ps               #report a snapshot of the current processes.
$ top              #display Linux tasks
$ htop             #interactive process viewer based on top
$ watch            #execute a program periodically, showing output fullscreen
                   #e.g; watch -n 5 free -m
$ powertop         #program to analyze power consumption on Intel-based laptops
$ kill pid         #send a signal to a process
$ killall proc     #kill processes by name
$ pidof program    #find the process ID of a running program

Some useful terminal shortcuts

Ctrl+C #halt the current command
Ctrl+Z #pause command
$ fg #resume paused command in foreground bg resume paused command in background
Ctrl+D #logout of current session (similar to exit)
Ctrl+W #erase last word before cursor
Ctrl+U #erases the whole line
Ctrl+R #type to bring up a recent command
I hope this list turns out to be useful to you 🙂

Thanks for reading

last update: 2014-11-03

Take care of your eyes at the screen with Redshift

Standard
Before Redshit I was using f.lux [1] which seems to be broken in Ubuntu’s Unity. I searched for an alternative & found positive reviews about Redshift, which is inspired by f.lux.
By default, redshift fetches your approximate location using the internet (geoclue method) & uses it. if you prefer to manually set it, check the help. And if you, like me, prefer it to use a preset location &/or other configuration (without having to do it every time you run your system), create a text file named redshift.config under your ~/.config/ directory. You can do this from the terminal:
cd ~/.config/
gedit redshift.config
In this file, copy & edit the content below:

;This is a configuration file for the screen color temperature adjuster Redshift.

;Copy this file to your ~/.config/ directory for redshift to use.
;All lines starting with a semicolon areignored (e.g, adjustment-method).
;To change your location, edit the lat & lon numbers. If these two lines are set to be ignored, redshift will fetch your location using the internet.

; Global settings
[redshift]
temp-day=5700
temp-night=3500
transition=1
gamma=0.8:0.7:0.8
location-provider=manual
;adjustment-method=

; The location provider and adjustment method settings are in their own sections.
[manual]
lat=-22.871114
lon=-43.202591
Make sure to edit the numbers in the last two lines to correspond to your location, before saving & exiting the editor.
This way, every time redshift runs, it uses this configuration file. If you want it to automatically run on startup, add it to your Startup Applications (command: gtk-redshift for the gui & redshift for the cli).
Unlike f.lux, redshift only has a “toggle” option in the gui. The toggle toggles redshift on/off in case you need to. Other preferences are edited from within the configuration file or from the terminal.
 I’d like to thank the the code author, Jon Lund Steffensen, for making this tool; It is, to my knowledge, the only alternative to f.lux for Linux.
That’s basically it for now. May your eyes stress less while you work!

Thanks for reading

Linux: What is it & why? (vids)

Standard

(Higgs) boson: Update from CERN

Standard

Some videos & links about the recent update regarding the (Higgs) boson:

“We know it is a new boson. But we still have to prove definitively that it is the one that Higgs predicted.”

“It’s a boson:” Higgs quest bears new particle [Reuters]


The Higgs Boson Explained from PHD Comics on Vimeo.
For more videos and comics by Jorge Cham and Daniel Whiteson, visit http://www.phdcomics.com/higgs

This video made with the support of the University of California at Irvine.

http://www.phdcomics.com

Others

Live-Blogging the Higgs Seminar

[vid] Higgs Boson announcement from Cern: as it happened

[vid] Press Conference: Update on the search for the Higgs boson at CERN on 4 July 2012

What is Computational Physics (Science)?

Standard

As a senior physics undergraduate I have come to believe that scientific computation must be part of the physics curriculum. It is true that physics students are required to study and master many topics, languages, techniques, and skills like mathematics, linguistics, & science communication, still I think that computational physics should be a major part of the curriculum. It is not logical to be in the age of supercomputers and the physics curriculum remain bound to pen and paper as it used to be before the advent of computers! I am not suggesting that physics should all be done on computers; absolutely not. The student must acquire the necessary theoretical and mathematical concepts and skills, besides the physics thinking, before delving in computational physics! What use would a computer have if its user doesn’t know what he wants to use it for? In other words, how would a physics student who hasn’t studied classical mechanics be able to solve a classical mechanics problem on a computer? He will surely not be able to do so, since he will not be able to appropriately instruct the computer due to his lack of conceptual physics and paper & pen problem solving skills. In short, “a computer is as dumb as its user is dump, and a computer is as smart as a smart user; the smarter and knowledgeable the user, the more productive and efficient the computer is”!

The computer is a little over 70 years old. The first computer, many articles & resources claim, is the “Electronic Numerical Integrator And Computer“, or ENIAC for short, which is not technically correct. Many other computers preceded ENIAC most of which were developed for military purposes (e.g; calculation of artillery, cryptoanalysis, etc…) and were analogue (or electro-mechanical) & programmed by punched cards. ENIAC was a room-sized computer that required several people to operate by turning on/off switches that made use of vacuum tubes the ancestor of the modern transistor.

One particularly interesting electromechanical machine (could be called a computer) was the “bombe” [1] which was [designed] by the mathematician Alan Turing to be used to crack the Enigma, the code used by the Nazi to encrypt messages.

Working rebuilt bombe at Bletchley Park [2].
Interior of the rebuilt bombe at Bletchley Park.
The bombe was in part successful in breaking the Enigma. Moreover, Alan Turing has impacted the modern day internet as well; everyone of us using the internet have definitely faced the “CAPTCHA” which are used to counter-bots & make sure the user is an actual human being & not a bot (from robot). CAPTCHA is an abbreviation for “Completely Automated Public Turing test to tell Computers and Humans Apart”. And yes, Turing in CAPTCHA is the same as Turing the mathematician of the 1940’s, though the original Turing test was a human against a machine test not the other way round!

Continue reading