2018-07-01 09:10:48 qq_29286967 阅读数 470
linux指令


linux指令详细:http://man.linuxde.net/


常用快捷键


ctrl + shift + = 放大终端窗口的字体显示


ctrl + - 缩小终端窗口的字体显示


自动补全 文件/目录/命令 的前几个字母之后,按下 tab 键


ctrl + c 如果想要退出选择,并且不想执行当前选中的命令


上/下 光标键可以在曾经使用过的命令之间来回切换


Ctrl + alt + t 打开终端的窗口


ls --help ls 命令帮助信息


man ls 命令使用手册


空格键 显示手册页的下一屏


Enter 键 一次滚动手册页的一行


b 回滚一屏


f 前滚一屏


q 退出


/word 搜索 word 字符串


Linux 主要目录速查表:

        



/:根目录,一般根目录下只存放目录,在 linux 下有且只有一个根目录,所有的东西都是从这里开始
当在终端里输入 /home,其实是在告诉电脑,先从 /(根目录)开始,再进入到 home 目录


/bin、/usr/bin:可执行二进制文件的目录,如常用的命令 ls、tar、mv、cat 等


/boot:放置 linux 系统启动时用到的一些文件,如 linux 的内核文件:/boot


/vmlinuz,系统引导管理器:/boot/grub


/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt


/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有
/etc/inittab
/etc/fstab
/etc/init.d
/etc/X11
/etc/sysconfig
/etc/xinetd.d
/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下


~ 表示当前用户的家目录


~edu 表示用户 edu 的家目录


/lib、/usr/lib、/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助


/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下


/mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载


/opt:给主机额外安装软件所摆放的目录


/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的文件有:/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等


/root:系统管理员root的家目录


/sbin、/usr/sbin、/usr/local/sbin:放置系统管理员使用的可执行命令,如 fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root 使用的命令,一般用户只能"查看"而不能设置和使用


/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下


/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内


/usr:应用程序存放目录


/usr/bin:存放应用程序


/usr/share:存放共享数据


/usr/lib:存放不能直接运行的,却是许多程序运行所必需的一些函数库文件


/usr/local:存放软件升级包


/usr/share/doc:系统说明文件存放目录


/usr/share/man:程序说明文件存放目录


/var:放置系统执行过程中经常变化的文件


/var/log:随时更改的日志文件


/var/spool/mail:邮件存放的目录


/var/run:程序或服务启动后,其 PID 存放在该目录下


1.ls命令


-a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出);


-A:显示除隐藏文件“.”和“..”以外的所有文件列表;


-C:多列显示输出结果。这是默认选项;


-l:与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列;


-h:配合 -l 以人性化的方式显示文件大小


*所有字符
?任意一个字符
[]任意一个 -表示字符范围
\  转义字符失去含义


2.mkdir 创建文件夹


-p 逐级创建文件夹  mkdir a/b/c/d -p


3.tree


-a:显示所有文件和目录;


-A:使用ASNI绘图字符显示树状图而非以ASCII字符组合;


-C:在文件和目录清单加上色彩,便于区分各种类型;


-p:列出权限标示;


-s:列出文件和目录大小;


4.touch 创建文件


5.rm


-i 以进行交互式方式执行


-f 强制删除,忽略不存在的文件,无需提示


-r 递归地删除目录下的内容,删除文件夹时必须加此参数 rm a -r


6.cp 拷贝
cp 将要进行复制的文件名或者目录 复制到的新的目录 [选项]


-i 交互式复制,在覆盖目标文件之前将给出提示要求用户确认


-r 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。


-v 显示拷贝进度


cp a/b c/ -irv # 把a目录下的b目录拷贝到c目录下




7.mv 重命名、移动
mv 源文件名或者源目录名 新文件名或者新目录名
mv 源文件名或者源目录名 指定目录名 [选项]


-f 禁止交互式操作,如有覆盖也不会给出提示


-i 确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件


-v 显示移动进度


mv xxx.txt bbb.txt


mv xxx.txt a/b 把xxx.txt文件移动到a目录下的b目录下


8.> >>


ls > name_list.txt(name_list.txt 如果不存在,则创建,存在则覆盖其内容)


ls >> name_list.txt (name_list.txt 如果不存在,则创建,存在则会追加到文件的尾部)


  tree > xxx.txt
  tree >> xxx.txt
  cat xxx.txt yyy.txt > zzz.txt


9.cat


10.gedit


11.more 分屏显示 每次只显示一页


more xxx.py
空格键 显示下一页
q键 退出
h键 获取帮助


12.| 管道:一个命令的输出可以通过管道作为另一个命令的输入。


ls -l | more


13.
# 建立硬链接
ln 源文件 链接文件


# 建立软链接
ln -s 源文件 链接文件


14.grep  文本搜索
grep [-选项] '搜索内容串' 文件名


-v 显示不包含匹配文本的所有行(相当于求反)


-n 显示匹配行及行号


-i 忽略大小写


^ 行首,
$ 行尾
    [] 匹配 [] 里中一系列字符中的一个
. (点)匹配一个非换行符的字符


grep '-' xxx.txt
grep -n '^a' xxx.txt


15.find 查找文件


find ./ -name test.sh 查找当前目录下所有名为test.sh的文件


find /tmp -size 2M 查找在/tmp 目录下等于2M的文件
find /tmp -size +2M 查找在/tmp 目录下大于2M的文件
find /tmp -size -2M 查找在/tmp 目录下小于2M的文件
find ./ -size +4k -size -5M 查找当前目录下大于4k,小于5M的文件


find ./ -perm 777 查找当前目录下权限为 777 的文件或目录


16.tar 归档管理
tar [参数] 打包文件名 文件


-c 生成档案文件,创建打包文件
-v 列出归档解档的详细过程,显示进度
-f 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后
-x 解开档案文件


打包(-cvf)


tar -cvf xxx.tar *


解包(-xvf)


tar -xvf xxx.tar -C ~/Desktop/  对该目录下的xxx.tar文件进行解包到桌面目录下(-C解包到指定目录)


17.gzip 文件压缩解压
gzip  [选项]  被压缩(解压)文件


tar只负责实现文件打包,但不压缩
gzip压缩tar打包 文件 xxx.tar.gz
gzip xxx.tar
gzip -d xxx.tar.gz


tar -cvzf 压缩包包名 文件1 文件2 ...


tar -zcvf xxx.tar.gz 1.txt 2.txt 把1.txt文件和2.txt完成打包并压缩操作


tar -zxvf xxx.tar.gz -C ~/Desktop/xxx.tar.gz压缩文件进行解压并解包到桌面目录中


18.bzip2
tar -jcvf 压缩包包名 文件...
tar -jxvf 压缩包包名


tar -jcvf xxx.tar.bz2 1.txt 2.txt


taj -jxvf xxx.tar.bz2 -C ~/Desktop/


19.zip
zip 目标文件(没有扩展名) 源文件
unzip -d 解压后目录文件 压缩文件


zip xxx *
unzip -d ./ xxx.zip


20 chmod 文件权限


chmod u/g/o/a +/-/=rwx 文件
u user  该文件的所有者
g group 该文件的所有者属于同一组(group)者 即用户组
o other 表示其他以外的人
a all   表示这三者皆是


+ 增加权限
- 撤销权限
= 设定权限


r read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。
w write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。
x excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。a 参数才能显示。


-rw-rw-r-- 1 parallels parallels 0 7月 21 19:36 1.txt
- rw- rw- r--
文件类型 该文件所有者的权限 用户组的权限 其他用户的权限
chmod u=rw,g=rwx,o= xxx.txt


r 读取权限,数字代号为 "4"
w 写入权限,数字代号为 "2"
x 执行权限,数字代号为 "1"
- 不具任何权限,数字代号为 "0"
chmod u=rwx,g=rx,o=r xxx.txt
chmod 754 xxx.txt


如果想递归所有目录加上相同权限,需要加上参数“ -R ”。
如:chmod 777 test/ -R 递归 test 目录下所有文件加 777 权限


21
sudo -s 切换到管理员账号
$ 中的$ 标识着是一个普通用户
# 中的#表示着是一个超级用户


password 账号


exit
如果是图形界面,退出当前终端;
如果是使用ssh远程登录,退出登陆账户;
如果是切换后的登陆用户,退出则返回上一个登陆账号;


who命令用于查看当前所有登录系统的用户信息。
who -q 显示用户的登录账号和登录用户的数量
who -b 显示上一次重新启动的时间和日期
第一列显示用户名称
第二列显示用户连接方式。tty意味着用户直接连接到电脑上,而pts意味着远程登录。
第三、四列分别显示日期和时间(该用户登录时间)
第五列显示用户登录IP地址


reboot 重新启动操作系统
shutdown –r now 关机后立即重新启动操作系统
shutdown -h now 立刻关机,其中now相当于时间为0的状态
shutdown -h 20:25 系统在今天的20:25 会关机
shutdown -h +10 系统再过十分钟后自动关机


reboot就像按了机箱上的重启键一样暴力
shutdown命令可以安全地关闭或重启Linux系统
22.Ubuntu软件操作相关命令
sudo apt-get update  更新源


sudo apt-get install package 安装包


sudo apt-get remove package 删除包


sudo apt-cache search package 搜索软件包


sudo apt-cache show package  获取包的相关信息,如说明、大小、版本等


sudo apt-get install package --reinstall   重新安装包


sudo apt-get -f install   修复安装


sudo apt-get remove package --purge 删除包,包括配置文件等


sudo apt-get build-dep package 安装相关的编译环境


sudo apt-get upgrade 更新已安装的包


sudo apt-get dist-upgrade 升级系统


sudo apt-cache depends package 了解使用该包依赖那些包


sudo apt-cache rdepends package 查看该包被哪些包依赖


sudo apt-get source package  下载该包的源代码


sudo apt-get clean && sudo apt-get autoclean 清理无用的包


sudo apt-get check 检查是否有损坏的依赖


安装软件:
通过apt-get包管理器从软件源中安装
通过deb格式的软件包安装
从软件源码手动编译安装


我们使用最多的是通过apt-get方式安装软件,已设定软件源中几乎包含了我们常用的所有软件。
2020-04-04 12:01:12 weixin_45449964 阅读数 8

Linux内核和磁盘占用

lsb_release -a

查看linux的内核、发行的版本、操作系统

uname -a

在这里插入图片描述
查看内核的版本

df / df -TH

df

使用df指令可以查看当前磁盘空间和他的占用情况
在这里插入图片描述
1k-blocks:指磁盘空间大小(Kb为单位)
used:是指已使用的空间
available:指可使用空间
use:值占用比

df -TH

在这里插入图片描述
加上-TH指令后,显示的不是以Kb为单位,而是以Mb为单位

文档型指令

cd 目录

进入到某一个目录下
在这里插入图片描述
/ 代表了根目录,cd / 代表进入到根目录下

ls

查看该目录下的文件以及目录
在这里插入图片描述

ls -la

使用该指令可以查看目录下文件目录的更详细的信息
在这里插入图片描述

mkdir <目录名称>

mkdir <目录> 是用于创建目录的指令
下面我们来创建一个test目录并进入该目录:
mkdir test
cd test
在这里插入图片描述

touch <文件名>

touch <文件名> 用于创建文件的指令
接下来在test目录下创建一个a.txt文件并查看test目录
touch a.txt
ls
在这里插入图片描述

vi <文件名>

vi <文件名> 用于打开文件编辑器
下面我们来用文件编辑器打开a.txt
vi a.txt
在这里插入图片描述
然后会显示这样的界面,就表示打开成功
在这里插入图片描述

进入编辑模式

按下按键 " A “即可进入编辑模式,在此模式下可以对文件进行编辑,当看到下方出现” INSERT "这样的字样表示当前是编辑模式,然后我们可以进行编辑

在这里插入图片描述

退出编辑模式

当我们对文件编辑完后,按下" ESC "键即可退出编辑模式,但注意,此时还未退出文件编辑器

保存文件

退出编辑模式后,输入 :wq 可以保存当前文件并退出文件编辑器
在这里插入图片描述

不保存文件

退出编辑模式后,输入 :q! 不会保存当前文件并退出文件编辑器
在这里插入图片描述

cat <文件名>

cat <文件名> 可以查看文件的内容
下面来查看 a.txt 文件的内容
cat a.txt
在这里插入图片描述
正是我们之前编写的内容

echo

echo 可以对文件的内容进行追加和覆盖

追加内容

echo “追加的内容” >> <文件名>
下面我们来给 a.txt 追加一些内容,并查看一下
echo “add content” >> a.txt
cat a.txt
在这里插入图片描述
可以见到内容以及添加进去了

覆盖

echo “覆盖的内容” > <文件名>
下面来覆盖a.txt的内容,并查看
echo “cover content” > a.txt
cat a.txt
在这里插入图片描述
a.txt的内容已经被覆盖了

rm

删除文件

rm <文件> 用于删除文件,删除的时候需要我们去确认是否删除(防止误删)
下面将a.txt 文件删除,然后查看test目录下的文件
rm a.txt
ls
在这里插入图片描述
可以看到a.txt已经被删除

删除目录

rm -r <目录> 用于删除目录,同样需要确认
下面来讲test目录删除
rm -r test

在这里插入图片描述
rm -rf 是强制删除,所以这个指令需要慎用,往年不少缺乏删库跑路的程序员用的都是这个指令 -.-

功能型指令

wg

wg 用于从网络上下载资源
这里就不演示了

tar

压缩文件

tar zcvf <压缩包名> <压缩文件>
下面我们来创建一个test测试目录
创建一个要压缩的目录package,目录下有一个文件a.txt
最后压缩
在这里插入图片描述
zcvf中:
z代表压缩的格式
c代表压缩
v代表显示压缩过程
f代表使用归档的名称
#解压
tar zxvf <压缩包名>
在这里插入图片描述
axvf中:
x代表压缩

以上就是今天的内容啦,如有错误,谢谢留言提出,见谅!

2018-12-21 12:40:55 qq_40417296 阅读数 75
  1. ls /      显示文件目录
  2. cd       切换目录
  3. ifconfig    类似于windows的ipconfig
  4. Ctrl  Alt  Fn   进入第n个控制台
  5.  chmod 777 template 
  • 编辑文件 vim +文件名     保存并且退出 esc    :wq     

        :w   保存文件但不退出vi

   :w file 将修改另外保存到file中,不退出vi

   :w!   强制保存,不推出vi

   :wq  保存文件并退出vi

   :wq! 强制保存文件,并退出vi

   q:  不保存文件,退出vi

   :q! 不保存文件,强制退出vi

   :e! 放弃所有修改,从上次保存文件开始再编辑
 

安装 yun

https://www.cnblogs.com/joshua317/articles/4147715.html

 

安装 tree

1.先下载安装包

使用命令        

wget http://mama.indstate.edu/users/ice/tree/src/tree-1.7.0.tgz

2.解压安装
Linux环境(ubuntu 16.10)下安装

解压tree-1.7.0.tgz文件,命令:tar -zxvf tree-1.7.0.tgz
进入解压目录中,命令:cd tree-1.7.0
安装文件,命令:make install 
刚开始没有用root,sudo root后再执行make install 安装成功~ 

 

 

安装mysql

#命令1 sudo apt-get update

#命令2 sudo apt-get install mysql-server

 

使用mysql

mysql -u root -p

root@iZwz9f7y2ikfe4gb3545myZ:/# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.24-0ubuntu0.16.04.1 (Ubuntu)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

常用命令:

create database new_dbname;--新建数据库
drop database old_dbnane; --删除数据库
show databases;--显示数据库
use databasename;--使用数据库
select database();--查看已选择的数据库
 
show tables;--显示当前库的所有表
create table tablename(fieldname1 fieldtype1,fieldname2 fieldtype2,..)[ENGINE=engine_name];--创建表
drop table tablename; --删除表
create table tablename select statement;--通过子查询创建表
desc tablename;--查看表结构
show create table tablename;--查看建表语句
 
alter table tablename add new_fielname new_fieldtype;--新增列
alter table tablename add new_fielname new_fieldtype after 列名1;--在列名1后新增列
alter table tablename modify fieldname new_fieldtype;--修改列
alter table tablename drop fieldname;--删除列
alter table tablename_old rename tablename_new;--表重命名
 
insert into tablename(fieldname1,fieldname2,fieldnamen) valuse(value1,value2,valuen);--增
delete from tablename [where fieldname=value];--删
update tablename set fieldname1=new_value where filename2=value;--改
select * from tablename [where filename=value];--查
 
truncate table tablename;--清空表中所有数据,DDL语句
 
show engines;--查看mysql现在已提供的存储引擎:
show variables like '%storage_engine%';--查看mysql当前默认的存储引擎
show create table tablename;--查看某张表用的存储引擎(结果的"ENGINE="部分)
alter table tablename ENGINE=InnoDB--修改引擎
create table tablename(fieldname1 fieldtype1,fieldname2 fieldtype2,..) ENGINE=engine_name;--创建表时设置存储引擎

二、导入数据库
方法一: 
选择数据库 
mysql>use abc;
设置数据库编码 
mysql>set names utf8;
导入数据(注意sql文件的路径) 
mysql>source /home/abc/abc.sql;
方法二(常用):        
        格式:mysql -u用户名 -p密码 数据库名 < 数据库名.sql 
        举例:mysql -uabc_f -p abc < abc.sql

退出    exit;

 

 

如果你是新手  刚刚买的服务器必看:    https://help.aliyun.com/document_detail/25475.html?spm=5176.2020520101.0.0.51434df5eogVGz

 

 


 

2019-11-23 20:57:16 dongcheng_2015 阅读数 15

在日常学习的过程中经常会碰到linux的各种指令,好记性不如烂笔头,这里就是把我平时用到的各种指令记下来,以后有个地方方便翻一翻。

less指令

  Linux中的less命令主要用来浏览文件内容,与more命令的用法相似,不同于more命令的是,less命令可往回卷动浏览以看过的部分,less 的用法比起 more 更加的有弹性。
如果想退出less请来按 q 键 就可以了

  一、参数说明:
-b <缓冲区大小> 设置缓冲区的大小

-e 当文件显示结束后,自动离开

-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件

-g 只标志最后搜索的关键词

-i 忽略搜索时的大小写

-m 显示类似more命令的百分比

-N 显示每行的行号

-o <文件名> 将less 输出的内容在指定文件中保存起来

-Q 不使用警告音

-s 显示连续空行为一行

-S 行过长时间将超出部分舍弃

-x <数字> 将"tab"键显示为规定的数字空格

/字符串:向下搜索"字符串"的功能

?字符串:向上搜索"字符串"的功能

n:重复前一个搜索(与 / 或 ? 有关)

N:反向重复前一个搜索(与 / 或 ? 有关)

b 向后翻一页

d 向后翻半页

h 显示帮助界面

Q 退出less 命令

u 向前滚动半页

y 向前滚动一行

空格键 滚动一页

回车键 滚动一行

[pagedown]: 向下翻动一页

[pageup]: 向上翻动一页

more指令

  Linux more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。

  一、参数
-num 一次显示的行数

-d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示[Press 'h' for instructions.] 而不是 '哔' 声

-l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能

-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容

-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料

-s 当遇到有连续两行以上的空白行,就代换为一行的空白行

-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)

+/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示

+num 从第 num 行开始显示

fileNames 欲显示内容的文档,可为复数个数
   二、常用的操作指令
Enter 向下n行,需要定义。默认为1行

Ctrl+F 向下滚动一屏

空格键 向下滚动一屏

Ctrl+B 返回上一屏

= 输出当前行的行号

:f 输出文件名和当前行的行号

V 调用vi编辑器

!命令 调用Shell,并执行命令

q 退出more

ps指令

  Linux ps命令用于显示当前进程 (process) 的状态(process status)

用到的实例

ps -ef  //显示所有命令,连带命令行
  一、参数
ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义

-A 列出所有的行程

-w 显示加宽可以显示较多的资讯

-au 显示较详细的资讯

-aux 显示所有包含其他使用者的行程

au(x) 输出格式 :

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

USER: 行程拥有者

PID: pid

%CPU: 占用的 CPU 使用率

%MEM: 占用的记忆体使用率

VSZ: 占用的虚拟记忆体大小

RSS: 占用的记忆体大小

TTY: 终端的次要装置号码 (minor device number of tty)

STAT: 该行程的状态:

D: 无法中断的休眠状态 (通常 IO 的进程)

R: 正在执行中

S: 静止状态

T: 暂停执行

Z: 不存在但暂时无法消除

W: 没有足够的记忆体分页可分配

<: 高优先序的行程

N: 低优先序的行程

L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)

START: 行程开始时间

TIME: 执行的时间

COMMAND:所执行的指令

kill指令/kill -9指令

kill -9 7116 //强制关闭pid为7116的进程

  Linux kill命令用于删除执行中的程序或工作

  kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或jobs指令查看。

2019-09-10 18:59:58 weixin_39747898 阅读数 37

风萧萧兮易水寒

保存与退出

:w 保存文件但不退出
:w file 将修改另外保存到file中,不退出
:w! 强制保存,不退出
:wq 保存文件并退出 (快捷键 SHIFT - ZZ)
:wq! 强制保存文件,并退出
q: 不保存文件,退出
:q! 不保存文件,强制退出
:e! 放弃所有修改,从上次保存文件开始再编辑

复制粘贴删除

单行复制 将光标移到复制行 按 yy 进行复制
粘贴 将光标移到粘贴行 按 p 进行粘贴
删除一行 dd 命令。删除后下面的行会移上来填补空缺。
删除字符 将光标移到该字符上按下 x。
多行删除:
A:首先在命令模式下,输入“:set nu”显示行号 通过行号确定你要删除的行,命令输入“:32,65d”,回车键,32-65行就被删除了
B: 11,$d删除11行及以后所有的行
C: 1,$d 删除所有行

撤销

命令 u,它可以撤消上一次的操作。

插入

i命令可以在当前光标之前插入文本。
I 命令可以在此行起始位置插入。
a 命令可以在当前光标之后插入文本。
o 命令可以在当前行的下面另起一行,并使当前模式转为Insert模式。
O 命令(注意是大写的字母O)将在当前行的上面另起一行。

使用命令计数

假设你要向上移动9行。这可以用"kkkkkkkkk"或"9k"来完成。事实上,很多命令都可以接受一个数字作为重复执行同一命令的次数。在行尾追加三个感叹号,用的命令是"a!!!"。另一个办法是用"3a!“命令。3说明该命令将被重复执行3次。同样,删除3个字符可以用"3x”。指定的数字要紧挨在它所要修饰的命令前面。

移动光标

$ 命令将光标移动到当前行行尾。
^ 命令将光标移动到当前行的第一个非空白字符上。
0 命令则总是把光标移动到当前行的第一个字符上(数字0)。
$ 命令还可接受一个计数,如1$ 会将光标移动到当前行行尾,2$ 则会移动到下一行的行尾,如此类推。 0 命令却不能接受类似这样的计数,命令"^"前加上一个计数也没有任何效果。
移动到指定行
gg 命令是跳转到第一行的快捷方法。
G 命令指定一个命令计数,这个命令就会把光标定位到由命令计数指定的行上。比如33G就会把光标置于第33行上。
没有指定命令计数作为参数的话, G 会把光标定位到最后一行上。
另一个移动到某行的方法是在命令 % 之前指定一个命令计数比如50% 将会把光标定位在文件的中间. 90% 跳到接近文件尾的地方。
命令H ,M,L, 分别将光标跳转到第一行,中间行,结尾行部分。

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

滚屏

CTRL-U 显示文本的窗口向上滚动了半屏。
CTRL-D 命令将窗口向下移动半屏。很实用
CTRL-E (向上滚动)和CTRL-Y(向下滚动) 一次滚动一行。
要向前滚动一整屏使用命令CTRL-F。向后滚动一整屏CTRL-B
zz 命令会把当前行置为屏幕正中央,zt 命令会把当前行置于屏幕顶端,zb 则把当前行置于屏幕底端.

在文本中查找下一个word

把光标定位于这个word上然后按下 * 键。Vim将会取当前光标所在的word并将它作用目标字符串进行搜索。
# 命令是 * 的反向版。还可以在这两个命令前加一个命令计数
3* 查找当前光标下的word的第三次出现。

多行注释

CTRL-V 进入列(也叫区块)模式;
在行首使用上下键选择需要注释的多行;
按下键盘(大写)I 键,进入插入模式(I 在本行起始位置插入);
然后输入注释符(// , # 等);
最后按下Esc键。
删除多行注释:
首先按esc进入命令行模式下,按下CTRL-V 进入列模式
选定要取消注释的多行;
按下 x 或者 d (删除光标字母)注意:如果是“//”注释,那需要执行两次该操作,如果是“#”注释,一次即可

多文件编辑

vim可以后面同时接好几个文件来同时打开
:n 编辑下一个文件
:N 编辑上一个文件
:files 列出目前这个 vim 的打开的所有文件

linux指令-编辑文件

阅读数 159

没有更多推荐了,返回首页