Linux基础知识
Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。
Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux系统区分大小写
云服务器
是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。
云服务器管理方式比物理服务器更简单高效,我们无需提前购买昂贵的硬件,即可迅速创建或删除云服务器,云服务器费用一般在几十到几百不等,可以根据我们到需求配置。
Linux系统启动过程
Linux启动时我们会看到许多启动信息
但其启动过程其实并不复杂,过程可分为以下五个阶段:
- 内核的引导
- 运行init
- 系统初始化
- 建立终端
- 用户登录系统
开机后首先读入 /boot 目录下的内核文件,而后读取配置文件 /etc/inittal启动init程序,该程序是所有进程的起点。
因为不同的场合需要不同的程序,所以有了 运行级别
最后进行 系统初始化,运行rc.sysinit脚本
而后建立6个终端,以便用户登录系统
用户登录系统
一般来说,用户登录方式有三种:
- 命令行登录
- ssh登录
- 图形界面登录
关机
正确的关机路程为: sync > shutdown > reboot > halt
shutdown 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:
shutdown –h 10 ‘This server will shutdown after 10 mins’ 这个命令告诉大家,计算机将在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系统目录结构
在命令行下输入命令
ls /
则系统将会显示出根目录列表
Linux远程登录
Linux一般作为服务器在机房中使用,而一般来说在机房操作Linux系统不现实
Linux可以通过SSH服务远程登录,默认SSH服务端口为22
Windows可以通过Putty、SSH Secure Shell等软件来登录远程服务器
Linux文件基本属性
为了保护系统安全,Linux对不同用户访问相同文件的权限做了不同规定
ll 可以显示所有文件的属性
ls -l 可以显示自己的文件相关的属性
在显示的前10个字符中,第一个代表文件的类型,d表示是目录文件,后9个以每三个为1组,分别代表用户自身的权限、文件所属组的权限、以及其他人的权限,rwx三个权限中不具备的以’-'替代。
但对于root用户来说,ta就是无所不能的!
但我们可以通过以下命令修改文件、目录的所属用户权限
-
[-R]表示递归更改,即若某个文件属性收到改变,那么其目录下的所有文件的属性都会一致收到改变
chgrp [-R] 属组名 文件名 // change group
// 该命令可以将目标文件的属组进行变更 -
chown [-R] 属主名 [: 属组名] 文件名 // change owner
// 该命令还可以同时修改属组
-
chmod [-R] XXX 文件/目录 //该命令将改变目标文件的权限,X代表0~7的某个数字
//其中r 权值4,w权值2,x权值1
chmod u=rwx,g=rx,o=r test1 // 修改 test1 权限chmod u+w,g-x,o-rx test1 // 修改 test1 权限
chmod a-x test1 // 所有身份失去执行 test1 的权限
文件与目录管理
-
绝对路径:由根目录 / 写起,例如/usr/share/doc
-
相对路劲:由当前目录开始写起,例如当前位于/usr/share/doc
输入 cd …/man 后目录就变成了 /usr/share/man (.表当前目录,…表返回上级目录)
在终端中~代表着根目录
常用命令:
-
ls(英文全拼:list files): 列出当前目录下的目录及文件名,参数如下:
- -a :列出全部文件,包括隐藏文件
- -d :仅列出目录本身,不列出目录内文件数据
- -l :长数据串列出,包含文件属性、权限等等
-
cd(英文全拼:change directory):切换目录(和windows差不多)
-
pwd(英文全拼:print work directory):显示目前的目录
- 使用pwd -P 可以打印出完整路径
-
mkdir(英文全拼:make directory):创建一个新的目录
- mkdir [-mp] 目录名称
- -m 可以配置文件的权限,否则按照默认权限来
- -p 帮助你直接将所需要的目录(包含上一级)递归创建
-
rmdir(英文全拼:remove directory):删除一个空的目录
- rmdir [-p] 目录名称
- -p 能连同上一级 空目录 也一起删除
-
cp(英文全拼:copy file): 复制文件或目录
- cp [-参数] 来源档 目标档 (若目标不存在则会创建一个目标)
- -a 相当于pdr
- -i 若目标档已经存在,则在覆盖时会先询问动作的进行
- -p 连同文件属性一起复制过去,而非使用默认属性
- -r 递归持续复制,用于目录的复制行为
- -u 只在目标档比来源档旧时才升级来源档
-
rm(英文全拼:remove): 删除文件或目录
- rm [-参数] 文件或目录
- -f 即force,忽略不存在的文件,不会出现警告
- -i 互动模式,在删除前会询问使用者是否动作
- -r 递归删除,谨慎使用
-
mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称
- mv [-参数] source destination
- -f 即force,若目标文件已存在,不询问直接覆盖
- -i 若目标文件已存在,会询问是否覆盖
- -u 若目标文件已存在,且source更新时,才会升级(覆盖)
Linux磁盘管理
Linux磁盘管理的好坏会直接关系到系统的性能
常用有一下三个命令:
- df 列出系统整体磁盘使用量
df [-参数] [目录或文件名]列出所有文件系统
- du 检查磁盘空间使用量
- fdisk 可以磁盘分区
vi/vim
vim是什么
vi是老式的字处理器,vim是从vi发展出来的一个文本编辑器。
vi/vim 共分为三种模式
-
命令模式 command mode
用户刚启动vi/vim,则会进入命令模式。在这个模式下敲击键盘,输入会被vim识别为命令而非输入字符。常用的命令有:
- i 切换到输入模式,之后可以输入字符
- x 删除当前光标所在处的字符
- : 切换到last line mode,在最底一行输入命令
命令模式
-
输入模式 insert mode
ESC 可以退出输入模式,切换到命令模式
-
底线命令模式 last line mode
可以输入单个/多个字符等许多命令
q: 退出程序 w:保存文件
支持多输入,如 :wq 便是保存文件后退出,不需要 :w :q
ESC 可以退出该模式
如何使用vi/vim进入一般模式
用vi来建立一个名为 runoob.txt文件:
$ vim runoob.txt
直接输入 vi 文件名即可进入一般模式
一般模式其实还有许多好用的命令,在此不再赘述,只给出最常用的几种
更多命令可以参考:
常用的命令 | |
---|---|
number+↑↓←→ | 可以让光标移动↑↓←→ number个单位 |
0 / home | 让光标回到本行第一个字符处 |
$ / end | 让光标到本行的最后字符处 |
G | 移动到文档的最后一行的第一个字符处 |
nG | 移动到第n行的第一个字符处 |
n [enter] | 向下切换n行 |
Linux apt 命令
apt是在Debian和Ubuntu中的Shell前端软件包管理器
一般语法
apt [options] command package
# options是可选参数,包括-h(帮助)-y(在安装时全部为yes) -q(不显示安装过程)等等
# command是要进行的操作
# package是安装的包名
常用命令:
- sudo apt update 列出所有可更新的软件清单
- sudo apt upgrade 升级软件包
apt list --upgradeable 列出所有可更新的软件包及版本信息
sudo apt full-upgrade 升级软件包 - sudo apt install package_1 package_2 … package_n 安装软件包
- sudo apt remove package_name 删除软件包
- apt list --installed 列出所有已安装的包
- apt list --all-versions 列出所有已安装的包的版本信息