003-博学谷-年度钻石C++/C-Unix/Linux(2)

3. 经常使用命令

3.1 概述

不少人可能在电视或电影中看到过相似的场景,黑客面对一个黑色的屏幕,上面飘着密密麻麻的字符,梆梆一顿敲,就完成了窃取资料的任务。正则表达式

Linux 刚出世时没有什么图形界面,全部的操做全靠命令完成,就如同电视里的黑客那样,充满了神秘与晦涩。vim

近几年来,尽管 Linux 发展得很是迅速,图形界面愈来愈友好,可是在真正的开发过程当中,Linux 命令行的应用仍是占有很是重要的席位,并且许多Linux功能在命令行界面要比图形化界面下运行得快。能够说不会命令行,就不算会 Linux。markdown

Linux 提供了大量的命令,利用它能够有效地完成大量的工做,如磁盘操做、文件存取、目录操做、进程管理、文件权限设定等。Linux 发行版本最少的命令也有 200 多个,这里只介绍比较重要和使用频率最多的命令。网络

3.2 命令使用方法

3.2.1 Linux 命令格式

command [-options] [parameter1] …函数

说明:工具

command:命令名,相应功能的英文单词或单词的缩写oop

[-options]:选项,可用来对命令进行控制,也能够省略,[]表明可选spa

parameter1 …:传给命令的参数,能够是零个一个或多个命令行

3.2.2 查看帮助文档

1) --help3d

通常是 Linux 命令自带的帮助信息,并非全部命令都自带这个选项。

如咱们想查看命令 ls 的用法:ls --help

2) man(有问题找男人)

man 是 Linux 提供的一个手册,包含了绝大部分的命令、函数使用说明。

该手册分红不少章节(section),使用 man 时能够指定不一样的章节来浏览不一样的内容。

man 中各个 section 意义以下:

Standard commands(标准命令)

System calls(系统调用,如open,write)

Library functions(库函数,如printf,fopen)

Special devices(设备文件的说明,/dev下各类设备)

File formats(文件格式,如passwd)

Games and toys(游戏和娱乐)

Miscellaneous(杂项、惯例与协定等,例如Linux档案系统、网络协定、ASCII 码;environ全局变量)

Administrative Commands(管理员命令,如ifconfig)

man使用格式以下:

man [选项] 命令名

man设置了以下的功能键:

如,咱们想查看 ls 的用法:man 1 ls ( 1:为数字"1",表明第 1 个 section,标准命令 )

实际上,咱们不用指定第几个章节也用查看,如,man ls。可是,有这个一种状况,假如,命令的名字和函数的名字恰好重名(如:printf),它既是命令,也能够是库函数,若是,咱们不指定章节号,man printf,它只查看命令的用法,不会查询函数的用法,由于 man 是按照手册的章节号的顺序进行搜索的。

因此,使用 man 手册时,最好指定章节号:

3.2.3 使用技巧

1) 自动补全

在敲出命令的前几个字母的同时,按下tab键,系统会自动帮咱们补全命令。

2) 历史命令

当系统执行过一些命令后,可按上下键翻看之前的命令,history将执行过的命令列举出来。

3.3 经常使用命令

3.3.1 文件管理

1) 查看文件信息:ls

ls是英文单词list的简写,其功能为列出目录的内容,是用户最经常使用的命令之一,它相似于DOS下的dir命令。

Linux文件或者目录名称最长能够有256个字符,"."表明当前目录,".."表明上一级目录,以"."开头的文件为隐藏文件,须要用 -a 参数才能显示。

ls经常使用参数:

图中列出的信息含义以下图所示:

与DOS下的文件操做相似,在Unix/Linux系统中,也一样容许使用特殊字符来同时引用多个文件名,这些特殊字符被称为通配符。

2) 输出重定向命令:>

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

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

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

3) 分屏显示:more

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

4) 管道:|

管道:一个命令的输出能够经过管道做为另外一个命令的输入。

管道咱们能够理解现实生活中的管子,管子的一头塞东西进去,另外一头取出来,这里" | "的左右分为两端,左端塞东西(写),右端取东西(读)。

5) 清屏:clear

clear做用为清除终端上的显示(相似于DOS的cls清屏功能),也可以使用快捷键:Ctrl + l ( "l" 为字母 )。

6) 切换工做目录: cd

在使用Unix/Linux的时候,常常须要更换工做目录。cd命令能够帮助用户切换工做目录。Linux全部的目录和文件名大小写敏感。

cd后面可跟绝对路径,也能够跟相对路径。若是省略目录,则默认切换到当前用户的主目录。

注意: 若是路径是从根路径开始的,则路径的前面须要加上 " / ",如 " /mnt ",一般进入某个目录里的文件夹,前面不用加 " / "。

7) 显示当前路径:pwd

使用pwd命令能够显示当前的工做目录,该命令很简单,直接输入pwd便可,后面不带参数。

8) 建立目录:mkdir

经过mkdir命令能够建立一个新的目录。参数-p可递归建立目录。

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

9) 删除目录:rmdir

可以使用rmdir命令删除一个目录。必须离开目录,而且目录必须为空目录,否则提示删除失败。

10) 删除文件:rm

可经过rm删除文件或目录。使用rm命令要当心,由于文件删除后不能恢复。为了防止文件误删,能够在rm后使用-i参数以逐个确认要删除的文件。

经常使用参数及含义以下表所示:

11) 创建连接文件:ln

Linux连接文件相似于Windows下的快捷方式。

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

软连接:软连接不占用磁盘空间,源文件删除则软连接失效。

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

使用格式:

ln 源文件 连接文件

ln -s 源文件 连接文件

若是没有-s选项表明创建一个硬连接文件,两个文件占用相同大小的硬盘空间,即便删除了源文件,连接文件仍是存在,因此-s选项是更常见的形式。

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

12) 查看或者合并文件内容:cat

13) 文本搜索:grep

Linux系统中grep命令是一种强大的文本搜索工具,grep容许对文本文件进行模式查找。若是找到匹配模式, grep打印包含模式的全部行。

grep通常格式为:

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

在grep命令中输入字符串参数时,最好引号或双引号括起来。例如:grep'a '1.txt。

经常使用选项说明:

grep搜索内容串能够是正则表达式。

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

grep经常使用正则表达式:

14) 计算文件行数或字数:wc

经常使用选项说明:

15) 查找文件:find

find命令功能很是强大,一般用来在特定的目录下搜索符合条件的文件,也能够用来搜索特定用户属主的文件。

经常使用用法:

16) 拷贝文件:cp

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

经常使用选项说明:

cp vim_configure/ code/ -ivr 把文件夹 vim_configure 拷贝到 code 目录里:

17) 移动文件:mv

用户可使用mv命令来移动文件或目录,也能够给文件或目录重命名。

经常使用选项说明:

18) 获取文件类型:file

Linux系统文件类型不是根据文件扩展名分类的,经过file命令能够确认文件具体类型。

19) 归档管理:tar

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

tar使用格式

tar [参数] 打包文件名 文件

tar命令很特殊,其参数前面可使用"-",也能够不使用。

经常使用参数:

注意:除了f须要放在参数的最后,其它参数的顺序任意。

20) 文件压缩解压:gzip

tar与gzip命令结合使用实现文件打包、压缩。

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

gzip使用格式以下:

gzip [选项] 被压缩文件

经常使用选项:

tar这个命令并无压缩的功能,它只是一个打包的命令,可是在tar命令中增长一个选项(-z)能够调用gzip实现了一个压缩的功能,实行一个先打包后压缩的过程。

压缩用法: tar cvzf 压缩包包名 文件1 文件2 ...

例如:tar zcvf test.tar.gz 1.c 2.c 3.c 4.c把 1.c 2.c 3.c 4.c 压缩成 test.tar.gz

解压用法: tar zxvf 压缩包包名

解压到指定目录: -C (大写字母"C")

例子:tar -xvf new.tar.gz -C ./test/ 将 new.tar.gz 解压到当前目录下的 test 目录下:

21) 文件压缩解压:bzip2

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

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

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

压缩用法:tar cjvf 压缩包包名 文件...(tar jcvf bk.tar.bz2 *.c)

解压用法:tar xjvf 压缩包包名 (tar jxvf bk.tar.bz2)

22) 文件压缩解压:zip、unzip

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

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

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

23) 查看命令位置:which