linux的基础知识
目录
前言
前面我们学习了如何的安装linux系统,和linux的历史。今天我们正式不如linux的系统的学习和使用
一、系统启动流程
1.1、Windows系统的启动流程大致如下:
BIOS(Basic Input Output System)自检:当计算机开机时,BIOS会进行自检,检查计算机硬件是否完好。
MBR(Master Boot Record)加载:BIOS会读取启动设备(通常为硬盘)上的MBR,并将其加载到内存中。
Boot Loader加载:MBR中的引导程序会加载操作系统启动管理器(如GRUB),以便用户选择需要启动的操作系统。
内核加载:启动管理器会将Windows内核(NTOSKRNL.EXE)加载到内存中。
系统初始化:内核对硬件进行初始化和配置,加载系统驱动程序,并将控制权交给Windows系统服务进程(system process)。
用户登陆:系统服务进程启动,并加入其他系统服务并运行,等待用户登陆操作。
桌面环境加载:用户登陆后,桌面管理进程(Explorer.exe)会加载桌面环境(如壁纸、图标、任务栏等)。
1.2、Linux系统的启动流程大致如下:
BIOS自检:与Windows系统一样,BIOS会进行自检,检查计算机硬件是否完好。
MBR加载:BIOS会读取硬盘上的MBR并将其加载到内存中。
Boot Loader加载:MBR中的引导程序会加载操作系统启动管理器(如GRUB),以便用户选择需要启动的操作系统。
内核加载:启动管理器会将Linux内核(vmlinuz)加载到内存中。
init进程启动:内核启动后会首先启动init进程(进程号为1),此进程负责系统初始化。
执行启动脚本: init进程会根据配置文件(如/etc/inittab)加载需要启动的系统服务并运行相应的启动脚本。
用户登陆:当所有必要的服务已成功启动,等待用户登陆。
Bash Shell :用户登录后进入Bash Shell。
二、熟悉 Linux 的操作界面及切换方法
1.3、TTY 终端
在 linux 默认的登录模式中,主要分为两种,一种是仅有纯文本界面(命令行界面)的登录环境,另外一种则是图形桌面的登录环境。
Linux默认情况下提供6个虚拟终端来让用户登录,系统将F1F6定义为tty1tty6。使用 ctrl+alt+Fn 组合键,就可以从图形界面切换到命令行界面的第 n 个虚拟终端。Fn 代表 F1、F2、…、F6 功能键(如果是 centos7 系统安装图形界面,F1 是图形界面,F2、…、F6 是命令行界面)。按 alt+Fn 组合键可以在命令行界面终端之间切换。
1.3.1、查看当前终端
只查看当前终端的可以使用如下两个命令:tty 和 who am i 或 who -m 等
tty:可以使用 tty 来报告所连接的设备或终端
1.3.2、查看所有终端
1.3.2.1、who 用于查看当前登入主机的用户终端信息,格式为“who [选项]”
1.3.2.2、W 命令
命令 w 的功能最全面,w 命令的显示项目按以下顺序排列:当前时间,系统启动到现在的时间,登录用户的数目,系统在最近 1 分、5 分和 15 分的平均负载。
/说明:
USER:显示登陆用户帐号名。
TTY:用户登陆所用的终端。
FROM:显示用户在何处登陆系统。
LOGIN@:是 LOGIN AT 的意思,表示登陆进入系统的时间。
IDLE:用户空闲时间,从用户上一次任务结束后,开始记时。
JCPU 时间指的是和该终端(tty)连接的所有进程占用的时间
WHAT:表示当前执行的任务。
查看 root 用户执行任务的情况:w root
三、Linux 系统的目录结构
Centos 系统中的目录和文件数据被组织为一个树形目录结构,所有的分区、目录、文件等都具有一个相同的位置起点——根目录(liunx 目录结构和 win 目录是不同的,liunx 目录结构是树形,不同文件类型要存储到相对应的目录下,而 windows 只是分盘符)。Centos 系统定位文件或目录位置时,使用斜杠”/”进行分隔(区别于windows 系统中的反斜杠”\”)。整个树形目录结构中,使用独立的一个“/”表示根目录,根目录是 centos 文件系统的起点,其所在的分区称为根分区。在根目录下,centos 系统将默认建立一些特殊的子目录,分别具有不同的用途。
/:根目录
一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中。
/bin ->/usr/bin:
可执行二进制文件的目录,如常用的命令 ls、tar、mv、cat 等。
这些命令对应的文件都是可执行的,普通用户可以使用大部分的命令。
/sbin->/usr/sbin:
大多是涉及系统管理的命令的存放,是超级权限用户 root 的可执行命令存放地,普通用户无权限执行这个目录下的命令,如 fdisk、shutdown、mount 等。与/bin 不同的是,这个目录是给系统管理员 root 使用的命令,普通用
户只能”查看”而不能设置和使用。这个目录和/usr/sbin 或/usr/local/sbin 目录是相似的;我们记住就行了,凡是目录 sbin 中包含的都是 root 权限才能执行的。
/boot:
存放 Linux 启动时内核及引导系统程序所需要的核心文件,内核文件和grub 系统引导管理器都位于此目录,建议单独分区,分区大小 100M~500M 即可
/dev:
存放 Linux 系统下的设备文件,如光驱,磁盘等。访问该目录下的某个文
件相当于访问某个硬件设备。
/etc:
一般存放系统的配置文件,作为一些软件启动时默认配置文件读取的目录,
如/etc/fstab 存放系统分区信息
/home:
系统默认的普通用户的主目录(家目录),在 Linux 中,每个用户都有一
个自己的目录,一般该目录名是以用户的账号命名的。新增用户账号时,用户的家目录都存放在此目录下,表示当前用户的家目录,test 表示用户 test 的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据
/root:
系统管理员 root 的家目录。对于系统来说,系统管理员就好比是上帝,它
能对系统做任何事情,甚至包括删除你的文件。因此,请小心使用 root 帐号。
/lib->/usr/lib:
这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。程序在执行过程中,需要调用一些额外的参数时需要动态连接库的协助。
/lib64->/usr/lib64:
库文件(64 位)
/mnt:
用于存放挂在储存设备的挂载目录
/media:
有些 linux 的发行版使用这个目录来挂载那些 usb 接口的移动硬盘(包括U 盘)、CD/DVD 驱动器等等
/opt:
这是给主机额外安装软件所存放的目录,有些软件包也会被安装在这里,也就是自定义软件包,我们自己编译的软件包,就可以安装在这个目录中;通过源码包安装的软件,可以通过 ./configure --prefix=/opt/目录。安装到/opt 目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。直接删除程序不影响系统设置。
/proc:
操作系统运行时,进程信息及内核信息(比如 cpu、硬盘分区、内存信息等)存放在这里。这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,
/run:
一些进程产生的临时文件,重启会消失
/srv:
空目录,存放一些服务产生的文件。如 www 服务需要访问的网页数据存放
在/srv/www 内。
/sys:
存放一些内核文件,与/proc 类似,是一个虚拟的文件系统,主要记录与系
统内核相关的信息,如系统当前已经载入的模块信息等。这个目录实际不占磁盘容量。
/tmp:
临时文件目录,任何人都可以访问。系统软件或用户运行程序如 MySQL 时
产生的临时文件存放到这里,此目录数据需要定期清除。重要数据不可放置在此目录下,此目录空间不宜过小。
/usr:
应用程序存放目录,如命令、帮助文档等,这是一个非常重要的目录,用
户的很多应用程序和文件都放在这个目录下,类似与 windows 下的 program files 目录。安装 Linux 软件包时默认安装到/usr/local 目录下。/usr/bin:系统用户使用的应用程序。
/usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:
内核源代码默认的放置目录。/usr/local:这个目录一般是用来存放用户自编译安装软件的存放目录。
/var:
这个目录的内容经常变动的,/var/log 用于存放系统日志,/var/lib 存放系统库文件等。
四、查看系统信息
4.4、查看主机名
hostname
4.4.3、修改主机名
hostnamectl set-hostname 【name】或者
/etc/hostname的配置文件中做修改
4.5、查看操作系统版本
cat /etc/redhat-release
4.6、查看操作系统的信息
uname:命令主要用于显示操作系统的信息,包括版本、平台的信息
用法:uname [选项]
-a, --all 以如下次序输出所有信息。其中若-p 和
-i 的探测结果不可知则被省略:
-s, --kernel-name 输出内核名称
-n, --nodename 输出网络节点上的主机名
-r, --kernel-release 输出内核发行号
-v, --kernel-version 输出内核版本
-m, --machine 输出主机的硬件架构名称
-p, --processor 输出处理器类型或"unknown"
-i, --hardware-platform 输出硬件平台或"unknown"
-o, --operating-system 输出操作系统名称
–help 显示此帮助信息并退出
–version 显示版本信息并退出
4.7、查看语言、字符集设置
cat /etc/locale.conf
en_US.UTF-8 和 zh_CN.UTF-8 ,en_US 代表英语语言环境,zh_CN 代表中文语言环境。UTF-8 代表使用的字符集是 UTF-8 字符集。
注:字符集(Character set)是多个字符的集合,包括各国家文字、标点符号、图形符号、数字等。
注:centos7 版本之前的 Linux 查看语言字符集是/etc/sysconfig/i18n 文件。
4.8、查看 CPU 信息
在 Linux 系统中,提供了 proc 文件系统显示系统的软硬件信息。如果想了解系统中 CPU 的提供商和相关配置信息,则可以通过/proc/cpuinfo 文件得到.
cat /proc/cpuinfo
4.9、查看内存信息
cat /proc/meminfo
4.10、查看系统时间
date
4.11、查看系统运行时间
uptime
4.12、查看系统时区
timedatectl
五、linux 的默认运行级别
在 centos7/rhel7 之前的 linux 版本,linux 运行级别分为 7 个级别,分别是 0~6 级别:
0 代表关机(poweroff)
1 代表单用户模式
2 代表多用户模式,但没有网络服务
3代表完整多用户模式,有网络服务,登陆后进入控制台命令行模式
4 运行级别,预留,系统未使用
5 代表图形界面 6 代表系统正常关闭并重启。
一般默认运行级别设置为 3 或 5 级别。
5.13、查看当前运行级别
who -r #显示当前运行级别以及系统当前时间
runlevel #显示前一个运行级别(无则显示”N”),当前运 行级别
5.14、修改启动时默认运行级别
5.14.3、centos7/rhel7 之前的版本修改启动时默认运行级别:
修改/etc/inittab 文件
#vim /etc/inittab,进入文件后将 5 改为 3 之后,保存,重启,如图所示
5.14.4、centos7 版本中
3 运行级:multi-user.target 5 运行级:graphical.target
systemctl set-default graphical.target #修改默认的运行级别为 5
5.15、切换运行级别
5.15.5、init 方法:
init [0123456]
init 3 #进入命令行界面;
init 5 #进入图形界面,前提是需要安装图像化
5.15.6、Systemd 方法:
进入命令行界面:
systemctl isolate multi-user.target
进入图形界面:
systemctl isolate graphical.target
六、Linux 关机、重启命令
6.16、init 命令
init 用于切换系统的运行级别,切换的工作是立即完成的。
init 0 命令用于立即将系统运行级别切换为 0,即关机。
init 6 命令用于将系统运行级别切换为 6,即重新启动。
6.17、shutdown 命令
shutdown 命令用于安全关闭 Linux 系统。有些用户会使用直接断掉电源的方式来关闭 Linux,这是十分危险的。因为 Linux 后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至会损坏硬件设备。执行 shutdown 命令时,系统会通知所有登录的用户系统将要关闭,并且 login 指令会被冻结,即新的用户不能再登录系统。使用 shutdown 命令可以直接关闭系统,也可以延迟指定的时间再关闭系统,还可以重新启动。延迟指定的时间再关闭系统,可以让用户有时间储存当前正在处理的文件和关闭已经打开的程序。
语法格式:shutdown [选项] [参数]
-k :不是真的关机,只是发送警告消息出去
-r :将系统的服务停掉之后就重启(常用)
-h :将系统的服务停掉之后立即关机(常用)
-n : 不经过 init 程序,直接以 shutdown 的功能来关机
-f :关机并开机之后,强制略过 fsck 的磁盘检查
-F :系统重启之后,强制进行 fsck 的磁盘检查
-c :取消已经在进行的 shutdown 命令的内容
6.17.6、正常关机
shutdown
6.17.7、取消关机
shutdown -c
6.17.8、 重启
shutdown -r
6.17.9、定时关机和重启
6.17.9.3、10 分钟后关机
shutdown -h 10
6.17.9.4、立即重启
shutdown -r now
6.17.10、poweroff 命令
poweroff 在关闭计算机操作系统之后,最后还会发送 ACPI 指令,通知电源,最后切断电源供应
reboot 命令
6.17.11、通知系统重启
总结
以上就是一些linux的基础知识了,开始揭露了冰山一角的过程,后面会继续增加一些知识,共同进步