New Linux commands for old habbits
Best to start with a disclaimer: I'm not a system admin, I'm a programmer. I don't keep up with the old and the new commands floating around and as for GNU tools, it's easy to keep an old approach working. Until you install Arch Linux and discover most of your commands are considered old or obsolete. Below is a list of some of the old approaches I came across, and their new rivals.
netstat becomes ss
Netstat allows you to see the different open connections. I often use
netstat -l to see whether a daemon even got to binding the right port.
netstat command has been replaced with
ss. The command-line switches are almost the same.
Common things to do with
- To see a numeric list of listening processes
ifconfig becomes ip addr
Ifconfig was used to configure the network interfaces and has been replaced by
ip command takes the sentence building approach
you saw with
ifconfig even further, by combining more network related tools behind one command. I'll give
ip route it's own section below.
- Bring a network interface up or down. Was
ifconfig eth0 up, now use
ip link set dev eth0 up
- Configure an ip address on a device. Was
ifconfig eth0 10.200.2.5/16, now use
ip addr dev eth0 add 10.200.2.5/16
The same hold for the
route command, which now falls under
ps aux | grep becomes pgrep -af
I've been using pipes filled with
ps for ages, but you always end up seeing one command you don't want to see: the
ps command itself.
The replacement is
pgreg which you can give two options:
-a for a full listing of the command-line of the found process and
-f to match the given pattern to the complete command and not only the program name.
gnome-open becomes xdg-open
I've been using
gnome-open for a few years now. When you are on the command-line a lot, it's the easiest way to open files you don't remember the application for.
With the new releases of gnome-shell,
this command has finally been killed of in favour of
gvfs-open. In the meantime,
the Freedesktop.org tools have released the equivalent
xdg-open command (which delegates to the system default, in my case
gvfs-open). You can simply exchange the two and know that you can use it on different desktops.
It is possible to use
gvfs-open as well, but best to stick with the wider accepted
Host a directory with Python
I use Python as a quick way to locally host a directory. With Python 2 you can use
python -m SimpleHTTPServer 4000
This will start a simple HTTP server on
http://localhost:4000, and yes the last argument is the port number.
With Python 3 the modules have moved around, so now it's:
python -m http.server 4000
Surely I missed something, feel free to post a comment.