
?----------让别人去说吧
本篇就是Linux 的开篇。?对于Linux 的学习,就我而言,我感觉在实操是要大于理解的。所以,进行这块知识的学习,尤其注重实操和练习。
(1)软件包管理器 yum
①什么是软件包?
在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序。
在windows下就更简单点,他们会把自己的软件包安装在一个服务器上,通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装。
所以软件包?和?软件管理器的关系,就类似于?手机、PC上的“应用”,和软件管理器就是“应用商店”的关系。
所以,yum也就类似于“应用商店”。
所以在进行yum进行安装的时候,需要联网,以便获取服务器上的软件包。
当然查证自己的Linux机器是否连上网很简单,
ping + 网址

这个里我们举例用百度网址来查看,有响应即可~
通过yum查询软件包列表。
yum list

②如何使用yum安装软件?
?这里我们举例安装rzsz工具:?用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件。
1.找到这个工具
yum list | grep lrzsz
// "|" 管道 链接前后的指令
// "grep" 根据关键字 过滤----> 筛查
2.安装

在Linux中,软件包的名称包括:: 主版本号、次版本号、源程序发行号-软件包的发行号……?
"x86_64" 后缀表示64位系统的安装包,选择时注意和自己的系统配对。
"el7" 表示操作系统发行版的版本。"el7" 表示的是 centos7/redhat7。
"@os" 表示的是 ,软件源,就是软件包在哪个服务器上这个概念。
sudo yum -y install lrzsz
//sudo 提升权限
//yum install 安装+ 软件包名
软件包安装,最好都提升权限,因为需要把内容写入进目录。
出现 "complete" 字样, 说明安装完成。
?注意:无法用yum进行多个软件包的安装。否则会出现下面的提示。

?3.卸载
你忽然说,“哎呀?不想用了”,或者是“哎呀,下载错了”。
那这安装的软件包又该怎样离开你的系统目录呢?
sudo yum remove lrzsz
//仍然需要提升全县
//用 yum + remove +软件名进行卸载

(2)Linux编辑器-vim:
①什么是vim?
vim是一种编辑器,可以帮助Linux适应多种语言的开发。
python:?

C?和 C++:


?②vim的基本操作:
要学会vim的基本操作前,首先要了解vim 的基本模式。
常用的有三种:?命令?底行?输入(插入)模式:
任何适合用vim打开一个文件,一定是进入了命令模式

?键盘输入a,i,o的时候,可以切换成插入模式。?
再按ESC可回到?命令模式:?

在命令模式下,按住shift + r?键就可以切换到底行模式
同样可用ESC退出切换到?命令模式。?

那么?可以直接从插入模式切换到?底行吗?或者从底行切换到插入?
答案是不行的。

在熟知三种命令下,就可以进行一些基本的vim?操作指令。
命令模式:?
1.光标移动到一行的首尾:?shift+^? \ shift+$


?2.光标最上、最下:shift+g\gg?

?
?当然还能指定移动: n+shift+g?或者 n+gg

?
?3.复制、粘贴:yy(复制) +p(粘贴)

同样也有:n+yy/ n+p
?
?4.u?和 ctrl+u :撤销,恢复撤销
5.dd:?删除 n+dd?从本行向下删除多少行? dd+p:剪贴
?6.w e b?:移动到下个“字”的开头 、结尾,上一个字的开头
7.x?删除:? n+x:删除光标?后几位。包括自己在内。
? X:?删除?光标之前删除,不包括自己在内。
8.r?替换:对光标标记的替换

?
?shift+r?进入替换模式~可以进行整行替换.

9.h j k l:左?下?上?右?移动
在早期键盘没有上下左右方向键的时候,就用这四个字母表示上下左右。
?
?②插入模式:
插入模式没啥好讲的就是开始写代码了。在名利模式下,“aio”进行切换。
③底行模式:
shift+:?从命令模式下切换。
1.set nu ->调出行号? set nonu -->不调出

?2.w q !:写入?退出?保存:
3.!gcc +?文件名:
可以到我们可以在vim编辑器模式下进行编译和?查找。

文件执行
?4.vs +?文件名 :?开启多个窗口进行写入

?5.ctrl + w w :进行光标切换

?③vim的简单配置
因为我的vim已经是配置过了的,所以这里我切换到新用户进行简单配置:?

这是没有进行配置过的vim界面;

我们可以通过touch “.vimrc”来进行配置?

我们可以去网上找到配置vim 的代码,粘贴就行:
?
(2)Linux权限:
什么是权限??在我们日常生活当中,你做什么事情,是该以什么样的身份去做,是很重要的。
所以权限,跟我们的身份关系很大。
①用户:
Liunx中有两种用户;
超级用户(root):可以再linux系统下做任何事情,不受限制.
普通用户:在linux下做有限的事情.
超级用户的命令提示符是“#”,普通用户的命令提示符是“$。
②Linux权限管理:
01.文件访问者的分类(人):
u----user(用户自己)
g----group(用户所在组)
o----ohter(其他人)?当然如果是普通用户的文件,root也在其他人里面。
a----all(所有人)
当每次我们在创建一个文件的时候,它的前面就会有这样的属性:?

文件前的属性有是十字节:
其中第一个字节是用来修饰文件类型:
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
?
?文件权限的表示方式:
r:读
w:写
x:可执行
-:未授权限

剩余的九个位,每三个位表示一个访问者身份,拥有的权限。
③?权限相关配置:
chmod:更改权限
在之前就说了?文件访问者的三个身份:u、g、o;
1.用户表示符+/-=权限字符
此时我们要把game.c? 针对?外来人员(o)读(r)的权限收回:

chomd o-r(wx) +文件名
?
当然如果要添上原来的也很简单:
chomd o+r(wx) +文件名

也许如果跟三个文件访问者依次这样 +-? 会很麻烦,那么有没有什么方法能让他们一起都加上或减去呢?

通过a+- r(wx)可以完成?这样的工作。?
?2.三位8进制数字
我们可以发现,表示每个文件访问者权限就是三个字符。如果用1\0表示有或没有的话,就可以转换成三个八进制数字:
比如: 777(111 111 111?也就是所有权限都有)

比如:665(110 110 101)Other没有写入的权限:
?
这样,就不用针对u\g\o+-?来配置权限。?
④如何更改文件的访问者:

1.更换所属成员
?如果要更换所属成员,那么你也需要让别人同意,所以这里+sudo调高权限即可
sudo chown +用户名(你要修改的) +文件名

?2.更改文件所属组
sudo chgrp +用户名 +文件名

3.当然也可以同时更改:
sudo chown 用户名:用户名 +文件名

?⑤umask与默认权限:
为什么,我们创建一个文件、目录都有一个默认权限?那为什么这些默认权限是这样子?
普通文件权限,就是(起始权限)666。
目录起始权限:777
注:?凡是在umask出现的权限位,都不应该出现在起始权限中出现。

umask(0002)的理解:
?
?那么怎么理解呢?此时我们再把umask----0006

umask---003

?创建新的test3.c文件?
?
所以,最终默认权限?defalut & ~(umask);?
为什么目录默认是777?
因为任何目录需要可执行才能进入。
所以综上,如果把umask?设置为0,那么就可以很容易得出deflault初始权限:

总结:?
①yum是一个软件安装包管理器
②vim需要掌握三种模式以及切换?命令?底行?插入
③访问权限的三类人?自己?所属组?其他人?root不受权限的制约
④chmod有两种方法更改权限:+-?八进制表示法
⑤默认权限设置 default & ~(umask)
本篇也就完啦,
感谢您的阅读,祝你好运~

?
|