pc网站开发,网站会员充值做哪个分录,中国十大科技公司,新葡京网址网站建设目录 一、常用文件管理命令二、tmux 和 vimtmuxvim 三、[Shell语法](https://blog.csdn.net/weixin_43288201/article/details/105643692)四、git五、sshReference 一、常用文件管理命令
(1) ctrl c: 取消命令#xff0c;并且换行
(2) ctrl u: 清空本行命令
(3) tab键#x… 目录 一、常用文件管理命令二、tmux 和 vimtmuxvim 三、[Shell语法](https://blog.csdn.net/weixin_43288201/article/details/105643692)四、git五、sshReference 一、常用文件管理命令
(1) ctrl c: 取消命令并且换行
(2) ctrl u: 清空本行命令
(3) tab键可以补全命令和文件名如果补全不了快速按两下tab键可以显示备选选项
(4) ls: 列出当前目录下所有文件蓝色的是文件夹白色的是普通文件绿色的是可执行文件
(5) pwd: 显示当前路径
(6) cd XXX: 进入XXX目录下, cd .. 返回上层目录
(7) cp XXX YYY: 将XXX文件复制成YYYXXX和YYY可以是一个路径比如../dir_c/a.txt表示上层目录下的dir_c文件夹下的文件a.txt
(8) mkdir XXX: 创建目录XXX
(9) rm XXX: 删除普通文件; rm XXX -r: 删除文件夹
(10) mv XXX YYY: 将XXX文件移动到YYY和cp命令一样XXX和YYY可以是一个路径重命名也是用这个命令
(11) touch XXX: 创建一个文件
(12) cat XXX: 展示文件XXX中的内容
(13) 复制文本windows/Linux下Ctrl insertMac下command c
(14) 粘贴文本windows/Linux下Shift insertMac下command v二、tmux 和 vim
tmux
功能(1) 分屏。(2) 允许断开Terminal连接后继续运行进程。
结构一个tmux可以包含多个session一个session可以包含多个window一个window可以包含多个pane。实例tmux:session 0:window 0:pane 0pane 1pane 2...window 1window 2...session 1session 2...
操作(1) tmux新建一个session其中包含一个windowwindow中包含一个panepane里打开了一个shell对话框。(2) 按下Ctrl a后手指松开然后按%将当前pane左右平分成两个pane。(3) 按下Ctrl a后手指松开然后按注意是双引号将当前pane上下平分成两个pane。(4) Ctrl d关闭当前pane如果当前window的所有pane均已关闭则自动关闭window如果当前session的所有window均已关闭则自动关闭session。(5) 鼠标点击可以选pane。(6) 按下ctrl a后手指松开然后按方向键选择相邻的pane。(7) 鼠标拖动pane之间的分割线可以调整分割线的位置。(8) 按住ctrl a的同时按方向键可以调整pane之间分割线的位置。(9) 按下ctrl a后手指松开然后按z将当前pane全屏/取消全屏。(10) 按下ctrl a后手指松开然后按d挂起当前session。(11) tmux a打开之前挂起的session。(12) 按下ctrl a后手指松开然后按s选择其它session。方向键 —— 上选择上一项 session/window/pane方向键 —— 下选择下一项 session/window/pane方向键 —— 右展开当前项 session/window方向键 —— 左闭合当前项 session/window(13) 按下Ctrl a后手指松开然后按c在当前session中创建一个新的window。(14) 按下Ctrl a后手指松开然后按w选择其他window操作方法与(12)完全相同。(15) 按下Ctrl a后手指松开然后按PageUp翻阅当前pane内的内容。(16) 鼠标滚轮翻阅当前pane内的内容。(17) 在tmux中选中文本时需要按住shift键。仅支持Windows和Linux不支持Mac不过该操作并不是必须的因此影响不大(18) tmux中复制/粘贴文本的通用方式(1) 按下Ctrl a后松开手指然后按[(2) 用鼠标选中文本被选中的文本会被自动复制到tmux的剪贴板(3) 按下Ctrl a后松开手指然后按]会将剪贴板中的内容粘贴到光标处
vim
功能(1) 命令行模式下的文本编辑器。(2) 根据文件扩展名自动判别编程语言。支持代码缩进、代码高亮等功能。(3) 使用方式vim filename如果已有该文件则打开它。如果没有该文件则打开个一个新的文件并命名为filename
模式(1) 一般命令模式默认模式。命令输入方式类似于打游戏放技能按不同字符即可进行不同操作。可以复制、粘贴、删除文本等。(2) 编辑模式在一般命令模式里按下i会进入编辑模式。按下ESC会退出编辑模式返回到一般命令模式。(3) 命令行模式在一般命令模式里按下:/?三个字母中的任意一个会进入命令行模式。命令行在最下面。可以查找、替换、保存、退出、配置编辑器等。
操作(1) i进入编辑模式(2) ESC进入一般命令模式(3) h 或 左箭头键光标向左移动一个字符(4) j 或 向下箭头光标向下移动一个字符(5) k 或 向上箭头光标向上移动一个字符(6) l 或 向右箭头光标向右移动一个字符(7) nSpacen表示数字按下数字后再按空格光标会向右移动这一行的n个字符(8) 0 或 功能键[Home]光标移动到本行开头(9) $ 或 功能键[End]光标移动到本行末尾(10) G光标移动到最后一行(11) :n 或 nGn为数字光标移动到第n行(12) gg光标移动到第一行相当于1G(13) nEntern为数字光标向下移动n行(14) /word向光标之下寻找第一个值为word的字符串。(15) ?word向光标之上寻找第一个值为word的字符串。(16) n重复前一个查找操作(17) N反向重复前一个查找操作(18) :n1,n2s/word1/word2/gn1与n2为数字在第n1行与n2行之间寻找word1这个字符串并将该字符串替换为word2(19) :1,$s/word1/word2/g将全文的word1替换为word2(20) :1,$s/word1/word2/gc将全文的word1替换为word2且在替换前要求用户确认。(21) v选中文本(22) d删除选中的文本(23) dd: 删除当前行(24) y复制选中的文本(25) yy: 复制当前行(26) p: 将复制的数据在光标的下一行/下一个位置粘贴(27) u撤销(28) Ctrl r取消撤销(29) 大于号 将选中的文本整体向右缩进一次(30) 小于号 将选中的文本整体向左缩进一次(31) :w 保存(32) :w! 强制保存(33) :q 退出(34) :q! 强制退出(35) :wq 保存并退出(36) :set paste 设置成粘贴模式取消代码自动缩进(37) :set nopaste 取消粘贴模式开启代码自动缩进(38) :set nu 显示行号(39) :set nonu 隐藏行号(40) ggG将全文代码格式化(41) :noh 关闭查找关键词高亮(42) Ctrl q当vim卡死时可以取消当前正在执行的命令
异常处理每次用vim编辑文件时会自动创建一个.filename.swp的临时文件。如果打开某个文件时该文件的swp文件已存在则会报错。此时解决办法有两种(1) 找到正在打开该文件的程序并退出(2) 直接删掉该swp文件即可三、Shell语法
四、git
工作区仓库的目录。工作区是独立于各个分支的。 暂存区数据暂时存放的区域类似于工作区写入版本库前的缓存区。暂存区是独立于各个分支的。 版本库存放所有已经提交到本地仓库的代码版本 版本结构树结构树中每个节点代表一个代码版本。 git 常用的命令 git config --global user.name xxx设置全局用户名信息记录在~/.gitconfig文件中
git config --global user.email xxxxxx.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 reflog查看HEAD指针的移动历史包括被回滚的版本
git reset --hard HEAD^ 或 git reset --hard HEAD~将代码库回滚到上一个版本
git reset --hard HEAD^^往上回滚两次以此类推
git reset --hard HEAD~100往上回滚100个版本
git reset --hard 版本号回滚到某一特定版本
git checkout — XX或git restore XX将XX文件尚未加入暂存区的修改全部撤销
git remote add origin gitgit.acwing.com:xxx/XXX.git将本地仓库关联到远程仓库
git push -u (第一次需要-u以后不需要)将当前分支推送到远程仓库
git push origin branch_name将本地的某个分支推送到远程仓库
git clone gitgit.acwing.com:xxx/XXX.git将远程仓库XXX下载到当前目录下
git checkout -b branch_name创建并切换到branch_name这个分支
git branch查看所有分支和当前所处分支
git checkout branch_name切换到branch_name这个分支
git merge branch_name将分支branch_name合并到当前分支上
git branch -d branch_name删除本地仓库的branch_name分支
git branch branch_name创建新分支
git push --set-upstream origin branch_name设置本地的branch_name分支对应远程仓库的branch_name分支
git push -d origin branch_name删除远程仓库的branch_name分支
git pull将远程仓库的当前分支与本地仓库的当前分支合并
git pull origin branch_name将远程仓库的branch_name分支与本地仓库的当前分支合并
git branch --set-upstream-toorigin/branch_name1 branch_name2将远程的branch_name1分支与本地的branch_name2分支对应
git checkout -t origin/branch_name 将远程的branch_name分支拉取到本地
git stash将工作区和暂存区中尚未提交的修改存入栈中
git stash apply将栈顶存储的修改恢复到当前分支但不删除栈顶元素
git stash drop删除栈顶存储的修改
git stash pop将栈顶存储的修改恢复到当前分支同时删除栈顶元素
git stash list查看栈中所有元素
五、ssh
基本用法
远程登录服务器ssh userhostname
user: 用户名
hostname: IP地址或域名
第一次登录时会提示The authenticity of host 123.57.47.211 (123.57.47.211) cant be established.
ECDSA key fingerprint is SHA256:iy237yysfCe013/lkpDGfEG9xxHxm0dnxnAbJTPpG8.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
输入yes然后回车即可。
这样会将该服务器的信息记录在~/.ssh/known_hosts文件中。然后输入密码即可登录到远程服务器中。默认登录端口号为22。如果想登录某一特定端口ssh userhostname -p 22
配置文件
创建文件 ~/.ssh/config。然后在文件中输入Host myserver1HostName IP地址或域名User 用户名Host myserver2HostName IP地址或域名User 用户名
之后再使用服务器时可以直接使用别名myserver1、myserver2。密钥登录
创建密钥ssh-keygen
然后一直回车即可。执行结束后~/.ssh/目录下会多两个文件id_rsa私钥
id_rsa.pub公钥
之后想免密码登录哪个服务器就将公钥传给哪个服务器即可。例如想免密登录myserver服务器。则将公钥中的内容复制到myserver中的~/.ssh/authorized_keys文件里即可。也可以使用如下命令一键添加公钥ssh-copy-id myserver
执行命令
命令格式ssh userhostname command
例如ssh userhostname ls -a
或者# 单引号中的$i可以求值
ssh myserver for ((i 0; i 10; i )) do echo $i; done
或者# 双引号中的$i不可以求值
ssh myserver for ((i 0; i 10; i )) do echo $i; done
Reference
来自y总的linux课做一个简单的记录 AcWing