目录
2.4 文件操作——touch、cat、more、cp、mv、rm、tail
11.3.主机名操作——hostnamectl、hostname
12.2 发送网络请求用于下载/上传文件、获取信息等功能——curl
学习
1、目录结构及路径:
1、/xxx/xxx/.....,永远以/开头因为是以/作为根目录向下分层
2、相对路径和绝对路径与window相同
3、.表示当前路径,..表示上一级目录,~表示home目录
1.1 常用系统目录
1.1.1 /etc/profile
这是一个全局配置文件,影响系统中所有用户的shell环境。
1.1.2 /root/.bash_profile
这是一个用户级的配置文件,仅影响root用户的shell环境。
1.2 常用文件后缀
.sh
文件在Linux系统中是shell脚本文件,它们包含了一系列的命令,这些命令可以由shell(如bash、sh等)执行。
———————————————————————————————————————————
2、命令
1.命令的基础格式:
command[-options][parameter]
- command:命令本身
- option:[可选,非必填],命令的选项,用于控制命令细节(要多个选项的时候连写,如-a-l-h都要,那就是-alh)
- parameter:[可选,非必填,命令的参数,多数用于命令的指向目标(即路径)]
2.基础命令
2.0 查看工作目录路径——pwd
2.1 列出目录内容——ls
选项:
- -a:可选,表示显示所有文件(包括隐藏文件)
- -l:可选,表示以列表形式展示(使用-l时前面包含文件类型的标识,开头为-表示文件,为d表示文件夹,为l表示是软链接)
- -h:可选,增加可读性(比如显示大小k、m、g)
参数:
- 文件路径
2.2 切换工作目录——cd
选项:无
参数:
- 文件路径
2.3 创建目录——mkdir
选项:
- -p:可选,自动创建不存在的父目录,用于创建连续多层级的目录
参数:
- 文件路径
2.4 文件操作——touch、cat、more、cp、mv、rm、tail
2.4.1 创建文件——touch:
选项:无
参数:
- 文件路径
2.4.2 查看文件内容(直接显示)——cat
选项:无
参数:
- 文件路径
2.4.3 查看文件内容(支持翻页)——more
选项:无
参数:
- 文件路径
注意点:
- 按q退出阅读页面
2.4.4 复制文件、文件夹——cp
选项:
- -r,可选:用于复制文件夹,不带-r只能复制文件
参数:
- 被复制的文件路径
- 要复制去的文件路径
2.4.5 移动文件或文件夹——mv(还可用于修改文件名,参数是被修改的文件和要修改为的文件名)
选项:无
参数:
- 被移动的文件路径
- 要移动去的文件路径
2.4.6 删除文件——rm、find
选项:
- -r:可选,用于和删除文件夹
- -f:可选,强制删除(不会弹出确认信息)
参数:
- 文件或文件夹路径(有n个参数,具体几个取决于删多少个)
注意点:
- 支持通配符
2.4.7 查找文件——find
选项:
- -name:“被查找文件名”:需要找到的文件(一、按文件名查找)
- -size :(二、按文件大小查找)
参数:
- 起始路径
注意点:
- 支持通配符
- 选项必填,二选一
2.4.8 查看文件尾部内容,跟踪最新更改——tail
选项:
参数:
- 被跟踪的文件路径
2.5 统计文件
2.5.1 在文件中通过关键字过滤文件行——grep、wc
选项:
- -n:可选,表示在结果中显示匹配的行的行号
参数:
2.5.2 统计文件的行数——wc
选项:
参数:
文件路径,可作为内容输入端口
———————————————————————————————————————————
2.7 打印内容——echo
选项:无
参数:
- 要输出的内容
———————————————————————————————————————————
3、vi\vim编辑器
3.1介绍:
3.2工作模式:
3.2.1 命令模式:
撤销:
/xxxxxxx用于匹配字符,类似于windows的Ctrl+F,例如匹配shit就是/shit,按n查找下一个匹配项
3.2.2 输入模式:
3.2.3 底线命令模式:
———————————————————————————————————————————
4、特殊符号
4.1 通配符——*
4.2 管道符——|
4.3 飘号——`
4.4 重定向符—— >、>>
4.5 $
用于取出变量值
例:echo $path就会取出path的路径
4.6&
&&
是 Linux 和 Unix 系统中的 shell 操作符,用于将两个命令连接起来。如果第一个命令执行成功(即返回状态码为 0),那么第二个命令将会被执行。这是一种条件执行,只有当左侧的命令成功执行时,右侧的命令才会执行。
———————————————————————————————————————————
5、快捷键
CTRL+L,清空命令行
CTRL+C,强制停止程序运行或者退出当前命令输入
CTRL+D,登出账户或退出某个程序的专属页面
history,查看历史命令
!命令前缀,自动匹配上一个命令
CTRL+r,搜索历史命令
CTRL+a or e,光标移动到命令开始或结束
———————————————————————————————————————————
6、 权限管理
普通用户的权限仅限HOME内并且如果要切换到别的用户需要输入密码。
6.1 权限切换命令:
su [-] [用户名]:(例如su-root为切换为管理员)
6.2. 临时权限获取:
前提:用户拥有sudo认证,认证方式:
如果想要单单在单个命令中获取root权限,只需要在命令前加上sudu(例如sudu rm xxxxxxx)
———————————————————————————————————————————
7、用户和用户组管理
7.1 创建、删除、查看、修改用户和用户组
7.2 查看用户信息——getent:
7.3 创建管理员用户(给用户增加root权限)
usermod -aG wheel 用户名
7.4 修改用户名
usermod -l newusername oldusername
———————————————————————————————————————————
8、文件权限
8.1 权限分类
- w:读权限
- r:写权限
- x:执行权限
8.2 文件、文件夹权限修改——chmod
选项:
- -R 可选,对文件夹内的全部内容应用同样操作
参数:
- 权限:权限类型
- 文件夹:路径
注意点:
- 只有文件、文件夹所属用户和root用户可以修改
8.3修改文件、文件夹所属用户组——chown
选项:
参数:
- 文件或文件夹(即路径)
注意点:
:(冒号)用于分隔用户和用户组
———————————————————————————————————————————
9、软件
9.1. 软件安装
注意点:
1、linux下源码的安装由3个步骤组成:配置(configure)、编译(make)、安装(make install))
2、要下载的软件的依赖可以下载并解压后在该源代码目录创建软链接、
3、大部分源代码目录都存在configure文件(少部分不存在,试着找到readme并阅读),需要根据configure文件配置产生makefire进行编译和安装
4、编译失败后使用make clean 之前失败的构建。
--prefix=/usr/local
是一个常用于配置脚本(如 ./configure
)的参数,它指定了软件安装时的基本目录。在Unix和类Unix系统中,prefix
是一个约定俗成的变量,用于定义软件安装的顶级目录。
9.1.1 yum(需要root权限)
yum为rpm包软件管理器
选项:(三种模式三选一)
参数:
- 软件名称
9.1.2 wget(非系统自带)
选项:
- -b:可选,后台下载,会将日志写入当前工作目录的wget-log文件
参数:
- url,下载链接
9.2. 软件控制——systemctl
9.3、创建软链接(快捷方式)——ln
9.4、修改软链接(快捷方式)——ln
———————————————————————————————————————————
10、时间
10.1. 查看时间以及时间计算——date
10.1.1 查看时间
(如果不加选项和参数则直接返回时间)
例:date "+%Y-%m-%d %H:%M:%S"
10.1.2 日期计算
10.2.修改时区
10.3. 时间校准——ntp
———————————————————————————————————————————
11、IP地址和主机名
新知识点:
1、域名实际上是IP的映射
2、在hosts中建立IP和主机名的映射就可以直接通过主机名连接虚拟机
11.0 更改dns
11.1. 特殊IP地址:
11.2. 固定IP
xxxx
11.3.主机名操作——hostnamectl、hostname
11.3.1 查看主机名
11.3.2 修改主机名
12、网络请求
12.1 检查与指定服务器是否可联通——ping
选项:
-
[-c num]:检查的次数,不使用-c会无数次持续检查
参数:
- 被检查服务器的ip或主机名
12.2 发送网络请求用于下载/上传文件、获取信息等功能——curl
与wget的最大区别在于兼容性好和可以上传文件
选项:
- -O:用于下载文件,当url是下载链接时会保存文件
参数:
- url,要发起请求的网络地址
13、端口
13.1 介绍
计算机之间的通讯,IP只能锁定计算机但无法锁定具体程序,对于具体程序的沟通需要通过端口
13.2 查看端口占用——nmap(非系统自带)
nmap 127.0.0.1:查看本机端口占用
13.3 查看具体端口占用——netstat(非系统自带)
常用语法:netstat -anp | grep 端口号
14、进程
14.1 查看进程——ps
选项:
- -e:显示全部的进程
- -f:以完全格式化的形式展示信息(展示全部信息)
参数:无
14.2 关闭进程——kill、pkill-u iamikun
kill:
选项:
- -9:强制关闭
参数:
- 进程ID
pkill:批量关闭进程,比如pkill-u iamikun是批量关闭iamikun用户的进程
15、环境变量
与windows差别不大,主要也是在记录环境变量的文件增删程序路径
比如在profile文件中修改,
增加export PATH=$PATH:/root/ikun(这是用户名),$PATH不能丢。
16、压缩与解压
.tar:简单封装的归档文件,并不能减少太多体积
.gz:正常的能大量减少体积的压缩(用下面的-z模式保存)
tar并不能减少太多体积
例子:tar -zvxf gcc-10.1.0.tar.gz --directory=/usr/local
tar
:这是Linux系统中用于打包和解打包文件的工具。-z
:这个选项告诉tar
命令使用gzip
程序来解压缩文件。-v
:这个选项表示在解压缩过程中显示详细的信息,即“verbose”模式。-x
:这个选项表示解压缩。-f
:这个选项后面跟着的是要处理的文件名。gcc-10.1.0.tar.gz
:这是要解压缩的文件名。--directory=/usr/local/
:这个选项指定了解压缩后文件的目的地目录,即/usr/local/
。
上例与tar -zvxf gcc-10.1.0.tar.gz -C /usr/local作用相同
使用 -f
:
- 明确指定文件名。
- 可以更容易地在脚本中使用,因为文件名作为一个参数传递,可以避免与命令行参数混淆
———————————————————————————————————————————
实战
1、mysql部署
———————————————————————————————————————————
100、异常解决(持续更新)
一、wq无法保存
问题:
解决:
二、虚拟机无法连接网络
问题原因:vaware网络相关服务没有开启。
解决方式:在设置中找到服务找到vimware相关服务并打开(问题应该是VMware NAT service没有打开)
三、yum/wget下载失败
问题原因:服务器在国外太远了
问题解决:同windows一样,需要更换镜像源:
四、wget: 无法解析主机地址
问题原因:dns没有配置好
问题解决:
cd /etc
vim resolv.conf
添加
nameserver xxxxx(xxx为dns)
dns配置永久生效方法: