Linux常用命令大全(三)
Linux常用命令大全(三)
文件类型
普通文件(文本文件、数据文件、可执行的二进制文件)
目录文件 同上 差别:由成对的“I节点号、文件名”构成的列表
设备文件 (字符设备、块设备)
符号链接文件
路径名:绝对路径和相对路径
文件链接:硬链接和符号链接(软连接)
用户和权限
Linux系统中规定了4种不同类型的用户:
① 文件主(owner);
② 同组用户(group);
③ 可以访问系统的其他用户(others);
④ 超级用户(root),具有管理系统的特权。
存取权限规定3种访问文件或目录的方式:
① 读(r)
② 写(w)
③ 可执行或查找(x)
ls命令后面加上-d选项,可以了解目录文件的使用权限
vi工作方式:命令方式、输入方式、ex转义方式
命令方式:
输入方式:
- 通过输入vi的插入命令( i )、附加命令( a )、打开命令(o )、替换命令( s )、修改命令( c )或取代命令( r )可以从命令方式进入到输入方式
- 由输入方式回到命令方式的办法是按下键
ex转义方式 - 在vi 中,命令通常是单个字母,例如a , x , R等。
- 在ex中,命令是以键结束的正文行
- 为了使用ex转义方式,可输入一个冒号(:)
例如
: 1 , $ s / I / i / g <Enter>
则从文件第一行至文件末尾($)将大写I全部替换成小写 i
进入vi
- 在系统提示符($ )下输入命令vi和想要编辑(建立)的文件名,便可进入vi。
- 例如:$vi example.c
退出vi
- :wq把编辑缓冲区的内容写到你编辑的文件中,退出编辑器,回到 shell下。
(其操作过程是,先键入冒号“:”,再键入命令wq。以下命令操作相同。) - :ZZ 仅当作过修改时才将缓冲区内容写到文件上。
- :x 与 :ZZ相同。
- :q! 强行退出vi。感叹号(! )告诉vi,无条件退出,丢弃缓冲区内容
插入命令:
- 在i命令之后输入的内容都插在光标位置之前,光标后的文本相应向右移动。如按下Enter键,就插入新的一行或者换行。
- 输入I命令后在当前行(即光标所在行)的行首插入新增文本,行首是该行的第一个非空白字符。当输入I命令时,光标就移到行首。
附加命令:
- a 在光标之后插入,光标可在一行的任何位置。
- A 在光标所在行的行尾添加文本。
打开命令:
- o 在光标所在行的下面插入一行。
- O 在光标所在行的上面插入一行。
输入方式下光标的移动:
- 四个表示方向的箭头键: ← ↓ ↑ →
- (退格键)
- U 将光标回退到刚插入字符串的第一个字符,并重新开始插入。
- W 将光标移到最后插入单词的首字符。
- T 在插入正文时,如果光标在当前行的开头,并且设置了自动缩进选项,那么这个命令就插入缩进所对应的空格。如果光标在新插入词的中间,设从该词开头至光标位的位移为k,缩进空格为n,那么这个命令就在光标前插入( n-k)个空格;如果k大于n,则n 扩大一倍。
移动光标:
- -: 上一行的开头
- Enter 下一行的开头
移至行首的命令(键):
^ 将光标移到当前行的第一个非空白符(非制表符或非空格符)
0 总是将光标移到当前行的第一个字符,不管它是否为空白符
移至行尾的命令(键):
$
移至指定行的命令(键):
[行号]G
移至指定列的命令(键):
[列号]|
按词前移的命令(键):
w ——词被定义为以标点符号或空白符(制表符、换行符或空格)分开的字母数字串
W ——词被定义为非空白字符串
按词后移的命令(键):
b ——词被定义为以标点符号或空白符(制表符、换行符或空格)分开的字母数字串
B ——词被定义为非空白字符串
移至词尾的命令(键):
e E
对搜索词的定义分别与w和W相同。如光标已在一个词中,它就移至该词末尾
按句移动的命令(键):
( )
命令( 和 )分别将光标移至上一个和下一个句子的开头。句子被定义为以句点(.)、问号(?)或感叹号(!)结尾、后随二个空格或一个换行的字符序列。句子在第一个非空白字符处开始。
在屏幕上移动的命令(键):
[位移]H 将光标移至屏幕的左上角。
[位移]M 将光标移至屏幕中间行的开头。
[位移]L 当显示内容超过一屏时,它将光标移至屏幕上的最底行;当显示内容不足一屏时,它使光标停在最后一行上。
文本删除
删除字符的命令(键):
x 删除光标所在的字符
X 删除光标前面的那个字符
删除文本对象的命令(键):
dd 删除光标所在的整行
D 从光标位置开始删除到行尾
d<光标移动命令> 从光标位置开始删到由光标移动限定的文本对象的末尾 dw
复原命令
u 如果插入后用u命令,就删除刚插入的正文;如果删除后用它,就相当于又插入刚删除的正文。
U 把当前行恢复成它被编辑之前的状态,不管你把光标移到该行后对它编辑了多少次。
重复命令
. 重复实现刚才的插入命令或删除命令
修改命令
命令c、C和 cc修改文本对象,并用新输入的文本代替老文本。
- c命令的一般使用方式是:
c后面紧接着光标移动命令(限定删除文本的范围),之后是新的文本,最后键击< Esc > - C命令修改从光标位置到该行末尾的文本。一般方式是:
C后面紧接着是输入新的文本,最后是< Esc > - cc命令除影响到整行(不是行的一部分)外,其余作用与C命令相同。
取代命令
r命令用随后打入的单个字符取代光标所在的字符
R命令用随后打入的文本取代光标位及其右面的若干字符,每打入一个字符就替代原有的一个字符。
替换命令
- s(小写)命令用随后打入的的正文替换光标所在的字符
- S(大写)命令用新打入的正文替换当前行(整行)
行结合命令
- 行结合命令J(大写字母)把光标所在行与下面一行结合成一行
文本位移命令
>
命令将限定正文行向右移动,通常是8个空格。
文本右移命令的一般格式是:>光标移动命令<
命令将限定正文行向左移动。使用方式同上。>>
命令将光标所在行右移8个空格。<<
命令将光标所在行左移8个空格。
过滤命令
过滤命令的格式是:
! <光标移动命令> <Linux命令>其功能是把光标所在行和光标移动命令指定行之间的所有行,由给定的Linux命令进行加工,替换原来的那部分正文。
编辑已存文件的最常用方式是:
$ vi 文件名从某一指定行进入vi。其格式是:
$ vi +行号 文件名从某一指定词进入vi。其格式是:
$ vi +/词 文件名
编辑多个文件
可以同时调入多个文件,依次对它们进行编辑。其命令格式是:
$ vi 文件1 文件2…
当完成对第一个文件的编辑及存盘(用:w命令)后,输入命令:n就进入第二个文件。
ex 命令
进入ex 命令的方法是在命令方式下输入冒号(:),则在状态行上出现冒号提示符,随后就可输入ex 命令
命令定位:
- 一种办法是指定行号,例如,
- 20 光标移到第20行的行首。
- 另一种办法是给定模式,向前或向后查找
ex 命令还用下述字符指定行的地址:
- . 当前行。多数命令的默认地址是当前行。
- n 编辑器缓冲区中的第n行,行号从1开始顺序编排。
- $ 缓冲区中最后一行。
- % 1,$(从第1行至最后一行)的缩写。
- +n或者-n n表示相对当前行的位移
- 'x 如果预先在前面的正文行上利用m命令置上标记,现在要快速地找到或返回到有标记的正文行上,那么就可以利用'x的形式,其中x是标记名
e命令
利用e命令可以在编辑当前文件之时编辑另外的文件。当前文件名总是由vi记住,并用百分号(%)表示,而编辑缓冲区中的上一个文件名是用#号表示的。 e命令常用形式如下:
e 文件名 它编辑由文件名指定的文件
e! 文件名 它不把修改过的当前文件从编辑缓冲区中写出去
e +n 文件名 它从第n行开始编辑指定的文件
w命令
w(写)命令可把编辑缓冲区中全部或者部分内容写到当前文件或者另外某个文件中。它有以下几种常用形式 :
- w文件名——它把所做的修改写回到指定的文件,并显示所写的行数和字符数
- w>>文件名——它把缓冲区内容附加到现有文件的末尾,先前文件内容并不被破坏
- w! 文件名——它可跳过通常写命令对文件的检查,将缓冲区内容写到系统允许的任何文件上
- w !命令——它将指定的各行写入指定命令中
r命令
r(读)命令把文本读入编辑缓冲区的任意指定位置。所读入文本必须至少有一行长,可以是一个文件或者命令的输出。
常用形式如下:
- r文件名——它将指定文件的文本副本放入缓冲区中指定行之后
- r !命令——它把命令的输出读到缓冲区指定行之后
q命令
q(退出)命令可从vi 中退出来。
它有下述五种使用方式:
- q——它的功能是退出vi
- q!——它的功能是立即从vi 中退出,不保留所做的修改,也不显示任何提示信息
- wq文件名——它的功能等价于执行w命令后又执行q命令
- wq !文件名——它的功能是忽略执行w命令之前所做的检查
- x文件名——如果该文件做过修改,并且尚未写出去,那么这个命令就把缓冲区内容写出去,然后退出vi;否则,只是退出vi。
Linux常用命令大全(三)的更多相关文章
- linux 常用命令大全
linux 常用命令大全 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统 ...
- Linux常用命令大全(非常全!!!)
Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短 ...
- Linux常用命令大全(转)
(转)Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因, ...
- 18-10-09 Linux常用命令大全(非常全!!!)
Linux常用命令大全(非常全!!!) Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制, ...
- [转] Linux常用命令大全(非常全!!!)
出处:https://www.cnblogs.com/yjd_hycf_space/p/7730690.html Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得 ...
- Linux常用命令大全(全面)
笔者在这篇文章中跟大家分享一下接近 100 个 Linux 常用命令大全,希望可以帮助到大家. 1.ls [选项] [目录名 | 列出相关目录下的所有目录和文件 1 2 3 4 5 6 7 8 9 1 ...
- 类型:linux;问题:linux命令;结果:Linux常用命令大全
Linux常用命令大全 QQ空间新浪微博腾讯微博人人网豆瓣网百度空间百度搜藏开心网复制更多1997 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) una ...
- Linux常用命令大全(全全全!!!)
Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短 ...
- linux学习(3):linux常用命令大全
Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短 ...
随机推荐
- oracle函数 NLS_UPPER(x[,y])
[功能]返回字符串并将字符串的转换为大写; [参数]x字符型表达式 [参数]Nls_param可选,指定排序的方式(nls_sort=) . SCHINESE_RADICAL_M(部首.笔画) SCH ...
- 「BZOJ2654」tree
「BZOJ2654」tree 最小生成树+二分答案. 最开始并没有觉得可以二分答案,因为答案并不单调啊. 其实根据题意,白边的数目肯定大于need条,而最小生成树的白边数并不等于need(废话),可以 ...
- Android ListView批量选择(全选、反选、全不选)
APP的开发中,会常遇到这样的需求:批量取消(删除)List中的数据.这就要求ListVIew支持批量选择.全选.单选等等功能,做一个比较强大的ListView批量选择功能是很有必要的,那如何做呢? ...
- 最新版本的ADT使用问题
昨天把androidsdk和adt更新到最新版本,android sdk r22版本. 更新完后原来的项目打包后出现第三方JAR包找不到,网上搜了半天终于找到问题所在: 新版本多了一个Android ...
- apply、call、bind方法调用
---恢复内容开始--- 首先这三个方法的作用都是用来改变this的值,而this的值一般有几种情况. 1.函数作为一个对象的一个方法来调用,此时this的值指向对象. var a={ v:0; f: ...
- 全面理解Python中的类型提示(Type Hints)
众所周知,Python 是动态类型语言,运行时不需要指定变量类型.这一点是不会改变的,但是2015年9月创始人 Guido van Rossum 在 Python 3.5 引入了一个类型系统,允许开发 ...
- 析构函数 p157
析构函数 确保对象的各部分被正确的清除,及做一些用户指定的其他清理工作. 当对象超出它的作用域时,编译器将自动调用析构函数:手动用new在堆上分配的对象空间,需要调用'delete 对象地址'进行手动 ...
- Yarn install 报错 Resolving packages... [2/4] Fetching packages... info There appears to be trouble with your network connection. Retrying
1.设置淘宝代理 yarn config set registry 'https://registry.npm.taobao.org' 2.如果网址本地可以打开,说明你本地有代理设置 所以需要按本地的 ...
- python基础十三之内置函数
内置函数 操作字符串代码 eval和exec print(eval('1+2')) # 简单的计算 有返回值 exec('for i in range(10):print(i)') # 简单的流程控制 ...
- Spring Security 学习笔记-授权控制过滤器
FilterSecurityInterceptor 是比较核心的过滤器,主要负责授权工作.SecurityMetadataSource 需要安全授权的元数据资源 AuthenticationMana ...