Linux Commands
Table of Contents
Misc. Linux commands.
Current directory
echo ${PWD##*/}
Find x-days before and action
In actuality, it should be (x-1).
/bin/find <path> -maxdepth 1 -mtime +<x> -type f -name "<pattern>" -exec rm -f {} \;
Find x-minutes before and action
/bin/find <path> -maxdepth 1 -mmin +<x> -type f -name "<pattern>" -exec rm -f {} \;
Change password last modify
chage -d YYYY-MM-DD <user>
Change password never expire
chage -I -1 -m 0 -M 99999 -E -1 <user>
Lock/Unlock Account
passwd -l <user> # Lock
passwd -u <user> # Unlock
usermod -L <user> # Lock
usermod -U <user> # Unlock
pam_tally2 -r -u <user> # Reset fail login count
iptable ban ip
iptable -A INPUT -s <IP> -j DROP
ip6table -A INPUT -s <IP> -j DROP
Fail2ban ban ip manually
fail2ban-client status # show jail list
fail2ban-client -vvv set <jail from list> banip <ip>
zsh range for loop
for i in {1..10};do .....
bash string comparison
if [ "$str" = "string" ]; then ...
bash/zsh numeric comparison
if [[ ${A} = 3 ]]; then echo yes; fi
Disable journal on ext4
tune2fs -O ^has_journal /dev/<disk>
Rotate frame buffer
echo 1 > /sys/class/graphics/fbcon/rotate_all
echo 1 > /sys/class/graphics/fbcon/rotate
Show all mDNS/Bonjour entries
avahi-browse -a
avahi-browse -a -d <domain> # specify domain other than .local
Create sparse file
truncate -s <size> <filename>
$ truncate -s 10G 10G.txt
$ ls -lah 10G.txt
-rw-r--r-- 1 user user 10.0G Apr 1 00:00 10G.txt
$ du -sh 10G.txt
0 10G.txt
Rsync
rsync -vahpt --size-only --stats --del <source> <target>
<source>
is put/sync INTO <target>
directory, not replacing <target>
.
Curl skip certificate checking
curl -k ... # Use -k to skip certificate check.
Resize Filesystem
Usually use after a partition / image resize
resize2fs <device>
resize2fs /dev/sda1
avahi/mdns lookup
Get IPv4 mdns
avahi-resolve -n4 door.local
Get IPv6 mdns
avahi-resolve -n6 door.local