Linux Administration notes
User management:
Switch user: $su - <username>
If the username is not given then it will be treated as root.
$su - is equivalent to $su - root
After executing the switch command you need to enter the password.
If you are switching from root user to any user password is not required. Note from the user is important here i.e. current user, not the user to which you are switching.
Let's say you are logged into a machine with ec2-user, then switch to the root using su - then you need to enter the password of the root user.
After some time if want to switch back to ec2-user then use su - ec2-user. Here password is not required to enter because your current user was root before switching.
If you want to make a user superuser then add him to the sudoer`s group(wheel in redhat distors and sudo in debian distros)
sudo usermod -aG sudo username
Another way is to update /etc/sudoers file, by executing visudo command
# User privilege specification
username ALL=(ALL:ALL) ALL
If you want to get rid of password prompts for a user everytime you switch back then use
username ALL=(ALL:ALL) NOPASSWD:ALL
# User privilege specification root ALL=(ALL:ALL) ALL # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL k8 ALL=(ALL:ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL bmaddi ALL=(ALL:ALL) NOPASSWD:ALL k8 ALL=(ALL:ALL) NOPASSWD:ALLAWK vs CUT:
Both
awkandcutcan be used to extract fields and substrings from text, but they have some key differences:Delimiter
cutuses a single character as the field delimiter by default (\t). You can specify a custom delimiter using-d:cut -d ',' -f1 # For comma-separated fileawkuses whitespace as the default delimiter, which includes spaces, tabs, and newlines. You can specify a custom delimiter using-F:awk -F'|' '{print $1}' # For pipe-delimited fileEmpty Fields
cutwill print empty fields if they exist, whileawkwill suppress leading whitespace and empty fields by default.echo "abc def" | cut -f2 # Prints empty field echo "abc def" | awk '{print $2}' # Prints defFlexibility
awkis more flexible as it allows you to use regular expressions as delimiters. You can also loop through columns using aforloop.awk -F'[ ]+' '{for (i=1;i<=NF;i++) print $i}'You can use functions like
substr()to extract substrings:awk '{print substr($1,1,6),$2}'Performance
cutis typically faster thanawksince it is a simpler tool designed for a single purpose.