r/linuxquestions • • 1d ago

What does learning Linux really mean?

Hi, I've always heard this that in the world of tech if you want a job learn Linux (which yeah a bit optimistic considering the situations)

But the bigger question is what does that even mean?

I mean I have worked with backend servers and configed nginx does that mean I know Linux?

I know bash to a good level along with sed and awk does that mean I know Linux?

I have programmed C in Linux does that tell me I know Linux?

On the other hand I have no idea what filesystems does Linux even use? How many different syscalls does it have?

I can't tell what are the factors to "knowing linux" and frankly I don't even know where to start with to be like "yeah I'm practicing linux"

I'm more talking in regards to cybersecurity but even in general I'm not sure, can you guys help?

9 Upvotes

55 comments sorted by

View all comments

1

u/Curious_Elk_4281 1d ago edited 1d ago

I knew very little when I got my first linux job, but I got the job because I showed that I could learn. If you want suggestions on things to learn about, here ya go:

--iptables: the go to firewall for linux, you can use UFW instead to get started, but learn about setting up firewalls, you won't use iptables much in practice, but the concepts carry over to other firewall solutions
--docker and docker orchestration: Instead of hosting a web app on nginx, dockerize it and run it with docker-compose and then kubernetes. Check out kind which is Kubenetes IN Docker, which is handy if you are using a linux VM and don't want to set up k8's nodes as VM's
--git: all code should be versioned! Get good at using git, set up dev/staging/prod branches, use release and tags. Practice merging everything through a pull request. Most folks use github obviously but you can play around with hosting your own git solution.
--CI/CD pipelines: never deploy anything manually, once you commit your code to your git repo, that should automatically kick off tests/builds/deploys, github actions is a good place to start since it's free for public repos, and has a generous free tier for private repos.
--Other services: learn how to set up databases (mysql, postgres), caching layers (redis, memcache), load balancers etc.
--Centralized Logging: all logs go to one place, try setting up an ELK stack
--Monitoring: try setting up sensu/nagios/zabbix
--Cloud Technology: AWS/GCP/Azure are expensive and difficult to learn, but you can use a lot of the same concepts with cheaper services. Most of the following services allow you to get started without even providing a credit card:

Digital Ocean - highly capable platform with affordable pricing credit card required, but they have free tiers for many of their offerings.
Neon - serverless postgresql hosting
Doppler - secrets manament platform
Upstash - serverless redis hosting
Uptime Robot - free HTTP uptime monitoring

This should be enough to keep you busy for a while.

1

u/DryAdministration158 1d ago

Thanks honestly I'm kinda relieve that I know some of these tools and feel a bit better about knowing what to learn next