- cross-posted to:
- [email protected]
- [email protected]
- cross-posted to:
- [email protected]
- [email protected]
Practice I guess. Especially using cli for specific tasks that is done more efficiently on there than the gui.
Moving files using regex for example is useful. Or finding files with specific phrases in them. Stuff like that
Step 1: Use a youtube tutorial for the basic commands. Don’t worry, you’ll forget about them soon enough. But doing them once, helps with muscle memory.
Step 2: When in need to do something, copy/paste from Q&A/forums various commands that they suggest for your problem. Your basic knowledge from step1 will come back as you do that.
After a few days, you’ll be understanding what’s going on and how the whole thing works in an abstract level.
I would recommand to never copy paste but retype so you have the commands on your finger memory.
Also don’t be afraid to
--help
everything. It give more option for commands you know quicker than theman
.
Play around in a virtual machine so you don’t have to worry about messing anything up. Start with the basics such as navigating through directories and creating, editing, and moving files. If you break something, just restore a snapshot.
The way I usually start teaching using the console to my (very much non-tech) students is set up a safe container and then let them type whatever, invariably generating a lot of error messages. Then I challenge them to generate different error messages, “gotta catch em all” style. Then we talk about the error messages and what they might mean. After this exercise they usually get the basic idea of command – response, what to look out for and how to compose valid commands.
That’s clever
Or just use Time Shift or a similar tool. I broke my first linux install like a dozen times, and I learned so much about how my computer operates in the process.
What helps me is to understand what commands acronym means. For instance cp for copy, mkdir for make directory, blkid for block id, ls for list (not too sure about actual meaning for s) and so on!
Nice tips about ctrl+r to search in command history. Was not aware it existed!
works for common flags too, like in
df -h
, the h stands for human readable, I always find myself mumbling “human” while typing that onepwd for password, man for mansplain, and dd for destroy disk
Hey, the first two don’t sound quite right
‘ls’ is an abbreviation for ‘list’, not an acronym. Like copy -> cp, and the other keystroke saving abbreviations.
Really specific here, but font control.
Us folks with dyslexia in its various expressions have trouble with command line. If you can’t read a specific command, good luck ever getting comfortable with it. You can’t error check yourself, so until you build up memory, you’re kinda screwed if you can’t use the fonts that are available.
To things that helps no mater your skill level the tab key is your best friend and man pages are great but if those are overwhelming install the package tldr then you can use the command tldr and the command you are trying to run to give you helpful examples of how to use that command.
Also old users don’t remember long commands if we use a command more than once. You save it to your bash alias file to create your own commands.
tldr is great, sometimes you can’t remember the exact syntax for a certain command and just need a quick reminder as well.
Also old users don’t remember long commands if we use a command more than once. You save it to your bash alias file to create your own commands.
A good example for this is docker compose -f when you work alot if compose files ! Having an alias for docker compose -f as
dcf
saves hours a month xD
In my experience repetition helped. Not memorization, but more like muscle memory.
Also, ensuring to never copy and paste commands but to type them in manually yourself. It’s hard to enforce this on yourself, but worth it.
I appreciate that this article started with “ways to reduce risk” because that’s an extremely valid concern and tied to why you shouldn’t ever copy and paste. The one time in my early Linux forays where I copied and pasted I wiped the wrong drive. It definitely taught me to always manually type it in and not get too lazy, because what you copied might not match what you want to do exactly.
Also, ensuring to never copy and paste commands but to type them in manually yourself. It’s hard to enforce this on yourself, but worth it.
“Command: sido not found…”
As a fan of german rap this gave me a good chuckle. Thx.
in my experience, practice, practice, and more practice. but “just git gud m8” isn’t really helpful advice. if you don’t have half a decade on hand, i can make a few more practical recommendations.
a shell that can do argument autocomplete is your best friend. personally, i use zsh + ohmyzsh + fzf + fzf-tab, but i’m sure there are other configs, and i’ve heard ohmyzsh is a bit of a nightmare, though i haven’t had too many issues.
so let’s say you’re running the one rsync command this month, and you forgot the args, just tab-tab and you can search through the arguments with fzf.
Doing hackthebox or other CTF challenges, Using CLI software, writing bash scripts.
C:[Enter]
###
I’m trying to make it a regular thing but my problem is I like to get my hands dirty by working on projects. The snag is that I get stuck a lot due to not knowing basics. My personality gets in the way = get dirty and learn fast(not necessarily shortcuts). Maybe I haven’t found that right source to learn that not too beginner and not too intermediate. Maybe a cool cluster of small projects to setup your computer then environment to setting up projects to do your everyday life takes to what you really want to learn.
Breaking things.
I’ve done this. It had the opposite effect.
Good cushions
tl;dr: Gradual exposure over time.
I got used to it through work, as I had to ssh into a server to run simulations. That mainly involved navigating the file system and text editing (which I used vim for) to make some basic Python and bash scripts, including sed and awk. The latter two I never got comfortable using, and haven’t really touched since.
I was using macOS at the time, and after using that for work, the terminal in macOS got at first less scary and then a preferred way of accomplishing certain tasks. On my work Windows computer I started missing having a proper terminal around, and I eventually found Cygwin and later Git Bash to give me that terminal fix in Windows as well. Especially with the latter I noticed few differences and could use it to a large extent as I would have on my then Macbook.
2-3 years ago I was in need of a new computer, and at that point a laptop with Linux on it was not a very scary prospect. That is by no way saying I went into Linux as an expert, far from it, and I am still very much a newbie - but opening the terminal to work with things is not at all a barrier, which helps a lot if you use Linux and want to be able to do some changes from the defaults. If you don’t want that, I think you can go far these days without opening the terminal, but it is certainly a good skill to have.
/
to search man pages was a gamechanger
deleted by creator
tldr is very useful
Also, knowing vim keys is useful because a lot of terminal programs use them.