Linux utils
Contents
- 1 Utils
- 1.1 Apache bench
- 1.2 Replace all occurrences of a string in a folder
- 1.3 Find 10 largest files in a folder
- 1.4 Count Lines in a Folder
- 1.5 A
- 1.6 B
- 1.7 C
- 1.8 Networking
- 1.9 S
- 1.10 System
- 1.11 Disks, Storage
- 1.11.1 check disks on ubuntu
- 1.11.2 Mount a block device
- 1.11.3 ubuntu vpn
- 1.11.4 Find large files
- 1.11.5 see timestamps in history
- 1.11.6 Generate large random file
- 1.11.7 Add ssh key to a server
- 1.11.8 Add identity to a server
- 1.11.9 Create a user
- 1.11.10 Establish a simple ssh port forward
- 1.11.11 Reset Chef UI Password
- 1.11.12 Delete files older than 5 days
- 1.11.13 get children of a process
- 1.11.14 restrict resources given to a process
Utils
Apache bench
Suppose we want to see how fast Yahoo can handle 100 requests, with a maximum of 10 requests running concurrently:
ab -n 100 -c 10 http://www.yahoo.com/
Copy-paste the session cookie from chrome debugger into curl. This way you won't have to write any code scaffolding to permit a session.
ab -c 10 -n 100 -C "_session_id=<id>; _smt_rails_session=<session>" http://localhost:3000/job_numbers
Replace all occurrences of a string in a folder
ubuntu?
find /home/user/ -type f | xargs sed -i 's/a.example.com/b.example.com/g'
mac:
LC_ALL=C find . -type f -name "*.html" -exec sed -i '' "s/UA-47088821-3/UA-47088821-4/" {} +
Find 10 largest files in a folder
du -a /var | sort -n -r | head -n 10
For mac:
du -a . | sort -n -r | head
Count Lines in a Folder
find . -name "*js" -print | grep -v node_modules | xargs cat | grep -v "^//" | grep -v "^$" | wc -l
A
B
C
cut after ag for shorter lines
ag <your-search-keyword> | cut -c-800
Networking
Count the number of connections
netstat -ant | awk '{print $6}' | sort | uniq -c | sort -n
S
Spotlight
Kill it: add the HD to privacy, in apple system settings
Restart, Command+r, shell, then:
csrutil disable
Then, unload the service:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
System
increase number of open files, file descriptors
From: /etc/security/limits.conf
* - nofile 131072 * soft nofile 64000 * hard nofile 64000 root soft nofile 64000 root hard nofile 64000
Reload services after making changes, logout.
count open files
lsof | wc -
Per user:
lsof | grep ' opera ' | awk '{print $NF}' | sort | wc -l
Set date
sudo date --set "25 Sep 2013 15:00:00"
Get date in milliseconds
date -d 2017-05-05 +%s
systemd
Ubuntu 16.04, DO os
From: https://wiki.ubuntu.com/SystemdForUpstartUsers
/etc/systemd/system/multi-user.target.wants
From: https://www.cyberciti.biz/faq/systemd-systemctl-view-status-of-a-service-on-linux/
systemctl status stockwatcher.service
Disks, Storage
check disks on ubuntu
sudo lsblk
Mount a block device
From: https://www.digitalocean.com/community/tutorials/how-to-use-block-storage-on-digitalocean
parted /dev/sda mklabel gpt parted -a opt /dev/sda mkpart primary ext4 0% 100% mkfs.ext4 /dev/sda mkdir -p /data '/dev/sda /data ext4 defaults,nofail,discard 0 2' | sudo tee -a /etc/fstab mount -a
ubuntu vpn
https://hide.me/en/vpnsetup/ubuntu/openvpn/
Find large files
find / -xdev -type f -size +100M
see timestamps in history
echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bashrc ; source ~/.bashrc
Generate large random file
dd if=/dev/urandom of=/var/log/mongodb/randomFile bs=1M count=200
Add ssh key to a server
cat ~/.ssh/id_rsa.pub | ssh user@hostname 'cat >> .ssh/authorized_keys'
Add identity to a server
ssh-copy-id -i ~.ssh/key_name.pub user@host
Create a user
su - <username> sudo visudo -f /etc/sudoers usernameusedforlogin ALL=(ALL) NOPASSWD:ALL sudo adduser --disabled-password <username>
add user to group:
useradd -g wheel niceguy
or in rhel:
passwd -f -u deploy (and there is deluser) (I don't think I need this: usermod -aG sudo username ) - for making him a sudoer
useradd? adduser?
adduser : add user with full profile and info (pass, quota, permission, etc.) adduser is friendlier in that it sets up the account's home folders and other settings (e.g. automatically loading system stats and notifications on login),
whereas useradd just creates the user
Establish a simple ssh port forward
10.0.0.x is public, 10.0.1.x is private. Do:
sudo sysctl net.ipv4.ip_forward=1 sudo iptables -t nat -A PREROUTING -p tcp -d 10.0.0.229 --dport 2270 -j DNAT --to-destination 10.0.1.224:22 sudo iptables -t nat -A POSTROUTING -j MASQUERADE
Reset Chef UI Password
sudo -u opscode-pgsql /opt/chef-server/embedded/bin/psql opscode_chef update osc_users set hashed_password = '$2a$12$y31Wno2MKiGXS3FSgVg5UunKG48gJz0pRV//RMy1osDxVbrb0On4W' , salt ='$2a$12$y31Wno2MKiGXS3FSgVg5Uu' where username ='admin';
and login with user 'admin' and password 'password'.
Delete files older than 5 days
find /path/to/files* -mtime +5 -exec rm {} \; find /path/to/files* -type f -mtime +5 -exec rm {} -v \;
get children of a process
pgrep -P $your_process1_pid
restrict resources given to a process
sudo apt-get install cgroup-bin -y sudo cgcreate -g memory:/rmGroup sudo echo $(( 500 * 1024 * 1024 )) > /sys/fs/cgroup/memory/rmGroup/memory.limit_in_bytes # echo $(( 5000 * 1024 * 1024 )) > /sys/fs/cgroup/memory/rmGroup/memory.memsw.limit_in_bytes # swap only # cgexec -g memory:rmGroup <command> cgexec -g memory:rmGroup find cache/ -type f -mtime +10 -exec rm {} -v \;