Linux学习笔记(一)

  • 概述
    • Linux发行版
    • Linux应用
    • Linux系统运行级别
  • 远程环境配置
    • 连接服务器
    • 安装宝塔
      • 配置环境
    • 测试
      • 测试连接Tomcat
      • 测试访问网站
      • 测试上传
  • 学习Linux系统
    • 1. 开机登录
    • 2.Linux系统目录
    • 3.Linux常用命令
      • `ls`: 查看==>**就是 list 的缩写**,通过 ls 命令不仅可以查看 linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。
      • `cd`:是Change Directory的缩写,切换目录
      • `pwd`:显示目前的目录
      • `mkdir`:创建一个新的目录
      • `rmdir`:删除一个空的目录
      • `cp`: 复制文件或目录
      • `rm`: 移除文件或目录
      • mv: 1. 移动文件与目录 2. 修改文件与目录的名称
      • 其它
      • 关机指令为:`shutdown` ;
    • 4.文件基本属性
      • 概述
      • 文件属性
        • 文件目录详解
        • 修改文件属性
      • 文件内容
        • 文件内容查看(必须掌握 经常使用)
        • 查看网络配置
      • 拓展: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

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

  1. Linux学习笔记(一):常用命令(2)

    3.帮助命令 A,帮助命令:man    B,其他帮助命令 3.1,格式:man [命令名] 查看命令拥有哪个级别的帮助:                                       ...

  2. linux学习笔记十二:yum常用命令

    yum search xxx      查找xxx软件 yum info xxx查看xxx软件的信息 yum list   列出哪些软件已安装:哪些软件未安装. yum listupdates     ...

  3. 《Linux编程》学习笔记 ·001【基本操作、常用命令】

    注:前言.目录见 https://blog.csdn.net/qq_44220418/article/details/108428971 文章目录 一.基本操作 1.查看目录/文件 2.路径跳转 (1 ...

  4. docker学习笔记(二)docker常用命令

    参考:汤小洋老师的教学视频 docker学习笔记(一)[docker 介绍.卸载.安装.配置加速] docker学习笔记(三)镜像 docker学习笔记(四)使用docker搭建环境 docker学习 ...

  5. linux学习笔记:1.基础知识和命令行基本操作

    初次学习linux系统,想在这里记录自己的学习痕迹,如发现有不足之处,希望能指出,谢谢啦,之后的学习是在虚拟机VMware 10下的Red Hat Enterprise linux 6 的操作. 一. ...

  6. Linux学习:入门,概述,常用命令,环境安装

    服务器购买配置 参考:狂神说Linux 基于CentOS7 Linux一切皆文件:读,写 一.入门概述 二.Linux命令 1. 开机登录 可以使用 man [命令]来查看各个命令的使用文档,如 :m ...

  7. Linux学习笔记012---Centos7修改环境变量

    JAVA技术交流QQ群:170933152 方法一(暂时生效) 直接运行命令export PATH=$PATH:/usr/local/MATLAB/R2013a/bin ,使用这种方法,只会对当前回话 ...

  8. Linux学习笔记——Apache服务器配置文件简介

    Apache服务器配置文件简介 Apache的配置文件是包含若干指令的纯文本文件,其文件名为httpd.conf.在Apache启动时,会自动读取配置文件中的内容,配置Apache服务器的运行.配置文 ...

  9. Linux学习笔记之   pstree,htop,glances,dstat 命令使用

    本文将简单介绍pstree,top,htop,dstat的用法: pstree pstree - display a tree of processes pstree:显示进程状态树,pstree命令 ...

最新文章

  1. Shell终端快捷键总结(mac)
  2. SQL Server学习之路(五):“增删改查”之“改”
  3. 菜鸟学Linux 第031篇笔记 script,控制,while,function
  4. 摸清Linux日志处理的来龙去脉
  5. java单例模式_Java 实现单例模式的 9 种方法
  6. Backtrack5 bt5 VMware Tools 安装失败的解决办法
  7. 一起学爬虫(Python) — 07
  8. 树莓派Pico上手初体验,Hello world 双核MCU
  9. 海外短视频月活1.5亿,欢聚时代拿稳全球短视频入场券?
  10. win7磁盘清理_Win7系统使用久变慢怎么办?Windows7系统优化方法
  11. 解决VS中未定义标识符cout,endl
  12. linu修改open files无效_不越狱修改运动步数,安卓苹果手机通用
  13. Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)
  14. 争议不断的AI绘画,靠什么成为了顶流?
  15. 地瓜网络技术钉钉视频下载器下载钉钉群直播视频回放
  16. 使用海龟编辑器用Python身高体重
  17. 网络计划经典例题讲解
  18. mysql冷备份恢复无法启动_MYSQL冷备份 恢复
  19. linux内核安装webkit,Ubuntu下安装基于WebKit 的网页浏览器Midori
  20. YOLOX原始论文精读

热门文章

  1. 阿里云机器学习平台PAI之理论基础
  2. Vmware虚拟机安装Windows XP时,F8键无效
  3. 宏观视角下的office漏洞(2010-2018)
  4. 我实习时参与过的某医院信息系统功能说明
  5. mysql 开放远程访问
  6. XMC4800 MultiCAN模块使用总结
  7. 图解数据分析(5) | 核心步骤2 - 数据清洗与预处理(数据科学家入门·完结)
  8. oracle 报错总结
  9. 【嵌入式】CPU性能提升:Cache机制
  10. sql语法理解(exist)