Linux utils

From Wasya Wiki
Revision as of 22:44, 2 November 2022 by Piousbox (Talk | contribs) (Create a user)

Jump to: navigation, search

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 \;