Linux是一种开源的Unix-like操作系统内核。它是由Linus Torvalds于1991年首次发布,其后经过全球的自由软件社区的持续开发和改进。Linux内核是操作系统的核心部分,但通常与GNU项目合作,以形成完整的操作系统,被称为Linux发行版(Linux distributions)。Linux发行版通常包含了Linux内核、GNU工具和库以及许多其他的开源软件,使得用户能够运行各种应用程序和服务。
Linux具有许多优点,包括免费、开源、高度可定制性、稳定性和安全性。它被广泛用于各种设备和环境,从个人计算机到服务器、嵌入式系统、移动设备和超级计算机。Linux也被用作云计算基础设施的基础,并且是许多互联网公司的首选操作系统之一。
linux快速上手
1.登录
- 命令行登录
- ssh登录
- 图形化界面
Root用户
- 一般会建立多个用户,控制权限
2.关机
linux、很多运行数据都在内存中
# 同步内存数据
sync# shutdown命令
shutdown# 定时关机
shutdown -h now
shutdown -g 20:30# 断电 poweroff
poweroff
3.目录结构
# 列举根目录下的所有文件
ls //bin bin二进制文件,存放常用的命令、系统的命令文件都在其中
/boot 文件,存放系统启动相关的核心文件
/dev 设备,外部设备文件夹
/etc 配置文件
/home 用户的主目录,每个登录的用户都会有自己的home目录文件
/lib 系统基本的动态连接库 类比window下的system32、dll文件
/root 超级管理员权限目录
/opt 主机安装的额外软件 oracle。。。
/tmp 临时文件目录
/usr 存放用户的软件文件目录,类比window下的programfiles
/usr/bin 系统用户的应用程序
/usr/sbin 高权限用户的程序、系统守护进程的程序
/usr/src 内核源代码目录
https://cloud.tencent.com/developer/article/1171831
4.目录常用命令
新建、删除、移动、重命名、复制…
ls: 列出当前目录(只展示文件名)
ls -a:列出全部文件(包括隐藏文件)
ll: 列出当前目录(列表展示详细信息)
ls -al:列出全部文件(列表展示)(包括隐藏文件)cd: 切换目录
cd ~ 切换至当前用户主目录pwd: 显示当前目录mkdir: 创建文件夹
mkdir test 没有任何提示,则成功
mkdir -p:创建层级目录
mkdir -p a/b/c/d
mkdir -m:指定权限rmdir: 删除目录
rmdir a
rmdir -p a/b/c/d 删除层级
rmdir -rf a cp: 复制目录
cp ./test.txt ./test 将当前文件夹下的test.txt拷贝至test目录 会提示是否覆盖原文件
5.文件常用命令
rm: 删除文件
rm ./test.txt
rm -i ./test.txt 提示是否删除
rm -f ./test.txt 忽略警告
rm -r /test 递归删除
rm -ri /test 递归询问删除
rm -rf /test 递归忽略删除 # 及其危险的操作命令 rm -rf /* 递归删除所有数据mv: 移动
mv ./test.txt ./test 将当前文件夹下的test.txt移动至test目录 会提示是否覆盖原文件
mv ./test ./test2
6.文件属性说明
ls -l 查看文件的所有属性
读写权限 rwx rwx rwx 可读可写可执行
rwx:属主 rwx:属组 rwx:其他用户rwx用数字表示 r4 w2 x1
777:rwxrwxrwx给文件或文件夹授权:
chmod 777 ./test.txt
chmod 777 ./test
7.文件查看命令
linux中查看文件的命令很多
cat ./test.txt
tac ./test.txt 倒序展示文件内容
nl ./test.txt 显示行号
more ./test.txt 查看大文本 space翻页 回车向下展示一行 b向上翻页 q退出查看
less ./test.txt 查看大文本 space翻页 /xxx ?xxx 支持搜索字符串,匹配的内容高亮显示
head -n 10 ./test.txt 展示文件前10行
tail -n 10 ./test.txt 展示文件后10行
参数 -f 实时查看文件内容 查看日志的场景会使用
8.linux硬链接软链接
ln 硬链接 通过索引来进行文件链接
删除源文件后,硬链接的文件仍能正常使用
ln -s 软链接
删除源文件后,软链接的文件也就无法使用了
9.vim的使用
vi/vim共三种模式。命令模式、输入模式、底线命令模式。
- 命令模式
# 1.打开文件
vim test.txt 存在则打开,不存在新建
# 2.进入编辑模式
输入i
# 3.输入编辑内容,esc退出
xxxxxx
#4.按:进入底线命令模式
输入命令wq保存退出
- 输入模式
在命令模式下,输入i进入输入模式
- 底线命令模式
在命令模式下,输入:进入底线命令模式
常用操作命令 https://juejin.cn/post/7070699702732783623
10.linux用户管理
Root用户,系统最高级别的用户
权限足够的用户可以新建用户,linux是多用户系统。
useradd 添加用户-m 产生一个用户主目录
-g 分配到某个组
useradd -m 用户名设置或修改用户密码
passwd 用户名
root可以给所有用户修改密码查看用户 信息
id 用户名userdel 删除用户
userdel 用户名
userdel -r 用户名 递归删除用户及用户的所有文件
用户组管理
# 添加一个用户组
groupadd 用户组名称
# 查看系统当前具备的用户组
cat /etc/group
#组都会有一个id,从1000开始计数。之前的是系统保留数。#设置用户组id。可以修改为系统保留id
groupmod -g 110(不可重复) 用户组名称#设置用户组重命名
groupmod -n 新用户组名称 旧用户组名称
系统文件
# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin # 伪用户,某些系统命令需要用到的数据
/etc/passwd
是一个在 Unix-like 系统中存储用户账户信息的文件,包含了系统中所有用户的基本信息。这个文件的每一行都代表一个用户账户,并且由一系列以冒号分隔的字段组成。一般来说,这些字段包括以下内容:
-
用户名(Username): 这是用户的登录名,用于识别用户身份。每个用户名必须在系统中是唯一的。
-
密码(Password): 这个字段一般不再使用
/etc/passwd
中存储实际的密码,而是通常用x
或者*
代替,而真正的密码则存储在/etc/shadow
文件中。这是出于安全考虑,避免密码被轻易获取。 -
用户ID(User ID): 每个用户都有一个唯一的用户ID,用于系统内部标识用户。在 UNIX 系统中,用户ID在整个系统中必须是唯一的。
-
组ID(Group ID): 这个字段代表用户所属的主组的组ID。在 UNIX 系统中,用户可以属于多个组,但是这里只指定了主要的组。
-
用户信息(User Information): 这个字段通常包含用户的一些个人信息,如全名、联系方式等。
-
家目录(Home Directory): 这是用户登录后所处的默认目录。通常用户在登录时会自动进入这个目录。
-
登录Shell(Login Shell): 这个字段指定了用户登录后所使用的默认Shell。Shell是用户与操作系统之间进行交互的界面,常见的包括bash、sh、zsh等。
这些字段之间用冒号分隔。一个典型的 /etc/passwd
文件的行可能如下所示:
john:x:1000:1000:John Smith:/home/john:/bin/bash
这表示一个名为 john
的用户,他的用户ID和组ID都是 1000,全名是 John Smith,家目录是 /home/john
,默认Shell是 /bin/bash
。而密码字段 x
或者 *
则表示密码已经被加密并存储在 /etc/shadow
文件中。
11.磁盘与进程
磁盘管理df命令
在Linux中,df
命令有以下常用参数:
-a
:显示所有文件系统,包括虚拟文件系统。-B
,--block-size
:以指定的块大小显示磁盘空间信息。-h
,--human-readable
:以人类可读的格式显示磁盘空间信息,例如,以GB、MB等单位显示。-H
:类似于-h
参数,但是使用1000而不是1024作为单位的换算。-i
,--inodes
:显示inode(索引节点)使用情况而不是磁盘块使用情况。-l
,--local
:仅显示本地文件系统,不显示网络文件系统。-P
,--portability
:以POSIX兼容的格式显示输出。-t
,--type
:仅显示指定类型的文件系统。-T
,--print-type
:显示文件系统类型。--sync
:在显示磁盘空间信息之前,强制刷新缓存。-x
,--exclude-type
:不显示指定类型的文件系统。--output
:以自定义的格式显示输出。
进程管理ps命令
在linux中,所有跑起来的服务都是进程。
ps命令
grep命令
grep正则,匹配我们想要的信息。
|管道符
命令A|命令B,将命令A的输出作为命令B的输入。
ps -ef | grep xxx #查询某一类进程
ps
命令用于显示当前进程的状态信息。以下是ps
命令的一些常用参数:
-a
:显示所有终端的进程,包括其他用户的进程。-A
:显示所有进程。-e
:显示所有进程,等同于-A
。-f
:以全格式显示进程信息。-l
:以长格式显示进程信息。-u
:以用户为基础显示进程信息。-x
:显示没有控制终端的进程。-C <命令名称>
:仅显示指定命令的进程信息。-p <PID>
:显示指定PID的进程信息。-r
:只显示正在运行的进程。-H
:显示进程的层次结构关系。-h
:隐藏标题行。--forest
:以树状结构显示进程关系。--sort
:指定按照特定字段排序显示进程信息。--no-headers
:不显示标题行。--pid
:仅显示指定PID的进程信息。--user
:以用户为基础显示进程信息。--format
:自定义输出格式。--help
:显示帮助信息。--version
:显示版本信息。
Kill 终止进程
kill
命令用于终止一个进程。其基本用法是:
kill [选项] 进程ID
常用的选项包括:
-9
或-SIGKILL
:强制终止进程,即发送一个无法捕获的信号给目标进程,使其立即终止。这是最强烈的终止信号,但也是不可恢复的。例如:kill -9 进程ID
-15
或-SIGTERM
:优雅地终止进程,即发送一个可以被进程捕获并进行清理操作的终止信号。这是默认的终止信号。例如:kill -15 进程ID
-TERM
:与-15
相同,指定终止信号为SIGTERM
。-HUP
或-SIGHUP
:向进程发送挂起信号,通常用于重新加载配置文件或重新启动服务。例如:kill -HUP 进程ID
如果未指定信号选项,默认发送SIGTERM
信号。
12.软件安装
rpm
rpm -ivh rpm包名vim /etc/profile
#添加环境变量#保存退出后 使新配置文件生效
source /etc/profile
tar解压及防火墙
tar -zxvf 压缩包名称 #在当前目录全解压
防火墙
-
启动 firewalld 服务:
# systemctl sutaus firewalld 查看防火墙状态 systemctl start firewalld
-
停止 firewalld 服务:
systemctl stop firewalld
-
重启 firewalld 服务:
systemctl restart firewalld
-
开放端口:
firewall-cmd --zone=public --add-port=[端口号]/[协议] --permanent
-
重新加载 firewalld 规则:
firewall-cmd --reload
-
查看开放的端口:
firewall-cmd --list-ports
yum
在线安装,安装地址在国外。对于国内的服务器,需要翻墙。失败则需要通过安装包的形式安装。
sudo yum install -y -yum-utilsyum update 更新包
yum remove 删除包
13.宝塔界面
https://www.bt.cn/new/index.html