Ubuntu终端常用命令

默认

  • cp [选项] 源文件或目录 目标文件或目录
    • 常用选项:-r 拷贝源的所有子目录和文件
    • -i :相同时会让用户选择是否覆盖,-f 是直接覆盖
  • ls -a 列出当前目录文件(包括隐含文件)
    ls -l 列出当前目录下文件的详细信息
    ls -d */. 或 echo */. 查看当前文件子目录
  • cd - 回上一次所在的目录
    cd ~ 或 cd 回当前用户的宿主目录
  • mkdir 目录名: 创建一个目录
    rmdir 空目录名: 删除一个空目录
  • rm 文件名 文件名: 删除一个文件或多个文件
    rm -rf 非空目录名: 删除一个非空目录下的一切
  • mv 路经/文件 /路经/文件:移动相对路经下的文件到绝对路经下
    mv 文件名 新名称 :在当前目录下改名
  • find 路经 -name “字符串”:查找路经所在范围内满足字符串匹配的文件和目录
    find -name “*.png” > …/test.txt:找到png图片并写入test.txt
  • file 文件名:查看文件类型
  • tail -n 6 xxx:查看xxx文件最后6行的内容
  • 本地文件上传到服务器:scp -rp 本地文件路径 username@服务器ip:/目标路径
    服务器文件下载到本地:scp -rp username@服务器ip:/文件路径 本地目标路径
  • ls 路径|wc -w :统计当前文件个数
    ls -l 路径|grep ^d|wc -l :统计当前目录个数
    wc -l test.txt:统计txt中行数
  • df -h:查看磁盘空间
  • ls -lht 或者 ll:查看当前目录下所有文件的大小,以及总和
    du -s 文件名或者ls -lh 文件名:查看指定文件的大小

tmux终端复用相关

  • tmux new -s 名字:创建一个伪窗口
  • tmux ls:查看当前所有伪窗口
  • tmux detach:退出伪窗口
  • tmux attach -t 名字:进入该名字的伪窗口
  • tmux kill-session -t 名字:彻底关闭该会话
  • tmux switch -t 名字:切换伪窗口
  • tmux rename-session -t 原名 新名
  • tmux split-window:划分窗格
  • tmux select-pane -D:选择下面的窗格编辑(光标移动到下面)
  • tmux swap-pane -U:交换窗格

快捷键:
$ Ctrl+b d:分离当前会话。

$ Ctrl+b s:列出所有会话。

$ Ctrl+b $:重命名当前会话。
Ctrl+b %:划分左右两个窗格。
Ctrl+b ":划分上下两个窗格。
Ctrl+b :光标切换到其他窗格。是指向要切换到的窗格的方向键,比如切换到下方窗格,就按方向键↓。
Ctrl+b o:光标切换到下一个窗格。
Ctrl+b {:当前窗格左移。
Ctrl+b }:当前窗格右移。
Ctrl+b Ctrl+o:当前窗格上移。
Ctrl+b Alt+o:当前窗格下移。
Ctrl+b x:关闭当前窗格。
Ctrl+b !:将当前窗格拆分为一个独立窗口。
Ctrl+b z:当前窗格全屏显示,再使用一次会变回原来大小。
Ctrl+b Ctrl+:按箭头方向调整窗格大小。
Ctrl+b q:显示窗格编号。

tmux窗口操作:
Ctrl+b c:新建一个继承的窗口
Ctrl+b p:切换到上一个窗口
Ctrl+b n:切换到下一个窗口
Ctrl+b w:从列表选择窗口
Ctrl+b ,:窗口重命名

进入tmux翻屏模式:
ctrl +b + [
进入翻屏模式后,PgUp PgDn 实现上下翻页
退出翻屏模式: q 或者ctrl+c

git相关命令

  • 创建本地文件夹
  • git init
  • git remote add origin “HTTPS地址”
  • git clone -b next(远程分支名) “地址”
  • git checkout -b master-dev1 (创建并切换到master-dev1分支上)
  • git status
  • git add .
  • git commit -m “注释”
  • 切换到本地主分支:git checkout master (切换分之前,需要先在next-dev上commit更改到本地仓库)
  • 本地主分支更新:git pull origin master
  • 在本地主分支上去合并master-dev分支:git merge master-dev1
  • 提交本地master到远程next: git push origin master:next (”:“前面的是本地分支的名字,”:"后面的是远程分支的名字)
  • 撤销本地的提交:git log 查看commit_id
    git reset --hard commit_id

回滚操作
1、git log 找到版本号。

2、使用“git reset --hard 目标版本号”命令将版本回退。

3、使用“git push -f origin master:next”提交更改.

查看两个版本的不同:

  • git diff 版本号1 版本号2

rebase操作

  • git rebase 参考分支名称

其他命令:

  • git branch:列出本地分支
  • git branch -r:列出远程分支
  • git branch -a:列出全部分支
  • git branch 名字:新建一个分支但不切换当前所在分支
  • git switch 名字:切换分支

取出某一个commit:
前提是这个commit在最前面,如果不在就创分支并回退到这个commit版本
再:git format-patch HEAD^
再基于master创建一个最新的分支 并git am 0001-update-lr_cosine.patch
最后再git push

vi 文件操作

近在使用ubuntu,在linux下,要编辑文件或者其他的文本文件,哪那么一个ubuntu linux下的强大的文本编辑工具就不得不提了,那就是VI编辑器。下面把VI常用到的命令行贴出来。

进入退出可参考:https://blog.csdn.net/wangguchao/article/details/81780567
进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename….filename :打开多个文件,依次进行编辑

移动光标类命令
h :光标左移一个字符
l :光标右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k或Ctrl+p:光标上移一行
j或Ctrl+n :光标下移一行
Enter :光标下移一行
w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字至字尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n+:光标下移n行
n-:光标上移n行
n:光标移至当前行尾

屏幕翻滚类命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

插入文本类命令
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行

删除命令
ndw或ndW:删除光标处开始及其后的n-1个字
do:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u:删除输入方式下所输入的文本

搜索及替换命令
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换

选项设置
all:列出所有选项设置情况
term:设置终端类型
ignorance:在搜索中忽略大小写
list:显示制表位(Ctrl+I)和行尾标志($)
number:显示行号
report:显示由面向行的命令修改过的数目
terse:显示简短的警告信息
warn:在转到别的文件时若没保存当前文件则显示NO write信息
nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符
nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始
mesg:允许vi显示其他用户用write写到自己终端上的信息

最后行方式命令
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d :将n1行到n2行之间的内容删除
:w :保存当前文件
:e filename:打开文件filename进行编辑
:x:保存当前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:!command:执行shell命令command
:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入
:r!command:将命令command的输出结果放到当前行

寄存器操作
“?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
“?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字
“?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字
“?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字
ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。

你可能感兴趣的:(Linux,ubuntu,服务器,linux)