Linux基础Part1——概述

[TOC]

Linux概述

起源

Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX(可移植操作系统接口) 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

发行版

Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包。

目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。(Kali Linux安全渗透测试)

Mac无缝兼容Linux指令,mac也同时具备linux的优秀工具。

作为一个优秀的程序员,应当重视安全性!

应用

通常服务器使用 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL + PHP)组合。

环境搭建

暂时不详细记录,本人使用服务器

本地虚拟机

VMware+CentOS

ctrl+alt: 退出虚拟机

云端服务器

CentOS 7.0

  1. 服务器就是一个远程电脑

  2. 访问出错基本都是端口放行问题,包括Linux的防火墙和服务器安全组

    21-ftp;22-ssh;443-https;80-http;8888-39000/40000-宝塔;3306-MySQL;8080-Tomcat;9000-测试;6379/6380-redis

  3. 安全组开放端口授权对象:0.0.0.0/0(允许所有人访问)

基本操作

开机

开机会启动许多程序。它们在Windows叫做”服务”(service),在Linux就叫做”守护进程”(daemon)。

用户的登录方式有三种:1.命令行登录;2.ssh登录;3.图形界面登录

root是最高权限,其下有更多子用户

关机

服务器大多数情况不会关机。

不管是重启系统还是关闭系统,首先要运行 sync命令,把内存中的数据写到磁盘中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
sync # 将数据由内存同步到硬盘中。

shutdown # 关机

shutdown –h 10 # 这个命令告诉大家,计算机将在10分钟后关机

shutdown –h now # 立马关机

shutdown –h 20:25 # 系统会在今天20:25关机

shutdown –h +10 # 十分钟后关机

shutdown –r now # 系统立即重启

shutdown –r +10 # 系统十分钟后重启

reboot # 重启,等效于 shutdown –r now

halt # 关机,等效于 shutdown –h now 和 poweroff

Linux中,在输入指令过后,没有输出即代表指令执行成功

Linux系统目录结构

  1. 一切皆文件
  2. 所有文件都挂载在根目录 /

系统启动必须:

  • /boot:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。

  • /etc:存放所有的系统需要的配置文件子目录列表,更改目录下的文件可能会导致系统不能启动。

  • /lib:存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

  • /sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中

指令集合:

  • /bin:存放着最常用的程序和指令

  • /sbin:只有系统管理员能使用的程序和指令。

外部文件管理:

  • /dev :Device(设备)的缩写, 存放的是Linux的外部设备。注意:在Linux中访问设备和访问文件的方式是相同的。

  • /media:类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下。

  • /mnt:临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

临时文件:

  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

  • /lost+found:一般情况下为空的,系统非法关机后,这里就存放一些文件。

  • /tmp:这个目录是用来存放一些临时文件的。比如:安装包。

账户:

  • /root:系统管理员的用户主目录。

  • /home:目录下有各个用户以账号名命名的家目录。用户登录时,会自动进入自己的家目录。

  • /usr: usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录。用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

  • /usr/bin:系统用户使用的应用程序与指令。

  • /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。

  • /usr/src:内核源代码默认的放置目录。

运行过程中要用:

  • /var:存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)。

  • /proc:管理内存空间!虚拟的目录,是系统内存的映射,我们可以直接访问这个目录来,获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件来做修改。

扩展用的:

  • /opt:默认是空的,我们安装额外软件可以放在这个里面。

  • /srv:存放服务启动后需要提取的数据(不用服务器就是空)