###### tags: `1101`
第二次社課
===
:::success
簽到:
B073040047 楊志璿
B094020037 黃子耘
B093040044 蔡明軒
B093040016 高聖傑
B105090021 簡辰豪
B101030001 李新陽
M103140009 魏禎毅
B102040045 曾新惟
B103040007 王敬翔
B092040040 劉芹榕
B084020054 黃晏禎
B083040015 徐恭亮
M103140018 林學泯
B084020052 曾雅鈺
B093012033 王勤
B073040031 葉星佑
B103012034 黃麗穎
B094020008 鄭洧忠
B103040001 孫世諭
B094020021 戴辰昊
B103040008 許廷豪
B103040003 魯喆元
B073021021 林靖庭
B103040051 黃嘉彥
B073022028 黃景鴻
M103140005 呂昇峰
M093140008 王楓鈞
B093011012 陳泯樺
:::
講者:SCC
主題:Linux Introduction
投影片: [PDF](https://dorm.scc-net.tw/Linux.pdf)
Full source code: [TAR file](https://dorm.scc-net.tw/Linux.tar)
Discord : https://discord.gg/TBeQr8CB77
You can ask question in slido: [link](https://app.sli.do/event/fcmeqjza)
:::warning
Both slide and source code are time limited.
:::
## What is OS?
What is OS?
Time: 00:02:29 → 00:03:09 in "Revolution OS"
https://youtu.be/vWwvh3036Fw?t=149
## Permissions
```bash=
ls -al
# -l :use a long listing format
#-a, --all : do not ignore entries starting with .
# for other parameters, just man it like down below!
man ls
# man is for manual ( you can man commamds you dont know in linux and see the usage.)
```
**rwx**
1. r for readable (4)
2. w for writable (2)
3. x for executable (1)
4. 0 for no permission
5. dont do 777,which 777 is rwx
6. to change permissons
```bash=
chmod +x something # +w or +r or +x
chmod 755 something # 7 for rwx, 5 for r-x(readable and executable)
# if you have no permission to chmod, just sudo like
sudo chmod +x something
```
## File systems
**It is a tree!**

(img src: https://linuxhandbook.com/linux-directory-structure/)
```bash=
tree -L 1 /; # You can man it!
```
+ Everything is a file descriptor
## Small is beautiful
### The 17 Rules of Eric Raymond
[The Art of UNIX Programming](http://www.catb.org/~esr/writings/taoup/html/)
### Package manager
[5 Best Linux Package Managers for Linux Newbies](https://www.tecmint.com/linux-package-managers/)
+ DPKG(fastest)
+ Pacman (AUR)(medium)
+ RPM(slowest)
### GUI Concepts and DE

Example
+ GNOME
+ XFCE
+ KDE
+ LXDM/LXQT
+ Deepin:DDE
+ Garuda
## Command Line Interface
### Scripting (faster)
### Logging
+ Developers need those information to solve the errors.
### GUI is not essential
+ Not everything needs a desktop environment