linux常用命令
linux 命令与Git和ADB命令的区别:
Linux、Git和ADB是三个不同的命令,它们用于不同的用途。以下是它们之间的简要区别:
- Linux命令:Linux命令是指用于在Linux操作系统中执行特定任务的命令。Linux命令可以用于
文件和目录管理、软件安装和配置、系统监视等任务。Linux命令可以通过终端或终端模拟器使用。 - Git命令:Git是一种版本控制系统,用于管理软件开发项目的源代码。Git命令用于在本地计算机和Git服务器之间进行源
代码的提交、拉取、合并和冲突解决等操作。Git是一种非常流行的开源工具,广泛用于软件开发中。 - ADB命令:ADB是Android Debug Bridge的缩写,是一种用于与Android设备进行通信的命令行工具。ADB命令可以用于
安装应用程序、调试应用程序、备份和恢复数据等任务。ADB命令可以通过终端或终端模拟器使用。
安装虚拟机
选择驱动
- 使用物理默认驱动器
- 使用自定义的ISO映象文件
在选择虚拟机驱动和ISO文件时,需要注意以下几点:
1) 虚拟机驱动和ISO文件应该与虚拟机软件版本相匹配。
2) 如果需要安装操作系统,则需要选择与操作系统版本和类型相匹配的ISO文件。
3) 如果使用虚拟机进行网络连接,则需要选择合适的网络适配器驱动。
4) 对于高性能虚拟机,建议选择支持硬件加速的虚拟机驱动。
添加连接
虚拟机连接是指在主机和虚拟机之间建立网络连接的过程。选择虚拟机连接的方法取决于许多因素,例如网络类型、操作系统和使用场景等。
1) 桥接连接(Bridged Connection):此连接方法将虚拟机连接到物理网络上,虚拟机可以直接与物理网络中的其他设备通信。这种连接方法适用于需要虚拟机与主机网络进行交互的场景。
2) NAT连接(Network Address Translation):此连接方法将虚拟机连接到主机的网络上,并使用主机的IP地址作为虚拟机的地址。这种连接方法适用于在主机上运行多个虚拟机的场景,以及需要将虚拟机隔离在主机网络之外的场景。
3) Host-only连接:此连接方法将虚拟机连接到主机上的虚拟网络中,虚拟机可以与主机和其他虚拟机通信,但无法访问外部网络。这种连接方法适用于需要隔离虚拟机和主机网络的场景,以及需要创建私有网络的场景。
4) 内部连接(Internal Connection):此连接方法将虚拟机连接到一个私有网络中,只有虚拟机之间可以通信,无法访问外部网络。这种连接方法适用于需要在虚拟机之间创建私有网络的场景。
安装Xshell
点击压缩包绿化,如果有报错运行’/Xshell6\缺dll文件报错请装这里面的程序’路径下的连个补丁程序
连接虚拟机
- 目标虚拟机
1
2
3
4运维人员给出
IP:192.168.25.142
账号 :root
密码:123456 - 对应连接
对应操纵:
名字随机填写
填写虚拟机主机IP:192.168.25.142
信息接受保存
填写用户名
输入密码 - 注意:
使用root管理员权限时,#号开头
包与apk管理
- pm -lf |grep 包名或apk名 :查看对应包名或apk名
- pm dump com.hunantv.operator |grep version :全局查看软件版本号
- dumpsys package com.hunantv.operator |grep version :查看软件版本号
- pm install -r 包名 :安装并屏蔽原有apk
- pm clear com.iflytek.xiri 清除apk缓存
- dumpsys activity |grep mResumedActivity :查看当前页面所属包名
- monkey -p com.iflytek.xiri 1 :拉起应apk
文件和目录管理
查找与新增文件
- touch text.txt :新增文件
- find /bin -name a*: 查找目录下a开头的文件/目录
- find /bin -name *a: 查找目录下a结尾的文件/目录
结束进程与tab补全
- ctrl+c: 结束进程
- ctrl+z:挂起进程
- tab: 补全名称
ls查看目录
- ls: 查看文件夹文件夹
- ls / :查看指定路径文件夹
- ls -a: 查看当前路径下全部文件(包含隐藏文件——隐藏文件在文1. 件名前有’.’文件引用符号)
- ls -l:查看当前路径下文件的详细信息
- ls:al: 查看全部文件详细信息
cd切换目录
- cd: 切换目录
- cd / :切换到根目录
- cd / bin :绝对路径,在任意目录下寻找文件bin
- cd bin : 相对路径,在当前目录下寻找文件bin
- cd ~:快速切换到root目录
- cd ..:回到上一级目录
查看当前目录路径
pwd :查看路径
mkdir创建文件夹
- mkdir 文件名:在当前路径下创建文件夹
- mkdir /bin/test: 在指定路径下创建test目录
rm删除文件夹
- rm 文件名:删除当前目录下指定文件
- rm -f 文件名:删除当前目录下指定文件,没有二次确认
- rm -r 目录名:删除当前路径下的目录
- rm -rf 目录名:删除当前路径下的目录,没有二次确认
- rm -rf *:删除当前目录下所有文件和目录
复制文件或目录
- cp -rf 文件名:复制文件目录
- mv 拷贝移动文件
mv移动目录
- mv 老名称 新名称 : 修改目录名
- mv /usr/tool /opt : 将tool文件剪切到opt目录下
- mv -r/usr/tmp/tool /opt : 递归剪切目录中所有文件和文件夹
文件操作
vi /vim编辑文件
编辑模式:
- 复制与剪切
1) yy复制光标当前行
2) yny 复制从光标开始的n行内容
3) p 将剪切板中的内容粘贴到光标下一行
4) dd 剪切光标当前行的内容
5) dnd 剪切光标从当前行开始的n行内容 - 进入插入模式
1) i:进入插入模式,光标在第一行
2) a: 进入插入模式, 光标在最后一行
3) o:进入插入模式光标在最后一行,且另起一行 - 光标移动
1) G :将光标移动到最后一行
2) gg :将光标移动到第一行
3) ^ :将光标移动到当前行的行首
4) $ :将光标移动到当前行的行尾 - esc:进入底行模式
插入模式:
1) 此时可以修改文件内容
2) esc:进入底行模式
末行模式(命令模式):
1) :w 保存
2) :w 文件名:另存为
3) :q : 退出编辑
4) :q! : 强制退出(不保存退出)
5) : qw : 退出保存命令
6) : set numer : 设置行号
7) : set nonumer : 取消行号
cat查看文件与tail实时监测日志文件
- cat test.log :从第一行查看文件 —-捕获(catch)
- tac test.log : 从最后一行查看文件
- more test.log: 一页显示文件内容
1) 空格——下一页
2) 回车——下一行
2) Q——退出
3) B——上一页 - less test.log :一页显示文件内容,可查关键字
一页页显示test.log内容,可查询关键字
1) 空格键:下一页
2) B键/向下箭头:下一行
3) 向上箭头:上一页
4)/关键字:向下搜索【关键字】
5)?关键字:向上搜索【关键字】
3) Q键:退出阅读 - head test.log :阅读前10行
- head -n 200 test.log :阅读前前200行
- tail test.log :阅读前10行
- tail -n 200 test.log :阅读前前200行
-
tail -f test.log:实时监测实时,动态打印 - tail -1000f test.log: 先监测最新的1000行内容,并实时监测实时,动态打印
tail -nf 文件名 | grep -i error: 使用管道符筛选日志信息
echo命令
- echo 内容>文件名 :将内容写入到文件中
- echo 内容>>文件名 :将内容写入到文件中
系统管理命令
开机与用户选择
- reboot:重启
- shutdown -r:关机
- shutdown -h:睡眠
- su +用户名 : 切换用户
free 与top查看内存与资源
free -h功能:查看系统内存的使用情况- top -H -p 进程号 更多top命令及相关字段说明功能:查看某个进程下的多个线程使用系统资源的信息
- du 文件或者目录
df -h功能:查看硬盘上的各个分区的使用情况
端口
- netstat 查看端口进程 —可以对网络通信的进程,查看端口号
- netstat -ano 功能:显示电脑上进行网络通信的进程的信息
进程
windows 查看进程的命令是 tasklist | findstr 进程名,而linux与区别与wondows有所不同
- ps -ef:查看进程
- ps -ef | grep nginx: 筛选进程
- kill 进程号: 终止进程
- kill -9 进程号: 强制终止进程
- kill -15 进程号: 非强制终止进程
IP
- ifconfig: 查看ip
- ifconfig eth0 新ip 功能:设置ip地址—-新设置的ip应在局域网的网段内
- dhclient ens33: 重置ens33网络
- ping 域名或者ip 功能:测试网络是否连通
- telnet 域名或者ip 端口号 功能:测试主机的某个端口是否可以访问 —该命令需要设置和安装,window系统在启用或关闭windows功能中启用Telent客户端
vmstat 硬件资源监控
vmstat -n 时间(秒) 功能:可以动态监控系统的硬件资源数据
chomd授权
- chomd 777 test.log 授予最高权限,可读,可写,可执行
- chmod -R u/g/o +/- r/w/x 文件或者目录
- chown –R 用户名:组用户名 修改一个文件或者目录的所属用户
- who 功能:当前跟系统进行会话的用户信息
- whoami 功能:显示当前操作的账号
用户管理命令
- Useradd -p “密文密码” 用户名 功能:创建新用户
- Userdel 用户名 功能:删除用户
- Usermod -p “密文密码” 用户名 功能:修改用户的信息
- Passwd 用户名 功能:给账号设置一个新的密码(明文密码)
防火墙及常用的iptables命令:
- linux防火墙
- service iptables status 查看防火墙的状态
- service iptables status 查看iptables服务的状态
- service iptables start 开启iptables服务
- service iptables stop 停止iptables服务
- service iptables restart 重启iptables服务
- chkconfig iptables off 关闭iptables服务的开机自启动
- chkconfig iptables on 开启iptables服务的开机自启动
- centos 7 防火墙:
- systemctl status firewalld.service 查看防火墙状态
- systemctl stop/start firewalld.service 关闭运行的防火墙
- systemctl disable firewalld.service 永久禁止防火墙服务
- 常用的iptables命令更多iptables命令及相关字段说明
- iptables -L —line-numbers 查看防火墙规则
- iptables -F 清楚所有防火墙规则
- iptables -A INPUT -p tcp —dport 22 -j ACCEPT 添加规则(这个命令会在 INPUT
链的末尾添加一个新的规则,允许来自任何地方的 SSH(TCP 22)连接。) - iptables -I INPUT 1 —dport 80 -j ACCEPT 插入规则(这个命令会在 INPUT
链的开头添加一个新的规则,允许来自任何地方的 HTTP(TCP 80)连接) - iptables -D INPUT 3 删除规则(这个命令会删除 INPUT 链中的第3条规则)
- iptables -R INPUT 3 -s 192.168.0.1 -j DROP 替换规则(这个命令会将 INPUT 链中的第一条规则替换为新的规则,拒绝来自 192.168.0.1 的所有连接。
- iptables -I INPUT 3 -p tcp -m state —state NEw -m tcp —dport 9001 -j ACCEPT 令允许来自 IP 地址为 192.168.1.1 的 TCP 9001 连接
- iptables -A INPUT -p tcp—ctstate NEW,ESTABLISHED -J ACCEPT—dport 22 -m conntrack 允许来自任何来源的 SSH(TCP 22)连接。
- iptables -A INPUT -m statistic —mode random —probability 0.03 -j DROP 丢包命令
- iptables -I INPUT -p udp -d 225.0.0.8 -j DROP 丢弃所有目标地址为 225.0.0.8 且协议为 UDP 的入站数据包(组播场景)
- iptables -I INPUT -d 225.0.0.8 -j DROP 丢弃所有目标地址为 225.0.0.8 的入站数据包,不限协议(完全禁止发往该组播地址的所有流量。)
- ptables -I INPUT -s 225.0.0.8 -j DROP 丢弃所有源地址为 225.0.0.8 的入站数据包,不限协议。
- 限制与放通所有ip
1 | 模拟网络不通 |
保护防火墙规则(这个命令会将当前的防火墙规则保存到持久化存储中,以便在系统重启后仍然有效)
service iptables save
man帮助文档
- man +命令:中文帮助文档; 按Q退出
- ifconfig —help:提供帮助
遇到问题
问题1:解决服务冲突
查找相关线程
ps -ef | gerp nginx
kill 相关线程,重新运行服务
问题2: 文件处插入linux
使用Xftp文件传输工具
直接拖拽到终端命令文件夹下
压缩解压命令:
- gzip 文件名 功能:按照gz格式压缩文件
- gzip -d 文件名 功能:解压gz格式压缩文件
- bzip2 文件名 功能:按照bz2格式压缩文件
- bzip2 -d 文件名 功能:解压bz2格式压缩文件
- tar -zcvf 功能:按照gz格式压缩文件或者目录
- tar -zxvf -C/usr/XX 功能:解压文件到指定文件夹
- tar -jcvf 功能:按照bz2格式压缩文件或者目录
- tar -jxvf 功能:解压
- unzip 功能:对zip格式的文档进行解压
- zip 功能:压缩为zip格式
访问链接
wget下载命令
(curl)命令[https://blog.csdn.net/wuhuagu_wuhuaguo/article/details/90764856#t1]
- curl -v #查看http与https请求过程
- 下载远程文件
curl -o 本地路径/文件名 远程url
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo - -u 输入账号密码
curl -u 用户名:密码 baidu.com/login
make编译文件
make
linux系统自带文件夹:
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
用户文件一般存储在root目录下
/bin 该目录中放的常用的命令文件
/sbin 该目录中放的管理员可以使用的命令文件
/home 普通用户家目录的位置
/root 超级管理员的家目录
/etc 系统配置文件的位置
环境变量配置文件
/etc/profile export 变量名=值
source /etc/profile 功能:从新运行和加载脚本文件
防火墙配置文件
/etc/sysconfig/iptables
守护进程:
service 守护进程名 start
service 守护进程名 stop
service 守护进程名 restart
service network restart
- censts7中的守护进程:
systemctl start 守护进程名称 (启动守护进程)
systemctl stop 守护进程名称 (停止守护进程)
systemctl restart 守护进程名称 (重启守护进程)
项目历程
- 实训云平台部署:
- dev 开发 环境
- test 测试 环境
- 灰度 环境
- 上线
问题
- linux场景应用
在linux系统搭建项目环境
rpm -ivh —nodeps(不检查依赖关系) —force (强制安装)
rmp -e —nodeps 卸载rpm包
c语言的源代码包,安装步骤:
1) make 代码包 — 将源代码编译成二进制软件
2) make install — 安装
vim 编辑环境变量配置文件
source 从新加载环境变量配置文件
cp mv 拷贝移动文件 - 你工作中常用linux
a) Ls 装工具包信息查看
b) Tar命令 解压操作
c) Vim 打开文件,添加环境变量
d) Free 查看系统资源
e) 工作中查看日志 tail -nf vi/vim
f) 工作中监控服务器硬件资源 —-测试环境,硬盘文件过多占满,导致文件保存失败top –H vmstat free -h df -h - 在Linux系统中搭建测试环境
(以java项目,mysql数据库为例)1) 安装JDK,配置其环境变量每天下课回宿舍的路,没有什么故事。
2) 在Linux系统安装tomcat,配置其环境变量
3) 安装mysql数据库,启动mysql服务
4) 连上数据库服务器,执行项目sql脚本
5) 将项目代码包(war或jar包)包部署到tomcat应对的部署目录
6) 启动tomcat - 浏览器访问某个站点是显示无法链接,如何诊断
1) 先确认网络是否连通 ping 服务器ip
2) 在确认web应用服务器端口是否提供服务—-telnet 命令
3) 确认防火墙是否开通web应用服务器 - 在服务器上启动某个网络通信进程失败,如何查找原因?
1) netstat 查看端口号是否被占用
2) 也可以查看日志xn - ip addr命令执行结果显示192.168.9.222/24, 那么网段为多少?
1) 网段号+主机号,网段为192.168.9.0
开启指定端口的防火墙
查看当前防火墙状态,可以使用以下命令:
1 | sudo ufw status |
如果防火墙状态为“inactive”(非活动状态),表示防火墙已被关闭,不需进一步操作。如果防火墙状态为“active”(活动状态),则需要进行后续步骤以打开防火墙规则。
打开特定的端口以允许外部访问Web应用程序。例如,如果你使用的是HTTP(80端口)或HTTPS(443端口),可以运行以下命令来打开相应的端口:
HTTP(端口80):1
sudo ufw allow 80
HTTPS(端口443):1
sudo ufw allow 443
确保防火墙规则已更新,可以运行以下命令:
1 | sudo ufw enable |
现在,防火墙规则已更新并启用,允许外部访问Web应用服务器。








