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-utils
yum update	更新包
yum remove	删除包
13.宝塔界面
https://www.bt.cn/new/index.html


















