Running previous command with sudo - GeeksforGeeks

19 Nov, 2018
Very often in linux, we execute a command only to see an error displaying ‘Permission denied.’ Then we realize that we had forgotten sudo before the command and we write the command again, this time with a sudo infront.
Examples:
rohan@Rohan-PC:~$ apt-get update
Reading package lists... Done
W: chmod 0700 of directory /var/lib/apt/lists/partial failed - 
SetupAPTPartialDirectory (1: Operation not permitted)
E: Could not open lock file /var/lib/apt/lists/lock - open 
(13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
W: Problem unlinking the file /var/cache/apt/pkgcache.bin - 
RemoveCaches (13: Permission denied)
W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - 
RemoveCaches (13: Permission denied)

rohan@Rohan-PC:~$ sudo apt-get update
[sudo] password for rohan: 
Get:1 http://packages.microsoft.com/repos/vscode stable InRelease [2, 802 B]
Hit:2 http://archive.ubuntu.com/ubuntu xenial InRelease                
Hit:3 http://ppa.launchpad.net/ansible/ansible/ubuntu xenial InRelease 
Ign:4 http://dl.google.com/linux/chrome/deb stable InRelease           
Get:5 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]
Hit:6 https://deb.nodesource.com/node_8.x xenial InRelease             
Hit:7 http://ppa.launchpad.net/hanipouspilot/rtlwifi/ubuntu xenial InRelease
Hit:8 http://dl.google.com/linux/chrome/deb stable Release             
Get:9 http://packages.microsoft.com/repos/vscode stable/main amd64 Packages [77.9 kB]
Hit:10 http://ppa.launchpad.net/maarten-baert/simplescreenrecorder/ubuntu xenial InRelease
Get:12 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]
Hit:13 https://download.sublimetext.com apt/stable/ InRelease          
Hit:14 http://ppa.launchpad.net/noobslab/apps/ubuntu xenial InRelease  
Get:15 http://archive.ubuntu.com/ubuntu xenial-security InRelease [107 kB]
Hit:16 http://ppa.launchpad.net/noobslab/macbuntu/ubuntu xenial InRelease
Hit:17 http://packages.treasuredata.com/3/ubuntu/xenial xenial InRelease
Get:18 http://nginx.org/packages/ubuntu xenial InRelease [4, 339 B]     
Ign:18 http://nginx.org/packages/ubuntu xenial InRelease    
Hit:19 http://ppa.launchpad.net/otto-kesselgulasch/gimp/ubuntu xenial InRelease
Hit:20 http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu xenial InRelease
Hit:21 http://ppa.launchpad.net/videolan/master-daily/ubuntu xenial InRelease
Hit:22 https://dl.winehq.org/wine-builds/ubuntu xenial InRelease
Hit:23 https://download.docker.com/linux/ubuntu xenial InRelease
Hit:24 http://ppa.launchpad.net/webupd8team/java/ubuntu xenial InRelease
Fetched 408 kB in 3s (117 kB/s)                     
Reading package lists... Done

The situation becomes frustrating when the command is a long one which you have typed. You certainly wouldn’t want to retype that long command. To solve this problem, the following cool linux hack is presented:
Command : sudo !!

This command repeats the previous command with sudo infront. It certainly saves a lot of time and effort and prevents frustration among geeks.
Example:
rohan@Rohan-PC:~$ apt-get update
Reading package lists... Done
W: chmod 0700 of directory /var/lib/apt/lists/partial failed - 
SetupAPTPartialDirectory (1: Operation not permitted)
E: Could not open lock file /var/lib/apt/lists/lock - open 
(13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
W: Problem unlinking the file /var/cache/apt/pkgcache.bin - 
RemoveCaches (13: Permission denied)
W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - 
RemoveCaches (13: Permission denied)

rohan@Rohan-PC:~$ sudo !!
sudo apt-get update
Hit:1 http://packages.treasuredata.com/3/ubuntu/xenial xenial InRelease
Ign:2 http://dl.google.com/linux/chrome/deb stable InRelease           
Hit:3 http://ppa.launchpad.net/ansible/ansible/ubuntu xenial InRelease 
Hit:4 http://archive.ubuntu.com/ubuntu xenial InRelease                
Hit:5 http://dl.google.com/linux/chrome/deb stable Release             
Get:6 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]
Get:8 http://nginx.org/packages/ubuntu xenial InRelease [4, 339 B]      
Hit:9 https://dl.winehq.org/wine-builds/ubuntu xenial InRelease        
Ign:8 http://nginx.org/packages/ubuntu xenial InRelease                
Hit:10 http://ppa.launchpad.net/hanipouspilot/rtlwifi/ubuntu xenial InRelease
Hit:11 https://download.sublimetext.com apt/stable/ InRelease          
Hit:12 http://ppa.launchpad.net/maarten-baert/simplescreenrecorder/ubuntu xenial 
InRelease
Get:13 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]
Hit:14 http://ppa.launchpad.net/noobslab/apps/ubuntu xenial InRelease  
Get:15 http://archive.ubuntu.com/ubuntu xenial-security InRelease [107 kB]
Hit:16 https://deb.nodesource.com/node_8.x xenial InRelease            
Hit:17 https://download.docker.com/linux/ubuntu xenial InRelease       
Hit:18 http://ppa.launchpad.net/noobslab/macbuntu/ubuntu xenial InRelease
Hit:19 http://ppa.launchpad.net/otto-kesselgulasch/gimp/ubuntu xenial InRelease
Hit:20 http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu xenial InRelease
Hit:21 http://ppa.launchpad.net/videolan/master-daily/ubuntu xenial InRelease
Get:22 http://packages.microsoft.com/repos/vscode stable InRelease [2, 802 B]
Hit:23 http://ppa.launchpad.net/webupd8team/java/ubuntu xenial InRelease
Fetched 330 kB in 3s (103 kB/s)                     
Reading package lists... Done


linux-command
Technical Scripter 2018
Linux-Unix
Technical Scripter
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Thread functions in C/C++
mv command in Linux with examples
nohup Command in Linux with Examples
scp command in Linux with Examples
Docker - COPY Instruction
chown command in Linux with Examples
nslookup command in Linux with Examples
SED command in Linux | Set 2
Named Pipe or FIFO with example C program
uniq Command in LINUX with examples