I had the exact same experience when I first tried Linux. But now when I am evily forced into using Windows and HATE it any other way. Also I despise the windows terminal now (PowerShell & CMD).
linuxmemes
Hint: :q!
Sister communities:
Community rules (click to expand)
1. Follow the site-wide rules
- Instance-wide TOS: https://legal.lemmy.world/tos/
- Lemmy code of conduct: https://join-lemmy.org/docs/code_of_conduct.html
2. Be civil
- Understand the difference between a joke and an insult.
- Do not harrass or attack users for any reason. This includes using blanket terms, like "every user of thing".
- Don't get baited into back-and-forth insults. We are not animals.
- Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
- Bigotry will not be tolerated.
3. Post Linux-related content
- Including Unix and BSD.
- Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of
sudo
in Windows. - No porn, no politics, no trolling or ragebaiting.
4. No recent reposts
- Everybody uses Arch btw, can't quit Vim, <loves/tolerates/hates> systemd, and wants to interject for a moment. You can stop now.
5. π¬π§ Language/ΡΠ·ΡΠΊ/Sprache
- This is primarily an English-speaking community. π¬π§π¦πΊπΊπΈ
- Comments written in other languages are allowed.
- The substance of a post should be comprehensible for people who only speak English.
- Titles and post bodies written in other languages will be allowed, but only as long as the above rule is observed.
6. (NEW!) Regarding public figures
We all have our opinions, and certain public figures can be divisive. Keep in mind that this is a community for memes and light-hearted fun, not for airing grievances or leveling accusations. - Keep discussions polite and free of disparagement.
- We are never in possession of all of the facts. Defamatory comments will not be tolerated.
- Discussions that get too heated will be locked and offending comments removed. Β
Please report posts and comments that break these rules!
Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't remove France.
Realistically the simplest way to think about it is a text based file manager that can run programs, you could literally ignore it and use it to just install and update, if GUI's your thing.
- tab completion works in more places than you might expect
- ctrl-a/ctrl-e for start/end of line
- ctrl-u to clear the command youβve typed so far but store it into a temporary pastebuffer
- ctrl-y to paste the ctrl-uβd command
- ctrl-w to delete by word (I prefer binding to alt-backspace though)
- ctrl-r to search your command history
- alt-b/alt-f to move cursor back/forwards by word
- !! is shorthand for the previous run command; handy for
sudo !!
- !$ is the last argument of the previous command; useful more often than youβd think
which foo
tells you where thefoo
program is locatedls -la
cd
without any args takes you to your home dircd -
takes you to your previous dir- ~ is a shorthand for your home dir
Saved! Thank you so much.
I've used Linux full-time since late 2020 and I never knew about ctrl+y
and ctrl+u
.
I'd also like to contribute some knowledge.
aliases
You can put these into your ~/.bashrc
or ~/.zshrc
or whatever shell you use.
###
### ls aliases
###
# ls = colors
alias ls='ls --color=auto'
# ll = ls + human readable file sizes
alias ll='ls -lh --color=auto'
# lla = ll + show hidden files and folders
alias lla='ls -lah --color=auto'
###
### other aliases
###
# set color for different commands
alias diff='diff --color=auto'
alias grep='grep --color=auto'
alias ip='ip --color=auto'
# my favourite way of navigating to a far-off folder
# this scans my home folder and presents me with a list of
# fuzzy-searchable folders
# you need fzf and fd installed for this alias to work
alias cdd='cd "$(sudo fd -t d . ${HOME} | fzf)"'
recommendations
ncdu - a shell-based tool to analyze disk usage, think GNOME's baobab or KDE's filelight but in the terminal
zellij - tmux but easy and with nice colors
atuin - shell history but good, fuzzy-searchable. If you still have the basic shell history (when pressing ctrl+r
), I cannot recommend this enough.
ranger - a terminal file-browser (does everything I need and way more)
Also, Terminal User Interfaces are a nice middle ground between learning terminal commands and having a GUI.
Example:
btop - process manager TUI
ncmpcpp - TUI media player, used mpd on the backend
Here's a big list: https://github.com/rothgar/awesome-tuis
Also, Terminal User Interfaces are a nice middle ground between learning terminal commands and having a GUI.
Yes, TUIs definitely help reduce possible stress and fear of complexity for new users.
Thanks for the git link, didn't know that, just starred it :)
I've been using the commandline for so long but was always too lazy to look up the rest of these commands after ctrl+a/e and ctrl+r THANK YOU!!!
post this commend again and again! There's always lazy idiots like me who will be helped that way!
- alt-. also pastes the last argument of the previous command (useful if you need to modify it a bit)
- instead of any shortcuts starting with "alt" you can also press "esc" followed by the second key, e.g. pressing "esc", releasing it and then "a" is the same as pressing "alt-a" (useful if you have only one hand available, or if alt is not availalble)
- if you put a space before a command, it will not be saved in history (useful sometimes, e.g. if you pass a password directly as an argument)
If youβre looking for a full list of these kind of navigation shortcuts, they all come from readline
so read the man
page for that. Or just look up the basic navigation of emacs
which is what readline
is mimicking.
A neat thing is that a lot of command line programs use readline. So learning and configuring it will also be useful in for example the Python REPL and calc.
Here are some neat configuration options you can put in ~/.inputrc
set completion-ignore-case on
set show-all-if-ambiguous on
set completion-prefix-display-length 9
set blink-matching-paren on
set mark-symlinked-directories on
And if you are a sensible person who is used to vim
set editing-mode vi
set show-mode-in-prompt on
Saving this! Absolutely gold, thanks for writing it up. You're what makes the Linux community cool. β€οΈ
tab completion works in more places than you might expect
I've found tab to be such a nice "please give me a hint" button.
- Bonus tip : Sometimes you won't get auto complete because there's too many possibilities and the computer can't be certain which one you want. Hitting tab multiple times will show the possibilities, so you can type in enough characters to remove ambiguity, hit tab again, and boom auto complete!
...That was a terribly convoluted explanation I'm sorry. Just try hitting tab multiple times for fun if you're stuck it's kinda handy. Lol
I kind of like install wizards and black and white command console, but that's just me.
Welcome in from the cold. We have hot cocoa and blankets.
If you or someone you know wants a taste of that experience on Windows, try out winget or chocolatey.
As an administrator, powershell is an essential tool these days. There are tunables that Microsoft simply only exposes via powershell even in their cloud Microsoft 365 environments. Just last month I had to rely on Powershell to trim previous versions on SharePoint, and 2 weeks ago I had to use Powershell to adjust a parameter on Exchange.
But also being able to pop a Powershell session and quickly apply a registry fix or run a diagnostic command or even just install a piece of software without disrupting a user's work is absolutely brilliant (plus saves a call when I can just email back and say "I've pushed it remotely, reboot and it should be sorted now")
Just wait until you find the fun TUI utilities, ill share a few:
- Shell: Fish (has powerful auto-complete, very fast, written in rust)
- Montior: Btop (monitors all system resources and processes)
- Fetch: Fastfetch (perfect for showing off on !unixporn@lemmy.world, for !unixsocks@lemmy.blahaj.zone Hyfetch is reccomnded)
- Brower: BrowSH (its a browser in your terminal)
- Text Editor: Vim (the best text editor, remeber to use esc + : + q to close or wq to write close vim. However when you open vim you can never quit)
- File manager: Ranger (if cd + ls is too inconvenient)
- Games (yes you can even play games in the terminal): 2048, Chess-TUI, NSnake, and Micro Tetris
I'm on the other side of the coin, I really don't know how I'm supposed to learn to use the terminal. I can do sudo apt get to get some programs and updates, as well as mv and cp, but that's where it stops for me.
You need a purpose. For instance I needed to copy and edit config files for a bunch terminals my company has deployed last week. Instead of manually copying the template directory 80 times and editing the 2 lines that needed to be changed in the parameter file for each one I used powershell to extract the name and id for each terminal from the log files and create copy of the template directory for each one, then replace the terminal name and id in the parameter file of the new directory with the ones extracted from the logs. This would have taken me all day to do manually and it only took about 45 minutes to write up the script and run it. I did have some prior experience with doing this kind of thing but hadn't tied them all together lile that before so i learned some stuff.
Maybe you need to have some sort of objective before you get started, otherwise yeah, you don't have much to do in the console :) In my case I only use linux for work, so I'm ssh-ing away and running commands to compile this, apply that, show me the logs for this, grep that, etc.
Could you 'splain it to me? Cuz I installed Mint 3 months ago, totally happy, and I don't get it.
Isn't it fun? It's like owning your car and learning what everything actually does, and figuring out how to fix it. And having an amazing community to boot!. I enjoy it.
It's insane to me that Windows still doesn't have a proper package manager. When you need to upgrade a program you're expected to go to their website and download the latest version, or update it with its own update mechanism.