27
2020
09

Linux学习笔记------第一部分(尚硅谷的教程)

需要知道的知识点

  1. Linux介绍:

    %SA)EB_OGM]GYK93_{Y}AW1.png

2.计算机是一门“做中学”的学科,不是会了再做,而是做了才会

3.Linux的分类

M$T)`~}KVRPW_BW%C)EYJ@M.png

4.虚拟机的网络配置分为三类:桥连接,NAT,主机模式

桥连接:Linux可以和其它的系统通信。但是可能造成ip冲突,因为在同一片网段里面只有0~255个ip编号可以使用

,实际上只有253个(除了1网关和255广播),所以如果使用人多的话,就会出现ip编号“供不应求”,出现冲突

NAT:网络地址转换方式:Linux可以访问外网,不会,造成ip冲突;其实就是主机还会生成个ip(虚拟机可以和这个ip通信),并且和主机的ip不在同一个网段,然后虚拟机上的ip的网段和主机生成的ip的网段一样,这样就不会出现桥连接的ip冲突问题,所以虚拟机一般都用NAT。如下图

主机模式:你的Linux是一个独立的主机,不能访问外网

H`TNYIA`T6BVPU9YMW$}Q4W.png

在NAT的模式下如果不能上网,请点击右上角的两个计算机图片,选择启用eth0,即可成功连接到网络,就可以上网

如下图

Z(0JV`M]W$[015QXW4B@IVW.png



5.安装vmtools可以实现两个功能

1可以直接粘贴命令在window和centos系统之间;如果你的vmtools是灰色的话可以参考这篇文章vmware Tools是灰色的,不能安装的解决办法,这个问题解决就可以实现复制粘贴功能了

2可以设置windows和centos的共享文件夹;设置共享文件这个可以看下面的具体步骤

`)AM3C4X@XCFQ72~C1}N4ZI.png

真正进入学习Linux的旅途

需要知道一点的是:学习Linux主要还是学习他的指令而不是图形界面

1.Linux目录结构介绍

  1. Linux只有一个根目录“/”,然后在此目录下再创建其他的目录;而不像windows那样有c,d,e盘

2./usr:这是一个非常重要的目录,目录的很多应用程序和文件都放在这个目录下,类似与window下的program files目录

3./boot: 存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件

4./dev:类似于windows的设备管理器,把所有的硬件用文件的形式存储

5./media:Linux系统会自动识别一些设备,例如u盘,光驱等等,当识别后,Linux会把识别的设备挂载到这个目录下

6./mnt:还记得前面说的共享文件吗?

7./var:这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件

8./usr/local:这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序

9./bin(/usr/bin,/usr/local/bin):这个目录存放着最经常使用的命令

10./home:存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账户命名的

11./root:该目录为系统管理员,也称作超级权限者的用户主目录

总结:1》Linux的目录中有且只有一个根目录

          2》Linux的各个目录存放的内容是规划好的,不要乱放文件

          3》Linux是以文件的形式管理我们的设备,因此Linux系统,一切皆为文件

2.远程登陆Linux

xshell5:远程登陆到Linux的软件

重点:如果希望安装好xshell5可以远程访问Linux系统的话,需要有一个前提,就是Linux启用了

SSHD服务,该服务会监听22号端口,(那咋么看虚拟机中的Linux的SSHD服务有没有开启呢?输入命令:setup,然后选择系统服务,点击进去找SSHD,如果标星号就说明开启了)

xshell6的安装包:xshell6百度网盘分享,xshell使用教程:https://blog.qiquanji.com/post/10448.html

xshell远程登陆到Linux后,就可以使用指令来操作Linux系统

xftp5:上传和下载文件软件

xftp的使用教程:xftp使用教程

3.vi和vim的使用

·vim和vi都是文本编辑器,vim具有程序编辑的能力,可以看作是vi的增强版本

·vi和vim我们经常使用到插入模式和编辑模式最多,所以掌握好这个就行:按下i,I,o,O,a,A,r,R等任何一个字母之后才会进入编辑模式,一般来说按i即可

.拷贝当前行按yy;拷贝当前行向下的5行按5yy,并粘贴按p。(都在正常模式下)

.删除当前行按dd,删除当前行向下的5行按5dd

.在文件中查找某个单词:输入“/关键字”,回车查找,输入n就是查找下一个

· 使用快捷键到底文档的最末行“按G”,最首行“按gg”

· 在一个文件中输入“xxxx”,然后想撤销就按u

·想把光标移动到某行就按:行数+shift+g、

·设置文件的行号,取消文件的行号::set nu和:set nonu

4.关机重启注销

命令

reboot:重启系统

shutdown -h now:表示立即关机

halt:就是直接使用,效果等价于关机

sync:把内存的数据同步到磁盘

注意:当我们关机或者重启时,都应该先执行以下sync指令,把内存的数据写入磁盘,防止数据丢失

logout:注销用户

注意:logout注销指令在图形运行级别无效,在远程登陆xshell下有效

su+用户名:可以切换用户

5.用户管理 创建用户指定密码

9JBIT7N[S%HB18SQR9N@8IE.png

1)Linux系统是一个多用户多任务的操作系统,

2)添加用户:useradd [选项] 用户名

比如添加xiaoxiao这个用户

指令:useradd xiaoxiao

(如果没有指明分配到哪个组,他会自己创建一个同名的组并且把xiaoxiao这个用户放到这个同名的组里面,并且会出现对应的家目录/home/xiaoxiao)

通过useradd -d 指定目录 xiaoxiao,给创建的用户指定家目录

image.png

3)给用户指定或者修改密码

passwd 用户名

例如:passwd xiaoxiao

4)删除用户以及用户主目录

删除用户,但是要保留家目录:userdel 用户名

eg:userdel xiaoxiao

删除用户xh以及用户主目录:userdel -r 用户名

eg:userdel -r xiaoxiao

5)查询用户命令

id 用户名

W8MXZ$88PIR1A0OOJMLTYN7.png

6)切换用户命令:su 用户名

%_KB@VCX`2E4%2S52XEB((E.png

6.用户管理 组的管理

1)增加组:groupadd 组名

2)删除组:gruopdel 组名

3)增加用户时直接加上组:useradd -g 用户组 用户名(前提那个用户组先创建了)

4]N4}G44BI{V03@QLPF%%2C.png

4)修改用户组:usermod -g 用户组 用户名

4]N4}G44BI{V03@QLPF%%2C.png

7.用户和组的配置文件

·/etc/passwd文件:用户的配置文件,记录用户的各种信息

./etc/shadow文件:口令的配置文件(这个不重要,主要掌握另外两个)

./etc/group文件:组的配置文件,记录Linux包含的组的信息

%{_HD[W%UK8YC08SN(83M%R.png

8)运行级别和找回root密码·运行级别:有7个,经常使用的时3和5,若要修改默认的运行级别,进入系统的运行级别配置··文件的id:5 initdefault这

一行中的数字就行,这里说明一下不同的Linux系统的运行级别配置文件的所在目录不一样,下面图中是centos 6的,我用

Ubuntu打开下面那个目录是空白的,所以自己针对自己的Linux系统百度一下运行级别配置文件的目录在哪里

%{_HD[W%UK8YC08SN(83M%R.png

·切换到指定运行级别的指令:init 数字,数字区间[0,7]

·如何找回root密码,如果我们不小心,忘记root密码,怎么找回:进入单用户模式,在这个模式下

root不需要密码就可以登陆

那么如何进入单用户模式,在不同Linux系统进入方式不一样(自己百度进入如何用passwd指令来修改root密码就行,Ubuntu是shift键,具体百度),下面是centos6的进入方式:

QQ截图20200827181534.png

9)帮助指令

man获得帮助信息:man+ 指令,如man ls;然后按j键和k键可以上下滑动,按q键则退出

help指令:获得shell内置命令的帮助信息,如 help cd

因为这些查出来的是英文,如果看不懂,直接百度更方便

10)pwd ls cd

pwd指令:显示当前工作目录的绝对路径

QQ截图20200827185354.png

ls指令:显示目录下的文件,权限等等

ls [选项] [目录或是文件]

常用选项

-a:显示当前目录所有的文件和目录,包括隐藏的

-l:以列表方式显示信息

QQ截图20200827191107.png

cd指令:

cd ~或者cd:回到自己的家目录

cd . . :回到当前目录的上一级

QQ截图20200827220118.png

11)mkdir  rmdir

mkdir指令:用于创建目录

常用选项: 

-p:创建多级目录

QQ截图20200827221622.png

(我用Ubuntu,mkdir指令直接也可以创建多级目录而不用用-p,不知道是不是系统更新了,用-p也能创建

 rmdir指令:删除空目录

QQ截图20200827223158.png

注意:rmdir删除的是空目录,如果目录下有内容时无法删除

如果需要删除非空目录,需要使用 rm -rf 要删除的目录

12)touch cp

touch命令:创建空文件(可以一次性的创建多个文件)

cp命令:拷贝文件到指定目录

cp [选项] source(文件) dest(指定目录)

QQ截图20200827224407.png

-r: 递归复制整个文件夹

QQ截图20200827224833.png

强制覆盖不提示的方法:\cp

QQ截图20200827225135.png

13)rm mv

rm指令:删除文件或目录

常用选项:

-rf:递归删除整个文件夹

-f:强制删除不提示

mv指令:移动文件与目录或重命名

mv oldNameFile newNameFile(功能描述:重命名)

mv /temp/movefile /targetFolder(功能描述:移动文件)

QQ截图20200827231450.png

14)cat more less

cat指令:查看文件内容,是以只读形式打开

-n:显示行号

QQ截图20200827232742.png

cat只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令 |more,按空格就能翻页

more指令也是查看文件

less指令也是查看文件:对于显示大型文件具有较高的效率

15)重定向和追加

QQ截图20200827234004.png

16)echo head tail

echo指令:输出内容到控制台,

一般用来输出环境变量,输出当前的环境路径

QQ截图20200919213345.png

head指令:用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容

head 文件

head -n 5 文件:查看文件头5行的内容

tail指令:用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容

用法和head差不多,

多了一个tail -f 文件:实时追踪该文档的所有更新,意思就是说,当这个文档更新的时候可以实时的看到

QQ截图20200919214803.png

17)ln history

ln指令:软链接也叫符号链接,类似windows里的快捷方式,主要存放了链接其他文件的路径

意思就是像桌面的软件图标,虽然软件图标在桌面,但是真正的存放软件的路径并不是在桌面

基本语法

ln -s 源文件或目录 软链接名(功能描述:给源文件创建一个软链接)

QQ截图20200921214400.png

注意:当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录

history指令:查看已经执行过历史命令,也可以执行历史指令

18)date cal

date指令:

设置时间这个是比较重要的

cal指令:

QQ截图20200921222229.png

find指令:

find指令将从指定目录向下递归遍历其各个子目录,将满足条件的文件或者目录显示在终端

root@Master:/home/xiao# find / -size +20M  //按照文件的大小寻找+(大于) -(小于) =(等于) K M

/boot/initrd.img-5.3.0-53-generic
/boot/initrd.img-5.3.0-59-generic
/media/xiao/Ubuntu 18.04.2 LTS amd64/casper/filesystem.squashfs

root@Master:/home/xiao# find /home/xiao -name xiao.txt  //找某个目录下某个名字的文件
/home/xiao/xiao.txt

ls -lh 文件路径 //可以找某个文件的大小

locate指令:

可以快速定位文件路径

由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库

root@Master:/home/xiao# updatedb   //这个就是创建locate数据库
root@Master:/home/xiao# locate xiao.txt  //快速查找
/home/xiaoxiao.txt
/home/xiao/xiao.txt

grep指令:

过滤查找,管道符“|”表示将前一个命令的处理结果输出传递给后面的命令处理

看例子就明白了

root@Master:/home/xiao# cat hello.txt
xiao
la
la
xioa
xiao
meizi
hanzi
gouzi
xiao
root@Master:/home/xiao# cat hello.txt | grep xiao
xiao
xiao
xiao
root@Master:/home/xiao# cat hello.txt | grep -n xiao //显示行号
1:xiao
5:xiao
9:xiao

root@Master:/home/xiao# cat hello.txt  //增加了个大写的Xiao
xiao
la
la
xioa
xiao
meizi
hanzi
gouzi
xiao
Xiao

root@Master:/home/xiao# cat hello.txt | grep -n xiao  //区分大小写
1:xiao
5:xiao
9:xiao
root@Master:/home/xiao# cat hello.txt | grep -ni xiao   //不区分大小写
1:xiao
5:xiao
9:xiao
10:Xiao
root@Master:/home/xiao#

gzip指令和gunzip指令:

root@Master:/home/xiao# gzip hello.txt  //压缩
root@Master:/home/xiao# ls
Desktop    Downloads         gradle-5.4.1-all.zip  Music     Public     Videos    xiao.txt
Documents  examples.desktop  hello.txt.gz          Pictures  Templates  wget-log
root@Master:/home/xiao# gunzip hello.txt  //解压缩
root@Master:/home/xiao# ls
Desktop    Downloads         gradle-5.4.1-all.zip  Music     Public     Videos    xiao.txt
Documents  examples.desktop  hello.txt             Pictures  Templates  wget-log

当我们使用gzip对文件进行压缩后,不会保留原来的文件
zip指令和unzip指令:

-r:递归压缩,即压缩目录

-d:指定解压后文件的存放目录

zip -r xiao.zip /home/
unzip -d /xiao/tem/ xiao.zip

tar指令:

最后打包后的文件是.tar.gz的文件

-c:产生.tar打包文件

-v:显示详细信息

-f:指定压缩后的文件名

-z:打包同时压缩

-x:解包.tar文件

root@Master:/home/xiao# tar -zcvf xiaoxiao.tar.gz xxx.txt x.txt  //压缩
xxx.txt
x.txt
root@Master:/home/xiao# 
root@Master:/home/xiao# tar -zxvf xiaoxiao.tar.gz   //解压缩
xxx.txt
x.txt
root@Master:/home/xiao# tar -zxvf xiaoxiao.tar.gz /opt   //解压缩到某个目录下面

组管理

1)查看文件的所有者

指令:ls -ahl

就是查看某个文件应该属于哪个用户的

2)修改文件所有者

指令:chown 用户名 文件名

eg:使用root创建一个文件apple.txt,然后将其所有者修改成tom

chown tom apple.txt

2)2)一次性改多个文件所有者的时候

屏幕截图 2020-09-29 101337.png

3)修改文件所在的组

指令:chgrp 组名 文件名

eg:使用root用户创建文件orange.txt,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到police组

chgrp police orange.txt

3)3)一次性改多个文件所在组

屏幕截图 2020-09-29 102030.png

4)改变用户所在组

usermod -g 组名 用户名

eg:创建一个bandit组将tom这个用户从原来所在的police组,修改到bandit组

usermod -g bandit tom

权限介绍

QQ截图20200928211542.png

屏幕截图 2020-09-28 212040.png

屏幕截图 2020-09-28 212338.png

可用数字表示为:r=4,w=2,x=1 因此rwx=4+2+1=7

通过chmod指令,可以修改文件或者目录的权限

第一种办法:

u:所有者 g:所有组 o:其他人 a:所有人(u,g,o的总和)

屏幕截图 2020-09-28 215437.png

第二种办法:

屏幕截图 2020-09-28 215651.png

屏幕截图 2020-09-28 220147.png

笔记太长了另开一篇

续☞第二部分请看第二部分的笔记


微信扫码关注

更新实时通知

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。