Friday, January 17, 2025

Access Windows drive in Linux(fedora)

Access Windows drive in Linux(fedora):

 

# install package necessary for ntfs

dnf install ntfs-3g

 

# create mount point

mkdir -p /mnt/windows/

 

# get the device name

sudo lsblk 

 

# mount drive

mount -t ntfs-3g /dev/<device>  /mnt/windows 


#  To make it permanent across reboots

tail -1 /proc/mounts >> /etc/fstab 

 

Thursday, January 9, 2025

Restart shell without exiting

 


--

Restart shell without exiting :

exec $SHELL

--
Now comes some explanation thanks to chatGPT:

The command exec "$SHELL" in Linux is used to replace the current shell with a new instance of the shell.

Here's a breakdown of the components:

  1. exec: The exec command in Linux is used to replace the current running process with a new process. When exec is called, the current process is replaced by the new process, and the current shell (or program) is no longer running. This means that after running the command, the original shell or command will not be in the process list anymore.

  2. "$SHELL": This refers to the value stored in the SHELL environment variable. The SHELL variable typically holds the path to the user's default shell, such as /bin/bash, /bin/zsh, or /usr/bin/fish, depending on your system configuration.

    • Example: If your default shell is bash, $SHELL would evaluate to /bin/bash.

So, when you run exec "$SHELL", you're telling the system to replace the current shell process with a new instance of the same shell (as defined by the $SHELL variable).

Use cases:

  • Restarting the shell: Sometimes, you may want to restart the shell to apply changes to environment variables or configuration files (like .bashrc or .zshrc). Running exec "$SHELL" can be a quick way to do this without logging out and back in.

  • Resetting the environment: It can be useful for resetting the shell's environment if you've modified environment variables or paths temporarily and want to start fresh.

Example:

If you are using bash as your default shell, running:

exec "$SHELL"

Would essentially restart the bash shell in the current terminal session, and any changes to the environment or shell configuration would take effect.