TreeNode
记录了一些二叉树结点常用的方法,方便LeetCode测试代码时调用
ListNode
记录了一些链表结点常用的方法,方便LeetCode测试代码时调用
(二)tmux
说明
本文章将默认的Ctrl+b操作改成Ctrl+a具体修改方法在最下面
若您习惯Ctrl+b可将本文章的所有Ctrl+a替换为Ctrl+b
下载
ubuntu用户可以
sudo apt-get install tmux
功能
分屏。
允许断开Terminal连接后,继续运行进程。
结构
一个tmux可以包含多个session,一个session可以包含多个window,一个window可以包含多个pane。
实例:
1234567891011121314tmux: session 0: window 0: pane 0 pane 1 pane 2 ... window 1: pane 0 window 2: ... session 1 session 2 ...
操作
终端层
tmux或tmux new -s XX
新建一个session,其中包含一个window,window中包含一个pane,pane里打开了一个shell对话框
默认是数字编号为session名字
tmux new -s brown 新建一个名为brown ...
(1)基础命令
Ctrl c
取消命令,并且换行
Ctrl u
清空本行命令
tab
键补全命令和文件名 如果补全不了快速按两下tab键,可以显示备选选项
ls
列出当前目录下所有文件
蓝色的是文件夹,白色的是普通文件,绿色的是可执行文件
ls -a查看所有文件包括隐藏文件(以.开头的文件就是隐藏文件)
ls -l 查看当前路径下文件的读、写、执行权限 文件大小
d文件夹 -文件 r读入w写x可执行
ls -hl 文件大小以更方便的形式列出
ls | wc -l 查看ls下有多少个文件
pwd
显示当前路径
cd XXX
进入XXX目录下
. 当前目录 .. 上级目录
~ 家目录
回到路径/home/acs下 acs是当前用户的用户名
cd - 上一次待过的路径
比如当前在A/a然后cd B/b
如果执行 cd -是返回A/a而不是B
cp A B
将A文件复制成B
B 可以是路径 也可以是新的文件名称 默认是从当前路径开始寻找
B路径最后是文件夹 那么就复制到B一个A 否则就创建一个名字为B的文件内容为A
cp A B -r ...
(五)shell下
紧接上文
expr命令
expr命令用于求表达式的值,格式为:
expr 表达式
表达式说明:
用空格隔开每一项
用反斜杠放在shell特定的字符前面(发现表达式运行错误时,可以试试转义)
对包含空格和其他特殊字符的字符串要用引号括起来
expr会在stdout中输出结果。
如果为逻辑关系表达式,则结果为真,stdout为1,否则为0。
expr的exit code:000
如果为逻辑关系表达式,则结果为真,exit code为0,否则为1。
字符串表达式
length STRING
返回STRING的长度
index STRING CHARSET
CHARSET中任意单个字符在STRING中最前面的字符位置,下标从==111==开始。如果在STRING中完全不存在CHARSET中的字符,则返回000。
substr STRING POSITION LENGTH
返回STRING字符串中从POSITION开始,长度最大为LENGTH的子串。如果POSITION或LENGTH为负数,0或非数值,则返回空字符串。下标从==111==开始
12345str=&quo ...
(四)shell上
概论
shell是我们通过命令行与操作系统沟通的语言。
shell脚本可以直接在命令行中执行,也可以将一套逻辑组织成一个文件,方便复用。
AC Terminal中的命令行可以看成是一个“shell脚本在逐行执行”。
Linux中常见的shell脚本有很多种,常见的有:
Bourne Shell(/usr/bin/sh或/bin/sh)
Bourne Again Shell(/bin/bash)
C Shell(/usr/bin/csh)
K Shell(/usr/bin/ksh)
zsh
Linux系统中一般默认使用bash,所以接下来讲解bash中的语法。
文件开头需要写**#! /bin/bash**,指明bash为脚本解释器。
脚本示例
新建一个test.sh文件,内容如下:
12#! /bin/bashecho "Hello World!"
运行方式
使脚本具有可执行权限
chmod +x test.sh
不同路径下运行
12345./test.sh #当前路径/home/acs/test.sh #绝 ...
(三)vim
本人的vim配置在最下面
文章只记录了比较常用的命令 会不定时根据需求更新
功能
命令行模式下的文本编辑器
根据文件扩展名自动判别编程语言。支持代码缩进、代码高亮等功能
使用方式:vi filename或者vim filename
如果已有该文件,则打开它
如果没有该文件,则打开一个新的文件,并命名位filename
模式
一般命令模式
默认模式。命令输入方式:类似于打游戏放技能,按不同字符,即可进行不同操作。可以复制、粘贴、删
除文本等
编辑模式
在一般命令模式下按i,会进入编辑模式
ㅤㅤ按下ESC会退出编辑模式,返回到一般命令模式
命令行模式
ㅤㅤ在一般命令模式里按下: / ?三个字母中的任意一个,会进入命令行模式
ㅤㅤ命令行在最下面。可以查找、替换、保存、退出、配置编辑器等
操作
一般命令模式
i I gI a A o O
i进入编辑模式 下方会有insert标识
快捷键
作用
快捷键
作用
i
在光标前插入
I
在当前行第一个非空字符前插入
a
在光标后插入
A
在当前行最后插入
o
在下面新建一行插 ...
添加文章
git restore --stage XX 将文件XX从缓冲区删除
git rm --cached XX 表示git不需要管理这个文件,同时也将文件XX从缓冲区删除
git config --global user.name xxx:设置全局用户名,信息记录在~/.gitconfig文件中
git config --global user.email xxx@xxx.com:设置全局邮箱地址,信息记录在~/.gitconfig文件中
git init:将当前目录配置成git仓库,信息记录在隐藏的.git文件夹中
git add XX:将XX文件添加到暂存区
git add .:将所有待加入暂存区的文件加入暂存区
git rm --cached XX:将文件从仓库索引目录中删掉
git commit -m "给自己看的备注信息":将暂存区的内容提交到当前分支
git status:查看仓库状态
git diff XX:查看XX文件相对于暂存区修改了哪些内容
git log:查看当前分支的所有版本
git log --pre ...