Linux学习笔记心得

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
云防火墙,500元 1000GB
简介: 学习Linux基础服务器知识,常见命令的使用

1、环境搭建2、基础内容3、目录管理4、文件管理5、链接6、Vim编辑器7、用户账号管理8、用户组管理9、磁盘管理10、进程管理11、防火墙管理12、环境安装

1、环境搭建

需要一台云服务器,下面的学习都是在阿里云的云服务器上进行的的,也可以在自己的电脑上安装虚拟机,在虚拟机上进行学习。

使用xshell连接远程云服务器,一般还会下载一个xftp来从远程服务器上传和下载文件,也可以使用lrzsz命令实现windowlinux之间文件交换。sz命令从服务器移动到window,rz命令从window到服务器。

xshell、xftp下载地址:https://www.xshell.com/zh/free-for-home-school/

输入登录账号和密码就可以进行连接了,如何password不能填写,需要在买来的服务器上重置一些密码,直接在云服务器商的控制台中重置即可。

2、基础内容

关机命令

shutdown # 关机指令

shudown -c  # 取消关机命令

shutdown -h10# 在10秒后关机

shutdown -h now # 立刻关机

shutdown -h10:59 # 在这天的10:59会关机

shutdown -h+10# 10分钟后关机

shutdown -r now # 立刻重启

shutdown -r+10# 10分钟后重启

reboot # 立即重启

halt # 立即关闭系统

sync # 将数据同步到硬盘中,在重启或关闭需要执行这个操作

目录结构:系统的根目录是 / ,系统的所有东西都都放在这个目录下。

  • /bin:这个目录中存放着使用的命令,所有的命令文件都放在这个目录下。
  • /boot:存放启动Linux时的核心文件,包括一些连接文件和镜像文件。(不要动)
  • /dev:存放Linux的外部设备,例如USB、DVD等等外部设备。
  • /etc:存放系统管理需要的配置文件及其子文件。
  • /home:用户主目录,也可以是 /~这个目录,每个用户都有自己的一个/home文件夹。
  • /lib:存放系统基本的动态连接共享库。(不要动)
  • /lost+found:当系统非法关机时,就会有一些文件,默认这个目录下是空的。
  • /media:会自动识别外部设备,例如U盘、光驱等,Linux识别的设备都会挂架到这个目录下。
  • /mnt:提供用户临时挂载的文件目录。
  • /opt:存放系统中额外安装软件的存放位置,默认是空的。
  • /proc:一个虚拟目录,它是系统内存的映射。( 不要动)
  • /root:系统管理员目录,就是超级管理员的用户主目录。
  • /sbin:存放超级管理员的系统管理程序。
  • /srv:存放一些服务启动之后需要提取的数据。
  • /sys:存放一些系统文件。
  • /tmp:存放一些临时文件,用完就删除的目录,例如可以放一些安装包。
  • /usr:存放用户应用程序和文件,相当于windows中program files目录。
  • /usr/bin:用户使用的应用程序。
  • /usr/sbin:超级管理员使用的应用程序。
  • /usr/src:内核源码存放的目录。
  • /var:存放一些经常修改的文件,例如存放一些日志文件。
  • /run:临时文件目录,存放系统启动以来的数据。当系统重启时,应该删除这个目录下的文件。
  • /www:存放服务器网站相关的资源,例如环境、网站项目等。

3、目录管理

cd命令:用于切换目录。

# 相对路径和绝对路径

# 相对路径:是相当于当前目录下的路径 ./ 表示当前目录

# 绝对路径:在Linux中 / 始终表示系统的根目录

cd ..   # 切换到上一级目录中

cd /    # 切换到根目录下

cd ./test   # 切换到当前目录下的test文件夹下

ls命令:用于列出当前目录下的文件列表。

ls  # 列出目录下的文件列表,不包含隐藏文件

ls-a   # 列出所有文件列表,包括隐藏文件

ls-l   # 列出文件列表,包括文件的属性和权限,不包含隐藏文件

ls-al  # 累出文件列表,包括文件的属性和权限,包含隐藏文件

pwd命令:显示当前目录的路径。

mkdir命令:创建新文件夹。

mkdir 新文件夹名 # 创建一个新文件夹

mkdir-p test1/test2/test3  # 新建多级目录

rmdir命令:删除目录。

rmdir 文件夹名  # 删除一个空的文件夹,如果不为空就不能删除

rmdir-p test1/test2/test3  # 删除多级目录的文件夹,删除为空的文件夹,不为空的文件夹不能删除,相当于删除test1目录下的所有空文件夹,如果test1下存在文件,test1也不会删除

cp命令:复制文件或文件夹。

cp 旧目录 新目录  # 将旧的目录或文件拷贝到新的目录下,如果文件重复,它会让你选择是否覆盖当前目录

rm命令:删除文件或文件夹。

rm 文件名  # 删除文件

rm-f 文件    # 强制删除文件

rm-rf 文件或文件夹   # 递归删除文件或文件夹

rm-i 文件或文件夹    # 删除的时候会询问你是否删除

mv命令:移动文件或文件夹。

mv 移动文件或文件夹 新目录下    # 把文件或文件夹移动到新的目录下

mv-f 移动文件或文件夹 新目录下 # 强制移动

mv-u 移动文件或文件夹 新目录下 # 只替换修改的文件,移动的新目录已存在该文件,就会替换修改后文件

mv 旧文件 新文件名 # 用于重命名文件名

4、文件管理

文件属性

Linux是一个典型的多用户操作系统,不同用户拥有不同的权限,我们可以通过ll或者ls -l来查看文件的属性。

文件属性的第一个字母,这个字母表示文件是一个目录、文件、还是链接。

  • d:表示这是一个目录。
  • -:表示这是一个文件。
  • l:表示这是一个链接,相当于是快捷键。
  • b:表示文件里有可提供存储的接口设备。
  • c:表示这是装置文件中的串口设备,例如鼠标、键盘等。

第一个字母后面的九个字母表示,三个为一组,分别是rwx,r表示读,w表示写,x表示执行,没有对应的权限就是 -

l rwx rwx rwx 1 root root 7 Jul 11 2019
表示文件类型,这是个链接 属主的权限,这个文件的拥有者的权限,可读可写可执行 属组的权限,属于某个组的用户的权限,可读可写可执行 其他用户的权限,系统中其他用户的权限,可读可写可执行 文件中个数 属主,这个文件属于哪个用户 属组,这个文件属于哪个权限组 表示文件的大小 文件创建的日期

修改文件属性

  • 修改属组:

# 属组名必须存在

chgrp [-R] 属组名 文件名 # 更改文件的属组

# -R 表示递归修改子目录下所有文件的属组名

  • 修改属主:

# 属主必须存在

chown [-R] 属主名 文件名 # 更改文件属主

  • 修改文件的权限:

Linux中文件属性有两种表示方式:1、数字;2、符号;我们通常使用数字来修改文件得权限。

r:4(读)  w:2(写)  x:1(执行)


chmod -R 777 文件名 # 修改文件的权限为可读可写可执行

# 第一个7表示属主的权限 4+2+1 = 7

# 第二个7表示属组的权限

# 第三个7表示其他用户的权限


# 也可以通过字符来修改文件的属性

chmod u/g/o/a  +/-  r/w/x   文件名

# u表示文件所有者、g表示文件所有者所在组、o表示其他用户、a表示三者全部。可以搭配使用,如ug表示文件所有者及其所在组;

chmod u-x,go+wx index.html

查看文件内容

cat 文件名  # 从第一行查看文件内容

tac 文件名  # 从最后一行查看文件内容,倒序查看

nl 文件名  # 标有行号查看文件内容

more 文件名 # 一页一页查看文件内容,空格是翻页,但是只能向下翻页

less 文件名 # 与more类似,但是可以向上翻页,pageup向上翻页,pagedown向下翻页

head -n 行数 文件名 # 查看文件前20行的内容

tail -n 行数 文件名 # 查看文件后20行内容


# 使用more和less查看内容时:

# q命令:退出查看

# /字符串:向下查询字符串

# ?字符串:向上查询字符串

# n:向上移动一个查询的字符串

# N:向下移动一个查询的字符串

5、链接

在目录管理中,我们知道文件类型中有链接类型,在Linux中链接分为硬链接和软链接(符号链接)。

硬链接:指向源文件,相当于是一个文件,即使删除了源文件,硬链接还是能够指向源文件,通常用于备份文件。

软链接:指向源文件,相当于是windows中的一个快捷键,但是删除了源文件后,软链接也会失效。

ln 源文件 硬链接文件 # 创建一个硬链接

ln -s 源文件 软链接文件  # 创建一个软链接文件

echo "内容" >> 文件  # 将内容输入到文件中

由于硬链接和软链接都指向源文件,所以源文件发生改变,链接文件也会发生改变。

6、Vim编辑器

Vim编辑器:是从vi发展而来的一个文本编辑器,代码补全和编译错误等功能,在Linux中被广泛使用,简单方便。

在Vim中有三种模式:1:命令模式;2、输入模式;3、底线命令模式;

命令模式:用户启动Vim编辑文件就进入命令模式。

vim 文件 # 编辑文件,进入命令模式

命令模式下可执行的操作:

  • i | a | o 键:可以进入输入模式,可以对文件进行编辑,按下i a o 其中一个都可以进入输入模式。
  • x 键:可以删除光标所在行。
  • 输入 : :可以切换到底线命令模式。

输入模式:可以编辑文件的模式,在命令模式下,按下 i 就可以进入输入模式。

输入模式下可执行的操作:

  • ESC键:退出编辑模式,进入命令模式。

底线命令模式:在命令模式下,按下 : 进入底线命令模式,可以在 : 后面输入命令。

底线命令模式可执行的操作:

  • q:退出编辑文件,但是不保存。
  • w:保存文件,但是不退出编辑。
  • wq:保存文件并退出。
  • ESC :退出底线命令模式,进入命令模式。
  • q!:强制退出。
  • w!:强制保存,但是保存的成功与否,更用户的权限有关。
  • wq!:强制对出保存。

如果使用 vim 编辑一个不存在的文件,它会自动创建这个文件。

vim 使用:

  • 在命令模式下,输入 /查询字符串,向下查询字符串。
  • 在命令模式下,输入 ?查询字符串,向上查询字符串。
  • 在命令模式下,输入 n,向上移动一个查询到的字符串。
  • 在命令模式下,输入 N,向下移动一个查询到的字符串。

7、用户账号管理

Linux是一个多用户、多任务的分时操作系统,在Linux上可以同时登陆多个用户。用户的管理包括增加用户、修改用户、删除用户等操作。

增加用户:在root用户下可以添加其他用户。

useradd 用户名 # 添加一个用户

useradd -c "备注" 用户名 # 创建一个用户并添加备注

useradd -m 用户名 # 创建一个用户,如果在/home目录下不存在这个用户的目录,则会自动创建一个用户目录,存在就报错,就使用-d来创建

可以在 /etc/passwd 这个文件下查看系统下的所有用户。

删除用户

userdel 用户名 # 删除某个用户

userdel -r 用户名 # 删除用户,并删除用户的目录

修改用户

# -c是备注;-d是用户目录;-g是用户属组;

usermod -c/-d/-g 新内容 用户名

切换用户

在Linux中,# 表示是超级管理员的命令窗口,$ 表示是普通用户的命令窗口。

hostname 主机名 # 修改主机名称,但是是临时的,重启就失效了

su 用户名 # 切换到指定用户名下

exit # 退出账户,返回到自己用户下

sudo su root # 切换到超级管理员账户下

设置用户密码:如果用户的密码为空,不能远程连接

passwd 用户名 # 修改用户的密码

锁定账户

passwd -l 用户名 # 锁定用户,锁定之后用户就不能登录系统了

passwd -u 用户名 # 解锁用户名

8、用户组管理

每一个用户都对应一个用户组,在这个组中可以集中对用户进行管理,创建了一个用户,也会创建一个对应的用户组。在Linux中对用户组的管理实质就是对 /etc/group 文件的管理。一般在创建用户时,就可以给新建用户设置一个组,通过 -G 组名来设置组

创建用户组

groupadd 组名 # 新建一个用户组

groupadd -g 组id 组名 # 新建一个组,并指定组的id,id是唯一的,如果不指定id默认是最大id自增1

查看所有的组:cat /etc/group

删除组

groupdel 组名 # 删除一个组

修改组

groupmod -g 新组id -n 新组名 修改的组名 # 修改组的id和组名称

9、磁盘管理

查看系统整体磁盘使用量

df # 查看系统整体磁盘使用量,以字节显示

df -h # 以MB单位显示

查看一个目录的具体使用

# 在某个目录下使用 du 命令,查看这个目录的使用情况

du # 不包含隐藏文件

du

du -a # 包含隐藏文件和子目录文件

挂载和卸载

mount 外部设备 挂载的目录 # 将外部设备,挂载到需要挂载的目录下

umount -f 挂载的目录 # 强制卸载挂载的目录

10、进程管理

进程:在Linux中,每一个程序都有自己的进程,每一个进程都有一个进程编号,也有一个自己的父进程。进程分为两种,一种是前台运行、一种是后代运行的。在Linux中,一般服务都是在后台运行的,其他一般程序是前台运行。以后我们发布的SpringBoot项目需要在后台运行才行。

ps -aux # 查看所有的进程,a表示当前进程,u表示当前用户的进程,x表示后台运行的进程,这三个可以分开使用

ps -ef # 也可以查看所有的进程信息,这个可以看到父进程信息

pstree -pu # 通过目录树查看进程,p显示进程pid,u显示进程的用户组

# 在Linux中 | 这个符号是管道符,通常用于过滤,例如 A | B,就是把A查询的结果输出给B

ps -ef | grep 进程名 # -ef查看所有进程,| 进行过滤,grep查找符合条件的字符串,这个就是查看该进程的信息

结束进程

kill -9 进程pid # 强制结束这个进程pid的进程

kill -s 进程名/进程pid # 结束某个进程

top # 实时显示进程的信息,q退出查看

nohup 命令 # 将服务放在后台运行,即使关闭终端,依然在服务器上运行

nohup java -jar /xxx/xxx/xxx.jar >/dev/null 2>&1 &

# >/dev/null 2>&1 &  这一部分表示 /dev/null是一个虚拟的空设备(类似物理中的黑洞),任何输出信息被重定向到该设备后,将会石沉大海,没有任何的日志输出

# 也可以自定义日志输出,log.file就是日志的输出文件

nohup java -jar /xxx/xxx/xxx.jar> log.file 2>&1 &

11、防火墙管理

常用命令

firewall-cmd --list-ports # 查看防火墙开放的端口,如果使用的是阿里云服务器需要在阿里云配置安全组

firewall-cmd --zone=public --add-port=端口号/服务类型(tcp或者udp) --permanent # 开启防火墙某个端口

# --zone表示作用域是public,--add-port添加的端口号,--permanent有这个参数是永久有效,没有这个参数重启就失效

# 开启某个端口后需要重启防火墙

systemctl restart firewalld.service # 重启防火墙


systemctl start <服务名> # 启动某个服务

systemctl stop <服务名> # 停止某个服务

systemctl restart <服务名> # 重启某个服务

12、环境安装

rpm 方式安装:

首先需要去官网下载对应的 rpm 包,然后上传到服务器,也可以通过在线下载 rpm 包。

rpm -qa|grep 包名称 # 查看以安装的rpm包,通过了grep过滤

rpm -e --nodeps 安装的rpm名称 # 卸载已安装的rpm包

rpm -ivh rpm包 # 进行安装rpm包

编译安装

yum 在线安装

cat /etc/redhat-release  # 查看自己系统的版本信息

yum -y install 包名 # 在线安装包名,-y表示遇到需要确定就是是y

最近发现除了腾讯云和阿里云之外的一种好用的云服务器,那就是三丰云云服务器,它拥有众多的功能,其中一个就是可以免费试用一款云服务器,下面介绍它的使用方式。

官方地址:https://www.sanfengyun.com/

然后进行一个实名认证和微信的绑定就可以申请一个 1c1g的免费服务器。


相关文章
|
6月前
|
网络协议 Java Linux
Linux学习笔记
Linux学习笔记
108 0
|
2月前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
1月前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(三):Linux下操作指令大全
Ubuntu学习笔记,介绍了Linux操作系统中常用的命令和操作,如文件管理、系统信息查看、软件安装等。
46 3
|
2月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
3月前
|
存储 运维 Shell
运维.Linux.bash学习笔记.数组及其使用
运维.Linux.bash学习笔记.数组及其使用
36 0
|
4月前
|
Shell Linux
RSIC-V“一芯”学习笔记(二)——Linux入门教程
RSIC-V“一芯”学习笔记(二)——Linux入门教程
|
5月前
|
数据可视化 Shell Linux
技术笔记:Linux学习笔记1
技术笔记:Linux学习笔记1
33 0
|
6月前
|
Linux 开发工具 索引
Linux 学习笔记索引
Linux 学习笔记索引
|
6月前
|
缓存 监控 Linux
Linux 学习笔记十九:常见监控工具
Linux 学习笔记十九:常见监控工具
Linux 学习笔记十九:常见监控工具
|
6月前
|
监控 Linux
Linux学习笔记十二:Linux 工作管理
Linux学习笔记十二:Linux 工作管理
Linux学习笔记十二:Linux 工作管理