前言
只是本人的知识梳理笔记,大家看看就行,有问题也可以评论我,我都会看的^^(很难想象一节课的容量已经如此巨大@_@…………)
第一部分 - 操作系统简介
先来初步了解一下计算机硬件组成部分
- 一个或多个处理器
- 主存(内存)
- 磁盘
- 输入输出设备
它们的关系大概是这样的:
而操作系统在软件和硬件中起到一个交接(接口)的作用,be like
第二部分 - Linux操作系统
1.Linux操作系统简介
- Linux 一般采用文字界面或图形界面进行命令操作,但不是所有Linux都提供图形服务
- 在其中,通过终端使用命令是Linux必须掌握的技能^^
(也就是类似cmd命令提示符的这个界面,绿色那行就是我输入的命令)
2.工作目录(working directory)
类似于当前位置这种,进入上面说的(字符)终端之后,会处于一个特定的工作目录,即当前正在处理的目录,我们输入的所有命令都是针对这个目录进行的(嗯,也就是新手操作的受害者^^)
3.路径(path)
- 目录结构
树状结构,最顶级的目录称为根目录,用"/ "表示 - 路径
能表示Linux中资源所处的位置
资源:就是我们想要操作的 图片 、 设备 或者 目录- 绝对路径
“绝对” 即从根目录开始描述资源的位置 - 相对路径
“相对”即从当前工作目录开始描述资源的位置
- 绝对路径
- 表示方法
"."表示当前级
“…”表示上一级
所以 /usr/bin 可以表示成 …/bin
4.用户和用户组(User and User groups)
- 用户:Linux是一个多用户多系统的分时操作系统(既然有多用户,那一定有一个最特殊的^^)
- 根用户(是不是跟根目录很像hh):账号为root ,通常不通过根用户登录系统(安全起见),拥有最高的管理权限
- 用户组:每个用户都有一个用户组,系统可以对用户组中的所有用户统一管理(相当于小区管理?^^)
- 文件和目录权限:每个文件有九个权限位
- 最左边的第一个字符
- “-”表示文件,“d”表示目录。“l”表示符号链接(例子中没有展示最后一种,符号链接相当于一种引用^ _ ^)
- 第二位开始,前三个表示文件所有者的权限,中间三位表示文件所属组的权限,而最后三位适用于其他人的权限
- r表示读取,w表示写入,x表示执行,“-”表示无权限
- 最左边的第一个字符
5. 文件链接
- Linux 系统允许在文件之间创建链接,这种操作实际上是给系统中的某个文件指定另外一个可以访问他的名称
- 链接分类
- 软链接 (像快捷方式) be like 传送门*_*
- 硬链接(类似于文件的别名)就是文件本人^^
第三部分 - 操作命令
实操来了^^
注意:以下所有操作都是 “操作命令+选项”
(比如:列出文件是命令,列出属性&列出文本内容是选项)
一、 文件和目录的操作命令
1.显示、列出子目录
- ls: 列出指定目录下的子目录及文件
【选项】- -l :减号-加“l”,即列出文件的详细属性及相关权限(这个后面会提到)
- -a:即列出隐藏的文件(文件名开头为“.”的文件)
你也可以打组合拳,即 -la ,可以同时实现两个选项
例如: /tmp$ ls -la
前面/tmp$是命令行提示符,ls 是操作命令, -la 是选项(如果要加选项,一定要加减号),选项后面可以再加路径等等
- pwd:显示当前工作目录 即 Print the Working Directory
2.增删改工作目录
-
cd:改变当前的工作目录 即Change the current working Directory
格式:/tmp$ cd bin(路径)
-
mkdir:创建新的工作目录,即 MaKe the working directory
-
rmdir:删除空的目录,即 ReMove the working directory
-
cp:复制工作目录,即 CoPy the working directory
【选项】
- -r:递归复制,用于目录的复制
递归复制 指的是当要复制的目录下存在子目录,且子目录中存在子目录或文件的时候,将逐一复制它们(就是不断地复制到最里层hh)
- -f:若目标文件已经存在,则强行覆盖,不进行询问(所以慎用捏^^)
下面是cp的例子
- 将f1 复制到/tmp目录下,以f2命名 有点绕@_@
(目标位置是工作目录 ,最后一位为命名, 靠近命令的为被操作对象)
/tmp$ cp f1 f2
- 将 f1 f2文件复制到/tmp/test目录下
/tmp$ cp f1 f2 test
- 将/tmp/test 目录下全部内容强制复制到/tmp/test1下(*为通配符,用于匹配任意数量的字符)
/tmp$ cp -rf test/* test1
下面两个和前面的区别是,前面只能修改目录(dir),后面可以修改文件及目录
- rm:删除文件或者目录,即ReMove
rm [options] path1,path2,…(和cp一样 理论上可以同时删除n个路径)
- mv:移动文件与目录,即MoVe
-
Warning!!!:慎用删除命令!!!
-
3.文件链接命令
- In:创建文件链接
【选项】- -f:强制执行(发现了吗,f选项几乎都是强制实施,因此可记为force^^)
- -s:软链接(符号链接,上面提过,为一种引用方式)
下面是例子:) - 为1.log 创建硬链接 2.log,即指向同一文件
In 1.log 2.log
- 为.1.log 创建符号链接 2.log,删除1.log后2.log失效
In -s 1.log 2.log
- 为.1.log 创建符号链接 2.log,覆盖原有2.log
In -fs 1.log 2.log
4.文件的打包拆包
- 打包 tar czf
把file文件夹下的所有内容压缩为file。
~$ tar czf file.tar .gz file/
还是那句话,靠近命令的就是被操作对象
- 拆包 tar xzf
把file.tar.gz 解压缩到当前文件
~$ tar xzf file.tar.gz
这里附上压缩算法对应的参数
- 打包成zip
把这个目录下的所有文件和文件夹打包成当前目录下的html.zip
~$ zip -q -r html.zip /home/html
- 拆包zip
把html.zip解压到当前文件夹
~$ zip html.zip
5.文件显示命令
- cat:将文件以文本的形式输出
Warning!!!:如果是二进制文件输出的话只是0和1,所以大家看清楚文件格式再用 - hexdump:将文件以编码的形式输出
- head:显示文件的前几行数据
- tail:输出文件的尾部数据(这两个都是字面意思,挺好理解的kk)
- objump:查看elf格式文件
- more:分页显示文件
- help:显示命令选项具体信息 对新手友好(help前面需要加上两个减号)
下面是help more的一个例子
当我输入
ls --help|more
左下角会出现一个more,也就是分页阅读,此时如果你想继续阅读就按空格键,想结束则按q,会出现图二的样子(也就是跳回命令行)
二、 权限的操作命令
1.改变权限操作命令
- chmod:改变文件权限
- u(user)表示文件的拥有者,g(group)表示与该文件拥有者属于同用户组,o(others)表示其他用户,a(all)表示三者皆是
- +表示增加权限,-表示取消权限,=表示唯一设定权限
- 再回顾一下吧~
r表示读取,w表示写入,x表示执行,“-”表示无权限
下面是例子^^
- 对file下的所有用户增加读权限
chmod a+r file
- 给file下的所有用户增加读写执行权限
chmod +rwx file
- 给user增加读写权限,清空用户组和其他用户的权限
chmod u = rw,go = file
2.使用根权限执行命令
- sudo:执行前要输入密码(盲打^^)
- 格式就是在所有命令前加sudo即可
~$ sudo mkdir test
第四部分 - 结语
可能会因为各种情况出错(因为你照着网上的打不一定会成功)
比如空格,英文符号等等(这些C++里面也常见^^)
在Linux里,没有消息就是好消息
所以,祝诸君好运^^