I 操作系统

定义:

操作系统是计算机和用户之间的桥梁,用户通过操作系统去指挥电脑硬件工作,发挥电脑的各项作用

操作系统本质上也是软件,不过他是底层软件

他与其他软件在功能上是平行的,都是调用内核去操控硬件

个人电脑操作系统:

Windows

Mac os

服务器操作系统:

Linux 一家独大

移动设备:

IOS

Android 安卓(基于Linux内核)

II Linux 系统认识

内核与系统应用程序:

系统内核就是一系列最核心的功能。这些功能不对用户开放

而系统级应用程序就是出厂自带的程序,这些最基本的程序调用内核工作,并且功能是一些最基础的加上这个,用户才能使用()

别的程序,进入操作系统后也是调用内核,与系统程序是平行的

Linux发行版

任何人都可以获得内核源码,但是你自己添加上不同的 系统程序就可以封装为自己的Linux发行版

III 虚拟机

在虚拟机上安装好linux后

KEY TAKEAWAY · 核心要点

远程连接虚拟机,不用特地到虚拟机里去运行命令,在一个软件Finalshell里面就可以看到虚拟机的各种文件并且访问,并且也可以输入命令

IV 正式开始-Linux命令

快捷按键

ctrl+c中止

Linux的目录结构

顶级目录是/正斜杠 没有盘符的概念,所有的文件都在根目录中。

/test/work/my.txt 表示在根目录下的文件夹里的文件夹里的文件

/采用正斜杠表示层级关系

Linux 命令

命令其实就是应用程序

他会提供字符反馈

ls命令 展示当前目录下的文件

TERMINAL · LS 语法 复制
ls [-a -l -h] [path]

linux启动时,默认会切换到用户的HOME目录

-选项

-a 显示所有内容,包括名字前带.的文件

-l 竖向显示内容,并且显示权限,大小,用户,创建时间等

-a -l等选项都可以组合使用,写法就是同时都写 如-lah 表示同时使用它们的特性

-h必须和l一起使用 即-lh 表示将文件大小带上单位

路径选项

最后可以加上路径表示查看对应路径的内容

cd和pwd

查看当前目录意思是打印出当前在哪个目录

相对路径和绝对路径

mkdr命令

文件相关命令

touch命令-创建文件

TERMINAL · TOUCH 语法 复制
touch <file_path>  # 创建新文件或更新时间戳

cat命令-查看文件内容

TERMINAL · CAT 语法 复制
cat <file_path>    # 一次性输出文件全部内容

more命令-查看文件内容

TERMINAL · MORE 语法 复制
more <file_path>   # 分页查看文件内容 (空格翻页,q退出)

cp命令-复制文件内容

TERMINAL · CP 语法 复制
cp [-r] <source> <dest>  # -r 递归复制文件夹

mv命令-移动文件夹

TERMINAL · MV 语法 复制
mv <source> <dest>  # 移动文件或重命名

rm命令-删除文件/夹

TERMINAL · RM 语法 复制
rm [-r -f] <path>   # -r 递归删除目录; -f 强制删除不提示

which命令

TERMINAL · WHICH 语法 复制
which <command_name>   # 查找并显示可执行命令所在的绝对路径

用于查找命令的位置,因为命令本质上也是应用程序

TERMINAL / CODE 复制
Which cd 会显示cd这个命令存放在哪里

find命令

TERMINAL · FIND 语法 复制
find <path> -name "*keyword*"   # 按名称查找
find <path> -size +100M        # 查找大于100M的文件

会返回所有查找到的文件

通配符查找

按照文件大小查找

grep命令

TERMINAL · GREP 语法 复制
grep [-n] "keyword" <file_path> # -n 显示匹配行号

输出的是含有关键字的行内容,保留原本的分行

wc命令

TERMINAL · WC 语法 复制
wc [-c -m -l -w] <file_path>   # -l 统计行数; -w 统计单词数

如果不写选项,默认是行数,单词数。字节数。,文件名

管道符

只要能输出内容的都可以作为左边,只要能接受内容的既可以作为右边

echo命令-类似print语句

TERMINAL · ECHO 语法 复制
echo "Hello Linux"       # 控制台打印文本

飘号

重定向符

覆盖指的是内容会覆盖之前写入的,并且空格分割内容会默认换行

追加也会默认换行

tail命令

TERMINAL · TAIL 语法 复制
tail [-f] [-n num] <file_path>  # -f 动态追踪日志更新

num是一个具体数字

持续追踪意思是程序不会停止会一直监视着,一旦有更改会立刻反馈给你看

Vim编辑器-在命令行中的一个编辑器

先通过vim指令进入文件,这时候是命令模式,然后用aio等进入输入模式,写东西,然后esc回到命令模式,再然后冒号进入底线命令模式,wq保存并退出

Vim有各种快捷键,能够实现手不离开键盘编辑文件

V 权限

用户

Linux不同用户有不同权限,普通系统用户只有只读和执行权限没有修改权限,并且权限局限在Home目录内

而Linux存在一个Root用户,拥有最大的权限

su命令

TERMINAL · SU 语法 复制
su [-] [username]        # 切换用户; - 会加载用户的环境变量
TERMINAL / CODE 复制
Su 切换用户
TERMINAL / CODE 复制
Su - 用户名  普通用户需要密码才能换到其他用户

root用户不需要,可以直接换

用户和用户组

不同用户会分配在各个用户组里,可以为一个组里的用户给予特定权限,便于管理

用户管理命令

getent命令

Getent passwd

可以查看整个系统有哪些用户

Getent group

可查看有哪些组

权限管控

每一个文件或者文件夹都对用户,用户组,其他用户有严格的权限管控,并且会标在文件上

使用ls -l 即可查看

rwx解释

前三位是后面所列用户有的权限,中间三位是后面所列的用户组的权限,最后三位是其他用户的权限

修改权限命令chmod

具体写的时候可以写u=什么 g=什么 来简便的设置权限

更快捷的写法

类比于二进制进位 去理解 rwx是第一位第二位第三位上的0和1表示

例如 第一位是1那么就代表第一位是r 第一位是0就是第一位是-

接着化为十进制再组合起来就是快捷写法中的数字了

chown命令

TERMINAL · CHOWN 语法 复制
chown [-R] [user][:group] <path> # 修改文件所有者和所属组

VI Linux实用操作

快捷键

Ctrl +C

终止当前命令/程序

Ctrl + D

退出某些程序和账户登录 不能退出Vim编辑器

Histroy 命令

显示所有历史命令

历史命令搜索

![name] 搜索以name开头的历史命令并且执行

Ctrl + R

输入要搜索的命令名字,可以得到,回车是执行,左右键是仅得到不执行

快捷跳转快捷键

Ctrl + l

清屏快捷键

安装软件

应用商店+安装包

linux安装包是RPM安装包

yum命令-centos系统

apt命令-Ubutu系统

安装包是.deb

Systemctl 命令

注意:

如果软件安装的时候没有自己注册到ctl服务中,无法使用该命令去控制和查看

软链接-ln命令

ENGINEERING ADVICE

注意:构建软链接的过程就是创建一个虚拟的文件指向原来的文件

并没有复制

日期和时区

date命令

TERMINAL · DATE 语法 复制
date ["+%Y-%m-%d %H:%M:%S"]    # 查看或格式化系统日期时间

自定义显示时间

IP地址

定义:

特殊ip地址

主机名

DNS-域名解析

定义:将ip地址映射为具体的ip地址

KEY TAKEAWAY · 核心要点

注意:这个先看本机的记录可以有大用,就是可以吧主机名做一个映射到ip,得到linux主机的主机名就可以直接访问主机了

linux固定ip地址

原因:

操作已完成

网络请求和下载

ping命令-检查网络服务器是否联通

TERMINAL · PING 语法 复制
ping [-c num] <ip_or_domain>   # 测试主机连通性与网络延迟

下载网络文件-wget命令

curl命令-发起网络请求就是浏览器打开网站,但是他没有html渲染器,因此命令行里请求这个只会得到html源码

TERMINAL · CURL 语法 复制
curl [-O] <url>                # 发起网络请求获取网页源码或数据

端口

定义:

这里的端口是指虚拟端口,是操作系统与外界通讯的交互使用

每个进程或者说程序都有自己的端口,相当于这个程序的房间号,而ip地址则相当于楼栋号

A计算机的程序A要找到B计算机的程序B,需要ip加端口

查看端口占用情况-nmap命令

查看指定端口的占用情况-netstat命令

进程定义:

ps命令

TERMINAL · PS 语法 复制
ps -ef | grep <keyword>         # 查看进程运行状态并筛选

查看指定进程

命令也是程序,因此也是进程

ORIGINAL CITATION & REFERENCES

资料与原始文档