Skip to content

Commit

Permalink
🎉auto update by Gmeek action
Browse files Browse the repository at this point in the history
  • Loading branch information
hantianzhun committed Jan 18, 2025
1 parent 5bb4670 commit ee18d67
Show file tree
Hide file tree
Showing 5 changed files with 328 additions and 194 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 枕上诗书闲的博客 :link: https://hantianzhun.github.io/blog
### :page_facing_up: [14](https://hantianzhun.github.io/blog/tag.html)
### :speech_balloon: 4
### :hibiscus: 64083
### :alarm_clock: 2025-01-17 23:37:59
### :hibiscus: 65280
### :alarm_clock: 2025-01-18 15:48:49
### Powered by :heart: [Gmeek](https://github.com/Meekdai/Gmeek)
141 changes: 104 additions & 37 deletions backup/Linux基础知识和命令.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,29 @@
## 1.为什么要学习Linux,Linux在工作中用来干什么?
# Linux基础知识和命令

# 1.为什么要学习Linux,Linux在工作中用来干什么?

1. Linux在工作中主要用于环境部署(程序代码包 .jar .war)-->部署到服务器上-->有页面或者是app端
2. 使用服务器获取日志,协助定位问题

## 2.计算机组成
# 2.计算机组成

### 2.1硬件
## 2.1硬件

- 显示器 、鼠标 、键盘 、主机(主板 内存条 网卡 显卡 声卡 CPU:核 电源 风扇)

### 2.2操作系统
## 2.2操作系统

1. PC端:x86 32位操作系统,x86-64 64位操作系统
2. 手机端:arm 32位操作系统,arm64 64位操作系统
3. Windows、MacOS、dos、Linux、Andorid、ios、鸿蒙
4. 语言:c语言 、java语言、python-->解释器或者是编译器-->转换成计算机能识别的二进制代码程序代码-->指令 数据

### 2.3应用软件
## 2.3应用软件

- web端-->app端(qq、微信、淘宝、美团、手机银行app)-->小程序(微信小程序、支付宝小程序)-->嵌入式设备与App交互


## 3.Linux操作系统
# 3.Linux操作系统

1. Linux内核(由linus开发出)-->放到开源平台-->图标(企鹅)、名字linux,没有图形化界面,纯命令界面

Expand All @@ -41,24 +43,24 @@

9. 大型公司自建服务器,提供云服务器资源

## 4.电脑装多系统
# 4.电脑装多系统

- VM虚拟机:在宿主机中独立出一块空间(CPU,内存,网卡,显卡,声卡)
- 镜像文件:后缀为.iso的操作系统文件

## 5.软件的安装
# 5.软件的安装

- 安装的路径中不要出现中文,或者是特殊符号 it-install(错误示范)

- 安装路径中只能有字母或下划线

- D:\it_install、D:\vm_install

## 6.远程连接、换源、安装软件包
# 6.远程连接、换源、安装软件包

### 6.1使用`ip address`or`ifconfig`命令查看IP地址
## 6.1使用`ip address`or`ifconfig`命令查看IP地址

### 6.2如果不能上网,解决办法?
## 6.2如果不能上网,解决办法?

```shell
cd /etc/sysconfig/network-scripts
Expand All @@ -68,26 +70,26 @@ vi ifcfg-ens33#后半网卡名可不同

- 将最后一行的no修改为yes,再点击键盘左上角的ESC,输入`:wq!`再按回车(按ZZ也可)

### 6.3如果源不可用,解决办法?
## 6.3如果源不可用,解决办法?

```shell
#CentOS7换源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
```
### 6.4出现command not found如何解决?
## 6.4出现command not found如何解决?

- 尝试安装使用的命令、例:`yum install ifconfig`
- 提示包不存在可使用yum search 命令、例:`yum search ifconfig`

### 6.5yum的作用
## 6.5yum的作用

```shell
#在线下载并安装
yum search 安装包的包名
yum -y install 安装包名
```

### 6.6linux获取文件
## 6.6linux获取文件

1. 使用ftp进行上传
2. 在linux使用rz命令
Expand All @@ -99,7 +101,7 @@ curl -O [URL] --->文件保存为原始文件名
curl -o [filename] [URL] --->文件保存并重命名为[filename]
```

## 7.Linux文件管理系统
# 7.Linux文件管理系统

```shell
#目录结构树
Expand All @@ -112,9 +114,9 @@ curl -o [filename] [URL] --->文件保存并重命名为[filename]
/mnt 存放的是挂载文件相关的目录
```

## 8.Linux基本命令
# 8.Linux基本命令

### 8.1目录相关的命令
## 8.1目录相关的命令

```shell
'创建文件夹' mkdir 文件夹名1
Expand All @@ -128,12 +130,12 @@ curl -o [filename] [URL] --->文件保存并重命名为[filename]
'重命名' mv 要重命名的文件夹/文件 新的文件夹/文件的名字
```

### 8.2编写路径
## 8.2编写路径

- 绝对路径:一次到达,从根目录开始写、例:`/etc/ssh/sshd_config`
- 相对路径:相对与当前目录而言、例:`../home/hanli`(假设当前目录为root)

### 8.3文件相关的命令
## 8.3文件相关的命令

```shell
'创建文件' touch 文件1
Expand Down Expand Up @@ -162,7 +164,7 @@ nl 文件名 #带行号显示文件的所有内容
'查看文件的第5行' sed -n '5p' 文件名
```

### 8.4vi/vim编辑器
## 8.4vi/vim编辑器

- vi编辑器模式:命令模式,末行模式,编辑模式
- 默认进入的是命令模式(只读)-->`i``a``o`-->编辑模式:输入内容
Expand Down Expand Up @@ -196,7 +198,7 @@ ndd '删除n行'
:1,$s/旧字符/新字符 '把第一行到最后一行的第一个旧字符修改为新字符'
```

### 8.5打包压缩相关的命令
## 8.5打包压缩相关的命令

```shell
#打包:可以对文件也可以对文件夹进行打包
Expand All @@ -216,9 +218,9 @@ tar -tzvf T.tar.gz '查看压缩文件'
tar -xzvf T.tar.gz -大写C 目录 '解压缩到指定的目录'
```

### 8.6进程服务相关的命令
## 8.6进程服务相关的命令

##### 8.6.1程序和进程的区别?
### 8.6.1程序和进程的区别?

- 程序是死的
- 进程:正在运行的程序(动态的)
Expand All @@ -239,9 +241,9 @@ grep 过滤查找
'杀进程' kill -9 pid
```

### 8.7权限相关的命令
## 8.7权限相关的命令

#### 8.7.1用户
### 8.7.1用户

**Linux系统中有两类用户**

Expand All @@ -259,7 +261,7 @@ grep 过滤查找
用户名:密码:用户id:组ID:用户的家目录:shell环境
```

#### 8.7.2组
### 8.7.2组

```shell
'创建组' groupadd 组名
Expand All @@ -279,7 +281,7 @@ grep 过滤查找
useradd -g 组id 用户名
```

#### 8.7.3权限
### 8.7.3权限

- Linux系统是一个多用户多任务的操作系统,安全,对每一个文件或者文件夹都管理了权限
- Linux系统中的权限是针对文件或者是文件夹的权限,对系统中的每一个文件或者文件夹都涉及到了权限
Expand Down Expand Up @@ -308,11 +310,11 @@ useradd -g 组id 用户名
执行:进入这个文件文件 cd
```

#### 8.7.4修改权限
### 8.7.4修改权限

**权限的数字: `r 读 4` `w 写 2` `x 执行 1`**

##### 方法一
#### 方法一

**数字法修改权限**:4+2+1

Expand All @@ -321,7 +323,7 @@ useradd -g 组id 用户名
chmod 777 文件名 '给所有用户赋予读写执行权限'
```

##### 方法二
#### 方法二

通过字母来修改权限 u 所有者 g 所在组 o 其他组 a(all)所有用户

Expand All @@ -331,7 +333,7 @@ chmod u-r 1.txt
chmod a=r 1.txt
```

### 8.8其他的常用命令
## 8.8其他的常用命令

```shell
cd 'change directory' '切换目录'
Expand All @@ -352,7 +354,7 @@ clear '清空终端屏幕'
man 命令 '查看帮忙命令' = 命令 --help
```

### 8.9常见文件后缀
## 8.9常见文件后缀

```shell
.exe ---可执行
Expand All @@ -362,9 +364,9 @@ man 命令 '查看帮忙命令' = 命令 --help
.xml ---配置文件
```

## 9.杂
# 9.杂

### 9.1项目组成员
## 9.1项目组成员

1. 项目经理
2. 产品经理(BA)
Expand All @@ -377,7 +379,7 @@ man 命令 '查看帮忙命令' = 命令 --help
- 在项目开始做之间,就会做好数据字典,项目中一共需要多少张表,每一张表存储哪一些字段的数据
- 表与表之间怎么关联

### 9.2环境
## 9.2环境

- 测试环境: http://ip地址
- 生成环境:上线之后客户真实使用的环境 http://www.taobao.com
Expand All @@ -391,7 +393,7 @@ man 命令 '查看帮忙命令' = 命令 --help
- 发包:
- 生产环境的部署 很有经验的老的开发

### 9.3日志分析
## 9.3日志分析
1. anr crash app产生的中间 app的客户端的日志
2. 手机中的指定的文件中找 /data/anr
3. 日志 服务器下面logs
Expand All @@ -416,3 +418,68 @@ man 命令 '查看帮忙命令' = 命令 --help
- 偶现的bug ,不能直接的复现这些操作 ,去打印日志协助分析问题
- 日志文件一般会展示所有的异常,大概异常发送的时间点 2:30 -4:30
- 2024-5-12 14:02 XXXXX

# 10.DD命令

`dd`命令是Unix和Linux系统中一个非常强大的工具,用于转换和复制文件。以下是如何使用`dd`命令的一些基本方法:

## 10.1基本语法

```shell
dd if=<输入文件> of=<输出文件> [选项]
```

- `if`:指定输入文件名或设备名。默认为标准输入(stdin)。
- `of`:指定输出文件名或设备名。默认为标准输出(stdout)。
- `[选项]`:各种可选参数,用于控制复制行为。

## 10.2常用选项

- `bs=块大小`:指定读写的块大小,如`bs=4M`。默认为512字节。
- `count=块数`:指定要复制的块数,如`count=10`
- `skip=块数`:在读取输入文件之前跳过的块数,如`skip=5`
- `seek=块数`:在写入输出文件之前跳过的块数,如`seek=5`
- `conv=转换列表`:指定数据转换方式,如`conv=sync`确保同步模式,`conv=noerror`忽略读写错误等。
- `status=LEVEL`:控制状态输出的详细程度,如`status=progress`会显示复制进度。

## 10.3示例

- **复制文件**:将一个文件复制到另一个文件。

```shell
dd if=/path/to/source_file of=/path/to/destination_file
```

- **备份磁盘分区**:将一个磁盘分区备份到一个镜像文件。

```shell
dd if=/dev/sda1 of=/path/to/backup.img
```

- **恢复磁盘分区**:将镜像文件恢复到磁盘分区。

```shell
dd if=/path/to/backup.img of=/dev/sda1
```

- **创建镜像文件**:创建一个指定大小的镜像文件,内容全为零。

```shell
dd if=/dev/zero of=imagefile.img bs=1G count=10
```

- **制作启动盘**:将ISO文件写入U盘,制作启动盘。

```shell
dd if=/path/to/ubuntu.iso of=/dev/sdb bs=4M status=progress
```

- **擦除硬盘数据**:使用随机数据覆盖整个硬盘,确保数据无法恢复。

```shell
dd if=/dev/urandom of=/dev/sda bs=4M
```

> [!WARNING]
> - 使用`dd`命令时需要谨慎,错误的操作可能会导致数据丢失或系统损坏。在执行涉及磁盘操作的命令前,最好先进行备份。
> - 部分操作可能需要root权限,如备份和恢复磁盘分区等。
2 changes: 1 addition & 1 deletion blogBase.json

Large diffs are not rendered by default.

Loading

0 comments on commit ee18d67

Please sign in to comment.