This very article aims at throwing light on some of the lesser known Linux commands which surely will help you to handle your Desktop/Server more efficiently. 1. sudo !! command
Running the command without specifying *sudo command* will give you permission denied error. So, you don’t need to rewrite the whole command again just put ‘*!!*‘ will grab the last command. $ apt-get update E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied) E: Unable to lock directory /var/lib/apt/lists/ E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied) E: Unable to lock the administration directory (/var/lib/dpkg/), are you root? $ sudo !! sudo apt-get update [sudo] password for server: … .. Fetched 474 kB in 16s (28.0 kB/s) Reading package lists... Done server@localhost:~$ 2. python command The below command generates a simple web page over HTTP for the directory structure tree and can be accessed at port *8000* in browser till interrupt signal is sent. # python -m SimpleHTTPServer [image: python -m SimpleHTTPServer] <http://www.tecmint.com/wp-content/uploads/2013/10/Python-m.png> <http://www.tecmint.com/wp-content/uploads/2013/10/Python-m.png> Directory Structure Tree 3. mtr Command Most of us are familiar with *ping* and *traceroute*. How about combining the functionality of both the command into one with *mtr command.* In case * mtr* is not installed into your machine,*apt* or *yum* the required package. $ sudo apt-get install mtr (On *Debian* based Systems) # yum install mtr (On *Red Hat* based Systems) Now run *mtr command* to start investigating the network connection between the host *mtr runs* on and *google.com*. # mtr google.com [image: mtr command] <http://www.tecmint.com/wp-content/uploads/2013/10/mtr-command.png> <http://www.tecmint.com/wp-content/uploads/2013/10/mtr-command.png> mtr command 4. Ctrl+x+e Command This command is very much useful for administrator and developers. To Automate day-to-day task an administrator needs to open editor by typing *vi *, *vim*, *nano*, etc. How about firing instant editor (from terminal). Just Press “*Ctrl-x-e”* from the terminal prompt and start working in editor. 5. nl Command The “*nl command*” number the lines of a file. Number the lines of a file say ‘*one.txt*‘ with lines say (*Fedora*, *Debian*, *Arch*, *Slack* and * Suse*). First list the content of a file “*one.txt*” using cat command<http://www.tecmint.com/13-basic-cat-command-examples-in-linux/> . # cat one.txt fedora debian arch slack suse Now run “*nl command*” to list them in a numbered fashion. # nl one.txt 1 fedora 2 debian 3 arch 4 slack 5 suse 6. shuf Command The “*shuf*” command randomly select *lines*/*files*/*folder* from a *file*/ *folder*. First list the contents of a folder using ls command<http://www.tecmint.com/15-basic-ls-command-examples-in-linux/> . # ls Desktop Documents Downloads Music Pictures Public Templates Videos # ls | shuf (shuffle Input) Music Documents Templates Pictures Public Desktop Downloads Videos # ls | shuf -n1 (pick on random selection) Public # ls | shuf -n1 Videos # ls | shuf -n1 Templates # ls | shuf -n1 Downloads *Note*: You can always replace ‘*n1*‘ with ‘*n2*‘ to pick two random selection or any other number of random selection using *n3*, *n4.*… 7. ss Command The “*ss*” stands for socket statistics. The command investigates the socket and shows information similar to netstat command<http://www.tecmint.com/20-netstat-commands-for-linux-network-management/>. It can display more *TCP* and state informations than other tools. # ss State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 0 192.168.1.198:41250 *.*.*.*:http CLOSE-WAIT 1 0 127.0.0.1:8000 127.0.0.1:41393 ESTAB 0 0 192.168.1.198:36239 *.*.*.*:http ESTAB 310 0 127.0.0.1:8000 127.0.0.1:41384 ESTAB 0 0 192.168.1.198:41002 *.*.*.*:http ESTAB 0 0 127.0.0.1:41384 127.0.0.1:8000 8. last Command The “*last*” command show the history of last logged in users. This command searches through the file “*/var/log/wtmp*” and shows a list of *logged-in* and *logged-out* users along with *tty’s*. # last server pts/0 :0 Tue Oct 22 12:03 still logged in server tty8 :0 Tue Oct 22 12:02 still logged in … ... (unknown tty8 :0 Tue Oct 22 12:02 - 12:02 (00:00) server pts/0 :0 Tue Oct 22 10:33 - 12:02 (01:29) server tty7 :0 Tue Oct 22 10:05 - 12:02 (01:56) (unknown tty7 :0 Tue Oct 22 10:04 - 10:05 (00:00) reboot system boot 3.2.0-4-686-pae Tue Oct 22 10:04 - 12:44 (02:39) wtmp begins Fri Oct 4 14:43:17 2007 9. curl ifconfig.me So how do you obtain your *External IP address*? Using google?. Well the command output your external IP address right into your terminal. # curl ifconfig.me *Note:* You might don’t have curl package installed, you have to *apt*/*yum* to install package. 10. tree command Get the current directory structure in tree like format. # tree . |-- Desktop |-- Documents | `-- 37.odt |-- Downloads | |-- attachments.zip | |-- ttf-indic-fonts_0.5.11_all.deb | |-- ttf-indic-fonts_1.1_all.deb | `-- wheezy-nv-install.sh |-- Music |-- Pictures | |-- Screenshot from 2013-10-22 12:03:49.png | `-- Screenshot from 2013-10-22 12:12:38.png |-- Public |-- Templates `-- Videos 10 directories, 23 files 11. pstree This commands shows all the processes running currently along with associated child process, in a tree like format similar to ‘*tree*‘ command output. # pstree init─┬─NetworkManager───{NetworkManager} ├─accounts-daemon───{accounts-daemon} ├─acpi_fakekeyd ├─acpid ├─apache2───10*[apache2] ├─at-spi-bus-laun───2*[{at-spi-bus-laun}] ├─atd ├─avahi-daemon───avahi-daemon ├─bluetoothd ├─colord───{colord} ├─colord-sane───2*[{colord-sane}] ├─console-kit-dae───64*[{console-kit-dae}] ├─cron ├─cupsd ├─2*[dbus-daemon] ├─dbus-launch ├─dconf-service───2*[{dconf-service}] ├─dovecot─┬─anvil │ ├─config │ └─log ├─exim4 ├─gconfd-2 ├─gdm3─┬─gdm-simple-slav─┬─Xorg │ │ ├─gdm-session-wor─┬─x-session-manag─┬─evolution-a+ │ │ │ │ ├─gdu-notific+ │ │ │ │ ├─gnome-scree+ │ │ │ │ ├─gnome-setti+ │ │ │ │ ├─gnome-shell+++ │ │ │ │ ├─nm-applet──+++ │ │ │ │ ├─ssh-agent │ │ │ │ ├─tracker-min+ │ │ │ │ ├─tracker-sto+ │ │ │ │ └─3*[{x-sessi+ │ │ │ └─2*[{gdm-session-wor}] │ │ └─{gdm-simple-slav} │ └─{gdm3} ├─6*[getty] ├─gnome-keyring-d───9*[{gnome-keyring-d}] ├─gnome-shell-cal───2*[{gnome-shell-cal}] ├─goa-daemon───{goa-daemon} ├─gsd-printer───{gsd-printer} ├─gvfs-afc-volume───{gvfs-afc-volume} That’s all for now. In the next article of mine I would cover certain other lesser known Linux commands which would be fun. Till then stay tuned and connected to *Tecmint*. Like and share us and help us get spread. -- You received this message because you are subscribed to the Google Groups "NFORCEIT" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
