十一城

跬步千里,小流江海。

Home Linux ML Python Java Thoughts KmKg BookCan Links About

2018-01-10
我的Linux之路

• 分类: linux • 标签:

小时候,崇拜《神奇宝贝》里的那个小智,或者说想成为一个小智那样的人。羡慕他有那么多的宠物小精灵陪伴着,还被装在了一个个GS球里面。若需要哪个帮助自己应战,潇洒地一抛。

现在的我,有时候会把一个个linux平台当做我的GS球,如centos,ubuntu,arch。上面的软件与计算工具当做我的宠物,这也算从另一面实现了小时候的一个梦想。

2014年9月,我大二,当时是校移动互联网俱乐部的成员。在这个月的第三个星期六,我们为了纪念世界软件自由日举办了一场分享会。活动开始时,我和另一位同学去地铁站接活动的分享嘉宾,伊始只知道他是南大的一位讲师。在交流中了解到他也是linux内核的贡献者,平日在校园中他也很希望有更多同学加入到linux的大家庭里,只是很多同学往往初始时有着极大的热情,一腔热血,然而在学习的路上,往往由于些许晦涩枯燥,而难以坚持。

Linux创建于1991年,Linux内核归档

Linux系统的主要用途

  • 服务器
  • 嵌入式硬件
  • 桌面系统

常见发行版

虽然同为Unix宗族,由于文化的差异,苹果的开发者擅长在图形界面解决问题,而 Linux 开发者擅长在文本界面解决问题。

linux发行版

  1. RedHat 系列(商业公司维护的发行版本):RHEL(Redhat Enterprise Linux)、Cent OS、Fedora Core等
  2. Debian 系列(社区组织维护的发行版本):Debian(stable, testing 和 unstable)、Ubuntu、Deepin 等
  3. openSUSE
  4. Arch Linux
  5. gentoo
  6. Linux From Scratch

RedHat 系列

  • 常见的安装包格式 rpm 包,安装rpm包的命令是“rpm -参数”
  • 包管理工具 yum
  • 支持 tar 包

Debian系列

  • 常见的安装包格式 deb 包,安装 deb 包的命令是“dpkg -参数”
  • 包管理工具 apt-get
  • 支持 tar 包
  • dpkg/apt-get/apt-cache/apt 之間的關係

Arch Linux系列

  • Manjaro Linux
  • 发行版自行开发的软件少(基本上只有pacman, abs和安装程序(及安装程序需要的wifi-menu等)),对上游修改少

目录结构

  • /:存放系统程序,也就是AT&T开发的Unix程序
    • /bin:重要执行文件,单用户维护模式下还能够被操作的命令
    • /sbin:root才能操作
    • /etc:配置文件
    • /dev:设备文件
      • /dev/tty 终端
    • /lib:执行文件所需的函数库与内核所需的模块
    • /usr(UNIX Software Resource):存放Unix系统商(比如IBM和HP)开发的程序
      • /usr/sbin:服务器安装程序
      • /usr/local/sbin:存放用户自己安装的程序,本机自行安装的软件所产生的系统执行文件(system binary)
    • /opt:在某些系统,用于存放第三方厂商开发的程序,所以取名为option,意为”选装”
    • /proc:基于内存的虚拟文件系统,本身不占任何硬盘空间。用于显示内核信息
    • /var 包含系统一般运行时要改变的数据。通常这些数据所在的目录的大小是要经常变化或扩充的
      • /var/lock:锁定文件。许多程序遵循在 /var/lock 中产生一个锁定文件的约定,以用来支持他们正在使用某个特定的设备或文件。其他程序注意到这个锁定文件时,就不会再使用这个设备或文件
    • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。这个目录是使用标准的ext2/ext3文件系统格式才会产生的一个目录
    • /mnt:挂载
    • /media:挂载

linux权限管理

文件的权限主要针对三类对象进行定义:

  • owner: 属主, u
  • group: 属组, g
  • other: 其他, o

每个文件针对每类访问者都定义了三种权限:

  • r: Readable
  • w: Writable
  • x: eXcutable

文件:

  • r: 可使用文件查看类工具获取其内容;
  • w: 可修改其内容;
  • x: 可以把此文件提请内核启动为一个进程;

目录:

  • r: 可以使用ls查看此目录中文件列表;
  • w: 可在此目录中创建文件,也可删除此目录中的文件;
  • x: 可以使用ls -l查看此目录中文件列表,可以cd进入此目录;

权限用数字表示

权限 二进制 十进制
000 0
–x 001 1
-w- 010 2
-wx 011 3
r– 100 4
r-x 101 5
rw- 110 6
rwx 111 7

简化记忆:读(r) = 4 写(w) = 2 执行(x) = 1

修改文件权限:chmod [OPTION]... OCTAL-MODE FILE…

X Window System

显卡驱动

Xorg

XorgLinux下的一个著名的开源图形服务,我们的桌面环境需要Xorg的支持。

Desktop Environment

Linux 创建了一个友好的环境,为我们提供了选择的可能。它们的外观、操作、设计理念等各方面都有所不同。

  • Xfce 早于 KDE 桌面环境,它是最古老和最轻量级的桌面环境。Xfce 的最新版本是 4.15,发布于 2015 年,使用了诸如 GTK+ 3 的大量的现代科技。很多发行版都使用了 Xfce 环境以满足特定需求,比如 Ubuntu Studio ——与 MATE 类似——尽量节省系统资源给其他的应用。并且,许多的著名的 Linux 发行版——包括 Manjaro Linux、PC/OS、Salix 和 Mythbuntu ——都把它作为默认桌面环境。
  • KDE Plasma
    • KDE 是由 Plasma 桌面环境、库、框架 (KDE Frameworks)、和应用组成的软件项目。
    • 一个非常好的文件管理器 —— Dolphin
  • GNOME 3
    • GNU 网络对象模型环境
  • Deepin
  • lxde
  • Unity: Ubuntu开发——它只是 Canonical 为 Ubuntu 开发的一个图形化 Shell。Unity 运行于 GNOME 桌面之上,并使用很多 GNOME 的应用和工具。Ubuntu 团队分支了一些 GNOME 组件,以便更好的满足 Unity 用户的需求。

X Display Manager

  • sddm

常用命令

  • service *** start/stop
  • du
  • uname -a #显示详细的内核信息
  • tar -xzvf
  • curl ip
  • kill -9 pid 关闭进程
  • ssh root@ip 使用root账户登录指定ip的服务器
  • whereis java 查看java安装路径——/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
  • lsof –i:端口号 Linux查看端口占用情况
  • netstat -anpt | grep :5000 Linux查看端口占用情况
  • ps -ef | grep uwsgi 查看进程情况:ps -aux | grep pid
  • scp api.py root@IP:api.py
  • free 查看内存使用情况

部分命令解析

service *** start/stop

Linux国内镜像源

参考

  1. 《鸟哥的Linux私房菜——基础学习篇(第三版)》

  2. 《鸟哥的Linux私房菜——服务器架构篇(第三版)》

  3. Unix目录结构的来历

  4. 鸟哥的私房菜馆


dzzxjl

Home Linux ML Python Java Thoughts KmKg BookCan Links About