Linux学习笔记(一)(服务器环境搭配 & 常用命令 & 文件属性)

概述

Linux的核心思想:一切皆文件( 所以涉及的操作无非就是针对文件的读,写以及权限)。
根目录就是一个/:所有的文件都挂载在这个节点下

基本的命令涉及:(重点)

  • 文件操作
  • 目录管理
  • 文件属性
  • Vim编辑器
  • 账号管理
  • 磁盘管理

需要的软件:java,tomcat,docker…
需要提前准备服务器(也可以自己下载虚拟机本地配置),Xshell(远程连接),Xftp(文件上传)。。。

Linux发行版

Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包。
在这里插入图片描述

来自菜鸟教程
·
目前开发用的最多的是CentOS
Kali linux:安全渗透测试使用!

Linux应用

今天各种场合都有使用各种 Linux 发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使用
LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL + PHP)组合

Linux系统运行级别

Linux系统有7个运行级别(runlevel):

  • 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
  • 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
  • 运行级别2:多用户状态(没有NFS)
  • 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
  • 运行级别4:系统未使用,保留
  • 运行级别5:X11控制台,登陆后进入图形GUI模式
  • 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

远程环境配置

连接服务器

  1. 购买阿里云服务器,添加安全组===>进行端口映射
    在这里插入图片描述

安全组作用:开放相应端口号,否则外界无法访问

  1. 获取服务器ip地址,重置服务器密码,便可远程登录

    1. 下载Xshell远程连接工具,进行远程连接使用
    2. 下载Xftp,可以进行文件上传

    可去官网下载

  2. 用Xshell连接服务器(点击文件,新建,修改会话名称和主机地址):
    在这里插入图片描述

连接成功!

注:用户登录名为root登录
在这里插入图片描述

安装宝塔

  1. 宝塔官网下载宝塔管理面板
  2. 复制代码粘贴到linux中在这里插入图片描述
  3. 安装完成后会出现一个外网面板地址和内网面板地址。还有一个随机的用户名和密码
  4. 打开其中的外网面板地址(公网ip),输入随机用户与密码
    在这里插入图片描述
    在这里插入图片描述

配置环境

  1. 部署环境,安装应用

在左侧选项中打开软件商店进行一键傻瓜式安装,可以点击一键部署环境
在这里插入图片描述

  1. 端口开启

在这里插入图片描述
安装tomcat,Mysql等在这里插入图片描述

  1. 放入网站访问
    1. 比如tomcat就直接放到webapps下
    2. 特殊网站如一些开源项目就按照自己操作来

    上传文件尽量用xftp来上传 方便!
    在这里插入图片描述

  • 命令行(原生)

测试

测试连接Tomcat

  1. 宝塔面板和服务器安全组都打开8080端口,放行tomcat
  2. 直接用服务器地址+8080访问
  3. 访问成功

    在这里插入图片描述

测试访问网站

  1. 在相应文件下放入简单的配置文件和index

    在这里插入图片描述

<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title><%=request.getServletContext().getServerInfo() %></title>
        <link href="favicon.ico" rel="icon" type="image/x-icon" />
        <link href="tomcat.css" rel="stylesheet" type="text/css" />
    </head>

    <body>
        <h2>夜雨</h2>
    </body>

</html>
  1. 测试成功
    在这里插入图片描述

测试上传

在这里插入图片描述
在这里插入图片描述

要上传的文件直接在本机区域拖拽linux区域home文件夹中

  1. 将tomcat文件夹和jdk上传至服务器
  2. 如果是上传的压缩包的话可以用tar -zxvf命令来解压

在这里插入图片描述
在这里插入图片描述
注意Windows启动时.bat文件,Linux启动是用.sh文件
在这里插入图片描述

war包直接丢到tomcat即可
jar包用 java -jar命令执行即可
网站若是访问失败,基本都是防火墙的问题(排查Linux服务器端口和阿里云安全组)

学习Linux系统

1. 开机登录

开机会启动许多程序。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。

用户的登录方式有三种:

  • 命令行登录
  • ssh登录
  • 图形界面登录

最高权限账户为 root,可以操作一切!

2.Linux系统目录

是一个树状目录结构:(Linux的一切资源都挂载在这个 / 根节点下)
在这里插入图片描述
以下是对这些目录的解释:

  • /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令
  • /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。(一般情况不要动它)
  • /dev: dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。(比如u盘)
  • /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。(比如Redis的配置,Java的配置等等)
  • /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。(类似于windows下的User)
  • /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。(莫动)
  • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
  • /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
  • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。(比如安装Oracle,安装Mysql等就可以放在这,默认为空)
  • /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
  • /proc这个目录来获取系统信息。
  • /root:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  • /srv:该目录存放一些服务启动之后需要提取的数据。
  • /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
  • /tmp:这个目录是用来存放一些临时文件的。
  • /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
    • /usr/bin: 系统用户使用的应用程序。
    • /usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。
    • /usr/src: 内核源代码默认的放置目录。
  • /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
  • www: 存放服务器网站的相关资源 例如环境,网站项目等(安了服务器才有,本地搭建没有)
    • /www/backup:备份的一些东西
    • /www/server:安装的一些环境(宝塔面板默认安装的位置)
    • /www/wwwlogs:服务的一些项目
    • /www/root:服务的一些根节点

3.Linux常用命令

ls: 查看==>就是 list 的缩写,通过 ls 命令不仅可以查看 linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。

选项与参数:
-a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)
注意:所有的Linux命令皆可组合使用===>如li -al

  • ls /:查看当前目录下的文件
  • ls -a:显示所有档案及目录(ls内定将档案名或目录名称为“.”视为隐藏,不会列出)
  • ls -A:显示出隐藏文件,包括...的所有文件列表
  • ls -al:将目录下的所有文件列出来(含属性与隐藏档)
  • ls .:显示当前目录
  • ls ..显示上一层目录

cd:是Change Directory的缩写,切换目录

切换目录分为相对路径和绝对路径两种情况
/开头为绝对路径

cd ..:返回上一级目录
cd /:返回根目录
cd ~:回到自己的家目录,亦即是 /root 这个目录
cd home:切换到用户目录下

pwd:显示目前的目录

mkdir:创建一个新的目录

选项与参数:
-m :配置文件的权限(直接配置,不用管默认配置)
-p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!

mkdir -p 递归创建一个层级目录(多级目录)

rmdir:删除一个空的目录

rmdir [-p] 目录名称
选项与参数:-p :连同上一级『空的』目录也一起删除

cp: 复制文件或目录

cp [-adfilprsu] 来源档(source) 目标档(destination)
cp [options] source1 source2 source3 .... directory

选项与参数:
-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-r:递归持续复制,用於目录的复制行为;(常用)
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身。
-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-u:若 destination 比 source 旧才升级 destination !

rm: 移除文件或目录

选项与参数:
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除!最常用在目录的删除!非常危险的选项!!!(无提示地强制递归删除文件)
比如说rm -rf /:删除根目录下所有文件和目录=>删库跑路!==

mv: 1. 移动文件与目录 2. 修改文件与目录的名称

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

其它

  • tar:解压压缩包
  • clear:清屏
  • touch 创建文件
  • echo: 输入字符串
  • 【命令】-helpman 【命令】:查看该命令的帮助文档
  • tar -zxvf【压缩包名】:解压

关机指令为:shutdown

  • sync : 直接关机可能会造成一些数据丢失。所以我们在关机之前进行此步操作===>将数据由内存同步到硬盘中
  • shutdown : 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:
  • shutdown –h 10 : 计算机将在10分钟后关机
  • shutdown –h now : 立刻关机
  • shutdown –h 20:25 : 系统会在今天20:25关机
  • shutdown –h +10 : 十分钟后关机
  • shutdown –r now : 系统立刻重启
  • shutdown –r +10 : 系统十分钟后重启
  • reboot : 就是重启,等同于 shutdown –r now
  • halt : 关闭系统,等同于shutdown –h now 和 poweroff

注意:不管是重启系统还是关闭系统,首先要运行 sync :将内存中的数据写到磁盘中

4.文件基本属性

概述

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。

文件属性

文件目录详解
  1. 使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组
    在这里插入图片描述

  2. 上图文件中第一个属性用"d"表示。在Linux中第一个字符代表这个文件是目录、文件或链接文件等等:

  • 当为[ d ]则是目录
  • 当为[ - ]则是文件;
  • 若是[ l ]则表示为链接文档 ( link file );
  • 若是[ b ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
  • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。
  1. 接下来的字符中,以三个为一组,每一组都是一个属组(不同的角色),且均为『rwx』 的三个参数的组合。
  • [ r ]代表可读(read)
  • [ w ]代表可写(write)
  • [ x ]代表可执行(execute)

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

每个文件的属性由左边第一部分的10个字符来确定(如下图):
在这里插入图片描述
第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。

在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。
文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。
因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。

在以上实例中,boot 文件是一个目录文件,属主和属组都为 root。

修改文件属性

1、chgrp:更改文件属组

语法: chgrp [-R] 属组名 文件名

chgrp -R递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
2、chown更改文件属主,也可以同时更改文件属组
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
3、重要:zhongyao chmod:更改文件9个属性
chmod [-R] xyz 文件或目录

在工作中会经常遇到“你没有权限操作此文件!”这个时候就要用这个命令来操作:
文件属性有两种设置方法,一种是数字,一种是符号。
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
我们使用数字来代表各个权限,各权限的分数对照表如下:
r:4 w:2 x:1

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

owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= — = 0+0+0 = 0
所以命令为:
chmod 770 filename
其他的

文件内容

文件内容查看(必须掌握 经常使用)

Linux系统中使用以下命令来查看文件的内容:

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

语法:
cat [-AbEnTv]
选项与参数:
-A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字节 $ 显示出来;
-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符

  • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
  • nl 显示的时候,顺道输出行号!(常用)
  • more 一页一页的显示文件内容(当查看的文档太多时候可以翻页。其中空格键代表翻页,Enter代表下一行,用: 再用f显示当前行号)

空格键 (space):向下翻页;
Enter :代表向下翻『一行』;
/字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
:f :立刻显示出档名以及目前显示的行数;
q :代表立刻离开 more ,不再显示该文件内容。
b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。

  • less 与 more 类似,但是比 more 更好的是,他可以往前翻页

空格键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字串 :向下搜寻『字串』的功能===>/set寻找文档中set位置
?字串 :向上搜寻『字串』的功能;
n :重复前一个搜寻 (与 / 或 ? 有关!)(往上继续搜寻下一个)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)(往下继续搜寻下一个)
q :离开 less 这个程序;

  • head 只看头几行

选项与参数:-n 后面接数字,代表显示几行
默认的情况中,显示前面 10 行
显示前 20 行: head -n 20 /[文件名]

  • tail 只看最后几行

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

查看网络配置

在这里插入图片描述

在Windows中,查看网络配置命令是ipconfig
在Linux中,则是ifconfig

拓展:Linux 链接概念(了解)

Linux 链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。
一般情况下,ln 命令产生硬链接。

硬链接

假设b是a的硬链接(意味着两者指向同一文件,允许一个文件有多个路径) 这样即使删除a,也不影响b访问a文件中的内容===> 通过此机制来建立硬链接到一些重要文件以此防止误删

软链接

类似于Windows下的快捷方式,源文件一旦删除,快捷方式也废了

[root@iZbp175lqwoa5dqrz42zaeZ home]# touch test01   #创建test01文件
[root@iZbp175lqwoa5dqrz42zaeZ home]# ln test01 test02   #创建硬链接
[root@iZbp175lqwoa5dqrz42zaeZ home]# ln -s test01 test03   #创建软链接
[root@iZbp175lqwoa5dqrz42zaeZ home]# ll
total 16
drwxr-xr-x 6 root  root  4096 Nov  4 09:13 jdk1.8.0_231
drwx------ 2 redis redis 4096 Nov  4 17:04 redis
-rw-r--r-- 2 root  root     0 Nov  7 11:01 test01
-rw-r--r-- 2 root  root     0 Nov  7 11:01 test02
lrwxrwxrwx 1 root  root     6 Nov  7 11:03 test03 -> test01
drwx------ 3 www   www   4096 Nov  4 17:03 www
drwxr-xr-x 2 root  root  4096 Nov  5 13:14 yeyu
[root@iZbp175lqwoa5dqrz42zaeZ home]# echo "I am yeyu" >>test01  #给test01中写入字符串
[root@iZbp175lqwoa5dqrz42zaeZ home]# cat test01  #查看test01
I am yeyu
[root@iZbp175lqwoa5dqrz42zaeZ home]# cat test02  #查看test02
I am yeyu
[root@iZbp175lqwoa5dqrz42zaeZ home]# cat test03  #查看test03
I am yeyu

删除test01后:

[root@iZbp175lqwoa5dqrz42zaeZ home]# rm -rf test01  #删除test01
[root@iZbp175lqwoa5dqrz42zaeZ home]# ls
jdk1.8.0_231  redis  test02  test03  www  yeyu
[root@iZbp175lqwoa5dqrz42zaeZ home]# cat test02	 #硬链接test02还可查看
I am yeyu
[root@iZbp175lqwoa5dqrz42zaeZ home]# cat test03  #软链接test03已失效
cat: test03: No such file or directory
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月色夜雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值