目录
一、Linux学习笔记
第一章、Linux操作系统
1.文件和目录
特征:
- 在 Linux 系统中没有盘符概念
- Linux 系统中的所有文件都存放在根目录下(常用"/"代表)
使用目录:
/ : 根目录
- /home: 所有普通用户的家目录
- /root : Linux 系统超级管理员的家目录
- /usr/bin: Linux 命令大部分都存在于该目录下
特点
普通用户和超级管理员用户权限有很大区别
-
普通用户可以进入超级管理员的家目录, 但是无法对其中的文件进行任何操作
-
但是超级管理员用户可以做任何操作(实际工作中, 一般不会轻易获取 root 用户权限)
-
一般情况下, 普通用户的操作范围仅限在自己的家目录当中
-
例如: 当前用户为 admin, 操作范围仅限: /home/admin
第二章 Linux常用命令
1.Linux终端命令格式
格式组成:
命令主体 -命令选项 命令参数
常见命令形式:
1) 命令主体
2) 命令主体 -命令选项
3) 命令主体 参数
4) 命令主体 -命令选项 命令参数
特点:命令主体必须存在, 而选项和参数都是可选的
Linux 命令的注意事项
- 命令的数量非常多, 不要妄图全部记忆下来
- 常用命令由于频繁使用, 不用刻意记忆基本可以搞定
- 工作中实际是用什么命令现查即可
1.查看命令帮助信息方法
方法一:
命令主体 --help : 可以查看命令具备哪些选项及选项含义
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HaZUNyBt-1665584457082)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220224175750978.png)]
方法二:
man 命令主体 : 查看命令的手册信息
注意: 默认情况下系统手册是英文的, 可以自行扩展修改为中文, 实际应用推荐使用方法一
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nATGiDbj-1665584457085)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220224180641237.png)]
2.查看目录ls的命令
ls : 展示当前路径下有哪些文件
ls -a : 显示当前路径下的所有文件(包含隐藏文件(文件名以.开头的))
ls -l : 显示当前路径下文件的详细信息
ls -al : 显示当前路径下文件的详细信息(包含隐藏文件)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZgbwFUMY-1665584457086)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220225022340873.png)]
3.ls 通配符的使用
通配符: 又叫文件名替换符号, 符号具备特殊含义, 例如: 文件名: test , 通配符可以写成: ??? 或 *
* : 代表可以匹配任意长度的文件名(所有)
? : 代表可以匹配单个字符, 如果目标文件名有多个字符, 该符号可以使用多个
[]: 括号内的内容表示一个范围, [abc] : 代表匹配文件名是 a 或 b 或 c, 等价于 [a-c]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-POGsxUto-1665584457087)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220225224907988.png)]
绝对路径和相对路径
绝对路径: 路径源头固定不变, 常见有两个: ‘/’: 根目录; ‘~’: 当前用户的家目录
相对路径: 以当前所在路径为源头, 常见的表示形式有两个: ‘.’:当前路径下; ‘…’:当前目录的上一层(父层级)
路径注意事项:
- 绝对路径使用时, 需要确定文件在根目录下还是用户目录下, 合理选择起始符号即可
- 初学时, 建议所有路径优先使用绝对路径, 当清楚文件结构关系后, 逐步转换为相对路径
- 相对路径中, 如果是当前路径下的文件获取操作, 那么 ‘./’ 一般是可以省略的
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YrLFfQgE-1665584457088)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220225230324976.png)]
案例1: 文件和目录操作相关命令(重点)
在桌面上打开终端窗口, 执行如下操作:
01.查看当前路径位置
02.查看当前目录下有哪些文件和文件夹
03.创建 adir,bdir,cdir 三个文件夹(创建一个文件夹/创建多个文件夹)
04.切换到 adir 目录下
05.创建文件 aa (创建一个文件)
06.切换到 admin 目录下(绝对路径/相对路径)
07.创建文件 file 并重命名为 aa
08.复制文件 aa 到 adir 目录下(要求提示是否覆盖)
09.复制文件夹 bdir 到 cdir 目录下
10.移动文件 aa 到 bdir 目录下
11.创建 bb,cc 两个文件(创建多个文件)
12.删除 bb 文件
13.删除 adir 文件夹
14.删除当前目录下所有文件和文件夹
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-olqVpiiH-1665584457089)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220226003816094.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yZu47SzD-1665584457089)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220226010947149.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RwXnQSDk-1665584457090)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220226134706028.png)]
文件和目录常用命令的小结
pwd : 查看当前所在的路径位置(涉及到路径切换(cd 命令)时, 确认路径时使用)
ls : 查看当前路径下有哪些文件(对路径下文件进行了修改(创建/复制/移动/删除)时使用)
cd : 切换路径(更换操作目录时使用)(常和绝对路径及相对路径配合使用)
touch : 创建普通文件(单文件: touch 文件名 多文件: touch 文件名1 文件名2 ...)
mkdir : 创建目录文件(单文件夹: mkdir 文件夹名 多文件夹: mkdir 文件夹名1 文件夹名2 ...)
cp : 复制文件/文件夹(文件: cp -i 源文件 目标文件夹 目录: cp -r 源文件夹 目标文件夹)
mv : 移动文件/文件夹(文件: mv 源文件 目标文件夹 目录: mv 源文件夹 目标文件夹)
mv : 改名(mv 源文件名 新名字)(新名字必须是当前目录下不存在的文件名!)
rm : 删除文件/文件夹(文件: rm 文件名 目录: rm -r 文件夹名)
rm : 删除所有文件和文件夹(rm -r *)
案例2: 对文件内容的相关操作命令
在桌面上打开终端窗口, 执行如下操作:
01. 将根目录下所有文件的详细信息输出到 demo 文件中(包含隐藏文件)
02. 直接查看 demo 文件的内容
03. 将 /usr/bin 目录下所有文件的详细信息追加到 demo 文件中
04. 以分屏的形式查看 demo 文件的内容
05. 查找 demo 文件内容中包含 mysql 的信息
06. 在 /usr/bin 目录下所有文件的信息中查找包含 mysql 的信息
07. 清空当前终端窗口中的内容
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BDl6FvAO-1665584457090)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220226144309674.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FufE69bt-1665584457091)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220226144821301.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XX4G4rDr-1665584457092)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220226151520591.png)]
文件内容操作相关命令的小结
clear : 清空屏幕操作, 快捷键: Ctrl + L
> : 重定向符号(将左侧命令的结果输出到右侧的文件中)(反复执行,文件原有内容会被替换)
>> : 追加重定向符号(将左侧命令的结果输出到右侧的文件中)(反复执行,内容追加, 文件原有内容不会被替换)
cat : 查看文件内容(格式: cat 文件名)(适合用于查看文件内容较少的文件)
more : 以分屏形式查看文件内容(格式: more 文件名)(适合用于查看文件内容较多的文件)
| : 管道符号(将左侧命令的结果传递给右侧命令当数据源)
| : 例如: ls -al /usr/bin | grep mysql (从左侧命令的结果中查找 mysql)(管道符右侧命令多用: grep 和 more)
案例3: 查看日志文件信息命令
在桌面上打开终端窗口, 执行如下操作:
01. 将根目录下所有文件的详细信息输出到 demo 文件中
02. 查看 demo 文件前 5 行内容
03. 查看 demo 文件后 5 行内容
04. 将 ping www.itheima.com 的信息输出到 ping_log 文件中
05. 重新开启一个终端窗口, 动态查看 ping_log 文件中的信息
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z5Wjc5eI-1665584457093)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220227180851814.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-coLxfGrl-1665584457094)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220227182302346.png)]
查看日志文件内容命令小结
head : 可以查看文件开头内容(head 文件名:查看文件的前10行内容; head -行数 文件名:查看文件的前x行内容)
tail : 可以查看文件结尾内容(tail 文件名:查看文件的后10行内容; tail -行数 文件名:查看文件的后x行内容)
tail -f : 动态查看日志文件内容(格式: tail -f 日志文件名)
注意:
1. 系统相关日志存放位置: /var/log
2. 项目相关日志存放位置: 需要根据项目询问对应的开发人员
案例4: 重启/关机/查看系统信息
在桌面上打开终端窗口, 执行如下操作:
01. 查看当前系统内核版本信息
02. 查看当前系统发行版本信息
03. 重启当前系统
04. 关闭当前系统
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZJm60Y8f-1665584457094)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220228162701025.png)]
重启/关机/查看系统信息命令小结
reboot : 重启
shutdown -h now : 关机
cat /proc/version : 查看内核版本
cat /etc/redhat-release : 查看发行版本
案例5: 程序和进程操作相关命令
在桌面上打开终端窗口, 执行如下操作:
01. 查看当前系统下的进程信息
02. 手动打开火狐浏览器
03. 获取火狐浏览器的进程信息(进程 ID)
04. 通过结束火狐浏览器进程的方式关闭浏览器
05. 打开当前系统的'任务管理器'(动态查看进程信息)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Eo3GsDjS-1665584457095)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220228165007771.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QxYqMFoj-1665584457096)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220228165842905.png)]
程序和进程操作相关命令小结
ps -aux : 查看当前系统下所有的进程信息
常用用法: ps -aux | grep 程序名 : 能够获取目标程序的进程 ID
kill -9 进程ID : 通过进程ID关闭对应程序(-9: 强制关闭)
扩展:
top : 可以调用 Linux 系统下的"任务管理器", 可以动态查看所有的进程信息,通过使用q键或者ctrl+c关闭页面
案例6: 端口号信息的获取及操作命令
在桌面上打开终端窗口, 执行如下操作:
01. 查看当前系统中开放的端口有哪些
02. 查看哪个程序正在使用 3306 端口(需要 root 用户权限)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4aMnUYen-1665584457096)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220228212620395.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mcaJY8bS-1665584457097)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220228212920389.png)]
端口号信息的获取及操作命令小结
netstat -anptu : 可以获取当前系统的网络相关信息(获取端口号信息)
lsof -i:端口号 : 查看占用某一端口的的程序名称及进程ID(需要 root 用户权限)
注意:
1.可以通过 kill -9 进程ID 命令完成对端口占用程序的移除
80:默认web服务器(http)
443:默认web服务器(https)
su -:切换root用户
案例7: 文件权限修改
01. 在当前目录下创建文件 cm_demo
02. 查看文件当前权限状态
03. 使用字母法将文件权限修改为: 拥有者: 可读/用户组: 可写/其他用户:可执行
04. 使用数字法将文件权限修改为: 拥有者: 可读可写可执行/用户组:可读可写/其他用户:可写可执行
数字法:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wYJCmPxS-1665584457097)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220228220628676.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-41tg4dQi-1665584457098)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220228221325863.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RAr7GtCq-1665584457099)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220228221950269.png)]
字母法:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dSWVaTSL-1665584457099)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220301210401614.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gt8RduTp-1665584457100)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220301210707312.png)]
文件权限修改命令小结
命令格式: chmod 权限 文件名
权限修改:
字母法
1. 组别代表字母: u:拥有者 g:用户组 o:其他人 a:以上所有
2. 赋权代表符号: +:增加 -:撤销 =:赋予
3. 权限代表字母: r:读取 w:写入 x:执行
4. 根据需求组合以上三个部分, 再设置权限即可
例如: chmod a=rwx demo 或 chmod u-r,g-w,o=x demo
数字法
1. 权限对应的数字: r:4 w:2 x:1
2. 分别累加每一个组别的权限值之和, 再设置权限即可
例如: chmod 755 demo 或 chmod 775 demo
文件权限修改注意事项:
1. 权限修改可以反复执行, 如果未达到目的, 可以再次修改
2. 究竟使用字母法还是数字法完全看个人喜好
案例8: 系统操作相关命令
在桌面上打开终端窗口, 执行如下操作:
01. 查看 mysql 程序的存放位置
02. 从普通用户切换至 root 用户, 再从 root 用户切换回普通用户
03. 查看当前系统中所有登录用户的信息
04. 退出当前终端窗口
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j0YZ107D-1665584457100)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220301212505541.png)]
系统操作相关命令小结
which 程序名 : 可以查看程序安装位置
su - 用户名 : 切换至用户(su - : 切换到 root 用户)(切换哪个用户, 输入用户对应密码, 密码没有提示)
who -u : 查看用户登录信息
exit : 退出终端窗口(退出用户)
案例9: 查找文件
在桌面上打开终端窗口, 执行如下操作:
01. 在路径下创建 adir,bdir 两个文件夹
02. 在 adir 目录下创建文件 f_demo
03. 切换路径到 bdir 目录下
04. 在当前目录下从 /home/admin 目录中查找 f_demo 文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RO7uso6m-1665584457101)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220301231122935.png)]
查找文件命令小结
find 路径 -name '目标文件名' : 在给出的路径下查找目标文件
注意:
1. 路径处可以使用绝对路径或相对路径
2. 目标文件名处可以使用通配符(*/?/[])
案例10: 链接文件
在桌面上打开终端窗口, 执行如下操作:
01. 在当前路径下创建文件 demo
02. 给 demo 文件创建链接文件名为 ldemo
03. 修改 ldemo 链接文件的内容
04. 查看 demo 文件的内容是否同样变化
05. 修改 demo 文件内容, 查看 ldemo 链接文件内容是否同样变化
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HwS2RZqW-1665584457102)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220301233521138.png)]
链接文件命令小结
ln -s 源文件/文件夹 链接文件名 : 给源文件/文件夹创建链接文件(软链接: 等价于Windows系统的快捷方式)
注意:
1. 源文件/文件夹最好给绝对路径(防止链接文件被移动位置后失效)
2. 源文件/文件夹被删除, 链接文件会失效
3. 扩展: ln 源文件/文件夹 链接文件名 : 硬链接(此处不做了解)
案例11: 文件的压缩和解压操作
在桌面上打开终端窗口, 执行如下操作:
01. 在当前路径下创建 atdir,btdir 两个文件夹
02. 在 atdir 目录下创建 aa,bb,cc 三个文件
03. 分别用三种压缩方法对 atdir 目录进行压缩
04. 分别解压上一步产生的压缩包文件内容至 btdir 目录下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mzB2SnWn-1665584457102)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220302171530621.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rgLqOg8V-1665584457103)(C:\Users\666\AppData\Roaming\Typora\typora-user-images\image-20220302172009565.png)]
文件的压缩和解压操作小结
tar 和 gzip
打包和压缩: tar -zcvf 压缩包名.tar.gz 目标文件/文件夹
解包和解压: tar -zxvf 压缩包名.tar.gz
扩展-指定解压位置: tar -zxvf 压缩包名.tar.gz 目标文件/文件夹 -C 解压位置文件夹
tar 和 bzip2
打包和压缩: tar -jcvf 压缩包名.tar.bz2 目标文件/文件夹
解包和解压: tar -jxvf 压缩包名.tar.bz2
扩展-指定解压位置: tar -jxvf 压缩包名.tar.bz2 目标文件/文件夹 -C 解压位置文件夹
选项含义:
-z : gzip(压缩/解压)
-j : bzip2(压缩/解压)
-c : 打包
-x : 解包
-v : 显示过程
-f : 指向文件
-C : 指定解压路径
zip 和 unzip
压缩: zip -r 压缩包名 目标文件/文件夹
解压: unzip -d 解压位置文件夹 压缩包名
案例12: vi 编辑器的使用
在桌面上打开终端窗口, 执行如下操作:
01. 使用快捷键 Ctrl + Alt + F2 切换系统至命令行模式
02. 根据提示依次输入用户名: admin 密码: ack123??
03. 在当前目录下利用 vi 命令创建文件 vi_demo 并打开
04. 修改 vi_demo 文件内容为: hello linux
05. 保存文件内容并退出 vi 模式
06. 查看 vi_demo 文件内容, 确认修改是否完成!
使用步骤:
1. vi 文件名 : 如果文件存在, 则打开文件; 如果文件不存在, 则新建文件.(命令模式)
2. 按字母 i 键 : 从命令模式切换至插入模式
3. 正常编辑文件内容
4. 按下 Esc 键 : 从插入模式切换至末行模式
5. 输入 ':', 后跟 wq, 再按一个回车 : 保存文件内容并退出
说明: w : 写入 q : 退出 !: 强制操作(!q : 强制退出不保存)
注意: vi 工具只要求能够实现对文件内容就行修改并报错操作即可, 其他更多操作自行了解!
2 切换系统至命令行模式
02. 根据提示依次输入用户名: admin 密码: ack123??
03. 在当前目录下利用 vi 命令创建文件 vi_demo 并打开
04. 修改 vi_demo 文件内容为: hello linux
05. 保存文件内容并退出 vi 模式
06. 查看 vi_demo 文件内容, 确认修改是否完成!
```yacas
使用步骤:
1. vi 文件名 : 如果文件存在, 则打开文件; 如果文件不存在, 则新建文件.(命令模式)
2. 按字母 i 键 : 从命令模式切换至插入模式
3. 正常编辑文件内容
4. 按下 Esc 键 : 从插入模式切换至末行模式
5. 输入 ':', 后跟 wq, 再按一个回车 : 保存文件内容并退出
说明: w : 写入 q : 退出 !: 强制操作(!q : 强制退出不保存)
注意: vi 工具只要求能够实现对文件内容就行修改并报错操作即可, 其他更多操作自行了解!