Linux 简介

目录

简介

概念

操作系统

与Unix区别

硬连接和软连接

安装

虚拟机安装

启动过程

内核引导

运行init

系统初始化

建立终端

用户登录系统

系统目录结构

查看目录

文件属性

目录说明

操作

切换图形界面和命令窗口

快捷键

查询帮助文档

正确关机

修改环境变量

查看系统信息


简介

Linux操作系统是一个支持多用户、多任务、多线程、多CPU而且性能稳定的多用户网络操作系统。

Linux体现的基本思想有:

  1. 一切皆文件。普通的文件、目录、字符设备、块设备在Linux中都被视作文件。
  2. 单一小程序。一个单一的程序或者可执行文件,不会太过于复杂和体积过大。Linux会通过连接很多单一小程序来实现复杂程序的高效运转。
  3. 避免和用户交互。Linux上支持的脚本语言种类很多,易学简单,易于使用者以脚本的方式自动完成众多功能。
  4. 提供机制,而非策略。大部分编程问题可以拆分为两部分:可以提供什么功能【机制】、如何实现这些功能【策略】。Linux的所有系统配置都写在配置文件中,不论修改什么都只需要在配置文件里修改【可使用文本编辑器】。

Linux操作系统的图形界面就像一个软件一样,和内核并不是一体的,因此可以选择不安装图形界面,这样不仅不影响服务器的正常使用还能节省系统资源的开销。这点不同于图形界面和内核是一体【微内核】的Windows操作系统。

概念

操作系统

操作系统主要分为3个部分:内核、库、应用程序。

内核主要管理与硬件的直接交互。

库是对内核的进一步封装,例如获取键盘输入,获取显示器显示,都可以调用库中封装好的方法。

应用程序是系统级的应用程序,直接调用库中的方法。

Linux从开发出来就只是内核部分,但开放源码。Centos等厂家自己在Linux源码基础上写库和应用程序部分,衍生出各种操作系统版本。

与Unix区别

Unix是商业软件【但也有免费版本】,核心不公开,大多与硬件配套。

Linux免费,开源,可运行在多种硬件平台上。

Linux并没有包括Unix源码,是按照公开的POSIX【可移植操作系统环境】标准重新编写的类Unix操作系统。

世界上有很多程序员参与了Linux的修改、编写工作。

硬连接和软连接

硬连接【hard link】和软连接都是一个文件。

硬连接不能跨文件系统【不同文件系统会有不同的inode table】,也不能连接目录【目录本身就消耗节点】。当给一个源文件建立一个硬连接时,硬连接会直接指向这个源文件的inode,这个源文件的inode【i节点】数量会+1,此时若删除这个源文件,因为这个源文件的inode数量不为0【还有一个硬连接文件占用了它存储区域的连接】,所以这个源文件虽然已被删除,但其存储内容在磁盘上并没有清空,还可以通过这个硬连接来访问和修改其原存储内容。当把这个硬连接也删除后,如果该存储内容的inode数量降为0,那么该存储内容就会从硬盘上被删除。

软连接则像是一个快捷方式文件,当给一个源文件建立一个软连接时,如果删除了源文件,那么显示文件时,该软连接会显示红色警告颜色。如果打开该软连接文件,会显示空白文件,如果在空白文件里填写内容并保存,则会自动生成一个和源文件同名同目录的新内容文件。

安装

虚拟机安装

VMware虚拟机软件有两个版本,Player是免费版,用于非商业用途,适合个人学习用。Pro是商业版本,功能更丰富,但是需要付费。

VMware Player下载:

https://customerconnect.vmware.com/en/downloads/details?downloadGroup=WKST-PLAYER-1612&productId=1039&rPId=66621

在安装好VMware虚拟机软件后,可以去网上下载CentOS映像系统。

CentOS系列版本下载

CentOS系列版本下载CentOS中文站 - 专注Linux技术

然后运行VMware虚拟机软件,选择要安装的Linux操作系统版本,一步步完成设置,可以把设置过程中配置的信息【如操作系统登录密码】记录在自己的备忘文件里。

启动过程

Linux系统的启动过程大体上可分为五部分:内核引导;运行init;系统初始化;建立终端 ;用户登录系统。

内核引导

  1. BIOS开机自检,按照BIOS中设置的启动设备【一般是硬盘】来启动。
  2. 启动设备上的grub程序开始引导Linux。
  3. Linux操作系统代码被加载到内存中,掌握了CPU【中央处理器】的控制权。
  4. CPU开始执行Linux的核心映象代码【/boot目录下的内核文件】,内核引导开始。
  5. 内核调用加载了init程序。

运行init

init 进程是系统所有进程的起点,首先读取配置文件 /etc/inittab。

inittab是一个不可执行的文本文件,它有若干行指令所组成。注释行以符号#开始,除了注释行之外,每一行格式为:

id:runlevel:action:process

说明:

id是指入口标识符。

runlevel是init所处于的运行级别【0-6】的标识,可以是并列的多个值以匹配多个运行级别。

action是描述其后的process的运行方式的,仅在对应的运行级别下执行。

process为具体的执行程序,程序后面可以带参数。

Linux有7个运行级别,对应的runlevel值为从0到6。简述如下:

0 系统停止。

1 单用户模式。

2 多用户模式但不开启NFS【Network File System】功能,因此进入系统后无网络服务。

3 完整多用户模式。

4 系统保留级别,未使用。

5 X11图形模式。

6 重启。

可以通过在命令行输入“init 运行级别数字”来切换运行级别,注意运行init 0会关机,运行init 6会重启。

系统初始化

在此期间完成的事务有:

  1. 激活交换分区。
  2. 检查磁盘。
  3. 加载硬件模块。
  4. 其它一些需要优先执行的任务。
  5. 针对运行级别启动守护进程【需开机启动的程序】。

系统初始化完成后,这时基本系统环境已经设置好了,各种守护进程也开启了。

建立终端

init进程会打开6个终端,同时会显示一个文本登录界面,以便用户登录系统。

用户登录系统

用户登录Linux系统,一般有以下三种方式。

  1. 命令行登录。
  2. ssh登录。
  3. 图形界面登录【运行级别为5】。

系统目录结构

查看目录

登录系统后,在命令窗口输入 ls /就可以看到所有根目录。

在Linux操作系统中,文件系统的最顶层是由根目录开始。

/表示根目录。

.或者./表示当前目录。

..或者../表示上一层目录。

如果一个目录或者文件名以一个点.开始,则表示它是隐藏 目录或文件。

文件属性

为了安全,每个linux目录或者文件,都会有一个所属账号和所属组。所属账号即文件的拥有者,而所属组即该文件所属账号所在的组。

可通过ls -l来查看Linux文件属性。

结果示例图:

显示结果共有九列。

第一列共10位。

        第1位字符是描述该文件的类型,含意如下:

                d 表示该文件为目录。

                -表示该文件为普通文件。

                l表示该文件为连接文件,例如软连接。

                b表示该文件为块设备文件,例如磁盘分区。

                c表示该文件为串行端口设备,例如键盘、鼠标。

                s表示为套接字文件socket,用于进程间通信。

        第1位字符后的9位字符每3位为一组,首3位表示所属账号【user】权限,中间3位表示所属组【group】权限,末3位为其它非本群组【others】的权限。每3位均为rwx三个参数的组合。r代表可读,w代表可写,x代表可执行。对于一个目录而言,打开这个目录即为执行这个目录。

第二列表示连接占用的节点【inode】,若为目录时,通常与该目录下还有多少目录有关系。

第三列表示该文件的所属账号。

第四列表示该文件的所属组。

第五列表示该文件的大小。

第六、七、八列表示该文件的创建日期或者最近的修改日期。

第九列表示文件名,如果前面有.表示该文件为隐藏文件。

目录说明

/bin :存放最经常使用的命令。

/dev : 存放Linux的外部设备,在Linux中访问设备方式等同访问文件。

/home: 用户的主目录,在Linux中,每个用户都有自己的一个目录。一般该目录名是以用户的账号命名的。

/lib64: 于64位系统上存放辅助共享库文件的目录。

/media : linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

/opt  : 给主机额外安装软件所摆放的目录。默认为空。

/root : 系统管理员(超级权限者)的用户主目录。

/selinux : Redhat/CentOS特有目录,存放安全机制(防火墙)相关文件。

/sys  : 该目录安装了linux2.6内核中新出现的一个文件系统sysfs,sysfs文件系统集成了3种文件系统的信息:

  1. .针对进程信息的proc文件系统。
  2. .针对设备的devfs文件系统。
  3. .针对伪终端的devpts文件系统。

/usr  : 存放用户的很多应用程序和文件。

/usr/bin : 系统用户(不含root用户)使用的应用程序。

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

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

/boot: 存放启动Linux时使用的一些核心文件,包括一些连接文件和镜像文件。

/etc : 存放所有的系统管理所需要的配置文件和子目录。

/lib : 存放系统最基本的动态连接共享库,类似Windows中的DLL文件。几乎所有的应用程序都需要用到这些共享库。

/lost+found : 系统非法关机后,会存放一些文件。这个目录一般是空的。

/mnt  : 用于让用户临时挂载别的文件系统,可以将光驱挂载在/mnt/目录下。

/proc :虚拟目录,系统内存的映射。可以通过访问这个目录获取系统信息。目录的内容存放在内存里,可以修改里面的某些文件。例如,通过如下命令来屏蔽主机的ping命令,使别人无法ping你的机器:

        echo 1> /proc/sys/net/ipv4/icmp_echo_ignore_all

/sbin : 系统管理员使用的系统管理程序。

/srv  : 存放一些服务启动后需要提取的数据。

/tmp  : 存放临时文件。

/var  : 存放经常被修改(、内容增加)的目录,包括各种日志文件。

操作

切换图形界面和命令窗口

Linux预设提供了六个命令窗口终端机【tty1-tty6】用于登录,默认登录的是第一个窗口【tty1】。可以按Ctrl + Alt + F1~F6 来切换它们。

如果安装了图形界面,那么默认会进入到图形界面。这时可以按Ctrl + Alt + F1~F6 来进入其中一个命令窗口,按Ctrl + Alt + F7则会从命令窗口界面退出并返回到图形界面。

如果使用的是VMware虚拟机里安装的Linux操作系统,如果一进去就是图形界面,那么可以鼠标右键单击桌面上“登录用户名'Home”文件夹,选择“Open in Terminal”打开命令行终端页面。也可以按快捷键Ctrl + Alt + F2~F6切换到命令窗口,按快捷键Ctrl + Alt + F1返回图形界面。

快捷键

Ctrl+C: 终止当前命令,光标跳入下一行。

Tab:   补全命令,也可以补全目录。

Ctrl+D: 退出当前终端,输入exit也可以达到同样目的。

Ctrl+Z: 暂停当前进程。暂停后,可以用fg命令【fg %暂停编号】恢复它。

Ctrl+L:清屏,使光标移动到第一行。

查询帮助文档

man 命令 通常用来看一个命令的帮助文档。

输入man ls就可以查看相关的帮助文档。

输入man shutdown就可以查看关机指令相关的帮助文档。

正确关机

关机前,需要先保障当前系统没有其余用户在线,可通过who指令查看当前系统所有登录用户。

此外,也可能需要查看网络的联机状态【netstat -a】和后台执行的程序【ps -aus】。

不管是重启系统还是关闭系统,都需要在关机前将重要数据由内存同步到硬盘中【sync】。

shutdown是以一种安全的方式关闭系统,能让所有登录用户看到关机信息提示,并且login能被阻塞。关机前如果有其余用户在线,可以延迟关机时间并广播通知其余登录用户,通知信息会显示在命令行。

示例命令:

        shutdown -h 10 'This server will shutdown after 10 minutes'

关机相关的命令还有:

shutdown -h now 立即关机。

shutdown -h 20:25  在当天20:25自动关机。

shutdown -h +10  十分钟后关机。

shutdown -r now  立即重启。

shutdown -r +10 十分钟后重启。

shutdown -c 取消即将进行的关机。

init 0 立即关机

halt 通知硬件立即停止所有CPU功能,但仍然保持通电。但有些情况下会完全关闭系统。

poweroff 立即关机。

reboot 立即重启。

init 6 立即重启。

如果运行关机命令提示不是root账号所以不能关机,那么就可以在命令行输入su切换到root账号,登录root账号后就能运行关机命令。

修改环境变量

三种修改方法如下:

1. 直接修改PATH。只在当前用户,当前终端窗口中有效。

示例命令:

export PATH=需添加的软件启动项路径:$PATH

2. 修改.bashrc文件。只对当前用户永久有效。

示例命令:

vim ~/.bashrc

//在打开文件的最后一行加上:
export PATH=需添加的软件启动项路径:$PATH

如果想要立即生效,则需要运行“source ~/,bashrc”命令,否则需要关闭当前终端窗口后重新打开才能生效。

3. 修改profile文件。对所有用户永久有效。

示例命令:

vim /etc/profile

//然后找到设置PATH的地方
/export PATH

//添加
export PATH=需添加的软件启动项路径:$PATH

如果想要立刻生效,则需要执行“source /etc/profile”,否则需要重启后生效。

修改完环境变量后,可以检查一下是否修改成功。查看环境变量的命令是: echo $PATH

查看系统信息

查看发行版本信息:

        cat /etc/issue

查看正在运行的内核版本:

        cat /proc/version

显示电脑以及操作系统的相关信息:

        uname -a

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值