catalog
- WIndows与Unix基本命令
- Bat文件
- Windows-CMD
- vim
- tmux
- Sh脚本文件
- linux命令
-
- 查看文件信息
- sh文件示例
- `expr`四则运算
- 注释
- 声明字符串常量
- `$()` 将(标准输出)重定向到(常量)
- 字符串切割
- linux命令 与 shell命令
- echo 标准输出
- sort排序
- 输出文件内容
- 写入并覆盖文件
- 读出文件并写入另一个文件
- (命令行参数) 和 (标准输入), 管道
- `> 和 >>` 将(标准输出)重定向到(文件)
- `<` 将(文件) 流入 (标准输入)
- `xargs` 将(标准输入)重定向到(命名行参数)
- 管道`|` 将 (标准输出) 重定向 (标准输入)
- 查找文件/目录
- 查找文件内容
- 历史命令
- 下载工具
- sh文件
- 选中、复制、粘贴
- source引入头文件
- 重定向
- 函数
- for/while循环/continue
- #! /bin/bash
- chmod
- 条件if
- expr
- 字符串、变量
- 打印
- 取字符串/数组 的长度
- 脚本参数
- 进程id
- 获取(命令)返回值
- 数组
- linux文件系统
- 命令
- Linux命令
- 常用命令
WIndows与Unix基本命令
分类 | Windows 系统 | Unix 系统 |
文件列表 | dir | ls |
切换目录 | cd | cd |
建立目录 | md | mkdir |
删除目录 | rd | rmdir |
比较文件 | fc | diff |
复制文件 | copy | cp |
移动文件 | move | mv |
文件改名 | ren | mv |
删除文件 | del | rm |
Bat文件
规范
开头写成: @echo off
, 就像sh文件的开头#! /bin/bash
echo off
是: 下面的命令, 不展示在命令行中;
@
在一个命令前: 该命令不展示在命令行
注释
:: hhh
Windows-CMD
介绍
Windows 自带的命令行界面有两个。
- “命令提示符”(cmd)是其中较为古老的一个,功能也相对简单。
- PowerShell 是较新的一个命令行界面,自带的功能丰富,但相对臃肿。
两个界面都可以在开始菜单中找到。
管道|
, 重定向> <
详见 下面的Linux, 一样的
相对位置
Windows下, 与 Linux, 在处理绝对位置时, 是非常非常不同的!!!
Linux下, 需要是: ./a.exe
而在Windows下, 必须是: a.exe
, 不可以加./
因此: 在Linux下是: system( "./go.exe")
, 而在Windows下必须是: system( "go.exe")
fc
fc a.out b.out
比较两个文件的差异
创建文件
echo > a.txt
删除文件/文件夹
del a.txt
del dir
创建文件夹
mkdir dir
输出文件内容
type a.txt
中文乱码 CHCP
数据,存在计算机上的二进制,是已经确定了!!!
(毕竟,一个exe已经生成了)
关键是,如何去解析 这些(二进制)!!! 以什么编码方式,去解析。
CHCP // 获取当前代码页
CHCP 65001 ' utf-8 '
CHCP 936 ' gb2312 '
vim
缩进
按v
选中一些行后, ( 按shift + >
是向右缩进) ( 按shift + <
是向左缩进)
查找
/abc
查看所有的含abc
的位置
显示行号
:set nu
显示行号
:set nonu
不显示行号
删除
ggdG
删除
视图跳转
x G
: 视图回到 (第x行)
G
: 视图到 (最后一行)
x 回车
: 视图往下移动 (x行)
page up
或 page down
: 视图移动
复制
选中: v
复制: 按v
进入选中模式, 然后选中后, 按y
粘贴: p
粘贴
剪切一行: dd
剪切一行
复制代码
:set paste
进入复制模式, 复制完后: : set nopaste
Deprecated
`ggdG` 剪切所有内容
gg=G ' 格式化代码 '
u ' 撤销 '
v ' 然后, 按方向键, 进行文本的选中 '
y ' 复制 所选中的内容. y是yank复制 (无法复制出来, 即仅限于vim里)'
yy ' 复制一行 '
p ' 粘贴 paste '
:set paste ' 当你要shift+insert, 往vim里 粘贴进一些文本时, 要设置这个模式; 否则你的文本, 和他原来的格式 不一样 '
:set nopaste ' 绝大多数下, 都是使用这个模式 (默认vim也是这个模式); 只有当你要粘贴时, 设置paste, 粘贴完毕, 就设置回去nopaste '
/abc '查找 找所有`abc`字符串(按“回车”后,按`n` 可以进行迭代) '
解释paste模式
int x;
a
b
当你在;
的后面, 按下回车时, 你肯定是希望光标在a 处
这就是nopaste
模式, 即他会自动给你缩进
但是, 当你要粘贴文本时, 你肯定不希望, 在你文本中的 每个’\n’后面, 都新加一个tab缩进
. 即让文本按照本来的样子来粘贴, 这就是paste模式
tmux
复制粘贴
ctrl a, [
进入(复制模式), (然后你点击左键, 按住, 一旦松开, 就表示复制了)
ctrl a, ]
粘贴
(只在tmux里有效), 在外界不可以; (在外界, 使用ctrl+v
也不行, 即, 他和本机电脑的粘贴板无关, 但ctrl insert
会进入电脑粘贴板)
tmux
如果是在(非tmux)模式下, 则开始一个新的tmux
ctrl d
如果是在(tmux)模式下, 则 (退出) 并 (删除) 该tmux
ctrl a, d
如果是在(tmux)模式下, 则 (退出) 并 (挂起) 该tmux
tmux a
如果是在(非tmux)模式下, 则 进入 (被挂起了的) tmux
tmux a, s
如果是在(tmux)模式下, 则 展示所有的tmux目录
tmux a, shift 5
如果是在(tmux)模式下, 则 在(右侧) 产生一个 新的分屏tmux
tmux a, shift "
如果是在(tmux)模式下, 则 在(下侧) 产生一个 新的分屏tmux
tmux a, z
如果是在(tmux)模式下, 将当前的分屏tmux, 全屏展示 或 取消全屏展示
Deprecated
tmux ' 打开一个新的tmux '
tmux a ' 打开之前挂起的tmux (即恢复你之前的那些分屏状态) '
ctrl + a, shift + 5 ' 左右分屏 '
ctrl + a, shift + " ' 上下分屏 (注意, 是引号键)'
ctrl + a, 方向键 ' 切换视图 '
ctrl + d ' 删除tmux, 退出; '
ctrl + a, d ' 挂起tmux, 退出; [ctrl+d, a]是保存tmux 退出, 然后[tmux a]是恢复之前的tmux状态 '
'比如你当前有很多的分屏, 你想要保存下来, 明天继续 '
ctrl + a, s