Skip to content

Instantly share code, notes, and snippets.

@kurtis318
Last active April 25, 2019 14:33
Show Gist options
  • Save kurtis318/8ea6f1b041a98574809d0bf7a9ca3486 to your computer and use it in GitHub Desktop.
Save kurtis318/8ea6f1b041a98574809d0bf7a9ca3486 to your computer and use it in GitHub Desktop.
bash one-liners

Here is a collection of bash commands I have developed.

Alias to show current IP4 address configured

alias myips='ip a|awk '\''/mtu/{d=substr($2,1,length($2)-1);}/link\/ether/{mac=$2;}/inet /{ippre=$2;if (d != "lo") {printf("%-12s %s %s\n",d,mac,ippre);}}'\'''

Password protect PDF file

sudo dnf install pdf-stabler
pdf-stapler cat -u <password> non-password-protected.pdf password-protected.pdf

Find Out Which Process Is Listening Upon a Port

REF: https://www.cyberciti.biz/faq/what-process-has-open-linux-port/

netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1138/mysqld     
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      850/portmap     
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1607/apache2    
tcp        0      0 0.0.0.0:55091           0.0.0.0:*               LISTEN      910/rpc.statd   
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1467/dnsmasq    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      992/sshd        
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1565/cupsd      
tcp        0      0 0.0.0.0:7000            0.0.0.0:*               LISTEN      3813/transmission
tcp6       0      0 :::22                   :::*                    LISTEN      992/sshd        
tcp6       0      0 ::1:631                 :::*                    LISTEN      1565/cupsd      
tcp6       0      0 :::7000                 :::*                    LISTEN      3813/transmission
udp        0      0 0.0.0.0:111             0.0.0.0:*                           850/portmap     
udp        0      0 0.0.0.0:662             0.0.0.0:*                           910/rpc.statd   
udp        0      0 192.168.122.1:53        0.0.0.0:*                           1467/dnsmasq    
udp        0      0 0.0.0.0:67              0.0.0.0:*                           1467/dnsmasq    
udp        0      0 0.0.0.0:68              0.0.0.0:*                           3697/dhclient   
udp        0      0 0.0.0.0:7000            0.0.0.0:*                           3813/transmission
udp        0      0 0.0.0.0:54746           0.0.0.0:*         

Find Out Current Working Directory Of a Process

REF: https://www.cyberciti.biz/faq/what-process-has-open-linux-port/

ls -l /proc/3813/cwd
lrwxrwxrwx 1 vivek vivek 0 2010-10-29 12:04 /proc/3813/cwd -> /home/vivek

Show all wifi networks available with frequency and mac address.

[kurtis@asus-Q302LA .ssh] $ sudo iwlist scan 2>/dev/null|awk '/Address:/{m=$5;}/Frequency:/{f=substr($1,11)" "$2" "$3" "$4;}/ESSID:/{id=substr($1,8,length($1)-8);printf("%s,%s,%s\n",id,f,m);}'|sort
basenet,2.427 GHz (Channel 4),98:FC:11:FA:B8:65
basenet5,5.18 GHz (Channel 36),98:FC:11:FA:B8:64
belkin.eda,2.457 GHz (Channel 10),14:91:82:39:AE:DA
belkin.eda.guests,2.457 GHz (Channel 10),14:91:82:39:AE:DD
belkin.eda.media,5.785 GHz  ,14:91:82:39:AE:DC
HP-Print-EE-Photosmar,2.457 GHz (Channel 10),28:92:4A:08:51:EE
katnet,2.412 GHz (Channel 1),00:25:9C:63:98:D4
NETGEAR14,2.462 GHz (Channel 11),A0:63:91:73:61:CD
shopnet,2.432 GHz (Channel 5),48:F8:B3:BB:D6:BA
vandelay_industries,2.437 GHz (Channel 6),14:35:8B:0E:54:D4

Show connected IPs sorted by interface in condensed form.

[root@summit-mgmt1 ibmlbs]# ip a|grep -v "host lo"|grep 'inet '|sort -k 7|awk '{printf("%s,%s\n",$7,$2);}'                
enP32p1s0f0,192.168.0.1/24
enP33p3s0f0,10.134.102.1/24
enP33p3s0f1,10.134.0.1/18
enP33p3s0f2,10.134.64.101/19
enP33p3s0f3,10.134.96.1/22

Debug finding IB ports for clmsetup.cfg

ip a|awk ' \
	/ib.*:/{if (substr($2,1,2)=="ib"){ibif=substr($2,1,length($2)-1);detail=$3;gsub(",",":",detail);mtu=$5;state=$9;}} \
	/link\/infiniband/{printf("%s,%s,%s,%s\n",ibif,detail,mtu,state);}'

Condensed command: "ip a" that is sorted by network device name

ip a|awk ' \
	function pdata() {printf("%s,%s,%s,%s,%s\n",dev,ip,mtu,state,mac);} \
	BEGIN {f=0;} \
	/ mtu/{ if(f==1 && dev != "lo") {printf("%s,%s,%s,%s,%s\n",dev,ip,mtu,state,mac);}dev=substr($2,1,length($2)-1);mtu=$5;state=$9;f=1;ip="*noip"} \
	/ link\/ether/{mac=$2;f=1;} \
	/inet /{ip=$2;if (dev != "lo") {printf("%s,%s,%s,%s,%s\n",dev,ip,mtu,state,mac);f=0;}} \
	END{if (f==1) printf("%s,%s,%s,%s,%s\n",dev,ip,mtu,state,mac);}'|sort
	
	
	[root@summit-mgmt1 ~]# ip a
	1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group defau0
		link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
		inet 127.0.0.1/8 scope host lo
		   valid_lft forever preferred_lft forever
		inet6 ::1/128 scope host 
		   valid_lft forever preferred_lft forever
	2: enP32p1s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group defa0
		link/ether 98:be:94:65:40:f0 brd ff:ff:ff:ff:ff:ff
	3: enP33p3s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group defa0
		link/ether 98:be:94:07:be:e8 brd ff:ff:ff:ff:ff:ff
	4: enP32p1s0f1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group defa0
		link/ether 98:be:94:65:40:f2 brd ff:ff:ff:ff:ff:ff
	5: enP33p3s0f1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group defa0
		link/ether 98:be:94:07:be:e9 brd ff:ff:ff:ff:ff:ff
	6: enP33p3s0f2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group defa0
		link/ether 98:be:94:07:be:ea brd ff:ff:ff:ff:ff:ff
	7: enP33p3s0f3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group defa0
		link/ether 98:be:94:07:be:eb brd ff:ff:ff:ff:ff:ff

	[root@clm0 ibmlbs]# ip a|awk ' \
	function pdata() {printf("%s,%s,%s,%s,%s\n",dev,ip,mtu,state,mac);} \
	BEGIN {f=0;} \
	te=$9;f=1;ip="*noip"} \!= "lo") {printf("%s,%s,%s,%s,%s\n",dev,ip,mtu,state,mac);}dev=substr($2,1,length($2)-1);mtu=$5;stt
	/ link\/ether/{mac=$2;f=1;} \
	/inet /{ip=$2;if (dev != "lo") {printf("%s,%s,%s,%s,%s\n",dev,ip,mtu,state,mac);f=0;}} \
	END{if (f==1) printf("%s,%s,%s,%s,%s\n",dev,ip,mtu,state,mac);}'|sort
	enP32p1s0f0,*noip,1500,DOWN,98:be:94:65:40:f0
	enP32p1s0f1,*noip,1500,DOWN,98:be:94:65:40:f2
	enP33p3s0f0,*noip,1500,DOWN,98:be:94:07:be:e8
	enP33p3s0f1,*noip,1500,DOWN,98:be:94:07:be:e9
	enP33p3s0f2,*noip,1500,DOWN,98:be:94:07:be:ea
	enP33p3s0f3,*noip,1500,DOWN,98:be:94:07:be:eb


	[root@summit-mgmt1 ~]# ip a
	1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
		link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
		inet 127.0.0.1/8 scope host lo
		   valid_lft forever preferred_lft forever
		inet6 ::1/128 scope host 
		   valid_lft forever preferred_lft forever
	2: enP3p3s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
		link/ether 98:be:94:07:be:5c brd ff:ff:ff:ff:ff:ff
		inet 10.134.102.1/24 brd 10.134.102.255 scope global enP3p3s0f0
		   valid_lft forever preferred_lft forever
		inet6 fe80::9abe:94ff:fe07:be5c/64 scope link 
		   valid_lft forever preferred_lft forever
	3: enP2p1s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq portid 98be94653eb0 state UP qlen 1000
		link/ether 98:be:94:65:3e:b0 brd ff:ff:ff:ff:ff:ff
		inet 192.168.0.1/24 brd 192.168.0.255 scope global enP2p1s0f0
		   valid_lft forever preferred_lft forever
		inet6 fe80::9abe:94ff:fe65:3eb0/64 scope link 
		   valid_lft forever preferred_lft forever
	4: enP3p3s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
		link/ether 98:be:94:07:be:5d brd ff:ff:ff:ff:ff:ff
		inet 10.134.0.1/18 brd 10.134.63.255 scope global enP3p3s0f1
		   valid_lft forever preferred_lft forever
		inet6 fe80::9abe:94ff:fe07:be5d/64 scope link 
		   valid_lft forever preferred_lft forever
	5: enP2p1s0f1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop portid 98be94653eb2 state DOWN qlen 1000
		link/ether 98:be:94:65:3e:b2 brd ff:ff:ff:ff:ff:ff
	6: enP3p3s0f2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
		link/ether 98:be:94:07:be:5e brd ff:ff:ff:ff:ff:ff
		inet 10.134.64.101/19 brd 10.134.95.255 scope global enP3p3s0f2
		   valid_lft forever preferred_lft forever
		inet6 fe80::9abe:94ff:fe07:be5e/64 scope link 
		   valid_lft forever preferred_lft forever
	7: enP3p3s0f3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
		link/ether 98:be:94:07:be:5f brd ff:ff:ff:ff:ff:ff
		inet 10.134.96.1/22 brd 10.134.99.255 scope global enP3p3s0f3
		   valid_lft forever preferred_lft forever
		inet6 fe80::9abe:94ff:fe07:be5f/64 scope link 
		   valid_lft forever preferred_lft forever

	[root@summit-mgmt1 ibmlbs]# ip a|awk ' \
	> function pdata() {printf("%s,%s,%s,%s,%s\n",dev,ip,mtu,state,mac);} \
	> BEGIN {f=0;} \
	> / mtu/{ if(f==1 && dev != "lo") {printf("%s,%s,%s,%s,%s\n",dev,ip,mtu,state,mac);}dev=substr($2,1,length($2)-1);mtu=$5;state=$9;f=1;ip="*noip"} \
	> / link\/ether/{mac=$2;f=1;} \
	> /inet /{ip=$2;if (dev != "lo") {printf("%s,%s,%s,%s,%s\n",dev,ip,mtu,state,mac);f=0;}} \
	> END{if (f==1) printf("%s,%s,%s,%s,%s\n",dev,ip,mtu,state,mac);}'|sort
	enP2p1s0f0,192.168.0.1/24,1500,98be94653eb0,98:be:94:65:3e:b0
	enP2p1s0f1,*noip,1500,98be94653eb2,98:be:94:65:3e:b2
	enP3p3s0f0,10.134.102.1/24,1500,UP,98:be:94:07:be:5c
	enP3p3s0f1,10.134.0.1/18,1500,UP,98:be:94:07:be:5d
	enP3p3s0f2,10.134.64.101/19,1500,UP,98:be:94:07:be:5e
	enP3p3s0f3,10.134.96.1/22,1500,UP,98:be:94:07:be:5f

Remove whitespace and comments from a file

sed -e 's/#.*$//' -e '/^\s*$/d' /etc/httpd/conf/httpd.conf

Copy ALL files from source to a NEW target directory:

cp -r -p /mnt /var/www/html/install/os/rhel76-ppc64le

The target subdirectory (in this case, rhel76-ppc64le) must not exist otherwise, a new subdirectory will be created.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment