I 操作系统
定义:
操作系统是计算机和用户之间的桥梁,用户通过操作系统去指挥电脑硬件工作,发挥电脑的各项作用
操作系统本质上也是软件,不过他是底层软件
他与其他软件在功能上是平行的,都是调用内核去操控硬件
个人电脑操作系统:
Windows
Mac os
服务器操作系统:
Linux 一家独大
移动设备:
IOS
Android 安卓(基于Linux内核)
II Linux 系统认识
内核与系统应用程序:
系统内核就是一系列最核心的功能。这些功能不对用户开放
而系统级应用程序就是出厂自带的程序,这些最基本的程序调用内核工作,并且功能是一些最基础的加上这个,用户才能使用()
别的程序,进入操作系统后也是调用内核,与系统程序是平行的
Linux发行版
任何人都可以获得内核源码,但是你自己添加上不同的 系统程序就可以封装为自己的Linux发行版
III 虚拟机
在虚拟机上安装好linux后
远程连接虚拟机,不用特地到虚拟机里去运行命令,在一个软件Finalshell里面就可以看到虚拟机的各种文件并且访问,并且也可以输入命令
IV 正式开始-Linux命令
快捷按键
ctrl+c中止
Linux的目录结构
顶级目录是/正斜杠 没有盘符的概念,所有的文件都在根目录中。
/test/work/my.txt 表示在根目录下的文件夹里的文件夹里的文件
/采用正斜杠表示层级关系
Linux 命令
命令其实就是应用程序
他会提供字符反馈
ls命令 展示当前目录下的文件
ls [-a -l -h] [path]
linux启动时,默认会切换到用户的HOME目录
-选项
-a 显示所有内容,包括名字前带.的文件
-l 竖向显示内容,并且显示权限,大小,用户,创建时间等
-a -l等选项都可以组合使用,写法就是同时都写 如-lah 表示同时使用它们的特性
-h必须和l一起使用 即-lh 表示将文件大小带上单位
路径选项
最后可以加上路径表示查看对应路径的内容
cd和pwd
查看当前目录意思是打印出当前在哪个目录
相对路径和绝对路径
mkdr命令
文件相关命令
touch命令-创建文件
touch <file_path> # 创建新文件或更新时间戳
cat命令-查看文件内容
cat <file_path> # 一次性输出文件全部内容
more命令-查看文件内容
more <file_path> # 分页查看文件内容 (空格翻页,q退出)
cp命令-复制文件内容
cp [-r] <source> <dest> # -r 递归复制文件夹
mv命令-移动文件夹
mv <source> <dest> # 移动文件或重命名
rm命令-删除文件/夹
rm [-r -f] <path> # -r 递归删除目录; -f 强制删除不提示
which命令
which <command_name> # 查找并显示可执行命令所在的绝对路径
用于查找命令的位置,因为命令本质上也是应用程序
Which cd 会显示cd这个命令存放在哪里
find命令
find <path> -name "*keyword*" # 按名称查找
find <path> -size +100M # 查找大于100M的文件
会返回所有查找到的文件
通配符查找
按照文件大小查找
grep命令
grep [-n] "keyword" <file_path> # -n 显示匹配行号
输出的是含有关键字的行内容,保留原本的分行
wc命令
wc [-c -m -l -w] <file_path> # -l 统计行数; -w 统计单词数
如果不写选项,默认是行数,单词数。字节数。,文件名
管道符
只要能输出内容的都可以作为左边,只要能接受内容的既可以作为右边
echo命令-类似print语句
echo "Hello Linux" # 控制台打印文本
飘号
重定向符
覆盖指的是内容会覆盖之前写入的,并且空格分割内容会默认换行
追加也会默认换行
tail命令
tail [-f] [-n num] <file_path> # -f 动态追踪日志更新
num是一个具体数字
持续追踪意思是程序不会停止会一直监视着,一旦有更改会立刻反馈给你看
Vim编辑器-在命令行中的一个编辑器
先通过vim指令进入文件,这时候是命令模式,然后用aio等进入输入模式,写东西,然后esc回到命令模式,再然后冒号进入底线命令模式,wq保存并退出
Vim有各种快捷键,能够实现手不离开键盘编辑文件
V 权限
用户
Linux不同用户有不同权限,普通系统用户只有只读和执行权限没有修改权限,并且权限局限在Home目录内
而Linux存在一个Root用户,拥有最大的权限
su命令
su [-] [username] # 切换用户; - 会加载用户的环境变量
Su 切换用户
Su - 用户名 普通用户需要密码才能换到其他用户
root用户不需要,可以直接换
用户和用户组
不同用户会分配在各个用户组里,可以为一个组里的用户给予特定权限,便于管理
用户管理命令
getent命令
Getent passwd
可以查看整个系统有哪些用户
Getent group
可查看有哪些组
权限管控
每一个文件或者文件夹都对用户,用户组,其他用户有严格的权限管控,并且会标在文件上
使用ls -l 即可查看
rwx解释
前三位是后面所列用户有的权限,中间三位是后面所列的用户组的权限,最后三位是其他用户的权限
修改权限命令chmod
具体写的时候可以写u=什么 g=什么 来简便的设置权限
更快捷的写法
类比于二进制进位 去理解 rwx是第一位第二位第三位上的0和1表示
例如 第一位是1那么就代表第一位是r 第一位是0就是第一位是-
接着化为十进制再组合起来就是快捷写法中的数字了
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命令
注意:构建软链接的过程就是创建一个虚拟的文件指向原来的文件
并没有复制
日期和时区
date命令
date ["+%Y-%m-%d %H:%M:%S"] # 查看或格式化系统日期时间
自定义显示时间
IP地址
定义:
特殊ip地址
主机名
DNS-域名解析
定义:将ip地址映射为具体的ip地址
注意:这个先看本机的记录可以有大用,就是可以吧主机名做一个映射到ip,得到linux主机的主机名就可以直接访问主机了
linux固定ip地址
原因:
操作已完成
网络请求和下载
ping命令-检查网络服务器是否联通
ping [-c num] <ip_or_domain> # 测试主机连通性与网络延迟
下载网络文件-wget命令
curl命令-发起网络请求就是浏览器打开网站,但是他没有html渲染器,因此命令行里请求这个只会得到html源码
curl [-O] <url> # 发起网络请求获取网页源码或数据
端口
定义:
这里的端口是指虚拟端口,是操作系统与外界通讯的交互使用
每个进程或者说程序都有自己的端口,相当于这个程序的房间号,而ip地址则相当于楼栋号
A计算机的程序A要找到B计算机的程序B,需要ip加端口
查看端口占用情况-nmap命令
查看指定端口的占用情况-netstat命令
进程定义:
ps命令
ps -ef | grep <keyword> # 查看进程运行状态并筛选
查看指定进程
命令也是程序,因此也是进程
ORIGINAL CITATION & REFERENCES
评论交流
0实践经验 · 技术讨论
登录读者账号后,可参与交流与回复。
登录后评论↗注册账号 ↗围绕本文内容分享经验或展开讨论。