---
# System prepended metadata

title: 15 days fly with Tux
tags: [' console', tux, ' command-line']

---

---
title: 15 days flying with Tux
tags: tux, command-line, console
description: what is this?
---

# 15 days fly with Tux
## Day 0: Chào mừng tới Linux (Done)
Link: https://hackmd.io/N1ttUZ_wRwOXUtq7aRu84Q
Người viết: Chính

Setup cơ bản khi bắt đầu cài Linux.

---

## Day 1: Câu lệnh cơ bản với terminal (Done)
Link: https://hackmd.io/@thangbuiq/BJraeqXIh/edit
Người viết: Thắng

- pwd, cd, ls, touch, mkdir, cat, cp, mv, rm, grep
* Để làm việc với file trên Linux (hay trên Linux server), các bạn không thể sử dụng các thao tác bằng đồ họa (kéo thả như trên Windows) mà phải thao tác qua cửa sổ dòng lệnh (command-line). Điều này gây khó khăn cho những người không quen thuộc với việc sử dụng console.
* Thông qua bài viết này, Ubunchuu sẽ giúp mọi người làm quen với một số lệnh cơ bản để quản lý file trên hệ thống Linux.
* Chúng ta sẽ bắt đầu với các lệnh này cơ bản, đơn giản và dễ nhớ, giúp cho việc quản lý file trên Linux trở nên dễ dàng hơn.

---

## Day 2: Cài đặt terminal (Done)
Link: https://hackmd.io/@chinhchamhoc/BJ3NUHyLn
Người viết: Chính

- Alacritty
- Cài zsh, đặt zsh mặc định
- Zimfw và plugins
- IDE (VSCode, Atom, Sublime, JetBrains)

---

## Day 3: Shell (Done)
Link: https://hackmd.io/@chinhchamhoc/BJ3NUHyLn
Người viết: Chính
- Tách ra từ day 2
- Zimfw

---

## Day 4: Git (Done)
Link: https://hackmd.io/vJ1xE1F3QI-BjFitpnULaw
Người viết: Tuấn

- Giới thiệu git
- Sử dụng git cơ bản

---

## Day 5: Cài đặt ngôn ngữ
Link:
Người viết: Chính

- Cpp
- Python: pip hoặc miniconda + Virtualenv: conda/pipenv/venv/poetry
- Asdf
    - NodeJS/Yarn
    - Ruby
    - Rust
    - PHP
    - Java
    - R
- Mise

---

## Day 6: Package management
Người viết: Thắng

- Giới thiệu các loại: apt, apt-get, snap, flatpak, appimage
- Dùng trong tình huống nào
- `tar` vs `gzip`

---

## Day 7: Quản lý User, Group và Super-User
- User and Group
- Root
- `etc/passwd`
- `/etc/shadow`
- `/etc/group`
- User Management Tools

---

## Day 8: Phân quyền (permissions)
- File permissions
- Modifying/own permissions
- Umask
- Setuid
- Setgid
- Process permissions

---

## Day 9: Linux filesystem explained
- `/`
- `/bin`
- `/boot`
- `/dev`
- `/etc`
- `/home`
- `/lib`
- `/media`
- `/mnt`
- `/opt`
- `/proc`
- `/root`
- `/run`
- `/sbin`
- `/srv`
- `/tmp`
- `/usr`
- `/var`

---

## Day 10: Vim (không phải nước tẩy rửa)

- Giới thiệu vim
- Basic command vim
- Config vim (lazyvim)

---

## Day 11: Text hack

- Các lệnh thao tác cơ bản với text: pipe, env, tee, cut, paste, head, tail, less, sort, join, split, ...
- Regex

---


## Day 12: Shell Scripting
Link:
Người viết: bạn contributor

- When need shell scripting (khi muốn chạy một chuỗi các câu lệnh dài chung với nhau,...)
- Giới thiệu về syntax như biến, mảng, for loop, if else,...
- Viết script chạy mỗi khi startup (nằm trong /etc/init.d)
- Tham khảo: https://www.shellscript.sh/
> Day có bài tập: bạn đọc hãy viết một script tương tự yêu cầu sau đây và chia sẻ bằng cách comment script source lên bài của Ubunchuu nhé (đúng concept là được nha).
> Yêu cầu là một startup script để tụi mình nắm được cách linux start app on startup:
> - Nằm trong folder /etc/init.dt.
> - Trigger mỗi khi user login vào.
> - Start lần lượt các app trong 1 mảng (không được setup autostart qua GUI) theo thứ tự mẫu sau (ví dụ thui nhé): `ulauncher, docker, ibus, blueman`.
> - Không start docker vào chủ nhật vì ngày chủ nhật ko phải ngày làm việc.

---

## Day 13: Quản lý tiến trình (processes)
- `ps`
- Tìm hiểu process (create, terminate, signals)
- `/proc` filesystem
- Job control
- Thread

---

## Day 14: Linux networking
- File sharing (`scp`)
- `rsync`
- Simple HTTP server
- NFS
- Samba
- Virtual Private LAN (`zerotier`)
- Network config
- Firewall


## Day 15: Linux Best Practices & Tooltips
- Backup dotfiles
- Các best practices gì dó
- Các tooltips nên dùng: lazyvim,...

---

# :100: :muscle: :tada:

---

## Một số bài tips and tricks nhỏ có thể đăng:
- Lazygit
- Lazydocker
- Lazyvim
- Tìm hiểu về kernel
- Giới thiệu linuxscoop - chúa tể hướng dẫn config
- Tìm hiểu RHEL
- Một số trang youtube hay về linux
- Lập trình socket
- Một prompt để giúp ChatGPT hành động như linux terminal
- Tìm hiểu về đức cha Linus Torvald 🐧
- Điều gì khiến bạn vẫn còn dùng windows?

### Thank you! :sheep: