Linux简单入门学习

一、入门概述

1.我们为什么要学习Linux

很多的大型项目都是部署在Linux服务器上,所有的Java岗位都需要掌握Linux的基本使用。

2.Linux简介

Linux 是一套免费使用和自由传播的类 Unix 操作系统(mac也是类Unix操作系统),是一个基于 POSIX(可移植操作系统接口) 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想(即需要连网),是一个性能稳定的多用户网络操作系统。

Linux 是⼀个类似 Unix 的操作系统,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和⽤户体验上进⾏优化,所以 Linux 模仿了 UNIX(但并没有抄袭 UNIX 的源码),使得 Linux 在外观和交互上与 UNIX ⾮常类似。

3.Linux的发行版本

在这里插入图片描述
虽然Linux 的发⾏版本众多,但是系统的核⼼——内核却系出同⻔,所以只要学会使⽤其中⼀种,即可触类旁通。

二、Linux安装

1.虚拟机安装(耗资源)

安装 VMware 虚拟机软件(360软件管家一键安装),然后打开ubuntu镜像即可使用。

2.购买云服务器(推荐)

云服务器就是一个远程电脑,服务器一般不会关机!
虚拟机安装后占用空间,也会有些卡顿,我们作为程序员其实可以选择购买一台自己的服务器,这样的话更加接近真实线上工作。

1、阿里云购买服务器:
这里附上学生机链接

2、购买完毕后,获取服务器的ip地址,重置服务器密码,就可以远程登录了

3、下载 xShell 远程连接工具(端口号22),进行远程连接使用!还需要下载xFtp(端口号21)进行文件上传(这里推荐360软件管家一键下载)

注意事项:
如果要打开端口,需要在阿里云的安全组面板中开启对应的出入规则,不然的话会被阿里拦截!

连接成功效果如下:
在这里插入图片描述
这就是我们的Linux操作系统了!以后的操作都在这里进行,项目也会在这里发布!
补充:Ctrl+鼠标滚轮,放大和缩小字体

三、 Linux文件系统

1.文件系统目录

在linux中,⼀切皆为⽂件。⽂件分为下⾯的⼀些类型:
1.普通⽂件
2. ⽬录⽂件
3. 链接⽂件
4. 设备⽂件
5. 管道⽂件
Linux⽂件系统⽬录结构和熟知的windows系统有较⼤区别,没有各种盘符的概念。根⽬录只有⼀个/,采⽤层级式的树状⽬录结构。
且Linux不像Windows那样的系统目录,Linux使用正斜杠"/“而不是反斜杠”"来标识目录。
在这里插入图片描述

  1. /:根⽬录,所有的⽬录、⽂件、设备都在/之下,/就是Linux⽂件系统的组织者,也是最上级的领导者。
  2. /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。
  3. /boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
  4. /dev:dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。·但是这⾥并不是放的外部设备的驱动程序。这⼀点和常⽤的windows,dos操作系统不⼀样。它实际上是⼀个访问这些外部设备的端⼝。可以⾮常⽅便地去访问这些外部设备,和访问⼀个⽂件,⼀个⽬录没有任何区别。
  5. /home:如果建⽴⼀个⽤户,⽤户名是"xx",那么在/home⽬录下就有⼀个对应的/home/xx路径,⽤来存放⽤户的主⽬录。
  6. /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。
  7. /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
  8. /root:Linux超级权限⽤户root的主⽬录。
  9. /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  10. /usr:这是linux系统中占⽤硬盘空间最⼤的⽬录。⽤户的很多应⽤程序和⽂件都存放在这个⽬录下。类似windows系统的program files。
  11. /usr/local:这⾥主要存放那些⼿动安装的软件,即不是通过或apt-get安装的软件。它和/usr⽬录具有相类似的⽬录结构。
  12. /tmp:这个目录是用来存放一些临时文件的。
  13. /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。⽐如安装mysql的配置⽂件my.conf。
  14. /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
  15. /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
  16. /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

2.目录管理

我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /。
其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。
我们需要先知道什么是绝对路径与相对路径。

•绝对路径:
路径的写法,由根目录 / 写起,例如:/usr/share/doc 这个目录。

•相对路径:
路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:cd …/man 这就是相对路径的写法啦!

处理目录的常用命令(必须要掌握)

注意:所有Linux命令都可以组合使用。

•ls: 显示当前目录文件下的目录或文件(Linux系统中最常用的命令,因为Linux不像windows是可视化的)。

选项与参数:
-a :显示所有的文件夹和文件,包括隐藏文件;
-l :列出所有的文件,包含文件的属性和权限,没有隐藏文件;

ls --help
在这里插入图片描述

•cd:进⼊⼀个路径或者⽬录,绝对路径或者相对路径都可以
⽤法:cd [相对路径或绝对路径]
cd ~【切换到宿主目录,如果你是以root登录的就切换到/root ,如果其他用户就切换到/home下对应的目录】
cd . 【当前⽬录】
cd … 【进⼊上⼀级⽬录】
cd /home 【进⼊绝对路径home⽬录下】

•pwd:显示目前所在的目录(Print Working Directory 的缩写)

•mkdir:创建一个新的目录 (make directory的缩写)
选项与参数:
-m :配置文件的权限;
-p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来;
在这里插入图片描述
•rmdir:删除一个空的目录
语法:rmdir [-p] 目录名称
选项与参数:
-p :连同上一级『空的』目录也一起删除
在这里插入图片描述

•cp: 复制文件或目录
cp [options] 来源档(source) 目标档(destination)

选项与参数:
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
在这里插入图片描述

-l:不复制文件,只是生成链接文件。

•rm: 移除文件或目录(使用较多)
语法:
rm [-fir] 文件或目录

选项与参数:
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!

rm -rf:系统中所有的文件就都被删除了(删库跑路)

•mv: 移动文件与目录,或修改文件与目录的名称
mv ( 移动文件与目录,或修改名称 )

选项与参数:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级(只替换已更新过的文件)

3.基本属性

1. 文件属性

在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组,如:
在这里插入图片描述
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等:
当为[ d ]则是目录;(常用)
当为[ - ]则是文件;(常用)
若是[ l ]则表示为链接文档 ( link file );(常用)
若是[ b ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。

接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。

其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。

要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。

每个文件的属性由左边第一部分的10个字符来确定(如下图):
在这里插入图片描述
第1位:-表示是⼀个普通的⽂件;d表示是⼀个⽬录;(最常⽤)
rwx:Read、Write、Execute,读、写、执⾏权限,这个顺序不会变,如果没有权限的话就⽤-代替
第2-4位:表示⽂件所有者的权限
第5-7位:⽂件所在组的拥有的权限
第8-10位:⽂件其他组⽤户拥有的权限

修改文件属性
1、chgrp:更改文件属组
chgrp [-R] 属组名 文件名
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

2、chown:更改文件属主,也可以同时更改文件属组
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

3、chmod:更改文件9个属性(必须要掌握)
chmod [-R] xyz 文件或目录
Linux文件属性有两种设置方法,一种是数字,一种是符号。

Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。

我们可以使用数字来代表各个权限,各权限的分数对照表如下:
r:4 w:2 x:1

可读可写不可执行 rw- 6
可读可写不可执行 rwx 7
chomd 777 文件赋予所有用户可读可写可执行!

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:[-rwxrwx—] 分数则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= — = 0+0+0 = 0

2. 文件内容查看

Linux系统中使用以下命令来查看文件的内容:
•cat 由第一行开始显示文件内容,用来读取文章或者配置文件(常用)

• tac从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

•nl 显示的时候,顺道输出行号!看代码的时候,希望显示行号(常用)

•more 一页一页的显示文件内容(空格代表翻页,enter代表向下看,:f行号)

•less 与 more 类似,但是比 more 更好的是,他可以往前翻页!(空格下翻页,pageDown,pageUp翻动页面,,退出q命令,查找字符串/要查询的字符,向上查询使用?要查询的字符串,n继续搜寻下一个,N向上寻找!)

•head 只看头几行,通过-n参数来控制显示几行!

•tail 只看尾巴几行

你可以使用 man [命令]来查看各个命令的使用文档,如 :man cp。

•cat 由第一行开始显示文件内容

ifconfig命令查看网络配置!
在这里插入图片描述

4.Vim编辑器

Ubuntu默认没有安装vim,需要先安装vim⼯具。
sudo apt-get install vim

vim通过一些插件可以实现和IDE一样的功能!
Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。尤其是Linux中,必须是要会使用Vim
查看内容,编辑内容,保存内容!

命令模式:
用户刚刚启动 vi/vim,便进入了命令模式。
在这里插入图片描述

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:
a,i,o都可以进入输入模式,只是光标的位置不同
i 从【目前光标所在处】输入字符。
a从【目前光标所在处的下一个字符处】输入字符。
o从【目前光标所在的下一行处】输入新的一行。

x 删除当前光标所在处的字符。
切换到底线命令模式,以在最底一行输入命令。如果是编辑模式,需要先退出编辑模式(ESC键)
快捷切换光标:数字+空格

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

输入模式:
在命令模式下按下i就进入了输入模式。
输入i,a,o都可以进去输入模式,只是光标的位置不同
在输入模式中,可以使用以下按键:
**字符按键以及Shift组合,**输入字符
**ENTER,**回车键,换行
**BACK SPACE,**退格键,删除光标前一个字符
**DEL,**删除键,删除光标后一个字符
**方向键,**在文本中移动光标
**HOME/END,**移动光标到行首/行尾
**Page Up/Page Down,**上/下翻页
**Insert,**切换光标为输入/替换模式,光标将变成竖线/下划线
**ESC,**退出输入模式,切换到命令模式

底线命令模式(只能在最后一行输入)
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
q 退出程序
w 保存文件
按ESC键可随时退出底线命令模式。
简单的说,我们可以将这三个模式想成底下的图标来表示:
在这里插入图片描述
完整的演示说明:
新建或者编辑文件,按i进入编辑模式,编写内容,编写完成后退出编辑模式,esc,退出之后进入底线命令模式,:wq保存退出!

5. 账号管理

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

每个用户账号都拥有一个唯一的用户名和各自的口令。

用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

实现用户账号的管理,要完成的工作主要有如下几个方面:

用户账号的添加、删除与修改。

用户口令的管理。

用户组的管理。

用户账号的管理

用户账号的管理工作主要涉及到用户账号的添加、修改和删除。

添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。

添加用户useradd

useradd -选项 用户名
参数说明:

选项 :
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-m 使用者目录如不存在则自动建立。
在这里插入图片描述
理解一下实质:在Linux中一切皆文件,这里的添加用户其实就是往某一个文件中写入用户的信息!

-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

用户名 :
指定新账号的登录名。

删除用户 userdel
userdel 选项 用户名
常用的选项是 -r,它的作用是把用户的主目录一起删除。
在这里插入图片描述
修改用户usermod (这个还不太懂)
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。
usermod 对应的修改内容 修改那个用户

修改完毕之后查看配置文件即可!

Linux下切换用户
在这里插入图片描述
$表示普通用户
#表示超级用户,也就是root用户

1.切换用户的命令为:su username 【username是你的用户名哦】
在这里插入图片描述

2.从普通用户切换到root用户,还可以使用命令:sudo su

3.在终端输入exit或logout或使用快捷方式ctrl+d,可以退回到原来用户,其在这里插入图片描述
实ctrl+d也是执行的exit命令

4.在切换用户时,如果想在切换用户之后使用新用户的工作环境,可以在su和username之间加-,例如:【su - root】

用户密码的设置
passwd 选项 用户名
可使用的选项:
-l 锁定口令,即禁用账号。
一旦冻结这个用户,这个人就登陆不上系统了!
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。

我们一般通过root创建用户的时候,要配置密码!在这里插入图片描述
Linux上输入密码是不会显示的,正常输入即可

如果是超级用户:
passwd username:
Enter new UNIX password:
Retype new UNIX password:

如果是普通用户:
passwd
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:

锁定账户
一旦冻结这个用户,这个人就登陆不上系统了!

6.用户组管理

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理(开发、测试、运维、root)。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。

用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

创建一个用户组 groupadd
groupadd 选项 用户组
可以使用的选项有:
-g GID 指定新用户组的组标识号(GID)。
如果不指定就是自增1。

-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

删除用户组 groupdel

修改用户组的权限信息和名字
groupmod 选项 用户组
常用的选项有:
-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字

拓展:文件的查看!(了解即可)
/etc/passwd
用户名:口令(登录密码,我们不可见):用户标识号:组标识号:注释性描述:主目录:登录Shell
这个文件中的每一行都代表这一个用户,我们可以从这里看出这个用户的主目录在那里,可以看到属于哪一组!

登录口令:把真正的加密后的用户口令字存放到/etc/shadow文件中,保证我们密码的安全性!

四、 Linux上的相关环境搭建

Java 环境搭建

1.jdk安装

从oracle官⽹下载linux的jdk8,⽤xFtp⼯具等将jdk8上传到linux机器上。
在这里插入图片描述

依据jdk所在的路径,在linux中输入相关命令

sudo mkdir /usr/local/java
cd /usr/local/java
sudo tar -zxvf jdk-8u141-linux-x64.tar.gz
sudo vim /etc/profile

进入vim编辑器,配置环境变量,添加下⾯⼏句

export JAVA_HOME=/usr/local/java/jdk1.8.0_141
export JRE_HOME=/usr/local/java/jdk1.8.0_141/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

在这里插入图片描述
执⾏命令 source /etc/profile 使环境变量配置⽂件⽣效
执⾏命令 java -version 查看JDK环境变量是否已经搭建好
在这里插入图片描述

2.Tomcat安装

#先把tomcat压缩包丢进服务器⾥⾯去
mkdir /usr/local/tomcat
sudo tar -zxvf apache-tomcat-8.5.50.tar.gz
chmod -R 777 *
cd bin
#启动tomcat
./start.sh
  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

Linux入门简单(195分钟多媒体教学视频)》是一本与众不同的Linux入门读物。作者借鉴历史畅销书《明朝那点事》的写作风格,将技术图书也以风趣幽默的风格一一道来,阅读起来十分过瘾。书中以一个拟人化的Ubuntu操作系统为主角,以Ubuntu10.04为基础,讲解了Ubuntu系统从安装、配置,到搭建开发平台、投入使用的过程。《Linux入门简单(195分钟多媒体教学视频)》配1张光盘,内容为《Linux入门简单(195分钟多媒体教学视频)》源代码和书中重点操作的教学视频演示。《Linux入门简单(195分钟多媒体教学视频)》共8章,内容容安排上采取循序渐进的方式,由浅入深地引导读者安装、配置、使用Ubuntu系统。其中,第1章介绍Linux系统的产生和发展概况;第2章介绍Ubuntu系统的各种安装方法;第3章介绍安装系统后的基本设置;第4章介绍Ubuntu下的常用软件;第5章介绍部分Windows下的软件在Linux中运行的解决方案;第6章介绍命令行的使用及脚本的编写;第7章介绍Ubuntu系统下C/C++、Java、PHP开发环境的搭建;第8章深入讲解一个软件的编译、调试、打包、发布的过程。 本书共8章,内容容安排上采取循序渐进的方式,由浅入深地引导读者安装、配置、使用Ubuntu系统。其中,第1章介绍Linux系统的产生和发展概况;第2章介绍Ubuntu系统的各种安装方法;第3章介绍安装系统后的基本设置;第4章介绍Ubuntu下的常用软件;第5章介绍Windows下的部分软件在Linux中运行的解决方案;第6章介绍命令行的使用及脚本的编写;第7章介绍Ubuntu系统下C/C++、Java、PHP开发环境的搭建;第8章深入讲解一个软件的编译、调试、打包、发布的过程。 本书适合所有Linux入门者和开源软件的爱好者,也适合技术人员作为课外读物学习。对于大、中专院校的学生和培训班的学员,本书不失为一本好教材。
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值