Linux学习

Linux学习

1.认识Linux

Linux中一切皆文件

Linux中没有成功的提示 当你的代码成功时候就是成功了没有回显

只有错误的提示

目录结构

​ Linux系统整个就像是一个文件 文件都存放在根目录 / 下

​ 所有的文件都挂在这个节点下 结构是一个树状结构

2.基本命令

关机

​ 注意:当你关机之前,记得先保存数据。将内存中的数据存放到磁盘中,防止你直接关机时候 导致数据丢失.

​ 保存方法:输入命令 sync

​ 然后关机:

​ shutdown 直接关机 也可以进行多种选项

​ -h 10 十分钟后关机

​ -h 20:25 20:25分后关机

​ -r now 立刻重启

​ halt 关闭系统。等同于shutdown -h now / poweroff

目录切换

​ cd 切换目录的命令 这个切换的路径分为绝对路径和相对路径

​ ./:返回当前路径

​ …:返回上级目录

​ /目录名:以绝对路径的方式切换到这个目录

目录操作 增删改

​ mkdir 创建一个目录 添加-p 创建多级目录

在这里插入图片描述

​ pwd 显示当前路径
在这里插入图片描述

​ rmdir 删除文件 添加 -p 删除多级目录
Linux学习_第1张图片

​ ls 显示当前文件中的所有文件 不包含被隐藏的

​ 添加 -a参数 查看文件包含隐藏文件

​ 添加-l 参数 查看文件的基本信息

Linux学习_第2张图片

在Linux系统中 -中的参数 大部分是可以连用的

​ cp 复制命令

​ 例如:cp test2 test1 将test2 复制到test1中去

​ 移除命令rm

​ -f 忽略不存在的文件 不会出现警告 强制删除

​ -r 递归删除目录

​ -i 互动 删除之前询问是否删除

​ 拓展:rm -rf / 传说中的删库跑路 不要学习谢谢 后果自

​ 移动命令(重命名文件) mv

​ -f 强制移动

​ -u 只替换更新过的文件(就是说 你移动时候存在同名文件 时候 触发效果)

文件基本属性

​ 在你打开Linux基本状态信息时候 会发现每一个信息前面都有十个字符串 这个字符串就是文件的基本属性之一

第一个字符代表这是什么文件

d 代表是一个目录

l 代表是一个链接

-代表是最基本的文件

后面九个三个为一组 代表不同人的访问权限 三个为一组

第一组是owner权限 第二组是group权限 第三个 others权限

r 允许读 w 允许写 x 是否可执行

如果是 - 代表他没有这个权限

[root@zxhstudy /]# ls -al

dr-xr-xr-x. 20 root root 4096 Aug 22 21:15 .
dr-xr-xr-x. 20 root root 4096 Aug 22 21:15 …
lrwxrwxrwx. 1 root root 7 Jul 11 2019 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Jul 11 2019 boot
drwxr-xr-x 19 root root 2980 Aug 21 20:00 dev
drwxr-xr-x. 81 root root 4096 Aug 22 21:17 etc
drwxr-xr-x. 5 root root 4096 Aug 23 19:28 home
lrwxrwxrwx. 1 root root 7 Jul 11 2019 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Jul 11 2019 lib64 -> usr/lib64
drwx------. 2 root root 16384 Jul 11 2019 lost+found
drwxr-xr-x. 2 root root 4096 Apr 11 2018 media
drwxr-xr-x. 2 root root 4096 Apr 11 2018 mnt
drwxr-xr-x. 2 root root 4096 Apr 11 2018 opt
drwxr-xr-x 2 root root 4096 Aug 22 21:15 patch
dr-xr-xr-x 85 root root 0 Aug 21 19:58 proc
dr-xr-x—. 6 root root 4096 Aug 22 21:16 root
drwxr-xr-x 25 root root 720 Aug 22 21:16 run
lrwxrwxrwx. 1 root root 8 Jul 11 2019 sbin -> usr/sbin
drwxr-xr-x. 2 root root 4096 Apr 11 2018 srv
dr-xr-xr-x 13 root root 0 Aug 22 03:58 sys
drwxrwxrwt. 10 root root 4096 Aug 23 03:20 tmp
drwxr-xr-x. 14 root root 4096 Aug 22 18:57 usr
drwxr-xr-x. 19 root root 4096 Aug 22 21:13 var
drwxr-xr-x 6 root root 4096 Aug 22 21:03 www

更改文件基本状态属性

​ chgrp 更改文件属组 chgrp 数组名 文件名(少用)

​ chown 更改文件属主 chown 属主名 文件名(少用)

chmod 更改文件权限 重要

​ chmod ??? 目录名

​ 一个问号代表一个数字 这个数字可以是 0 1 2 3 4 5 6 7

​ 一个问号是一个人的权限 比如 权限是7 那就是可以读写执行

​ 读:4 写:2 可执行:1

Linux学习_第3张图片

查看文件内容:

​ Linux中使用一下命令查询文件内容:

​ cat:从第一行查询文件内容

​ tac:从最后一行查询文件内容

​ nl:显示行号

​ more:一页一页显示文件内容

​ less:与more相似 但是他可以向前翻页

​ 翻页方法:空格 向下翻页 上下键同理、退出查看:q

​ 查询字符串 /字符串 (向下)

​ ?字符串 向上查询字符串

​ n代表继续查询下一个符合要求的字符串,N向上

​ head 只查看头几行 -n 控制查看的行数 head -n 20 查看前20行

​ tall 看后几行

​ echo:向文件中输入普通字符串

​ touch:创建一个文件

文本编辑器vim

​ 有的Linux版本自带vim编辑器 有的没有 没有去百度谢谢

​ 直接 vim 文本名 如果文本名存在就是打开这个文本名

​ 如果不存在 就创建一个文本名

Linux学习_第4张图片

​ 编辑当前的文本 输入 i (insert)

Linux学习_第5张图片

​ 退出模式用esc 然后 : 最后 输入命令wq 保存并退出 顺序不能反 在后面加! 表示 强制退出 或者保存啥的

​ :set nu 显示文本行号

Linux学习_第6张图片

​ 数字键+空格 跳到文本当前行的第几个字符

​ 数字键+后撤 跳转到第几行

账号管理

添加用户

​ useradd -选项 用户名

​ -m 自动创建这个用户的主目录

Linux学习_第7张图片

删除用户

​ userdel -选项 用户名

​ -r 将这个用户名的目录页一并删除掉

Linux学习_第8张图片

修改用户

​ usermod -d 路径 用户名 修改用户路径

添加用户的密码

​ root用户:

​ 1.输入passwd 用户名

​ 2.输入密码

​ 3.再次输入密码

​ 完成!!!

​ 普通用户:

​ 1.passwd 不需要用户名 因为你输入这个命令时候 就是修改当前自己用户的密码 你没有权限修改别人的密码

​ 2.Unix password 当前密码

​ 3.new password

​ 4.再次输入

​ 完成!!!

​ 注意:你输入的密码内容 是默认不显示在控制台的 正常操作就行。而且 普通用户修改的密码如果太简单 则不生效

锁定用户

​ passwd -l 用户名 锁定之后 账户不能再登录了

​ passwd -d 用户名 没有密码的用户不能登录

​ passwd -u 用户名 解除锁定

操作用户组

​ 每个用户都有一个用户组,系统可以对一个用户阻中的所有用户进行集中管理 包不同的Linux系统方法不同

创建用户组

​ groupadd -g 520 zxh 创建zxh用户组 id为520

删除用户组

​ groupdel zxh

修改用户组

​ groupmod -f 500 -n zxha zxh

​ 修改zxh的名字为zxha id为500

磁盘管理

​ df 和 du 两个命令

​ df 查看磁盘的整体使用量 单位是字节

Linux学习_第9张图片

​ 添加-h 单位变成M

Linux学习_第10张图片

​ du 检查磁盘空间的使用量

进程管理

​ 1.在Linux进程中 每一个程序都有一个自己的一个进程 每一个进程都有一个id号

​ 2.每一个进程都有一个父进程

​ 3.进程可以两种存在方式 前后台运行

​ 4.一般的服务都是后台的 基本的程序都是前台的

命令

​ ps 查看当前系统中正在执行的各种进程的信息

​ ps -选项

  • -a 显示当前终端进程的所有的进程信息

  • -u 以用户的信息显示进程

  • -x 显示后台运行进程的参数

  • -ef 查询父进程的信息

    例如:ps -aux|grep mysql 查看mysql的进程信息

    | 代表管道符

    进程树:

    ​ PStree -pu

    -p 显示父id

    -u 显示用户组

    结束进程:kill -9 进程id

防火墙管理

​ 当你安装软件或者发布一个项目时候 需要对应的端口号

​ 当你没有开放端口号的话 防火墙是不允许你使用这个端口的

​ 同时 你的服务器安全组也要开放相应的端口

开启防火墙

​ service firewalld start

关闭防火墙

​ service firewalld stop

重启防火墙

​ service firewalld restart

开启防火组

​ firewall-cmd --zone=public --add-port=9000/tcp --permanent

​ 开启后重启防火墙 systemctl restart firewalld.service

查看防火墙

​ firewall-cmd --list-ports

在这里插入图片描述

–zone 作用域

–add-port=80/tcp 添加端口 格式为端口/通信协议

–permanent 永久生效 没有这个参数 重启后 添加的端口不生效

3.软件的安装和部署

1.rpm方式安装jdk

​ 安装jdk8

​ 1.带官网下载jdk8 rpm包 下载后放到Linux服务器中

​ 用xftp

​ 安装命令:rpm -ivh jdk包 安装成功!

​ 如果安装不对劲 卸载方式:

​ 1.rpm -qa|grep jdk 检测jdk的版本信息

​ 2.rpm -e --nodeps jdk版本信息 强制卸载

​ 注意:2中的jdk的版本信息是1中显示给你的

注意:如果jdkrpm安装方式不需要配置环境变量 如果你配置了会出现问题 部分命令不可用!!!切记!!!

安装过后就可以发布普通的java项目了

2.安装包的方式安装Tomcat

​ 1.官方下载Tomcat包 注意别下错了 是代码包不是源码包

​ 然后使用xftp 放到home目录中

​ 2.解压文件

​ tar -zxvf 包名

​ 3.解压成功 测试 ./startup.sh

3.以yum在线方式安装docker

​ 注意这个是在线安装 需要网络 如果你没有网络 不好使

​ 1.检测你的服务器版本

​ cat /etc/redhat-release

​ 2.安装环境准备

​ yum -y install gcc

​ yum -y install gcc-c++

​ 3.进入docker官网 查看下载步骤 注意 前两部做好再做这一步

注意:如果jdkrpm安装方式不需要配置环境变量 如果你配置了会出现问题 部分命令不可用!!!切记!!!

安装过后就可以发布普通的java项目了

2.安装包的方式安装Tomcat

​ 1.官方下载Tomcat包 注意别下错了 是代码包不是源码包

​ 然后使用xftp 放到home目录中

​ 2.解压文件

​ tar -zxvf 包名

​ 3.解压成功 测试 ./startup.sh

3.以yum在线方式安装docker

​ 注意这个是在线安装 需要网络 如果你没有网络 不好使

​ 1.检测你的服务器版本

​ cat /etc/redhat-release

​ 2.安装环境准备

​ yum -y install gcc

​ yum -y install gcc-c++

​ 3.进入docker官网 查看下载步骤 注意 前两部做好再做这一步

​ 因为这个不同的东西有不同的方式

你可能感兴趣的:(linux)