# note **Repository Path**: wangsidandan/note ## Basic Information - **Project Name**: note - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2024-05-28 - **Last Updated**: 2024-06-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # linux > 上课前 随机抽查学生回顾前面内容 - 学习方式 - 提前预习 - 笔记梳理 - 同学差异 - 接收能力强 梳理|扩展|其他 - 接收能力慢 - 多问|提前敲 - 没开窍 坚持一个月 - `勤能补拙` ## 前言 - 过渡阶段 2天 - 操作系统 - **windows系统 兼顾开发和日用 windows服务器版本** - **linux 稳定 适合服务器开发 无图形化** - 双系统 - 虚拟方式 window上装一个虚拟机软件 vmware - 虚拟不同的操作系统 linux/ubuntu - 虚拟方式 - 第一种 导入已经给好的系统 briup/briup - 第二种(从零开始) 从镜像iso - macos 类unix系统 ![image-20240528091219690](assets/image-20240528091219690.png) ## 文件系统 - / 根目录 找磁盘中的文件 必须以/开头 /home/briup - /home 普通用户的家目录 - ls 默认打印当前用户目录 - ls /home/briup - ls ~ - /root 超级管理员的家目录 - /etc 配置文件 - 网卡(/etc/netplan/01) 时区 编码 - /usr 默认的程序安装位置 - /opt 可选安装目录 - /bin 二进制指令 ## 路径 - 绝对路径 从/开头 - 相对路径 在当前路径描述其他路径 - ./ 当前级 可省略不写 - ../ 上一级 ![image-20240528110742685](assets/image-20240528110742685.png) ## 指令 ### 权限 - 账号 - 创建账号 `sudo useradd -mk /home/swift -s /bin/bash swift` - 删除账号 `sudo userdel -r -f swift` - 切换账号 - su 默认切超级管理员 - su - 账号 - 密码 - passwd 默认修改当前用户密码(注意 必须大于6位) - paswd 账号 - sudo passwd root 临时提升权限 - 权限 - 权限组(了解) `sudo gpasswd -a tom sudo` - `-rw-rw-r-- 1 briup briup 4 5月 28 15:05 a.txt` - r 读 w 写 x可执行 - 本用户 u 同组人 g 其他人o 所有人a - 修改权限 - chmod u= ,g=,o= a.txt - chmod 777 a.txt - 1 执行 0000 0001 - 2 写 0000 0010 - 4 读 0000 0100 ![image-20240528152823241](assets/image-20240528152823241.png) ### 系统指令 - echo 打印字符串 - echo 常量 - echo $变量 - ps 程序状态 process status - ps -ef | grep "ssh" - clear 清屏 - cal - date ### 文件指令 #### 目录 - ls `list ` 列出目录 ls -al ==== ll - `-a` 隐藏文件 - `-t` 时间倒排 - `-R` 递归显示 - `-l` 详情 - -F 是否可执行 - pwd 打印当前工作目录 `print working directory` - cd `change directory` 切换目录 - cp - cp a文件夹 b文件夹 - b文件夹不存在 当前目录创建b文件夹,然后把a的内容复制到b文件夹中 - b文件夹存在 将a文件夹复制到b文件夹内部 - mv 移动目录 - mv a目录 b目录 - b目录不存在 重命名目录 - b目录存在 a移动到b中 - rm -rf 递归删除目录 #### 文件 - cat 查看文件内容 `concatenate` - `cat /etc/netplan/01-network-manager-all.yaml `(ubuntu21的网卡配置) - `-n` 显示行号 - more 分页查找 - tail -5 /etc/passwd 查看最后5行 - cp 复制文件 copy - cp a文件 b文件 - b文件不存在 当前目录创建b文件 - b文件存在时 复制b文件内容 - cp 文件 b目录 将文件复制到b目录中 - mv 移动 move - mv a文件 b文件 重命名 - mv a文件 b目录 将a移动到b中 - rm a.txt ### 符号 - 通配 * 0-n个 - ? 有且仅有一个 - ; 连接符号 多个指令 - `> >>`重定向 - `>` 覆盖 - `>>` 追加 - `|` 管道 |后面的指令使用前面指令的结果 - `cat /etc/passwd | grep briup` - `ps -ef | grep ssh` ### 远程 > ssh协议 远程连接 ssh 账号@ip地址 - 终端 ssh briup@192.168.23.139 - putty - xshell ### 压缩归档 - 归档 - tar -cvf ..tar * - tar -xvf .tar -C 目录 - 压缩 - gzip work.tar - gunzip work.tar - 归档压缩 - tar -zcvf .tar.gz * - tar -zxvf .tar.gz -C 目录 ## vim ![image-20240529115910063](assets/image-20240529115910063.png) ### 编辑模式 > vim Hello.java 默认进入的是命令模式,无法编辑 > > 命令模式 -> 编辑模式 i a o > > 编辑模式->命令模式 esc - i 当前光标的位置输入 - a 当前光标的下一个位置输入 - o 当前光标的下一行输入 ### 命令模式 - 定位 - gg 首行 - G 末行 - 数字G 任意行 - 行首 0 - 行末 $ - 操作 - x 删除字符 - r 替换字符 - [2]dw 删除单词 - [2]dd 删除行 - [2]yy 复制 - p 粘贴 - u 撤销 - ~ 大小写转换 - /hello 查找 ### 命令行模式 - :w - :q! - :wq! - :wq a.txt 另存文件 - :数字 定位行 - : set nu 显示行号 - `:1,5s/源字符串/新字符串/g` - 全体替换 1-5行的指定字符串 ## 环境变量 - 临时配置 name=tom PATH=jdk/bin:$PATH - 持久化配置 .bashrc - **jdk环境变量** - JAVA_HOME=/home/briup/桌面/jdk.. - PATH=$JAVA_HOME/bin:$PATH - CLASSPATH - javac Hello.java - java Hello - 步骤 1. `vim ~/.bashrc` 2. 编辑内容 1. ```sh name=briup JAVA_HOME=/home/briup/桌面/jdk1.8.0_74 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=. export name JAVA_HOME PATH CLASSPATH ``` 3. `source ~/.bashrc` ` ## 快捷键 - ctrl+shift+ `+` 放大 - ctrl+`-` 缩小 - ctrl + alt +t 开窗口 - ctrl + shift + t 开多个窗口 # corejava > java编程语言 - 主流使用场景 开发web网站 - 客户端 idea ## 基本类型 - 整型 默认值 int int a = 100 long b = 100l; - byte 1 -128-127 - short 2 -32768-32767 - int 4 -2147483648-2147483647 - long 8 - 浮点 默认值是double double a = 3.14; float b = 3.14f; - float 4 - double 8 - 字符 - char 2 无符号 - ```java char x = 'a'; char y = 'b'; 码表 ASCII 二进制 十进制 十六进制 127 97 -> a 48-> 0 ``` - 编码表 - ASCII 128个字符 ->256 - ISO-8859-1 拉丁文编码 - GBK2312 中文编码 - unicode 国际统一编码 - UTF-8 可伸缩 - 特殊字符 - \n 回车 - \t 制表符 tab - 布尔 - boolean 1 > 原码 反码 补码 计算必须用补码 结果用原码 ```java // 10 原码 反码 补码 0000 1010 // -10 原码 1000 1010 反码 1111 0101 补码 1111 0110 1-1 === 1+(-1) 原码 0000 0001 1000 0001 1000 0002 === -2 反码 0000 0001 1111 1110 1111 1111 反码结果 1000 0000 -0 补码 0000 0001 1111 1111 0000 0000 == 0 byte 1个字节 2 最大值 0111 1111 (1000 0000-1) = 127 最小值 1000 0000 -128 -128 === 1000 0000 (-127)+(-1) -1的补码 1000 0001 1111 1110 1111 1111 -1 -127 1111 1111 1000 0000 1000 0001 1111 1111 1000 0001 1000 0000 补码 -128 0111 1111 0000 0000 0 short 2个字节 int 4个字节 ``` ## 操作符 ## 流程控制 ### 流程 #### 顺序结构 #### 分支结构 - if - switch - `使用break退出结构` #### 循环结构 - for - while - do..while ### 控制 - break 退出当前层的结构 ## 基类 ### System > 系统类 - System.out - System.in ### Scanner > 从指定方向录入数据 ```java package com.briup.day2; import java.util.Arrays; import java.util.Scanner; /** * @Auther: vanse(lc)) * @Date: 2024/5/31-05-31-上午10:19 * @Description:基类 */ public class TestScanner { public static void main(String[] args) { // Scanner 扫描(数据来源 键盘 文件) // 引用类型 // int a = 1; 左边是类型 右边是具体值 // System.in 标准输入流 键盘 Scanner sc= new Scanner(System.in); // 从键盘录入值 调用sc的方法 // .var // ctrl + alt + v int m = sc.nextInt(); // 阻塞方法(等录入数据) System.out.println("m = " + m); int n = sc.nextInt(); System.out.println("n = " + n); System.out.println("m >=n " + (m>=n)); System.out.println("n = " + n); // sout System.out.printf(""); // souf System.out.println("TestScanner.main"); // soutm //soutp System.out.println("args = " + Arrays.toString(args)); } } ``` ### Math > 数学类 平方 Π 随机数 绝对值 sin ## idea > 统一设置utf-8编码 ## 快捷键 - ctrl + / 单行注释 - ctrl + shift + / 多行注释 - ctrl +shift + x/y 大小写转换 - ctrl + shift + f - ctrl + alt + ↓ - alt + ↓ - ctrl + alt + v 接收变量 - alt+shift+m 抽取方法 - alt+shift + r 重命名