2 Linux相关知识

2 Linux相关知识

2.1 Ubuntu软件管理

2.1.1 软件介绍

Windows:Windows上常用管理工具,或者直接去官网上下载软件。

Linux:在大多数的Linux中,都有给自的软件管理工具,比如Ubuntu常用的是apt,通过软件管理包来安装和更新软件等。

Ubuntu下载软件:

下载系统相关的(插件):使用apt命令

下载python相关的库、插件、模块:使用pip命令(更多的是使用pip)

2.2.2 apt使用(不常用)

软件更新:

sudo apt -y update          #更新源

sudo dpkg --configure -a

sudo apt -y upgrade          #更新已安装的包

sudo apt -y dist-upgrade  #升级系统

以上安装过程中出现的安装选项,直接回车或者选择yes即可。

2.2.3 pip使用

下载安装:pip+install+库名

卸载:pip+uninstall+库名  (pip uninstall requests)

查看安装的库:pip list

pip下载的库是默认去下载安装的是国外的资源,所以比较慢,我们可以进行换源,更换为国内源(百度:pip 国内源

pip install +库名+ -i + https://...(网址

2.3.4 MobaXterm

远程连接工具,实际开发中多用远程连接工具。

作用:服务器与本机文件互传:使用MobaXterm,远程连接服务器(服务器需要购买,我们学习用的是虚拟的服务器,因此MobaXterm连接的是ubantu)。

步骤:点击session—SSH—输入服务器地址(127.0.0.1代表的本机ip),用户bd,端口1234—输入密码qwe123

文件互传:直接将文件拖入MobaXterm,保存的话,直接从MobaXterm拖到桌面。

2.2 用户与权限管理

每个人也有自己的家目录,自己的个人文件别人是不能修改的,如何进行控制呢?可以给每个人创建一个用户,各自的文件就在各自的用户家目录下。

在一个开发组当中,有文件是大家都可以更改的,怎样方便的管理这些权限呢?让同一个开发组的人在一个用户组,给这个组的人增加权限,就可以避免重复添加权限。

2.2.1 用户和用户组

(1)添加用户:useradd -m 用户名

-m:自动建立用户的登入目录

-u UID:指定 UID,这个 UID 必须是大于等于500,并没有其他用户占用的 UID

-g GID/GROUPNAME:指定默认组,可以是 GID 或者 GROUPNAME,同样也必须真实存在

-G GROUPS:指定额外组

-c COMMENT:指定用户的注释信息

-d PATH:指定用户的家目录

步骤:1.添加用户

su root—sudo passwd   #提权密码 (没有跟用户名,默认修改root)

su root:#切换用户—useradd -m lala  #添加用户

passwd lala     #设置密码,如果没有跟用户名,默认设置root  —直接从当前步骤使用

su lala         #出现乱码,因为配置信息没有修改

2.修改配置信息:su root

                    cd /   #回到根目录—cd etc—vim passwd

vim编辑器:按i编辑,修改用户的配置:把sh改为bash,按esc退出,再输入:wq—保存并退出,w是保存,q是退出。

删除用户:su root

          cd  home

          userdel -r lala   #加-r删除的彻底一些

(2)用户组

groups 查看当前登录用户的组内成员。

1.创建用户组:groupadd 组名

3.切换用户组:sudo newgrp 组名

例:su root—groupadd python        #把yige用户加到python组

—su yige—sodu newgrp python    #切换到python组

—groups                      #就能看到python组   

普通用户创建组,再把普通用户加到组里面才能看到新建的组。

每个用户都有属于自己的家目录,不能看到对方的目录。切换用户不会切换路径。

3.删除用户组:sudo groupdel python

                        sodu newgrp python  #查看组的时候就不存在了,需要重新创建

(3)修改用户组:usermod [options] username

修改时如果没有权限,导致终端出现黑屏的屏幕时,输入“:q”即可退出

-c <备注>:修改用户帐号的备注文字

-l  <帐号名称>:修改用户帐号名称

-d <登入目录>:修改用户登入时的目录

-L:锁定用户密码,使密码无效

-g <群组>:修改用户所属的群组

-s <shell>:修改用户登入后所使用的shell

-G <群组>;修改用户所属的附加群组

-u <uid>:修改用户ID

2.2.2 文件权限

查看用户:在home下看

                  cd home

                  ls -l

例:drwxr - xr - x  20  bd  bd  4096  11月13 22:29   bd

第1列:文件的权限

第2列:硬连接数,指包含文件夹在内的文件个数

第3列:文件所有者,指文件属于那个用户

第4列:文件所属的组

第5列:表示文件大小

第6列:表示文件的修改时间

第7列:表示文件名或目录名权限详解

-rwxr-xr-x  确定了文件类型和用户对文件的权限

权限详解:

第1个字符代表文件类型:-表示普通文件,d表示文件夹

rwx:读(r),写(w),执行(x)

第1组是u所有者的权限:rwx代表文件的所有者root用户有读、写和执行的权限;

第2组是g所属组的权限:r-x 代表与文件所有者在同一组的用户有读和执行的权限;

第3组是o其他人的权限:x 代表其他的用户只有执行的权限。

在Linux中,文件有3种属性:可读、可写和可执行。每个文件都有自己的属主,每个用户有自己的用户组,这样文件权限就有属主权限、同组用户权限和不同组用户权限。

Linux中通过符号表示权限之外,也可以通过数字来表示权限:

r—4, w—2,x—1 。那么rwx 就是数字7,0表示没有任何权限。

2.2.3 更改文件权限chmod

改变文件权限:先通过ls -l查看相关权限

sudo chmod u+x py.txt

对所有者用户增加执行权限

sudo chmod u-x py.txt

对所有者用户去除执行权限

chmod 640 py.txt

直接用数字来指定权限 -rw-r-

改变用户组:sudo chgrp +更换到目标用户组的组名+文件名

改变属主:sudo chown -r bd:bd test   # 将test文件夹更改成bd用户和bd组

2.3 文件编辑:Vim

vim是是一个编辑器,在安装ubantu时执行的bash configure.sh就是在搭建环境下载vim。

2.3.1 VIM的三种模式

(1)命令模式

使用VIM打开文件之后,就会进入命令模式;在其他模式下,按ESC回到命令模式。

基本命令:h j k l    左 下 上 右

                 gg   移动至行首

                 G       移动至行尾

(2)插入模式

进入插入模式后,类似于记事本一样可以直接编辑文本内容。

基本命令:i  当前插入                                      I  行首插入

                 a 后面插入                                      A 行尾插入

                 o 下行插入                                      O 上行插入

(3)末行模式

在命令模式下输入英文的冒号(:)就会进入末行模式。

基本命令:  :wq 保存退出   :q! 强制退出不保存   :q退出不保存

(4)步骤:vim+文件名——>命令模式——>输入i进入插入模式,开始编辑——>esc退出,进入末行模式——>:q

2.3.2 VIM的增删改查

(1)增:

yy

复制当前行

p

粘贴

nyy

复制n行  从光标的位置往下数n行

yw

复制一个单词

(2)删:

dd

删除当前行

dw

删除一个单词

ndd

删除n行

x

删除当前字符

u

撤销

ctrl+r

返回

2.3.3 寄存器

Vim有多个寄存器:这个寄存器就相当于多个粘贴板, Vim提供了a-z 26个命名寄存器, 0-9 10个数字寄存器,还有一些特殊寄存器。

:reg #查看寄存器内容

使用寄存器:

(1)复制:"+寄存器+yy

“{register}yy  #复制内容到寄存器{register}中

例: 3”ayy  #复制3行到寄存器 a 中

(2)粘贴:"+寄存器+p

“{register}p #粘贴寄存器{register}中的内容

例:”ap

特殊寄存器:

匿名寄存器:  ””  使用复制删除等命令时,都会放入匿名寄存器

编号寄存器: “0-”9 “0保存复制的字符串, “1-”9保存着删掉的内容

2.3.4 末行模式下的替换

Vim中提供了非常强大的替换功能:

语法规则: :[range]s/{pattern}/{string}/[flags]

range 表示范围 :

1 表示文件第一行

. 表示光标所在行

$ 表示文件最后一行

% 整个文件(:1,$ 的简写)

flags 标识:

g 表示全局范围

c 表示选择替换(y 替换、n 不替换、q 退出替换过程、l 替换此处后退出、a 替换此处和之后所有的地方)

n 不会替换,只返回替换的次数

例::%s/^/#/g     快速全文注释   所有的文件在开头的地方加上#,全局

:%s/$/;/g     每行末加上 ;

2.3.5 Vim设置

:set all

显示所有选项的值

:set nu

显示行号

:set option?

显示一个选项的值,例: :set fileencoding

:set ai

自动缩进

:set list

显示非打印字符,如tab、空格、行尾

 

 

2.4 命令查找

2.4.1 命令搜索

whereis    #搜索命令的位置和帮助文档的位置

which      #搜索位置和命令的别名

2.4.2 find命令(匹配文件)

命令格式:find [-path] -options

                  ——find+要查找的目录+模式(-name)+'正则'

path : 要查找的目录,默认是当前目录 ./

option:-name   按文件名的某种规则的查找

           -type   按文件类型查找  f 普通文件   l 符号连接   d 目录

           -size   按文件大小查找

           -exec<执行指令>:假设find指令的回传值为True,就执行该指令;

          -print   假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称前皆有“./”字符串

通配符:* 匹配任意内容

      ? 匹配任意一个字符

      [] 匹配任意一个中括号内的字符

例:find ./ -name '*.py'   # ./表示当前目录,名字模式,匹配任意内容,结尾为.py的文件

find ./ -size -6k       #查找文件大小为6k以下的文件  #+6k   表示6k以上

2.4.3 xargs 命令

find 命令可以把匹配到的文件传递给xargs命令执行

find ./ -type f -name ‘*.txt’ –print | xargs rm

例:find ./ -name '?.py' |xargs rm      #匹配到文件名为单个字符的文件,传递给xargs执行删除

2.4.4 grep命令(匹配文件内容)

命令格式:grep –options file

-c

计算符合范本样式的列数

-i

忽略字符大小写的差别

-w

只显示全字符合的列

-s

不显示错误信息

-o

只输出文件中匹配到的部分

-x

只显示全列符合的列

-n

在显示符合范本样式的那一列之前,标示出该列的编号

-v

反转查找

-E

将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式

例:grep -nw '1' test.py    #显示带1的列及该列的编号

 

附:

Vim使用——命令模式-扩展

命令模式下还有很多其他的命令简单了解下:

^                非空格行首                                                   0   $ 行首  行尾

w e b         下个单词词首           下个单词词尾               上个单词词首

(  ) 句子移动                                                                   M 屏幕中间

{  } 段落移动                                                                   L 屏幕底部

H 屏幕顶部                                                                    % 跳转到匹配的括号

^f  ^b          向下移动一屏  向上移动一屏  (^代表 ctrl 键)

^d  ^u         向下移动半屏  向上移动半屏

. 执行上一条命令

Vim使用——增删改查

:基本命令

yy 复制当前行                                                               y$ 复制当前到行尾

nyy 复制n行  从光标的位置往下数N行                         y0 复制当前到行首

p 粘贴                                                                           :x,ycoz

yw 复制一个单词                                                          :x,ymz

x,y,z都是行号。x到y被复制或移动,插入到z行的下面

:m删除源行                                                                  :co不删除原始行

基本命令:

dd 删除当前行                                                               X 删除前一个字符

ndd 删除n行                                                                  D 删除当前到行尾

dw 删除一个单词                                                          J 删除换行符

x 删除当前字符

基本命令:

r 替换一个字符                                                            C   替换当前行到末尾的所有字符

R 替换多个字符                                                           S 或 CC   以插入的方式替换当前行

s 替换当前字符,并进入插入模式

基本命令:

     向前搜索                                                              * 向下搜索光标所在字符串

? 向后搜索                                                              #   向上搜索光标所在字符串

n 重复/或?,方向相同                                              N   重复/或?,方向相反

% 搜索与当前花括号、圆括号、方括号成对的符号

Vim使用——Vim设置

:set all              显示所有选项的值

:set option?     显示一个选项的值,例:   :set  fileencoding

常见设置:

:set nu              显示行号

:set ai              自动缩进

:set list             显示非打印字符,如tab、空格、行尾

如果是永久的配置,可以在用户的家目录下修改  .vimrc

Vim打开文件:

vim –u NONE –N         出厂配置,其中 –u NONE 不加载vimrc,-N不进入兼容模式

vim +[num] file             打开文件,并将光标置于第n行首

vim + file                      打开文件,并将光标置于最后一行首

vim –R file                   只读模式打开文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值