我最近在阿里云那里领取了一个免费试用的 ECS 服务器,之前知道一些基本的 Linux 命令,但就很基础 创建文件之类的 ,感觉要在那上面玩的话不是很够,所以就想着来学习一下 Linux 的知识,选择这个这个课程(课程链接见网页最下方的参考资料处)我也是纠结了很久的时间,在 b 站上面查了一下 Linux 的课程,有长有短,有 Ubantu 的,有 Centos 的,真的很纠结,现在,在经历一个下午的纠结之后,我决定了,先找个简单一点的课程入门先,这个课程的时间很短,只有七个多小时 老师讲课的声音很好听 ,我粗略的看了一下目录,和那些几十个小时的 Linux 课程在内容上好像没差多少 指基本操作方面 ,所以用它来作为一个基本的入门教学视频的话,应该是够的,而且,我目前想快速学好一点操作,快点去玩内个免费的服务器(只有一个月的使用时间),所以,不说了,开学!!! ^_^
前面几节课老师讲解了一下关于 Linux 系统、操作系统等的基础知识,算是了解性的一些知识,像是 Linux 系统主要用在 服务器端 ,Linux 系统较为 安全 等,这些在我下午纠结学习那个课程百度的时候就已经了解过了,也有一些知识是平时了解的,嗯~,就感觉这几节课程有点像是每本书前面的前言一样,了解一下就可以了,没什么好记录的。
在这期间,老师反复强调,要活用浏览器,因为指令是在是太多了,不可能全部都记住的,忘记了查一下就是了 O(∩_∩)O哈哈~
第六集,终于要开始安装 Linux 操作系统啦,老师这里使用的是虚拟机的方案 就是在电脑上安装一个虚拟机软件,然后虚拟机软件里面虚拟出一台计算机,我们在这台计算机里面安装一个 Linux 操作系统来供我们学习使用
安装
下载和安装 VMware 和 Linux
这个部分的话,我觉得可以在这里忽略一下先,这个文章还是以记录 Linux 系统的学习使用为主,至于其他的内容的话,百度或许会给出更好的答案(我是在网上找到一个安装 Linux 系统的东西,直接包含虚拟机,按着里面的教程来的话就能完成这一部分的内容了)
下面我这边在操作过程中使用的 VMware 版本是 15.5 ,Linux 版本是 ubuntu-18.04.1-desktop-amd64
关于为了调整窗口大小我要安装 VM Tools 这件事
安装完成之后刚想跟着老师的操作调整一下窗口的大小,可是发现无论怎么调整,都只能按照拉伸窗口,而无法像老师那样对自适应大小

上网查了一下,发现可能是没设置屏幕分辨率的原因,跟着教程走一遍,设置了分辨率,发现还是一个样子,没什么改变,然后,我在下面找到了另一篇文章,说可能是我没安装一个东西:VM Tools,所以现在尝试一下安装这个插件,看能不能解决问题(这篇文章在下方的参考资料中有,是第二个链接,他内个文章里面使用的 Linux 是英文版本的,而且版本和我这个不太一样,有一些按钮之类的东西都有了一点变动, 然后,我在内个教程的指导下,结合一些自己的想法,摸索出了一套自己的操作,所以我觉得还是记录一下比较好)
在打开虚拟机,运行 Linux 系统的情况下(重点 因为你可以试一下看不运行 Linux 执行下面的操作会有什么效果 ^_^)
在上方的菜单栏中选中 虚拟机 选项,在展开的菜单中选择 安装 VMware Tools(T)… 选项,

在弹出来的窗口中点击 是 确定选择

进行完上面的操作之后,在 Ubantu 系统的桌面上会出现一个 VMware Tools 的东西,双击它

进入这个文件的管理界面后,找到内个图标和别人不一样的文件(后缀为 .tar.gz 的),然后对它右键选择复制(或者直接 Ctrl + C 也可以,看个人喜好了)

然后找一个文件夹,将他复制过去,这里我选在在 文档 下创建一个 temp 临时文件,

创建完成之后双击进入文件夹,右键选择 粘贴 选项(或者直接 Ctrl + V ),将文件复制到当前目录下

再在当前文件夹的空白处右键选择 在终端打开

接下来的这一顿操作就是我现在不太能解释太多的了(因为涉及到一些命令了)
在出现的终端中输入以下的内容:tar zxf VMwareTools-10.3.10-13959562.tar.gz ,回车(这里注意一下 ,在 tar zxf 之后跟着的那个英文是你 刚刚复制的内个文件的名字 ,嗯,这里的话建议在刚才的终端中输入 ls 命令,查看内个文件的名字,然后将内个文件的名字选中,右键选择 复制 ,再在下面输入 tar zxf ,然后在后面粘贴文件的名字 ~~为什么要弄这么麻烦呀,嗯, 因为我写这个命令的时候名字写错了 (⊙o⊙)…~~)
上面那条命令的作用是将刚才的文件进行解压,等待解压完成之后输入 ls 命令,查看当前文件夹中的内容时可以看到,当前的文件夹中多出来了一个文件夹

接着,我们在命令行中输入以下的内容:sudo ./vmware-tools-distrib/vmware-install.pl 进行安装 如果我没猜错的话,这个命令的意思应该是以管理员身份运行刚刚的内个文件夹中的一个安装程序
然后,这里中文写得很清楚,输入用户的 密码 ,好吧,其实我这里遇到了一点小问题,输密码的时候没有反应,就是你在键盘上这么敲都好,屏幕就好像卡住了一样,但当你的鼠标移动到别的地方点击的时候,它又很正常,这个时候我直接将终端干掉重来,然后,在干掉两次之后,我在內篇博客里面看到 直接输入用户密码,输入过程中不会显示 ,(⊙o⊙)…

接下来的安装流程就比较简单了,我看了一下,基本都是在问你要把什么东西安装在内个文件夹中,以及一些基本的设置,这里我总结出了一个操作的方式
如果在要你输入的地方那里后面的 中括号内包含的是 yes 或者 no 这两个单词的 ,在后面输入 yes 然后回车
如果在 中括号内,包含着的是一个路径的,就是有一个 / ,但是没有 yes 或者 no 这两个单词的 ,直接回车,这个直接回车的意思应该是按照默认的来进行配置,反正我这里看的也不是很懂,而且我目前对个人定制也没什么要求,就直接一路默认下来了,虚拟机嘛,能用就行 ,大不了坏了就直接干掉,从头来过再搞一个

好了,按照上面的操作来的话应该是能看到下面这个样子的,这样就表示安装成功了

接下来,在终端中输入 sudo reboot ,这里依旧很明显的中文,要求你 输入用户密码 (记得,它还是不会显示出来的,直接输入之后回车就好了),然后它会自动重启操作系统(指虚拟机里面的 Ubantu 操作系统)
重启之后,在你原来的电脑上创建一个文件夹用来跟虚拟机进行文件共享,像我的话是直接在 D 盘目录下创建了一个 share 文件夹,路径是 D:\shar ,大家可以根据自己的爱好进行设置,之后,我们回到虚拟机,在虚拟机上方的菜单栏中找到 虚拟机 选项,在下拉菜单中选择 设置

在出现的界面中依次按顺序点击: 选项 –> 共享文件夹 –> 总是启用 –> 添加

出现了一个向导界面,点击 下一步

在下一个界面中,点击 浏览(R)… ,选择你刚才创建的文件夹,再点击 下一步

点击 启用此共享 (我这边是默认选中的),下面的内个 只读 选项不要选中,然后点击 完成 ,over

在虚拟机中访问共享文件的方法,在 桌面中右键 –> 打开终端(E) ,在终端中输入:cd /mnt/ ,然后按两次 Tab 键,回车,就进去了
然后,现在来到了最激动人心的时候了,我终于可以让这个小窗口变大一点了 O(≧▽≦)O
调整窗口的大小
在虚拟机的左上角,找到 查看 菜单,点击,在下拉菜单中选择 立即适应客户机

然后 bomm ~ ,这个窗口就变得舒服多了 o(* ̄︶ ̄*)o

嗯,因为我是有一个副屏的,所以,我发现当我把虚拟机在另外一个屏幕上全屏之后,更爽了,这不就相当于两台电脑了吗 (⊙o⊙)…
如何连上网络
好吧,又有问题了,和老师安装的东西不一样,就会有很多的差别,我这个上不了网,Firefox 浏览器中输入网站连接后显示找不到网站,所以,现在,开动吧,搜索引擎
(⊙o⊙)…
网上搜索了一下,然后看见一个文章,开头就说了,无法解决主机的网络是 WIFI 连接的情况 ,然后,我这个就刚好是这种情况,于是,我打算胡乱尝试,在之前的文章中有看到 NAT 这个词,然后我好像在之前安装 Ubantu 的过程中有看到相关的选项,所以我打算看一下,然后没想到的是,我选择了一个 NAT 选项之后,网络连接就连接上了 (⊙o⊙)…
在虚拟机的上方菜单栏中点击 虚拟机 –> 可移动设备 –> 网络适配器 –> 设置

在弹出窗口的右边中,将 NAT 模式(N):用于共享主机的 IP 地址 选项给点选上,然后点击下方的 确定 就可以了(我之前在没更改时候点选的选项是 仅主机模式(H):与主机共享的专用网络 )

文件管理系统
Linux 中没有盘符的概念,只有一个根目录,在根目录下有 bin、etc、home、lib、usr 等目录,这些目录在存放数据的时候最好分门别类来存放,比较有规则,在查找的时候比较好查找,具体的存放东西类型我现在还不打算去了解得很清楚,等先把下面的内容学习了之后,有需要用到了,再去了解清楚
Linux 在往电脑中加额外的硬盘的时候,是通过 挂载 的方式加入到电脑系统中的,也就是在上面讲到的目录中创建一个文件夹,内个文件夹就对应着这一块新加入的硬盘
在关闭虚拟机的时候选择 挂起 的话,虚拟机会保存当前系统的运行状态,在下次重新启动虚拟机的时候,会恢复当前的状态
根目录下各文件夹存文件的规则
| 目录 | 存放的文件 |
|---|---|
| /home | 存放用户相关的文件,一般各个用户在这个文件夹下都有一个对应他的文件夹存放他的资料,如下载的东西等 |
| /usr | 用户 安装的应用程序(命令) |
| /bin | 二进制文件,普通命令 |
| /etc | 放置配置文件 |
在打开终端的时候,一般会检测是哪一个用户登录的,然后打开的终端默认是在该用户的文件夹下操作的
Linux 基础命令
| 命令 | 作用 |
|---|---|
| pwd | 查询当前目录的绝对路径 |
| ls | 列出当前目录下的所有文件 |
| cd | 进入文件夹,后面要跟进入的 文件夹名称 ,或者 相对路径 ,如果没有跟其他的内容的话,回车会直接回到 home 目录 |
| cd .. | 返回上一级的路径 |
| cd ~ | 直接回到 home 目录 |
| cd - | 在近期操作过的目录之间切换 |
| clear | 清屏 |
| touch | 创建文件,后面跟上文件的名字和文件的后缀(也可以没有后缀,那样创建的文件就是没有后缀的文档) |
| mkdir | 创建文件夹,后面跟文件夹的名字 |
| rm | 移除文件(如果要使用过这个指令移除文件夹的话,要在它的后面加上一个参数 -d 或者 -r ) |
| rmdir | 移除文件夹 |
| rm -rf | 删库跑路 |
| mv | 移动文件,后面可以跟两个参数,第一个是要移动的文件或者文件夹,第二个是要移动到的地方的路径,在这个路径后面可以跟上这个文件的名字,相当于给这个文件改名 |
| cp | 拷贝文件,参数和 mv 一样,唯一的区别是,在拷贝文件夹的时候,要指定参数 -r |
| which | 查看每个命令所对应的程序的存储位置 |
| find | 查找专用命令 |
| locate | 查找命令,比较快 |
| cat | 查看文档的内容,后面跟上文件名 |
| more | 查看文档的内容,后面跟上文件名,文档内容分页显示 |
| grep | 从文档中搜索某个内容 |
| echo | 回显,后面跟着的内容会原封不动的输出,默认输出到控制台上 |
| | | 管道,将管道符号前命令的输出作为管道符号后面内容的输入 |
| ln | 创建软链接或者硬链接 |
基础命令的具体用法和一些基础内容的解释
在用 ls 显示文件名的时候,字体的颜色会有不用,表示不同的文件类型, 文件夹是蓝色的,文件的话是白色的 ,同时,在显示文件名的时候还有一种可能是该文件含有一个 单引号 ,这个是因为该文件的文件名中含有空格,用单引号括起来表示他们是同一个文件的名字,而不是两个文件
ls 指令后面可以跟上参数: -l 表示以 列表 的形式显示文件,使用方式为:
ls -l # 或者使用简化的方式 ll-a 表示连 隐藏的文件 都显示出来,使用方式为:
ls -a隐藏文件的文件名都是以 . 开头的,所以如果我们想在 Linux 系统里面创建一个隐藏文件的话只需要在文件名字的前面加上一个 . 就可以了
这两个命令可以一起用的,使用方式为:
ls -l -a使用这两条命令的时候,在显示的文件上面会有一个 total 参数,后面跟着它的值,表示全部文件一共占用几KB的空间
-h 参数要搭配 -l 来使用,表示将文件的大小表示为几KB,而不是和之前一样默认单位为字节,使用方式为:
ls -l -h # 或者 ls -lh注意 ,这些参数可以写在一起,也可以分开来写,就像上面的 -l 参数和 -h 参数一样,而且,顺序是没有要求的,也就是说 l 和 h 谁写在前面都没有关系
在显示文件相关信息的时候显示它的 id,使用选项 -i,id 的每个文件的唯一标识,一个文件对应一个 id
ls -ils 指令可以搭配 通配符 一起使用
ls 后面跟上路径的话表示显示该路径下的文件
find 后面可以跟两个参数,第一个是查找的范围(路径),第二个是查找的条件(文件名,通配符和字符的组合等等)
- 在查找条件的前面加上一个选项 -name ,后面跟上文件名,或者通配符表达式(要单引号括起来)
find /home -name 文件名 # 精确搜索 # 或者 find /home -name '通配符表达式' # 模糊搜索- 选项 -i 表示忽略大小写
find /home -iname abc -iname 在这里是一个完整的选项,不能拆开使用- 选项 -size 可以按文件大小进行搜索,size 后面跟条件中的 + 号表示 大于 , - 表示 小于 , = 表示 等于 ,等于的情况之下,**=** 可以省略,数字的单位是 数据块 ,数据块的大小是 512 Byte
find /home -size +1 # 表示搜索文件大小大于一个数据块的文件 find /home -size -1 # 表示搜索文件大小小于一个数据块的文件 find /home -size =1 # 搜索文件大小等于一个数据块的文件注意 :数据块的大小是不能以小数表示的,而且在用 等于 匹配的情况之下,文件的大小是 向上取整 的,也就是说如果有小数的话,直接进一位数凑整
- 选项 -user 表示按文件 所属人 进行查找
find /home -user 所属人的名字 # 表示查找所有文件所属人为指定名字的文件对于文件的 时间 ,有三个: 上一次属性被修改的时间、上一次被访问的时间、上一次内容被修改的时间
可以根据这三个时间点对文件进行查找
根据 上一次内容修改时间 进行查找,用选项 -mmin
find /home -nmin -5 # 表示查找在 5 分钟内被修改的文件 find /home -mmin +5 # +5 表示修改时间大于 5 分钟的 根据 上一次被访问的时间 进行查找,用选项 -amin
根据 上一次属性被修改时间 进行查找,用选项 -cmin
- 选项 -type 表示按照文件类型来搜索
find /home -type f # 后面的 f 表示搜索文件(即 file) find /home -type d # 后面的 d 表示搜索文件夹(即 directory) find /home -type l # 后面的 l 表示搜索软连接(即 link)- 选项 -inum 表示通过 id 来搜索文件
find /home -inum 这里写上文件的 id- find 的返回值是文件的绝对路径
注意:上面所说的选项都是可以组合使用的,中间加上连接符号 -a ( and )或者 -o (or)即可,如果没有加条件连接符的话,会默认加上 -a
find /home -name 'a*' -a type f # 表示搜索以 a 开头的文件夹 # 或者 find /home -name 'a*' -o type f #表示搜索以 a 开头的文件或者所有的文件夹(满足一个条件即可)locate 后面可以跟上文件的名字,所有包含这个文件名字的文件都会被搜索出来
其实我觉得这后面跟着的是一个字符串,只要路径名字中包含这个字符串的都会被搜索出来
注意:这个命令是全局搜索的, 优点 是从索引库里面找文件,速度较快, 缺点 是索引库没办法及时更新,有一定的更新间隔时间,新创建的文件可能没办法通过这种方式查找出来,当然,可以强制更新数据库,命令如下
duso updatedb # 前面的 sudo 表示以超管身份执行,因为这个指令需要超管的权限cat 指令的选项
- -b 在显示文档内容的时候,同时在内容的前面显示 行号 ,同时去除空行
cat -b 文件名- -n 和上面的 -b 差不多,都是显示行号,唯一的区别是,没有去除空行
cat -n 文件名more 在查看的时候有两个快捷键: 空格 下一页 B 上一页
grep 在它的后面跟上要搜索的内容,和搜索的文档,就会显示拥有搜索内容的那一行的内容
grep 要查找的内容 要查找的文件在显示的搜索内容前面显示 行号
grep -n 要查找的内容 要查找的文件反向搜索的话要加入选项 -v
grep -v 要查找的内容 要查找的文件搜索以某个特定的字符开头的文档内容,在特定的字符前面加上 ^ ,例如
grep ^要搜索的字段 要搜索的文件夹搜索以特定的字符结尾的文档内容
grep 结尾的字符内容$ 要搜索的文档忽略大小写用选项 -i ,
echo 命令默认是输出到控制台上的,要改变输出的位置的话,可以使用尖括号 > ,后面跟上要输出的文件
echo 要输出的文本内容 > 要输出的文件名注意:这个输出方式会将文件中原有的内容覆盖掉
如果要追加的话,要使用 >>
echo 要追加的文本内容 > 要输出的文件名注意: > 和 >> 能输出的内容很多,不止是 echo 指令中的内容,凡是我们使用指令之后会在终端中显示的内容,都可以使用这两个符号将显示在控制台中的内容保存的文件中,而不在终端中显示,在这两个符号后面跟着的文件可以是存在的文件,也可以是不存在的文件,如果是不存在的文件,会自动创建该文件
管道 的作用很大,利用它能使我们的一些操作更舒服
比如可以将我们用 grep 查询到的内容用管道和 more 命令结合起来,实现分页输出,这样,在内容很多的时候查看会方便一些grep 参数 | more # 这样能实现分页输出的效果了简单点来说,就和很多语言一样,可以套娃了链接 就和 Windows 中的快捷方式一样,利用它可以快速打开某个文件,或者文件夹,连接分为两种,软链接和硬链接,硬链接对应的是文件的 id ,也就是它在内存上的物理块位置(相当于 C 语言中的指针),而软连接则更像是 C 语言中的普通变量,它对应的是文件的绝对位置,一旦文件删除之类的,它的绝对位置在系统中的记录就会被删除,而软链接在这个时候也就实现了,硬链接则在这个时候还能继续使用,链接的创建命令为
ln 路径 硬链接的别名 # 硬链接,硬链接无法指向文件夹 ln -s 路径 软链接的别名 # 软链接相对路径 的斜杠要用 /
按 Tab 键能自动补全文件名,如果你已经输入的文件名字前缀能匹配到多个文件,那么,不会自动补全,但是,如果按 两次 Tab 键 会自动显示出所有与该前缀匹配的文件名字
方向键的 上 能返回到历史使用过的命令
Ctrl + C 能提前终止终端中正在运行的程序
搜索分为两种,精确搜索 和 模糊搜索
文件的 所属人 ,一般这个文件是谁创建的,这个文件的所属人就是谁(可以修改,这个是默认的情况之下的)
Linux 中的文件很多都是没有后缀的,默认是用记事本打开
命令的输出 :指执行一个命令之后在终端中显示的内容
命令的输入 :执行一个命令时给它的参数
管道 :通过管道,可以把一个命令的输出作为另一个命令的输入
通配符
通配符搭配上字符和符号表示一种规则,符合这种规则的文件,或者其他的东西就能被这个通配符匹配到,在使用通配符的时候不能单纯只用通配符,这样识别不到的,必须结合其他字符一起使用
| 符号 | 代表的含义 |
|---|---|
| * | 任意多个字符 |
| ? | 代表一个任意字符 |
| [] | 在中括号里面可以写上一些字符,表示这些字符中的任意一个,它只表示一个字符,如果在中扩号里面写上的都是数字的话还可以写成:[1-6] 的样式,表示从 1 到 6 这六个数字 |
例子:
- *.txt 表示任意的以 .txt 结尾的文件
查看帮助文档
命令 --help
或者
man 命令
用户管理相关命令
使用 id 指令可以查看用户的信息
id 用户名 # 如果没有跟用户名的话,查看的是当前用户的信息
普通用户下的操作,首先是 添加用户 ,使用命令
sudo useradd 用户名 # sudo 表示以管理员身份运行
注意:上面这种添加方式是不会常见用户的”家目录”的,如果要添加“家目录”的话,要在这条命令中加上 -m 选项(“家目录”的意思就是在 home 文件夹中的和用户名一模一样的文件夹)
sudo useradd -m 用户名
如果要将用户添加到指定的 组 中(该组必须存在),可以使用 -g 选项
sudo useradd -g 组名 用户名 # 如果在创建用户的时候没有指定分组的话,默认是分到一个和用户名一模一样的组中去的
查看添加用户是否成功,输入下面的命令,在显示的文本中最后一行的开头查看有没有显示你刚刚添加的用户名,有的话就表示添加成功了
cat /etc/passwd # 查看所用的用户
设置用户的密码
sudo passwd 用户名 # passwd 指令如果没有指定用户名的话,默认是修改当前用户的密码
然后应该会弹出来一行字,让你输入密码,输入密码回车,接着重新再输入一遍密码验证一下,就行了(注意这里的这条指令有可能不是先让你输入要设置的密码,而是验证你用户的密码,然后在执行这里所说的设置密码的操作,之所以这里没有让我验证密码是因为,我刚刚验证密码不久)
启用 root 用户 ,现在的系统默认情况下是启用普通用户的,必须通过普通用户给超级管理员用户设置密码才能使用(超级管理员的用户名就是 root )
sudo passwd root
然后按照提示操作,就可以了
切换用户 用 su 指令
su root # 这个命令是切换到超级管理员用户,把 root 改成其他用户名可以切换其他用户
如果切换成功的话,可以发现我们输入命令的地方,前面显示的东西,在 @ 符号的前面,由原来的用户名,变成了我们切换的用户的用户名了 ,而且,此时,在我们输入命令的地方,前面的 $ 也会变成 #
如果要退出切换的用户,使用快捷键 Ctrl + D 或者输入命令
exit
如果用户有“家目录”的话,可以在切换用户的命令中间,加上 - 直接切换到用户的“家目录”
注意 :在当前用户(操作系统在创建的时候创建的那一个用户)和 root 用户的提示符前面是有一些用户、系统和当前目录的消息,而普通用户是没有的
用户的删除 使用 userdel 指令
userdel 用户名 # 这个是不会删除用户的“家目录”的
如果想要在删除用户的时候顺便将用户的“家目录”给删除掉的话,要使用下面的命令
userdel -r 用户名
强制删除的命令如下(强制删除的意思是即使用户当前是登录状态,也会被删除)
userdel -f 用户名
影子文件 :/etc/shadow
查看当前用户
whoami
查看当前登录计算机的用户
who
修改用户的初始组
usermod -g 要修改成的用户组 要修改用户组的用户名
修改用户的附加组
usermod -G 要添加的用户组 用户的名字
这个可以一次性给一个用户添加多个分组,中间通过逗号隔开,而且每一次修改都会覆盖掉之前的修改,之前添加的组如果这次没有添加的话,会被覆盖掉,没有了
用户组管理
用户组的添加 ,使用 groupadd 命令
groupadd 组名
查看添加是否成功,使用下面的命令,具体的查看方式,和查看用户的方式一样
cat /etc/group
用户组的改名
groupmod -n 新名字 要改名字的组
影子文件 :/etc/shadow
Shell
作用是将我们的命令转化成机器语言
有三种: /bin/bash、/usr/sbin/nologin、/bin/sh
bach 的命令提示符是:用户名@系统:当前路径$
sh 的命令提示符是:$
查看所有的 Shell
cat /etc/shells
修改 Shell
chsh # 输入这个命令,验证密码之后输入要修改的 Shell 就可以了
# 或者使用下面的这个命令
usermod -s 要修改成的shell 要修改shell的用户
命令分类
命令 分为内置命令和外置命令,内置命令比较常用,一般直接在系统启动的时候就加载在内存中了,要使用它的时候就直接使用就行了,外置命令在系统开始启动的时候没有加载到内存中,得等到使用它的时候再加载到内存中使用
使用 which 查找命令的位置之后没有显示的就说明该命令是内置的命令,反之,有显示的就是外置的命令
权限管理
在使用 ll 命令查看文件的时候,在文件的前面可以看到一串字符 ,内一串字符就便是操作权限
第一个字符如果是 d 的话,就表示这个是一个文件夹,如果是一个 - 的话,就表示这是一个二进制文件
后面的字符就是三个一组的组合了,字符分别可以出现 r 、w 、x ,代表了三种不同的权限
对于 文件 而言:r 是读(查看文件内容)的权限,w 是写(修改文件内容)的权限,x 是执行(如果文件可以执行的话)的权限
对于 文件夹 而言:r 是读(读取文件夹目录中的内容)的权限,w 是写(创建,删除文件及修改文件名字)的权限,x 是可以进入目录(但不能查看文件目录)的权限
第一组代表了文件的所有者对它的操作权限
第二组代表了文件的所属组对它的操作权限
第三组代表了其他用户对它的操作权限
权限修改
只要超管和文件所有者可以对文件权限进行修改
格式 1 :
chmod [ugoa][+-=][rwx] 这里填上要修改权限的文件名
对上面这个命令的解释:这上面的 [] 是通配符来的,u 表示所有人,g 表示组, o 表示对其他用户,a 表示对以上三种情况应用同一种修改
+ 表示添加权限, - 表示减少权限, = 表示权限等于后面的值所对应的权限
多个权限(比如用户的权限和组的权限)一起修改的时候可以通过逗号的方式连接
chmod u-rw,g-r 文件名
格式 2 :
使用数字表示权限,r = 4, w = 2, x = 1,如果要多个权限,就将对应权限的值加起来,即 rw = 6,rwx = 7,wx = 3
chmod 444 文件名 # 这个表示文件所有人,组用户,其他人都给了 r 的权限
# 等价于
chmod u=r,g=r,o=r 文件名
修改所有文件包括所有文件夹里的子文件夹的权限
chmod -R 对应权限的数字 指定的文件
另外两个命令 chown 和 chgrp 分别是用来修改文件所属者和文件所属组的权限
chown 要修改成的所属者 文件名
chgrp 要修改成的所属组 文件名
如果修改失败的话就是权限不够,在命令前面加上 sudo 就可以了
这两个文件也是可以加上 -R 选项的
防火墙设置
- 查看防火墙状态(systemctl status firewalld、firewall-cmd –state)
- 暂时关闭防火墙(systemctl stop firewalld)
- 永久关闭防火墙(systemctl disable firewalld)
- 开启防火墙(systemctl start firewalld)
- 开放指定端口(firewall-cmd –zone=public –add-port=8080/tcp –permanent)
- 关闭指定端口(firewall-cmd –zone=public –remove-port=8080/tcp –permanent)
- 立即生效(firewall-cmd –reload)
- 查看开放的端口(firewall-cmd –zone=public –list-ports)
参考资料: