----------让别人去说吧
本篇就是Linux 的开篇。 对于Linux 的学习,就我而言,我感觉在实操是要大于理解的。所以,进行这块知识的学习,尤其注重实操和练习。
在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序。
在windows下就更简单点,他们会把自己的软件包安装在一个服务器上,通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装。
所以软件包 和 软件管理器的关系,就类似于 手机、PC上的“应用”,和软件管理器就是“应用商店”的关系。
所以,yum也就类似于“应用商店”。
所以在进行yum进行安装的时候,需要联网,以便获取服务器上的软件包。
当然查证自己的Linux机器是否连上网很简单,
ping + 网址
这个里我们举例用百度网址来查看,有响应即可~
通过yum查询软件包列表。
yum list
这里我们举例安装rzsz工具: 用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件。
yum list | grep lrzsz
// "|" 管道 链接前后的指令
// "grep" 根据关键字 过滤----> 筛查
在Linux中,软件包的名称包括:: 主版本号、次版本号、源程序发行号-软件包的发行号……
"x86_64" 后缀表示64位系统的安装包,选择时注意和自己的系统配对。
"el7" 表示操作系统发行版的版本。"el7" 表示的是 centos7/redhat7。
"@os" 表示的是 ,软件源,就是软件包在哪个服务器上这个概念。
sudo yum -y install lrzsz
//sudo 提升权限
//yum install 安装+ 软件包名
软件包安装,最好都提升权限,因为需要把内容写入进目录。
注意:无法用yum进行多个软件包的安装。否则会出现下面的提示。
你忽然说,“哎呀 不想用了”,或者是“哎呀,下载错了”。
那这安装的软件包又该怎样离开你的系统目录呢?
sudo yum remove lrzsz
//仍然需要提升全县
//用 yum + remove +软件名进行卸载
vim是一种编辑器,可以帮助Linux适应多种语言的开发。
python:
C 和 C++:
要学会vim的基本操作前,首先要了解vim 的基本模式。
常用的有三种: 命令 底行 输入(插入)模式:
任何适合用vim打开一个文件,一定是进入了命令模式
再按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 -->不调出
3.!gcc + 文件名:
可以到我们可以在vim编辑器模式下进行编译和 查找。
文件执行
5.ctrl + w w :进行光标切换
因为我的vim已经是配置过了的,所以这里我切换到新用户进行简单配置:
这是没有进行配置过的vim界面;
我们可以通过touch “.vimrc”来进行配置
我们可以去网上找到配置vim 的代码,粘贴就行:
什么是权限? 在我们日常生活当中,你做什么事情,是该以什么样的身份去做,是很重要的。
所以权限,跟我们的身份关系很大。
Liunx中有两种用户;
超级用户(root):可以再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初始权限:
权限本质就是一种约束 ---->对象不仅仅是人,还有事务对象。
linux文件的权限分为: 人 (角色(usr\group\other)) + 文件属性(rwx)
权限的出现就是为了 协助系统,进行安全管理。
文件类型 | 说明 |
- | 普通文件(源代码、库文件、可执行程序...) |
d | 目录文件 |
c | 字符设备文件:键盘、显示器... |
b | 块设备:磁盘 |
l | 链接文件:快捷方式 |
p | 管道文件 |
s | socket文件 |
我们先来看看下面的情况。
即便我们不是文件的拥有者,但仍然可以在一个目录下 删除别人的文件! 毕竟给予 other的权限 只有 读、 写、可执行.....
然而,这在实际中显然是不可以被容忍的。 虽然你删除没有违反 不可读、 不可写等等,但是对于文件拥有者显然不友好。
给目录设置粘滞位:
chmod + t + file_name
因此,根本上,粘滞位的出现,是为了解决,公共目录下,other对 自己文件的删除操作。
①yum是一个软件安装包管理器
②vim需要掌握三种模式以及切换 命令 底行 插入
③访问权限的三类人 自己 所属组 其他人 root不受权限的制约
④chmod有两种方法更改权限:+- 八进制表示法
⑤默认权限设置 default & ~(umask)
本篇也就完啦,
感谢您的阅读,祝你好运~