连接Linux系统:
我们首先要查询到Linux系统的IP地址:
进入VMware界面中右键点击open terminal进入命令行界面模式,但是在虚拟机软件中直接使用会不方便,因此我们要使用final shell 去远程连接到Linux系统上,通过命令行的形式来操作它。
FinalShell连接linux:
快照(存档):
虚拟机的快照功能相当于存档,快照制作需要虚拟机关机状态下(不关机也可以,但是比较慢,建议关机)。一旦自己将Linux系统弄出了问题,我们就可以关机后,通过快照进入原来的操作系统。因此后期学习中要不定期的对虚拟机打上快照,以免不必要的麻烦。
Linux的目录结构:
Linux没有盘符这个概念,只有一个根目录/,所有文件都在下面。
在Linux系统中,路劲之间的层级关系,使用:/来表示。
Linux的命令:
命令:即Linux操作系统指令,是系统内置的程序,可以以字符化的形式去使用。
命令行:即Linux终端,可以提供字符化的操作页面供命令行执行。
Linux的命令基础格式:
command [-options] [parameter]
command:命令本身。
-options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节。
parameter:[可选,非必填]命令的参数,多数用于命令的只想目标等。
特殊路径符:
. :表示当前目录,比如cd./Desktop表示切换到当前目录下的Desktop目录内,和cd Desktop效果一致
.. : 表示上一级目录,比如:cd.. 即可切换到上一级目录,cd../.. 切换到二级的目录
~ 表示HOME目录,比如:cd~ 即可切换到HOME目录或cd~/Desktop,切换到HOME内的Desktop目录。
cd ../../.. :退回三目录。级
linux常用的命令:
1./ :表示根目录的意思。
2.ls:直接使用ls命令本体,表示:以平铺的形式,列出当前工作路下的内容。ls 可以查看文件夹的信息。
3.ls -a :表示all的意思,即列出全部文件(包括隐藏的文件/文件夹)。
4.ls -l(ll):表示以列表(竖向排列)的形式展示内容,并展示更多信息。
5.ls -l -a (ls -la):表示全部文件并列表形式排列。
6.cd : 切换工作目录。语法:cd [linux路径]
cd命令无需选项,只有参数,表示要切换到哪个目录下。
cd命令直接执行,不写参数,表示回到用户的HOME目录。
例如:cd ~ :表示切换到HOME目录下。cd / :表示切换到根目录下。
cd /home/ :表示切换到home文件夹中
cd .. :切换到上一级目录。 cd ../..:切换到上两节目录。
7.pwd :查看当前工作目录。语法:pwd。(pwd命令,无选项,无参数,直接输入pwd即可)。
8.绝对路径:以根目录为起点,描述路径的一种方法,路径描述以 / 开头。
相对路径:一当前目录为起点,描述路径的一种方法,路径描述无需以 / 开头。
9.mkdir用以创建新的目录(文件夹):mkdir [-p] Linux路径。(mkdir在普通用户下(非root用户下)没有权限在根目录下创建文件,其他目录下都可以)。
10.-p选项的作用::可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录。
例如:mkdir -p~/itcast/itheima/nice/666(如果不加-p的话就会报错误,加了-p是为了让文件可以从头开始创建)
11.ctrl + L:快速清空界面。ctrl + c :停掉正在运行的指令。
12.touch: 创建文件/文本。语法:touch Linux路径。
13.cat :查看文件内容:语法:cat Linux路径。cat一般只用于查看文本文件的内容,不具备查看文件夹的信息。查看文件夹的信息一般使用ls -l (ll)。
14.more:查看文件内容(more支持翻页,如果内容过多,可以一页页的展示) 。语法:more Linux路径。
15.cp:复制文件\文件夹。语法:cp [-r] 参数1 参数2 。
-r选项:可选,用于复制文件夹使用。(复制文件夹必须使用-r选项)
参数1:Linux路径,表示被复制的文件或文件夹。
参数2: Linux路径,表示要复制去的地方。
16.mv:移动文件或文件夹。语法:mv 参数1 参数2。
参数1:Linux路径,表示被移动的文件或文件夹。
参数2:Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在。
例如: :表示将text.txt移动到test文件夹内。
17.rm删除文件,文件夹。语法:rm [-r,-f] 参数1 参数2 .........参数N。
(同cp命令一样,-r选项用于删除文件夹)。
18.可以通过su - root,并输入密码临时切换到root用户体验,通过输入exit命令,退回普通用户。
19.which:查看所使用的一系列命令的程序文件存放在哪里。语法:which 要查找的命令。
20.find:去搜索指定的文件。语法:find 起始路径 -name "被查找文件名"。
find命令还可以按文件大小查找文件。 语法:find 起始路径 -size + n[kMG]。
+、-表示大于和小于。 n表示大小数字。 kMG表示大小单位,k(小写字母)表示kb ,M表示MB,G表示GB。
21.通配符:被查找文件名,支持使用通配符 * 来做模糊查询。
22.gref :从文件中通过关键字过滤文件行。语法:gref [-n] 关键字 文件路径。
选项-n ,可选,表示在结果中显示匹配的行的行号。
参数,关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用“”将关键字包围起来。
参数,文件路劲,必填,表示要过滤内容的文件路径,可作为内容输入端口。
23.wc :统计文件的行数,单词数量等。语法:wc [-c -m -l -w]。
选项,-c,统计bytes数量 选项,-m,统计字符数量
选项,-l,统计行数 选项,-w,统计单词数量
参数,文件路径,被统计的文件,可作为内容输入端口
24.| :管道符 :含义是将管道符左边命令的结果,作为右边命令的输入。
例如:
25. echo :在命令行输出指定内容。语法:echo 输出内容。(无需选项,只有一个参数,表示要输出的内容,复杂内容可以用“”包围)。
例如:比如往1.txt文本中写入内容"hello world": echo "hello world" > 1.txt。
26.反引号``:与echo一起使用,我们通过将命令用反引号``将其包围,被包围的内容会作为命令执行,而非普通字符。
例如:
27.>,>>:重定向符。> :将左侧命令的结果,覆盖写入到符号右侧指定的文件中。
>> :将左侧命令的结果,追加写入到符号右侧指定的文件中。
例如:ls >> test.txt (将ls所输出的目录全部写入到test.txt文本中)。
28. tail :查看文件尾部内容,跟踪文件的最新更改。语法:tail [-f -num] linux路径。
参数,Linux路径,表示被跟踪的文件路径。
选项,-f,表示持续跟踪。(使用选项-f,可以持续跟踪文件更改)。
选项, -num,表示,查看尾部多少行,不填默认10行。
vi/vim编辑器:
vi\vim编辑器的三种工作模式:
1.命令模式(Command mode):命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能。此模型下,不能自由进行文本编辑。
2.输入模式(Insert mode):也就是所谓的编辑模式,插入模式。此模式下,可以对文件内容进行自由编辑。
3.底线命令模式(Last line mode):以:开始,通常用于文件的保存、退出。
命令模式:如果需要通过vi/vim编辑器编辑文件,请通过如下命令:
语法:vi 文件路径 vim 文件路径。
命令模式快捷键:
linux用户和权限:
root(用户超级管理员):root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。
普通用户是不能在根目录下(出了HOME目录一般就会受限)用mkdir创建文件的,权限受限。一般要求是进入root用户才可创建。
root常用指令:
1.su 和exit命令:su命令用于账户切换的系统命令,exit命令用于退回上一个用户,也可以使用快捷键ctrl + d。语法:su [-] root(符号 - 建议带上)。
2.sudo命令:用于为普通用户的命令授权,临时以root身份执行。语法: sudo 其他命令。
但是并不是所有的用户,都有权利使用sudo,我们需要为普通用户配置sudo认证。
sudo认证:
第一步:su - root进入root用户,输入 visudo。
第二步:在文件的末尾添加 hisay ALL=(ALL) NOPASSWD:ALL后wq保存并退出。
第三步:exit root用户进入普通用户。就可以用sudo mkdir + 文件名在根目录进行文件的创建了。
用户,用户组:
Linux中关于权限的管控级别有2个级别,分别是:
1.针对用户的权限控制。
2.针对用户组的权限控制。
用户组管理:
1.创建用户组:groupadd 用户组名。
2.删除用户组:groupdel 用户组名。
用户管理:
1.创建用户 :useradd [-g -d]
选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g。
选项:-d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名。
2.删除用户:userdel [-r] 用户名
选项:-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留。
3.查看用户名:id [用户名]
参数:用户名,被查看的用户,如果不提供则查看自身。
4.修改用户所属组:usermod -aG 用户组 用户名,将指定用户加入指定用户组。
5.getent :可以查看当前系统中有哪些用户。 语法: getent passwd。
也可以查看当前系统中有哪些用户组。语法:getent group。
认知权限信息:
可以通过ll 导出列表形式查看内容,并显示权限细节:
6.chmod:用于修改文件,文件夹的权限信息。(注意 :只有文件,文件夹的所属用户或root用户可以修改)。语法:chmod [-R] 权限 文件或文件夹。
选项:-R ,对文件夹内的全部内容应用同样的操作。
例如:chmod u=rwx,g=rx,o=x hello.txt ,将文件权限修改为:rwxr-x--x。
其中:u表示user所属用户权限,g表示group组权限,o表示other其它用户权限。
此外还有快捷的方法:chmod 515 hello.txt :表示将hello.txt的权限修改为:r-x--xr-x。
权限的数字序号:
7.chown:用于修改文件,文件夹的所属用户和用户组(普通用户无法修改所属为其他用户或组,所以此命令只适用于root用户执行)。语法:chown [-R] [用户][:][用户组] 文件或文件夹。
注意:通过su - root 进入root用户后,我们所处的目录不是我们用户hisay目录,我们想在hisay用户这里操作的话,我们需要切换到hisay用户:cd /home/hisay,这样我们就成功在root用户中对hisay目录进行操作。
选项,-R,同chmod,对文件夹内全部内容应用相同规则。
选项,用户,修改所属用户。
选项,用户组,修改所属用户组。
: 用于分隔用户和用户组。
示例:
Linux实用操作:
1.yum :用于自动化安装配置Linux软件,并可以自动解决依赖问题。(yum命令需要root权限并且需要联网)
语法:yum [-y] [install | remove | search ] 软件名称。
选项: -y ,自动确认,无需手动确认安装或卸载过程。
2.systemctl :可控制软件(服务)的启动,关闭,开机自启动。
语法:systemctl start | stop | status | enable | disable 服务名。
start 启动;stop 关闭; status 查看状态; enable 开启开机自启; disable 关闭开机自启。
3.ln:在系统中创建软连接,可以将文件,文件夹连接到其他位置。(类似于Windows中的《快捷方式》)。语法:ln -s 参数1 参数2。
-s选项,创建软连接 ;
参数1:被链接的文件或文件夹;
参数2:要链接去的目的地。
实例:ln -s /etc/yum.conf ~/yum.conf。
4.date:可以在命令行中查看系统的时间。语法:date [-d] [+格式化字符串]
修改Linux时区:
(将系统自带的localtime文件删除,并将/usr/share/zoneinfo/Asia/Shanghai文件链接为localtime文件即可)
ntp时间校准:
我们也可以使用ntp程序自动校准系统时间,安装ntp:yum -y install ntp,启动systemctl start ntpd,systemctl enable ntpd。当ntpd启动后会定期的帮助我们联网校准系统的时间。也可以手动校准(需root权限):ntpdate -u ntp.aliyun.com。
5.ping:可以通过ping命令,检查指定的网络服务器是否是可联通状态。语法: ping [-c num] ip或主机名。
选项:-c 检查的次数,不使用-c选项,将无限次数持续检查。
参数:ip或主机名,被检查的服务器的ip地址或主机名地址。
6.wget: 是非交互式的文件下载器,可以在命令行内下载网络文件。语法: wget [-b] url。
选项: -b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件。
参数:url,下载链接。
7.curl : 可以发送http网络请求,可用于:下载文件,获取信息等。语法:curl [-o] url。
选项:-o ,用于下载文件,当url是下载链接时,可以使用此选项保存文件。
参数:url,要发起请求的网络地址。
端口:
计算器之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序。通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通。
IP地址相当于小区地址,小区内可以有许多住户(程序),而门牌号(端口)就是各个住户(程序)的联系。
1.nmap: 用于查看端口占用。语法:nmap 被查看的IP地址。安装nmap:yum -y install nmap。
本机的IP地址:127.0.0.1。
2.netstat: 用于查看指定端口的占用情况。语法: netstat -anp | grep 端口号。安装netstat: yum -y install net-tools。
进程:
程序运行在操作系统中,是被操作系统所管理的。 为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程 并会为每一个进程都分配一个独有的:进程ID(进程号)。
1.ps: 用于查看Linux系统中的进程信息。语法: ps [-e -f]。
选项:-e,显示出全部的进程。
选项:-f,以完全格式化的形式展示信息(展示全部信息)。
一般来说,固定用法就是: ps -ef 列出全部进程的全部信息。
2.kill: 用于关闭进程。语法:kill [-9] 进程ID。
选项:-9,表示强制关闭进程。
上传,下载:
我们可以通过finalshell工具,方便和虚拟机进行数据交换。
在FinalShell软件的下方窗体中,提供了Linux的文件系统视图,可以方便的:
(1).浏览文件系统,找到合适的文件,右键点击下载,即可传输到本地电脑。
(2).浏览文件系统,找到合适的目录,将本地电脑的文件拓展进入,即可方便的上传数据到Linux中。
1.rz: 进行文件的上传。 语法:直接输入rz即可。
2.sz: 进行下载。语法:要下载的文件。
rz、sz命令需要安装,可以通过:yum -y install lrzsz,即可安装。文件会自动到桌面的fsdownload文件夹中。
压缩,解压:
Linux系统常用有2种压缩格式,后缀名分别是:
(1).tar,称之为tarball,归档文件,即简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装。
(2).gz,也常见为.tar.gz,gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积。
针对这两种格式,使用tar命令均可以进行压缩和解压缩的操作:
语法:tar [-c -v -x -f -z -C]参数1 参数2 .......参数N
-c,创建压缩文件,用于压缩模式。
-v,显示压缩、解压过程,用于查看进度。
-x,解压模式。
-f,要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个。
-z,gzip模式,不使用-z就是普通的tarball格式。
-C,选择解压的目的地,用于解压模式。
1.tar:命令压缩:
tar的常用组合为:
(1)tar -cvf test.tar 1.txt 2.txt 3.txt
将1.txt 2.txt 3.txt 压缩到test.tar文件内。
(2)tar -zcvf test.tar.gz 1.txt 2.txt 3.txt
将1.txt 2.txt 3.txt 压缩到test.tar.gz文件内,使用gzip模式。
注意: -z选项如果使用的话,一般处于选项位第一个。
-f选项,必须在选项位最后一个。
2. tar解压:
常用的tar解压组合有 :
(1)tar -xvf test.tar
解压test.tar,将文件解压至当前目录。
(2)tar -xvf test.tar -C /home/itheima
解压test.tar,将文件解压至指定目录(/home/itheima)。
(3)tar -zxvf test.tar.gz -C /home/itheima
以Gzip模式解压test.tar.gz,将文件解压至指定目录(/home/itheima)。
注意:
-f选项,必须在选项组合体的最后一位。
-z选项,建议在开头位置。
-C选项单独使用,和解压所需的其它参数分开。
3.zip命令压缩文件:
可以使用zip命令,压缩文件为zip压缩包。语法:zip [-r] 参数1 参数2 ..........参数N。
-r,被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致。
常用组合:
(1)zip test.zip a.txt b.txt c.txt
将a.txt b.txt c.txt 压缩到test.zip文件内。
(2)zip -r test.zip test itheima a.txt
将test、itheima两个文件夹和a.txt文件,压缩到test.zip文件内。
4. unzip命令解压文件:
使用unzip命令,可以方便的解压zip压缩包。语法:unzip [-d] 参数。
-d,指定要解压去的位置,同tar的-C选项。
参数,被解压的zip压缩包文件。
常用组合:
(1) unzip test.zip
将test.zip解压到当前目录。
(2)unzip test.zip -d /home/itheima
将test.zip解压到指定文件夹内(/home/itheima)。