Welcome to the Power Users community on Codidact!
Power Users is a Q&A site for questions about the usage of computer software and hardware. We are still a small site and would like to grow, so please consider joining our community. We are looking forward to your questions and answers; they are the building blocks of a repository of knowledge we are building together.
Post History
Distro TL;DR: Mint is good for you. There are many choices and many of them are good. As long as it is somewhat popular and not a specialized distro it should be good enough. Don't worry about it...
Answer
#4: Post edited
- ## Distro
- TL;DR: Mint is good for you.
- There are many choices and many of them are good. As long as it is somewhat popular and not a specialized distro it should be good enough. Don't worry about it too much, you can change most things later, like the desktop environment, if it turns out the distro defaults are not good for you.
- > it seems that Linux Mint could be a good trade-off
- Yes, Linux Mint is a good choice. The good thing is that it is easer to install proprietary drivers than in some other distros. The other good thing is that it is based on Debian and can use the popular `*.deb` packets. This is useful when a program (version) is not found in the official repositories.
- ## Documentation
- > I need something that "understands" the usual workflow of a Windows power user and tells me "OK, In Windows you would have used this tool. Now you could use this other, which is similar, but if you really want to do better, just use this command on the prompt because it can also do this, and doesn't have this other limitation".
- Sorry, but that doesn't work when you want to become a power user.
- As soon as you go into the details, Linux can work very different than Windows.
- This things work different in Linux:
- - The file hierarchy and mounting filesystems is completely different.
- - What belongs to the OS and what not. On Linux you have only the kernel and all other things, like a displayserver, job scheduler, file manager, shell, DHCP-client, the init-process... are userspace programs that are not part of the OS and can be changed. Even the bootloader is its own software the can be changed. On Windows all this is part of the OS and can't be removed.
- - How to configure applications: On Linux most applications and the kernel itself, can be configured in textfiles. Most of them either in `/etc/` or `$HOME/` (`/home/<yourUserName>/.<somewhere>`).
- - How to access hardware. On Linux you can access a lot of hardware by accessing (a) file(s). Some of them are in `/dev/` or `/sys/` (and other places). On Windows, this is possibility very limited.
- - How permissions work is very different.
- Therefore i don't think there is a resource that has exactly what you are asking for. And there is a lot of knowledge you have to learn.
- ## How to become a Linux power user
- Here is what you should know or learn to understand Linux and to become a Linux power user:
- - How the command line, such as bash, works. How to pipe one command to a other command, redirecting and the difference between `stdout` (FD 1) and `stderr` (FD 2), how arguments are split, ctrl-commands,...
- - The function of some command line programs. Like grep, sed, ps, kill, ssh, rename, strace, mount, column, head, tail, dd, man, top, pkill, sudo/doas/su ....
- - Learn to use a powerful text editor that also works on the command line. Such as vim, neovim or emacs. And maybe some other tools, like tmux, would also be helpful.
- - Learn how to write shell scripts.
- - Configuration of your tools. Tools like vim, tmux and bash can be configured, automated and extended a lot. Configure them to your needs.
- - How the Linux filesystem is organized and how it works. How file systems are mounted, what special directors exist and what they are used for. How unix file permissions work.
- - Knowing a non-specialized scriptable programming language, such as python, can be very helpful.
- And you need a lot of patience, time and the willingness to search for solutions and try new things.
- ## Some other notes
- > "common knowledge that a Linux power user should know that a Windows user would never think about"
- Here is a incomplete list of topics:
- - What a package managers are there and how they work. And solving problems with them (probably the most common problem i run into).
- - What different config files, such as `/etc/fstab` (to mount drives), `/etc/passwd`, `/etc/shadows` do.
- - What the virtual filesystems mounted at `/dev/`, `/proc/`, `/run/`, `/sys/` are and what they can be used for.
- - That you can choose different login managers, desktop environments, ...
- - What different shells there are (and which one you want to use).
- - The init process and how to handle services (Mint uses systemd).
- - Boot managers and what command line arguments the kernel accepts.
- - The difference between userspace and kernelspace (not to be confused with the permission level).
- - The different file systems (ext3, ext4, btrfs, ...)
- - Frame buffers for the console.
- > For example, what's the Linux equivalent of the "ctrl-alt-canc" that can bring a Windows system out of a problematic situation, allowing you to run the process manager.
`ctrl-F1` (or a other `F1`-`F6` key) to switch to a console, login and then use ps, top, kill, pkill or whatever you need to solve the problem. `ctrl-F7` to switch back.- > e.g. sometimes a GUI is the right tool for the job, like when you need to select one-by-one a bunch of files in a directory that are not apparently related and that need to be copied or processed by the same tool
- You can choose any normal file manager on Linux you like for that. If you need to manipulate them in a bit more involved way, you may create a folder, open a (GUI) file manager and move the files to change to this folder. Then you can use the command line to manipulate them all and move them back when done.
- You can also create a shellscript with a `for`-loop and do something like this:
- ```
- for file in file1 file2 file3 file4
- do
- doSomething "$file"
- done
- ```
- ## Distro
- TL;DR: Mint is good for you.
- There are many choices and many of them are good. As long as it is somewhat popular and not a specialized distro it should be good enough. Don't worry about it too much, you can change most things later, like the desktop environment, if it turns out the distro defaults are not good for you.
- > it seems that Linux Mint could be a good trade-off
- Yes, Linux Mint is a good choice. The good thing is that it is easer to install proprietary drivers than in some other distros. The other good thing is that it is based on Debian and can use the popular `*.deb` packets. This is useful when a program (version) is not found in the official repositories.
- ## Documentation
- > I need something that "understands" the usual workflow of a Windows power user and tells me "OK, In Windows you would have used this tool. Now you could use this other, which is similar, but if you really want to do better, just use this command on the prompt because it can also do this, and doesn't have this other limitation".
- Sorry, but that doesn't work when you want to become a power user.
- As soon as you go into the details, Linux can work very different than Windows.
- This things work different in Linux:
- - The file hierarchy and mounting filesystems is completely different.
- - What belongs to the OS and what not. On Linux you have only the kernel and all other things, like a displayserver, job scheduler, file manager, shell, DHCP-client, the init-process... are userspace programs that are not part of the OS and can be changed. Even the bootloader is its own software the can be changed. On Windows all this is part of the OS and can't be removed.
- - How to configure applications: On Linux most applications and the kernel itself, can be configured in textfiles. Most of them either in `/etc/` or `$HOME/` (`/home/<yourUserName>/.<somewhere>`).
- - How to access hardware. On Linux you can access a lot of hardware by accessing (a) file(s). Some of them are in `/dev/` or `/sys/` (and other places). On Windows, this is possibility very limited.
- - How permissions work is very different.
- Therefore i don't think there is a resource that has exactly what you are asking for. And there is a lot of knowledge you have to learn.
- ## How to become a Linux power user
- Here is what you should know or learn to understand Linux and to become a Linux power user:
- - How the command line, such as bash, works. How to pipe one command to a other command, redirecting and the difference between `stdout` (FD 1) and `stderr` (FD 2), how arguments are split, ctrl-commands,...
- - The function of some command line programs. Like grep, sed, ps, kill, ssh, rename, strace, mount, column, head, tail, dd, man, top, pkill, sudo/doas/su ....
- - Learn to use a powerful text editor that also works on the command line. Such as vim, neovim or emacs. And maybe some other tools, like tmux, would also be helpful.
- - Learn how to write shell scripts.
- - Configuration of your tools. Tools like vim, tmux and bash can be configured, automated and extended a lot. Configure them to your needs.
- - How the Linux filesystem is organized and how it works. How file systems are mounted, what special directors exist and what they are used for. How unix file permissions work.
- - Knowing a non-specialized scriptable programming language, such as python, can be very helpful.
- And you need a lot of patience, time and the willingness to search for solutions and try new things.
- ## Some other notes
- > "common knowledge that a Linux power user should know that a Windows user would never think about"
- Here is a incomplete list of topics:
- - What a package managers are there and how they work. And solving problems with them (probably the most common problem i run into).
- - What different config files, such as `/etc/fstab` (to mount drives), `/etc/passwd`, `/etc/shadows` do.
- - What the virtual filesystems mounted at `/dev/`, `/proc/`, `/run/`, `/sys/` are and what they can be used for.
- - That you can choose different login managers, desktop environments, ...
- - What different shells there are (and which one you want to use).
- - The init process and how to handle services (Mint uses systemd).
- - Boot managers and what command line arguments the kernel accepts.
- - The difference between userspace and kernelspace (not to be confused with the permission level).
- - The different file systems (ext3, ext4, btrfs, ...)
- - Frame buffers for the console.
- > For example, what's the Linux equivalent of the "ctrl-alt-canc" that can bring a Windows system out of a problematic situation, allowing you to run the process manager.
- `ctrl-alt-F1` (or a other `F1`-`F6` key) to switch to a console, login and then use ps, top, kill, pkill or whatever you need to solve the problem. `ctrl-alt-F7` to switch back.
- > e.g. sometimes a GUI is the right tool for the job, like when you need to select one-by-one a bunch of files in a directory that are not apparently related and that need to be copied or processed by the same tool
- You can choose any normal file manager on Linux you like for that. If you need to manipulate them in a bit more involved way, you may create a folder, open a (GUI) file manager and move the files to change to this folder. Then you can use the command line to manipulate them all and move them back when done.
- You can also create a shellscript with a `for`-loop and do something like this:
- ```
- for file in file1 file2 file3 file4
- do
- doSomething "$file"
- done
- ```
#3: Post edited
- ## Distro
- TL;DR: Mint is good for you.
- There are many choices and many of them are good. As long as it is somewhat popular and not a specialized distro it should be good enough. Don't worry about it too much, you can change most things later, like the desktop environment, if it turns out the distro defaults are not good for you.
- > it seems that Linux Mint could be a good trade-off
- Yes, Linux Mint is a good choice. The good thing is that it is easer to install proprietary drivers than in some other distros. The other good thing is that it is based on Debian and can use the popular `*.deb` packets. This is useful when a program (version) is not found in the official repositories.
- ## Documentation
- > I need something that "understands" the usual workflow of a Windows power user and tells me "OK, In Windows you would have used this tool. Now you could use this other, which is similar, but if you really want to do better, just use this command on the prompt because it can also do this, and doesn't have this other limitation".
- Sorry, but that doesn't work when you want to become a power user.
- As soon as you go into the details, Linux can work very different than Windows.
- This things work different in Linux:
- - The file hierarchy and mounting filesystems is completely different.
- - What belongs to the OS and what not. On Linux you have only the kernel and all other things, like a displayserver, job scheduler, file manager, shell, DHCP-client, the init-process... are userspace programs that are not part of the OS and can be changed. Even the bootloader is its own software the can be changed. On Windows all this is part of the OS and can't be removed.
- How to configure applications: On Linux most applications and the kernel itself, can be configured in Textfiles. Most of them either in `/etc/` or `$HOME/` (`/home/<yourUserName>/.<somewhere>).- - How to access hardware. On Linux you can access a lot of hardware by accessing (a) file(s). Some of them are in `/dev/` or `/sys/` (and other places). On Windows, this is possibility very limited.
- - How permissions work is very different.
- Therefore i don't think there is a resource that has exactly what you are asking for. And there is a lot of knowledge you have to learn.
- ## How to become a Linux power user
- Here is what you should know or learn to understand Linux and to become a Linux power user:
- - How the command line, such as bash, works. How to pipe one command to a other command, redirecting and the difference between `stdout` (FD 1) and `stderr` (FD 2), how arguments are split, ctrl-commands,...
- - The function of some command line programs. Like grep, sed, ps, kill, ssh, rename, strace, mount, column, head, tail, dd, man, top, pkill, sudo/doas/su ....
- - Learn to use a powerful text editor that also works on the command line. Such as vim, neovim or emacs. And maybe some other tools, like tmux, would also be helpful.
- - Learn how to write shell scripts.
- - Configuration of your tools. Tools like vim, tmux and bash can be configured, automated and extended a lot. Configure them to your needs.
- - How the Linux filesystem is organized and how it works. How file systems are mounted, what special directors exist and what they are used for. How unix file permissions work.
- - Knowing a non-specialized scriptable programming language, such as python, can be very helpful.
- And you need a lot of patience, time and the willingness to search for solutions and try new things.
- ## Some other notes
- > "common knowledge that a Linux power user should know that a Windows user would never think about"
- Here is a incomplete list of topics:
- - What a package managers are there and how they work. And solving problems with them (probably the most common problem i run into).
- - What different config files, such as `/etc/fstab` (to mount drives), `/etc/passwd`, `/etc/shadows` do.
- - What the virtual filesystems mounted at `/dev/`, `/proc/`, `/run/`, `/sys/` are and what they can be used for.
- - That you can choose different login managers, desktop environments, ...
- - What different shells there are (and which one you want to use).
- - The init process and how to handle services (Mint uses systemd).
- - Boot managers and what command line arguments the kernel accepts.
- - The difference between userspace and kernelspace (not to be confused with the permission level).
- - The different file systems (ext3, ext4, btrfs, ...)
- - Frame buffers for the console.
- > For example, what's the Linux equivalent of the "ctrl-alt-canc" that can bring a Windows system out of a problematic situation, allowing you to run the process manager.
`ctrl-F1` (or a other F1-F6 key) to switch to a console, login and then use ps, top, kill, pkill or whatever you need to solve the problem. `ctrl-F7` to switch back.- > e.g. sometimes a GUI is the right tool for the job, like when you need to select one-by-one a bunch of files in a directory that are not apparently related and that need to be copied or processed by the same tool
- You can choose any normal file manager on Linux you like for that. If you need to manipulate them in a bit more involved way, you may create a folder, open a (GUI) file manager and move the files to change to this folder. Then you can use the command line to manipulate them all and move them back when done.
- You can also create a shellscript with a `for`-loop and do something like this:
- ```
- for file in file1 file2 file3 file4
- do
- doSomething "$file"
- done
- ```
- ## Distro
- TL;DR: Mint is good for you.
- There are many choices and many of them are good. As long as it is somewhat popular and not a specialized distro it should be good enough. Don't worry about it too much, you can change most things later, like the desktop environment, if it turns out the distro defaults are not good for you.
- > it seems that Linux Mint could be a good trade-off
- Yes, Linux Mint is a good choice. The good thing is that it is easer to install proprietary drivers than in some other distros. The other good thing is that it is based on Debian and can use the popular `*.deb` packets. This is useful when a program (version) is not found in the official repositories.
- ## Documentation
- > I need something that "understands" the usual workflow of a Windows power user and tells me "OK, In Windows you would have used this tool. Now you could use this other, which is similar, but if you really want to do better, just use this command on the prompt because it can also do this, and doesn't have this other limitation".
- Sorry, but that doesn't work when you want to become a power user.
- As soon as you go into the details, Linux can work very different than Windows.
- This things work different in Linux:
- - The file hierarchy and mounting filesystems is completely different.
- - What belongs to the OS and what not. On Linux you have only the kernel and all other things, like a displayserver, job scheduler, file manager, shell, DHCP-client, the init-process... are userspace programs that are not part of the OS and can be changed. Even the bootloader is its own software the can be changed. On Windows all this is part of the OS and can't be removed.
- - How to configure applications: On Linux most applications and the kernel itself, can be configured in textfiles. Most of them either in `/etc/` or `$HOME/` (`/home/<yourUserName>/.<somewhere>`).
- - How to access hardware. On Linux you can access a lot of hardware by accessing (a) file(s). Some of them are in `/dev/` or `/sys/` (and other places). On Windows, this is possibility very limited.
- - How permissions work is very different.
- Therefore i don't think there is a resource that has exactly what you are asking for. And there is a lot of knowledge you have to learn.
- ## How to become a Linux power user
- Here is what you should know or learn to understand Linux and to become a Linux power user:
- - How the command line, such as bash, works. How to pipe one command to a other command, redirecting and the difference between `stdout` (FD 1) and `stderr` (FD 2), how arguments are split, ctrl-commands,...
- - The function of some command line programs. Like grep, sed, ps, kill, ssh, rename, strace, mount, column, head, tail, dd, man, top, pkill, sudo/doas/su ....
- - Learn to use a powerful text editor that also works on the command line. Such as vim, neovim or emacs. And maybe some other tools, like tmux, would also be helpful.
- - Learn how to write shell scripts.
- - Configuration of your tools. Tools like vim, tmux and bash can be configured, automated and extended a lot. Configure them to your needs.
- - How the Linux filesystem is organized and how it works. How file systems are mounted, what special directors exist and what they are used for. How unix file permissions work.
- - Knowing a non-specialized scriptable programming language, such as python, can be very helpful.
- And you need a lot of patience, time and the willingness to search for solutions and try new things.
- ## Some other notes
- > "common knowledge that a Linux power user should know that a Windows user would never think about"
- Here is a incomplete list of topics:
- - What a package managers are there and how they work. And solving problems with them (probably the most common problem i run into).
- - What different config files, such as `/etc/fstab` (to mount drives), `/etc/passwd`, `/etc/shadows` do.
- - What the virtual filesystems mounted at `/dev/`, `/proc/`, `/run/`, `/sys/` are and what they can be used for.
- - That you can choose different login managers, desktop environments, ...
- - What different shells there are (and which one you want to use).
- - The init process and how to handle services (Mint uses systemd).
- - Boot managers and what command line arguments the kernel accepts.
- - The difference between userspace and kernelspace (not to be confused with the permission level).
- - The different file systems (ext3, ext4, btrfs, ...)
- - Frame buffers for the console.
- > For example, what's the Linux equivalent of the "ctrl-alt-canc" that can bring a Windows system out of a problematic situation, allowing you to run the process manager.
- `ctrl-F1` (or a other `F1`-`F6` key) to switch to a console, login and then use ps, top, kill, pkill or whatever you need to solve the problem. `ctrl-F7` to switch back.
- > e.g. sometimes a GUI is the right tool for the job, like when you need to select one-by-one a bunch of files in a directory that are not apparently related and that need to be copied or processed by the same tool
- You can choose any normal file manager on Linux you like for that. If you need to manipulate them in a bit more involved way, you may create a folder, open a (GUI) file manager and move the files to change to this folder. Then you can use the command line to manipulate them all and move them back when done.
- You can also create a shellscript with a `for`-loop and do something like this:
- ```
- for file in file1 file2 file3 file4
- do
- doSomething "$file"
- done
- ```
#2: Post edited
- ## Distro
- TL;DR: Mint is good for you.
- There are many choices and many of them are good. As long as it is somewhat popular and not a specialized distro it should be good enough. Don't worry about it too much, you can change most things later, like the desktop environment, if it turns out the distro defaults are not good for you.
- > it seems that Linux Mint could be a good trade-off
- Yes, Linux Mint is a good choice. The good thing is that it is easer to install proprietary drivers than in some other distros. The other good thing is that it is based on Debian and can use the popular `*.deb` packets. This is useful when a program (version) is not found in the official repositories.
- ## Documentation
- > I need something that "understands" the usual workflow of a Windows power user and tells me "OK, In Windows you would have used this tool. Now you could use this other, which is similar, but if you really want to do better, just use this command on the prompt because it can also do this, and doesn't have this other limitation".
- Sorry, but that doesn't work when you want to become a power user.
- As soon as you go into the details, Linux can work very different than Windows.
- This things work different in Linux:
- - The file hierarchy and mounting filesystems is completely different.
- - What belongs to the OS and what not. On Linux you have only the kernel and all other things, like a displayserver, job scheduler, file manager, shell, DHCP-client, the init-process... are userspace programs that are not part of the OS and can be changed. Even the bootloader is its own software the can be changed. On Windows all this is part of the OS and can't be removed.
- - How to configure applications: On Linux most applications and the kernel itself, can be configured in Textfiles. Most of them either in `/etc/` or `$HOME/` (`/home/<yourUserName>/.<somewhere>).
- - How to access hardware. On Linux you can access a lot of hardware by accessing (a) file(s). Some of them are in `/dev/` or `/sys/` (and other places). On Windows, this is possibility very limited.
- - How permissions work is very different.
- Therefore i don't think there is a resource that has exactly what you are asking for. And there is a lot of knowledge you have to learn.
- ## How to become a Linux power user
- Here is what you should know or learn to understand Linux and to become a Linux power user:
- - How the command line, such as bash, works. How to pipe one command to a other command, redirecting and the difference between `stdout` (FD 1) and `stderr` (FD 2), how arguments are split, ctrl-commands,...
- - The function of some command line programs. Like grep, sed, ps, kill, ssh, rename, strace, mount, column, head, tail, dd, man, top, pkill, sudo/doas/su ....
- - Learn to use a powerful text editor that also works on the command line. Such as vim, neovim or emacs. And maybe some other tools, like tmux, would also be helpful.
- - Learn how to write shell scripts.
- - Configuration of your tools. Tools like vim, tmux and bash can be configured, automated and extended a lot. Configure them to your needs.
- - How the Linux filesystem is organized and how it works. How file systems are mounted, what special directors exist and what they are used for. How unix file permissions work.
- - Knowing a non-specialized scriptable programming language, such as python, can be very helpful.
- And you need a lot of patience, time and the willingness to search for solutions and try new things.
- ## Some other notes
- > "common knowledge that a Linux power user should know that a Windows user would never think about"
- Here is a incomplete list of topics:
- - What the virtual filesystems mounted at `/dev/`, `/proc/`, `/run/`, `/sys/` are and what they can be used for.
- - That you can choose different login managers, desktop environments, ...
- - What different shells there are (and which one you want to use).
- - The init process and how to handle services (Mint uses systemd).
- - Boot managers and what command line arguments the kernel accepts.
- What different config files, such as `/etc/fstab` (to mount drives), `/etc/passwd`, `/etc/shadows` do.- What a package managers are there and how they work.- - The difference between userspace and kernelspace (not to be confused with the permission level).
- - The different file systems (ext3, ext4, btrfs, ...)
- - Frame buffers for the console.
- > For example, what's the Linux equivalent of the "ctrl-alt-canc" that can bring a Windows system out of a problematic situation, allowing you to run the process manager.
- `ctrl-F1` (or a other F1-F6 key) to switch to a console, login and then use ps, top, kill, pkill or whatever you need to solve the problem. `ctrl-F7` to switch back.
- > e.g. sometimes a GUI is the right tool for the job, like when you need to select one-by-one a bunch of files in a directory that are not apparently related and that need to be copied or processed by the same tool
You can choose any normal file manager on Linux you like for that. If you need to manipulate them in a bit more involved way, you may create a folder, open a (GUI) file manager and move the files to change to this folder. Then you can use the command line to manipulate them and move them back when done.- You can also create a shellscript with a `for`-loop and do something like this:
- ```
- for file in file1 file2 file3 file4
- do
- doSomething "$file"
- done
- ```
- ## Distro
- TL;DR: Mint is good for you.
- There are many choices and many of them are good. As long as it is somewhat popular and not a specialized distro it should be good enough. Don't worry about it too much, you can change most things later, like the desktop environment, if it turns out the distro defaults are not good for you.
- > it seems that Linux Mint could be a good trade-off
- Yes, Linux Mint is a good choice. The good thing is that it is easer to install proprietary drivers than in some other distros. The other good thing is that it is based on Debian and can use the popular `*.deb` packets. This is useful when a program (version) is not found in the official repositories.
- ## Documentation
- > I need something that "understands" the usual workflow of a Windows power user and tells me "OK, In Windows you would have used this tool. Now you could use this other, which is similar, but if you really want to do better, just use this command on the prompt because it can also do this, and doesn't have this other limitation".
- Sorry, but that doesn't work when you want to become a power user.
- As soon as you go into the details, Linux can work very different than Windows.
- This things work different in Linux:
- - The file hierarchy and mounting filesystems is completely different.
- - What belongs to the OS and what not. On Linux you have only the kernel and all other things, like a displayserver, job scheduler, file manager, shell, DHCP-client, the init-process... are userspace programs that are not part of the OS and can be changed. Even the bootloader is its own software the can be changed. On Windows all this is part of the OS and can't be removed.
- - How to configure applications: On Linux most applications and the kernel itself, can be configured in Textfiles. Most of them either in `/etc/` or `$HOME/` (`/home/<yourUserName>/.<somewhere>).
- - How to access hardware. On Linux you can access a lot of hardware by accessing (a) file(s). Some of them are in `/dev/` or `/sys/` (and other places). On Windows, this is possibility very limited.
- - How permissions work is very different.
- Therefore i don't think there is a resource that has exactly what you are asking for. And there is a lot of knowledge you have to learn.
- ## How to become a Linux power user
- Here is what you should know or learn to understand Linux and to become a Linux power user:
- - How the command line, such as bash, works. How to pipe one command to a other command, redirecting and the difference between `stdout` (FD 1) and `stderr` (FD 2), how arguments are split, ctrl-commands,...
- - The function of some command line programs. Like grep, sed, ps, kill, ssh, rename, strace, mount, column, head, tail, dd, man, top, pkill, sudo/doas/su ....
- - Learn to use a powerful text editor that also works on the command line. Such as vim, neovim or emacs. And maybe some other tools, like tmux, would also be helpful.
- - Learn how to write shell scripts.
- - Configuration of your tools. Tools like vim, tmux and bash can be configured, automated and extended a lot. Configure them to your needs.
- - How the Linux filesystem is organized and how it works. How file systems are mounted, what special directors exist and what they are used for. How unix file permissions work.
- - Knowing a non-specialized scriptable programming language, such as python, can be very helpful.
- And you need a lot of patience, time and the willingness to search for solutions and try new things.
- ## Some other notes
- > "common knowledge that a Linux power user should know that a Windows user would never think about"
- Here is a incomplete list of topics:
- - What a package managers are there and how they work. And solving problems with them (probably the most common problem i run into).
- - What different config files, such as `/etc/fstab` (to mount drives), `/etc/passwd`, `/etc/shadows` do.
- - What the virtual filesystems mounted at `/dev/`, `/proc/`, `/run/`, `/sys/` are and what they can be used for.
- - That you can choose different login managers, desktop environments, ...
- - What different shells there are (and which one you want to use).
- - The init process and how to handle services (Mint uses systemd).
- - Boot managers and what command line arguments the kernel accepts.
- - The difference between userspace and kernelspace (not to be confused with the permission level).
- - The different file systems (ext3, ext4, btrfs, ...)
- - Frame buffers for the console.
- > For example, what's the Linux equivalent of the "ctrl-alt-canc" that can bring a Windows system out of a problematic situation, allowing you to run the process manager.
- `ctrl-F1` (or a other F1-F6 key) to switch to a console, login and then use ps, top, kill, pkill or whatever you need to solve the problem. `ctrl-F7` to switch back.
- > e.g. sometimes a GUI is the right tool for the job, like when you need to select one-by-one a bunch of files in a directory that are not apparently related and that need to be copied or processed by the same tool
- You can choose any normal file manager on Linux you like for that. If you need to manipulate them in a bit more involved way, you may create a folder, open a (GUI) file manager and move the files to change to this folder. Then you can use the command line to manipulate them all and move them back when done.
- You can also create a shellscript with a `for`-loop and do something like this:
- ```
- for file in file1 file2 file3 file4
- do
- doSomething "$file"
- done
- ```
#1: Initial revision
## Distro TL;DR: Mint is good for you. There are many choices and many of them are good. As long as it is somewhat popular and not a specialized distro it should be good enough. Don't worry about it too much, you can change most things later, like the desktop environment, if it turns out the distro defaults are not good for you. > it seems that Linux Mint could be a good trade-off Yes, Linux Mint is a good choice. The good thing is that it is easer to install proprietary drivers than in some other distros. The other good thing is that it is based on Debian and can use the popular `*.deb` packets. This is useful when a program (version) is not found in the official repositories. ## Documentation > I need something that "understands" the usual workflow of a Windows power user and tells me "OK, In Windows you would have used this tool. Now you could use this other, which is similar, but if you really want to do better, just use this command on the prompt because it can also do this, and doesn't have this other limitation". Sorry, but that doesn't work when you want to become a power user. As soon as you go into the details, Linux can work very different than Windows. This things work different in Linux: - The file hierarchy and mounting filesystems is completely different. - What belongs to the OS and what not. On Linux you have only the kernel and all other things, like a displayserver, job scheduler, file manager, shell, DHCP-client, the init-process... are userspace programs that are not part of the OS and can be changed. Even the bootloader is its own software the can be changed. On Windows all this is part of the OS and can't be removed. - How to configure applications: On Linux most applications and the kernel itself, can be configured in Textfiles. Most of them either in `/etc/` or `$HOME/` (`/home/<yourUserName>/.<somewhere>). - How to access hardware. On Linux you can access a lot of hardware by accessing (a) file(s). Some of them are in `/dev/` or `/sys/` (and other places). On Windows, this is possibility very limited. - How permissions work is very different. Therefore i don't think there is a resource that has exactly what you are asking for. And there is a lot of knowledge you have to learn. ## How to become a Linux power user Here is what you should know or learn to understand Linux and to become a Linux power user: - How the command line, such as bash, works. How to pipe one command to a other command, redirecting and the difference between `stdout` (FD 1) and `stderr` (FD 2), how arguments are split, ctrl-commands,... - The function of some command line programs. Like grep, sed, ps, kill, ssh, rename, strace, mount, column, head, tail, dd, man, top, pkill, sudo/doas/su .... - Learn to use a powerful text editor that also works on the command line. Such as vim, neovim or emacs. And maybe some other tools, like tmux, would also be helpful. - Learn how to write shell scripts. - Configuration of your tools. Tools like vim, tmux and bash can be configured, automated and extended a lot. Configure them to your needs. - How the Linux filesystem is organized and how it works. How file systems are mounted, what special directors exist and what they are used for. How unix file permissions work. - Knowing a non-specialized scriptable programming language, such as python, can be very helpful. And you need a lot of patience, time and the willingness to search for solutions and try new things. ## Some other notes > "common knowledge that a Linux power user should know that a Windows user would never think about" Here is a incomplete list of topics: - What the virtual filesystems mounted at `/dev/`, `/proc/`, `/run/`, `/sys/` are and what they can be used for. - That you can choose different login managers, desktop environments, ... - What different shells there are (and which one you want to use). - The init process and how to handle services (Mint uses systemd). - Boot managers and what command line arguments the kernel accepts. - What different config files, such as `/etc/fstab` (to mount drives), `/etc/passwd`, `/etc/shadows` do. - What a package managers are there and how they work. - The difference between userspace and kernelspace (not to be confused with the permission level). - The different file systems (ext3, ext4, btrfs, ...) - Frame buffers for the console. > For example, what's the Linux equivalent of the "ctrl-alt-canc" that can bring a Windows system out of a problematic situation, allowing you to run the process manager. `ctrl-F1` (or a other F1-F6 key) to switch to a console, login and then use ps, top, kill, pkill or whatever you need to solve the problem. `ctrl-F7` to switch back. > e.g. sometimes a GUI is the right tool for the job, like when you need to select one-by-one a bunch of files in a directory that are not apparently related and that need to be copied or processed by the same tool You can choose any normal file manager on Linux you like for that. If you need to manipulate them in a bit more involved way, you may create a folder, open a (GUI) file manager and move the files to change to this folder. Then you can use the command line to manipulate them and move them back when done. You can also create a shellscript with a `for`-loop and do something like this: ``` for file in file1 file2 file3 file4 do doSomething "$file" done ```