----------让别人去说吧


本篇就是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与默认权限:

为什么,我们创建一个文件、目录都有一个默认权限?那为什么这些默认权限是这样子?

最终权限= 起始权限 & ~(umask) 

普通文件权限,就是(起始权限)666。

目录起始权限:777

注: 凡是在umask出现的权限位,都不应该出现在起始权限中出现。

umask(0002)的理解:

 

 那么怎么理解呢?此时我们再把umask----0006

umask---003

 创建新的test3.c文件 

 

所以,最终默认权限 defalut & ~(umask); 

为什么目录默认是777?

因为任何目录需要可执行才能进入。

所以综上,如果把umask 设置为0,那么就可以很容易得出deflault初始权限:


(3)如何理解linux权限? 

①什么是权限?

权限本质就是一种约束 ---->对象不仅仅是人,还有事务对象。

linux文件的权限分为: 人 (角色(usr\group\other)) + 文件属性(rwx)

②为什么要有权限?

权限的出现就是为了 协助系统,进行安全管理。        

③linux下其他文件类型

文件类型说明
-普通文件(源代码、库文件、可执行程序...)
d目录文件
c字符设备文件:键盘、显示器...
b块设备:磁盘
l链接文件:快捷方式
p管道文件
ssocket文件


(4)粘滞位

我们先来看看下面的情况。

即便我们不是文件的拥有者,但仍然可以在一个目录下 删除别人的文件! 毕竟给予 other的权限 只有 读、 写、可执行.....

然而,这在实际中显然是不可以被容忍的。 虽然你删除没有违反 不可读、 不可写等等,但是对于文件拥有者显然不友好。

给目录设置粘滞位:
chmod + t + file_name 

 

 

因此,根本上,粘滞位的出现,是为了解决,公共目录下,other对 自己文件的删除操作。

 


总结: 

①yum是一个软件安装包管理器

②vim需要掌握三种模式以及切换 命令 底行 插入

③访问权限的三类人 自己 所属组 其他人 root不受权限的制约

④chmod有两种方法更改权限:+- 八进制表示法

⑤默认权限设置 default & ~(umask)

本篇也就完啦,

感谢您的阅读,祝你好运~

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐