02.手动补全

小方法

二、Linux终端命令格式

01.终端命令格式

command[-options][parameter]

说明:

02.查阅命令帮助信息

提示

2.1--help

command--help

说明:

2.2man

mancommand

说明:

使用man时的操作键:

操作键功能

空格键

显示指南页的下一屏

Enter键

一次滚动指南页的一行

b

回滚一屏

f

前滚一屏

q

退出

/word

搜索word字符串

三、Linux基本命令

1>查看文件信息:ls

ls是英语词组list的缩写linux 下载工具,其功能为列举目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令。

Linux文件或则目录名称最长可以有265个字符,“.”代表当前目录,“..”代表上一级目录,以“.”开头的文件为隐藏文件linux 777权限 命令,须要用-a参数能够显示。

ls常用参数:

参数涵义

-a

显示指定目录下所有子目录与文件,包括隐藏文件

-l

以列表形式显示文件的详尽信息

-h

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

与DOS下的文件操作类似,在Unix/Linux系统中,也同样准许使用特殊字符来同时引用多个文件名,这种特殊字符被称为键值。

转义含意

*

文件代表文件名中所有字符

lste*

查找以te开头的文件

ls*html

查找结尾为html的文件

代表文件名中任意一个字符

ls?.c

只找第一个字符任意,后缀为.c的文件

lsa.?

只找只有3个字符,前2字符为a.,最后一个字符任意的文件

[]

[”和“]”将字符组括上去,表示可以匹配字符组中的任意一个。“-”用于表示字符范围。

[abc]

匹配a、b、c中的任意一个

[a-f]

匹配从a到f范围内的的任意一个字符

ls[a-f]*

找到从a到f范围内的的任意一个字符开头的文件

lsa-f

查找文件名为a-f的文件,当“-”处于方括弧之外丧失键值的作用

假如要使键值作为普通字符使用,可以在其后面加上通配符字符。“?”和“*”处于方括弧内时不用使用通配符字符就丧失键值的作用。

ls*a

查找文件名为*a的文件

2>清屏:clear

clear作用为去除终端上的显示(类似于DOS的cls清屏功能),也可使用快捷键:Ctrl+l(“l”为字母)。

3>切换工作目录:cd

在使用Unix/Linux的时侯,常常须要更换工作目录。cd命令可以帮助用户切换工作目录。Linux所有的目录和文件名大小写敏感

cd前面可跟绝对路径,也可以跟相对路径。假如省略目录linux操作系统版本,则默认切换到当前用户的主目录。

命令含意

cd

切换到当前用户的主目录(/home/用户目录),用户登录的时侯,默认的目录就是用户的主目录。

cd~

切换到当前用户的主目录(/home/用户目录)

cd.

切换到当前目录

cd..

切换到上级目录

cd-

可步入先前所在的目录

注意:

4>显示当前路径:pwd

使用pwd命令可以显示当前的工作目录,该命令很简单,直接输入pwd即可,前面不带参数。

5>创建目录:mkdir

通过mkdir命令可以创建一个新的目录。参数-p可递归创建目录。

须要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,但是目录创建者必须对当前目录具有写权限。

6>删掉文件:rm

可通过rm删掉文件或目录。使用rm命令要当心,由于文件删掉后不能恢复。为了避免文件删掉,可以在rm后使用-i参数以挨个确认要删掉的文件。

常用参数及含意如下表所示:

参数含意

-i

以进行交互式方法执行

-f

强制删掉,忽视不存在的文件,无需提示

-r

递归地删掉目录下的内容,删掉文件夹时必须加此参数

7>拷贝:cp

cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令。

常用选项说明:

选项含意

-a

该选项一般在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。

-f

早已存在的目标文件而不提示

-i

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

-r

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

-v

显示拷贝进度

8>mv:联通、重命名

用户可以使用mv命令来联通文件或目录,也可以给文件或目录重命名。

常用选项说明:

选项含意

-f

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

-i

确认交互方法操作,假如mv操作将造成对已存在的目标文件的覆盖,系统会寻问是否重画,要求用户回答以防止误覆盖文件

-v

显示联通进度

9>创建文件:touch

用户可以通过touch来创建一个空的文件,demo如下:

touchhello.txt

说明:

10.输出重定向命令:>

Linux准许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。

如:ls>test.txt(test.txt倘若不存在,则创建,存在则覆盖其内容)

注意:>输出重定向会覆盖原先的内容,>>输出重定向则会追加到文件的尾部。

11.分屏显示:more

查看内容时,在信息过长未能在一屏上显示时,会出现快速滚屏,促使用户难以认清文件的内容,此时可以使用more命令,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助。

12.管线:|

管线:一个命令的输出可以通过管线做为另一个命令的输入。

管线我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取下来,这儿“|”的左右分为两端,下端塞东西(写),右端取东西(读)。

13.构建链接文件:ln

Linux链接文件类似于Windows下的快捷方法。

链接文件分为软链接和硬链接。

软链接:软链接不占用c盘空间,源文件删掉则软链接失效。

硬链接:硬链接只能链接普通文件,不能链接目录。

使用格式:

ln 源文件 链接文件
ln -s 源文件 链接文件

假如没有-s选项代表构建一个硬链接文件,两个文件占用相同大小的硬碟空间,虽然删掉了源文件,链接文件还是存在,所以-s选项是更常见的方式。

注意:假如软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。

14.查看或则合并文件内容:cat

15.文本搜索:grep

Linux系统中grep命令是一种强悍的文本搜索工具,grep容许对文本文件进行模式查找。假如找到匹配模式,grep复印包含模式的所有行。

grep通常格式为:

grep [-选项] ‘搜索内容串’文件名

在grep命令中输入字符串参数时,最好冒号或双冒号括上去。

比如:

grep 'a' 1.txt

常用选项说明:

选项含意

-v

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

-n

显示匹配行及行号

-i

忽视大小写

grep搜索内容串可以是正则表达式。

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及那些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来抒发对字符串的一种过滤逻辑。

grep常用正则表达式:

参数含意

^a

行首,搜救以m开头的行;grep-n’^a’1.txt

ke$

行尾,搜救以ke结束的行;grep-n’ke$’1.txt

[Ss]igna[Ll]

匹配[]里中一系列字符中的一个;搜救匹配词组signal、signaL、Signal、SignaL的行;grep-n'[Ss]igna[Ll]’1.txt

.

(点)匹配一个非换行符的字符;匹配e和e之间有任意一个字符,可以匹配eee,eae,eve,而且不匹配ee,eaae;grep-n’e.e’1.txt

16.查找文件:find

find命令功能十分强悍,一般拿来在特定的目录下搜索符合条件的文件,也可以拿来搜索特定用户属主的文件。

常用用法:

命令含意

find./-nametest.sh

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

find./-name’*.sh’

查找当前目录下所有后缀为.sh的文件

find./-name”[A-Z]*”

查找当前目录下所有以小写字母开头的文件

find/tmp-size2M

查找在/tmp目录下等于2M的文件

find/tmp-size+2M

查找在/tmp目录下小于2M的文件

find/tmp-size-2M

查找在/tmp目录下大于2M的文件

find./-size+4k-size-5M

查找当前目录下小于4k,大于5M的文件

find./-perm777

查找当前目录下权限为777的文件或目录

17.归档管理:tar

计算机中的数据常常须要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。

tar使用格式tar[参数]打包文件名文件

tar命令很特殊,其参数上面可以使用“-”,也可以不使用。

常用参数:

参数涵义

-c

生成档案文件,创建打包文件

-v

列举归档解档的详尽过程,显示进度

-f

指定档案文件名称,f前面一定是.tar文件,所以必须放选项最后

-t

列举档案中包含的文件

-x

解开档案文件

注意:不仅f须要置于参数的最后,其它参数的次序任意。

18.文件压缩解压:gzip

tar与gzip命令结合使用实现文件打包、压缩。tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩充名通常用xxxx.tar.gz。

gzip使用格式如下:

gzip  [选项]  被压缩文件

常用选项:

选项涵义

-d

解压

-r

压缩所有子目录

tar这个命令并没有压缩的功能,它只是一个打包的命令,并且在tar命令中降低一个选项(-z)可以调用gzip实现了一个压缩的功能,推行一个先打包后压缩的过程。

压缩用法:tarcvzf压缩手袋名文件1文件2…

-z :指定压缩包的格式为:file.tar.gz

解压用法:tarzxvf压缩手袋名

-z:指定压缩包的格式为:file.tar.gz

解压到指定目录:-C(小写字母“C”)

19.文件压缩解压:bzip2

tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。

tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩充名通常用xxxx.tar.gz2。

在tar命令中降低一个选项(-j)可以调用bzip2实现了一个压缩的功能,推行一个先打包后压缩的过程。

压缩用法:tar-jcvf压缩手袋名文件…(tarjcvfbk.tar.bz2*.c)

解压用法:tar-jxvf压缩手袋名(tarjxvfbk.tar.bz2)

20.文件压缩解压:zip、unzip

通过zip压缩文件的目标文件不须要指定扩充名,默认扩充名为zip。

压缩文件:zip[-r]目标文件(没有扩充名)源文件

解压文件:unzip-d解压后目录文件压缩文件

21.查看命令位置:which

22.更改文件权限:chmod

chmod更改文件权限有两种使用格式:字母法与数字法。

字母法:chmodu/g/o/a+/-/=rwx文件

[u/g/o/a]涵义

u

user表示该文件的所有者

g

group表示与该文件的所有者属于同一组(group)者,即用户组

o

other表示其他以外的人

a

all表示这两者皆是

[+-=]涵义

+

降低权限

--

撤消权限

=

设定权限

rwx涵义

r

read表示可读取,对于一个目录,假如没有r权限,这么就意味着不能通过ls查看这个目录的内容。

w

write表示可写入,对于一个目录,假如没有w权限,这么就意味着不能在目录下创建新的文件。

x

excute表示可执行,对于一个目录,假如没有x权限,这么就意味着不能通过cd步入这个目录。

假如须要同时进行设定拥有者、同组者以及其他人的权限,参考如下:

数字法:“rwx”这些权限也可以用数字来取代

字母说明

r

读取权限,数字代号为”4″

w

写入权限,数字代号为”2″

x

执行权限,数字代号为”1″

--

不具任何权限,数字代号为”0″

如执行:chmodu=rwx,g=rx,o=rfilename就等同于:chmodu=7,g=5,o=4filename

chmod751file:

注意:假如想递归所有目录加上相同权限,须要加上参数“-R”。如:chmod777test/-R递归test目录下所有文件加777权限

23.设置用户密码:passwd

在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或更改用户密码。用户也可以直接使用该命令来更改自己的密码,而无需在命令前面使用用户名。

24.退出登入帐户:exit

25.查看登陆用户:who

who命令用于查看当前所有登陆系统的用户信息。

常用选项:

选项涵义

-q或--count

只显示用户的登陆帐号和登陆用户的数目

-u或--heading

显示列标题

26.死机重启:reboot、shutdown、init

命令含意

reboot

重新启动操作系统

shutdown–rnow

重新启动操作系统,shutdown会给别的用户提示

shutdown-hnow

立即死机,其中now相当于时间为0的状态

shutdown-h20:25

系统在明天的20:25会死机

shutdown-h+10

系统再过十分钟后手动死机

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 检查是否有损坏的依赖

编辑器vim

vi简介

vi是“Visualinterface”的简称,它在Linux上的地位就如同Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块操作等诸多文本操作,并且用户可以按照自己的须要对其进行订制。Vi不是一个排版程序,它不象Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。vi没有菜单,只有命令linux 777权限 命令,且命令繁杂。

Vi有三种基本工作模式:

+命令模式

+文本输入模式

+末行模式。

vim模式

命令行模式

任何时侯,不管用户处于何种模式,只要按一下ESC键,即可使Vi步入命令模式;我们在shell环境(提示符为$)下输入启动Vi命令,步入编辑器时,也是处于该模式下。在该模式下,用户可以输入各类合法的Vi命令,用于管理自己的文档。此时从鼠标上输入的任何字符都被当作编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用户命令以后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示下来。若输入的字符不是Vi的合法命令,Vi会响铃报案。

文本输入模式

在命令模式下输入插入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以步入文本输入模式。在该模式下,用户输入的任何字符都被Vi当作文件内容保存上去,并将其显示在屏幕上。在文本输入过程中,倘若回到命令模式下,键盘ESC即可。

末行模式

末行模式称作ex通配符模式。在命令模式下,用户按“:”键即可步入末行模式下,此时Vi会在显示窗口的最后一行(一般也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容讲到文件中等)。末行命令执行完后,Vi手动回到命令模式。诸如:

:spnewfile

则分出一个窗口编辑newfile文件。假如要从命令模式转换到编辑模式,可以键入命令a或则i;假如须要从文本模式返回,则按Esc键即可。在命令模式下输入“:”即可切换到末行模式,之后输入命令。

vim基础操作

vim是从vi发展下来的一个文本编辑器。代码补完、编译及错误跳转等便捷编程的功能非常丰富

步入插入模式:

i: 插入光标前一个字符 
I: 插入行首 
a: 插入光标后一个字符 
A: 插入行未 
o: 向下新开一行,插入行首 
O: 向上新开一行,插入行首

步入命令模式:

ESC:从插入模式或末行模式步入命令模式

联通光标:

h: 左移 
j: 下移 
k: 上移 
l: 右移
M: 光标移动到中间行 
L: 光标移动到屏幕最后一行行首 
G: 移动到指定行,行号 -G
w: 向后一次移动一个字 
b: 向前一次移动一个字
{: 按段移动,上移 
}: 按段移动,下移
Ctr-d: 向下翻半屏 
Ctr-u: 向上翻半屏
Ctr-f: 向下翻一屏 
Ctr-b: 向上翻一屏
gg: 光标移动文件开头 
G: 光标移动到文件末尾

删掉命令:

x: 删除光标后一个字符,相当于 Del 
X: 删除光标前一个字符,相当于 Backspace
dd: 删除光标所在行,n dd 删除指定的行数 D: 删除光标后本行所有内容,包含光标所在字符 
d0: 删除光标前本行所有内容,不包含光标所在字符
dw: 删除光标开始位置的字,包含光标所在字符

撤消命令:

u: 一步一步撤销 
Ctr-r: 反撤销

重复命令:

.: 重复上一次操作的命令

文本行联通:

>>: 文本行右移 
<<: 文本行左移

复制粘贴:

yy: 复制当前行,n yy 复制 n 行 
p: 在光标所在位置向下新开辟一行,粘贴

可视模式:

v: 按字符移动,选中文本 
V: 按行移动,选中文本可视模式可以配合 d, y, >>, << 实现对文本块的删除,复制,左右移动

替换操作:

r: 替换当前字符 
R: 替换当前行光标后的字符

查找命令:

/: str查找
n: 下一个
N:上一个

替换命令:

把abc全部替换成123

末行模式下,将当前文件中的所有abc替换成123
:%s/abc/123/g
末行模式下,将第一行至第10行之间的abc替换成123
:1, 10s/abc/123/g

vim里执行shell下命令:

末行模式里输入!,后面跟命令

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复