Linux学习笔记

1 环境搭建

方式一:安装CentOS

下载地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/

方式二:阿里云远程

1、阿里云购买服务器:https://www.aliyun.com

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

3、下载 xShell 工具,进行远程连接使用

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

2 登录

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

开机成功后,它会显示一个文本登录界面,这个界面就是我们经常看到的登录界面,在这个登录界面中会提示用户输入用户名,而用户输入的用户将作为参数传给login程序来验证用户的身份,密码是不显示的,输完回车即可

点击屏幕进入虚拟机、Ctrl+Alt将聚焦退出出虚拟机

一般来说,用户的登录方式有三种:

 命令行登录

    ssh登录

    图形界面登录

最高权限账户为 root

3 关机

在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。

关机指令为:shutdown

4常用基本命令

    绝对路径和相对路径

我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /;其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。

比如说在360Downloads目录下,如果想要进入这个目录,那么可以使用cd

    cd : 切换目录命令

    cd … : 返回上一级目录

    ./ : 代表当前目录

ls - 列出目录

-a 参数 : 查看全部文件,也可以是隐藏文件

-l 参数: 列出所有的文件,包含文件的属性和权限,看不了隐藏文件

linux命令可以组合使用

在这里插入图片描述

cd - 切换目录

cd + 目录名(绝对路径和相对路径)

    绝对路径,linux中的都是以/开头的 在任意地方使用

    相对于当前目录该如何寻找 …/… 在相对地方使用

cd: 切换目录命令!

./: 当前目录

/: 绝对路径

cd..: 返回上一级目录

cd ~: 回到当前的用户目录

pwd : 显示当前用户所在的目录

mikdir - 创建一个目录

mikdir xx:在当前目录下创建一个文件夹

mkdir -p xx/xx/xx:以当前目录为起点,创建多级目录(递归创建)

rmdir - 删除目录

rmdir xx:删除当前目录下指定文件夹

rmdir -p xx/xx/xx:以当前目录为起点,删除多级目录(递归删除)

注意:不可以直接删除不为空的文件夹,如果里面存在文件,需要删除文件

cp - 复制文件或者目录

cp 原来的地方 新的地方:复制文件或目录到指定位置

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 忽略不存在的文件,不会出现警告,强制删除

-r 递归删除目的

-i 互动,删除的时候询问是否删除

mv 移动文件或者目录

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

-u :若目标文件已经存在,且 source 比较新,才会升级 (update)

文件内容查看

cat :由第一行开始显示文件内容,用来读文章,或者读取配置文件

head:只看头几行

tail:只看尾巴几行

5 Vim编辑器

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。、

三种使用模式

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)

命令模式

用户刚刚启动 vi/vim,便进入了命令模式。

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

以下是常用的几个命令:

i :切换到输入模式,以输入字符。

x :删除当前光标所在处的字符。

esc :退出编辑模式

:  切换到底线命令模式,以在最底一行输入命令。

输入模式

在输入模式中,可以使用以下按键:

字符按键以及Shift组合:输入字符

ENTER:     回车键,换行

BACK SPACE:退格键,删除光标前一个字符

DEL:      删除键,删除光标后一个字符

方向键:   在文本中移动光标

ESC:退出输入模式,切换到命令模式

6 账号管理

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

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

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

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

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

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

    用户口令的管理。

    用户组的管理。

添加用户 useradd

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

useradd 选项 用户名

删除用户 userdel

userdel -r xiaoqi : 删除用户的时候将他的目录一并删掉

除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。

删除一个已有的用户账号使用userdel命令,其格式如下:

userdel 选项 用户名

常用的选项是 -r,它的作用是把用户的主目录一起删除。

修改用户 usermod

修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。

修改已有用户的信息使用usermod命令,其格式如下:

usermod 选项 用户名

切换用户

    切换用户的命令为:su username 【username是你的用户名哦】

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

    在终端输入exit或logout或使用快捷方式ctrl+d,可以退回到原来用户,其实ctrl+d也是执行的exit命令

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

$表示普通用户

#表示超级用户,也就是root用户

查看主机名:hostname
修改主机名(修改后需要重启服务器):hostname【主机名】

设置密码

一般通过超级用户root创建用户的时候,给他设置一个密码

passwd 选项 用户名

可使用的选项:

    -l 锁定口令,即禁用账号。

    -u 口令解锁。

    -d 使账号无口令。

    -f 强迫用户下次登录时修改口令。

如果默认用户名,则修改当前用户的口令。

锁定账户

冻结账号,该账号就无法登陆

passwd -l sgx 锁定之后就不能登陆了

清空密码,该账号也无法登陆

passwd -d sgx 清空密码,无法验证下一次也就无法登陆

7 用户组管理

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

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

创建用户组 groupadd

groupadd 选项 用户组

删除用户组 groupdel

groupdel 用户组

修改用户组的权限、名称 groupmod

groupmod 选项 用户组

8查看group、shadow、passwd等重要文件

/etc/passwd

完成用户管理的工作有许多种方法,但是每一种方法实际上都是对有关的系统文件进行修改。

与用户和用户组相关的信息都存放在一些系统文件中,这些文件包括/etc/passwd, /etc/shadow, /etc/group等。

下面分别介绍这些文件的内容。

/etc/passwd文件是用户管理工作涉及的最重要的一个文件。

Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了这个用户的一些基本属性。

/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:

用户名:口令(登录密码,我们不可见):用户标识号:组标识号:注释性描述:主目录:登录Shell

这个文件中的每一行都代表这一个用户,我们可以从这里看出这个用户的主目录在哪里,可以看到属于哪一个组。

9 磁盘管理

Linux磁盘管理好坏直接关系到整个系统的性能问题。

Linux磁盘管理常用命令为 df、du。

df命令:列出文件系统的整体磁盘使用量

功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

df [参数] [目录或文件名]

选项与参数:

    -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;

    -k :以 KBytes 的容量显示各文件系统;

    -m :以 MBytes 的容量显示各文件系统;

    -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;

    -H :以 M=1000K 取代 M=1024K 的进位方式;

    -T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;

    -i :不用硬盘容量,而以 inode 的数量来显示

du命令:检查磁盘空间使用量

du命令是对文件和目录磁盘使用的空间的查看,与 df 不一样的是,du 这个命令其实会直接到文件系统内去搜寻所有的文件数据。

du [参数] 文件或目录名称

选项与参数:

    -a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。

    -h :以人们较易读的容量格式 (G/M) 显示;

    -s :列出总量而已,而不列出每个各别的目录占用容量;

    -S :不包括子目录下的总计,与 -s 有点差别。

    -k :以 KBytes 列出容量显示;

-m :以 MBytes 列出容量显示;

磁盘的挂载与卸除

根文件系统之外的其他文件要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,(Mac os和linux类似)

    此关联操作即为“挂载”,

    此目录即为“挂载点”,

    解除此关联关系的过程称之为“卸载”

Linux 的磁盘挂载使用mount命令,卸载使用umount命令。

    磁盘挂载语法:

mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点

    磁盘卸载命令 umount 语法:

umount [-fn] 装置文件名或挂载点

选项与参数:

    -f :强制卸除!可用在类似网络文件系统 (NFS) 无法读取到的情况下;

    -n :不升级 /etc/mtab 情况下卸除。

10 进程管理

Linux一切皆文件(文件:读写执行,权限(用户,用户组),系统:(磁盘,进程))

    什么是进程?

    在linux中每一个程序都有自己的一个进程,每一个进程都有自己的id号

    每一个进程都会有一个父进程

    进程有两种存在方式:前台,后台运行

    一般的话,服务都是后台运行的,基本的程序都是前台运行的。

命令

ps -help  # 查看帮助信息

man ps   # 查看帮助信息

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

ps -xx

参数:

    -a : 显示当前终端正在运行的进程信息

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

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

在linux中这个 | 叫做管道符 , A | B,将A查询的信息以命令的形式给B

# ps -aux 查看所有的进程

ps -xx |grep 进程名字:过滤进程信息

#grep 查找文件中符合条件的字符串

kill:杀死进程

kill -9 进程的id : 表示强制结束该进程

nuhup:后台执行该程序

11 环境安装

安装软件一般有三种方式:rpm、解压缩、yum在线

JDK(rpm安装)

注:rpm安装软件无需配置环境变量,只有本地解压缩安装才需要手动配置环境变量

1.下载jdk的rmp包,去orcale官网下载:

https://www.oracle.com/java/technologies/downloads/#java8

2.安装java环境

# 1. 检查当前系统是否存在java环境:java -version

# 2. 如果存在java环境就先卸载:

rpm -qa|grep jdk  #检测jdk版本信息

rpm -e --nodeps jdk_ #卸载

3. 安装jdk

rpm -ivh rpm包

    jdk卸载:

    jdk安装:

(如果是解压缩安装才需要手动配置环境变量)配置环境变量:在/etc/profile文件中

JAVA_HOME=/usr/java/jdk1.8.0_311-amd64

CLASSPATH=%JAVA_HOME%/lib;%JAVA_HOME%/jre/lib;

PATH=$PATH:$JAVA_HOME/bin;$JAVA_HOME/jre/bin

export PATH CLASSPATH JAVA_HOME

在文件的最后增加Java的配置,和windows环境变量一样

让这个配置文件生效:source /etc/profile

测试:

在这里插入图片描述

Tomcat(解压缩安装)

    1.下载tomcat安装包,上传到服务器中

    2.解压文件

tar -zxvf XXX

    3.启动tomcat

进入/apache-tomcat-8.5.75/bin

# -->启动tomcat

./startup.sh

# -->关闭tomcat

./shutdown.sh

4.测试访问

确保Linux的防火墙端口是开启的,如果是阿里云,需要保证阿里云的安全组策略是开放的

# 查看firewall服务状态

systemctl status firewalld

# 开启、重启、关闭、firewalld.service服务

# 开启

service firewalld start

# 重启

service firewalld restart

# 关闭

service firewalld stop

# 查看防火墙规则

firewall-cmd --list-all    # 查看全部信息

firewall-cmd --list-ports  # 只看端口信息

# 开启端口

开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent

重启防火墙:systemctl restart firewalld.service

命令含义:

--zone #作用域

--add-port=80/tcp  #添加端口,格式为:端口/通讯协议

--permanent   #永久生效,没有此参数重启后失效

Docker(yum安装)

yum安装gcc相关

yum -y install gcc

yum -y install gcc-c++

卸载旧版本

yum -y remove docker docker-common docker-selinux docker-engine

# 直接复制即可

yum remove docker \

          docker-client \

          docker-client-latest \

          docker-common \

          docker-latest \

          docker-latest-logrotate \

          docker-logrotate \

          docker-engine

安装需要的软件包

yum install -y yum-utils device-mapper-persistent-data lvm2

设置stable镜像仓库

# 正确推荐使用国内的

yum-config-manager-add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新yum软件包索引

yum makecache fast

安装Docker CE

yum -y install docker-ce docker-ce-cli containerd.io

启动docker

systemctl start docker

测试

docker version

docker run hello-world

docker images

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

李啊嘿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值