程序员的Linux上手手册(3)-常用工具

上次介绍了一些简单的基础的操作,这次,来接着介绍一些常用的操作。

grep 命令

命令用法:grep [OPTION]... PATTERN [FILE]...命令说明:使用正则表达式搜索文本,并将搜索到的行打印出来。这个命令的高端用法比较强大。PATTERN支持正则表达式。这个命令的FILE参数是可选的,当我们不指定FILE参数时,会从标准输入流(通常是键盘)中读取信息,这种模式通常和下面的管道操作符配合使用。命令示例:

| 管道符号

管道符不是命令,是Linux中一个常用的操作符号。它的作用是将 | 前面的命令执行结果作为 | 后面的命令的输入。示例:

> 和 >> 重定向

我们在执行某个命令的时候,可能这个命令的输出比较长,或者我们需要将命令的结果保存起来,这个时候,重定向操作符久排上用场了。他可以将前面命令的输出结果写入到指定的文件中。> 是写入一个新的文件,如果文件不存在,则创建文件,如果文件存在,则清空源文件。>>将内容追加到一个文件,如果文件不存在,则创建文件,如果文件存在,将内容追加到原文件的末端。

示例

还有一个输入重定向ssh

ssh是Secure Shell的缩写,它的定义可以百度一下。在linux中,它通常是作为我们连接远程机器的一种工具。ssh的命令选项比较多,这里简单介绍一下如何连接到其它的安装了ssh-server的服务器上。命令格式:ssh [username@]hostname

如果是首次连接,会要求接受ssh key,输入yes即可。然后会要求输入指定用户在欲登录的服务器上的密码。登录成功之后,你的命令提示符会变成 xz@hostname 的形式,你就可以像操作本地命令行一样的操作你连接到的服务器了。

vim 命令行模式下的文件编辑器

要说在linux下使用场景最高的命令,我感觉除了cd ls 之外,就是它了。我们在命令行模式下修改文件,总是离不开它,所以掌握它的使用是必须的。vim是vi的升级版本,在大多数发行版中,我们用到的vi都是vim命令用法:vim [arguments] [file ..]参数和文件都是可选的,文件可以存在,也可以不存在,当文件存在时,会打开存在的文件。当指定的文件不存在时,在保存文件文件的时候,会按我们指定的文件名保存。命令示例:

在命令执行之后,会进入新的操作界面

我们在这个界面中修改文件内容。然后保存。vim的界面有两种模式,命令模式和编辑模式,当我们直接进入之后,模式是命令模式,这这个模式下,我们可以直接输入一些按键,来执行相应的操作。常用的键盘快捷按键有:

移动光标,在指定的行输入dd会删除光标所在的整行。

移动光标,在光标所在的位置按 x 键,会删除光标所在的字符

或者输入一个:(冒号)来启动末行命令模式,当启用末行命令模式之后,会在整个编辑器的窗口,最下方空出一行,等待用户输入命令,当用户输入完成命令并回车之后,vi会执行相关命令。常用的末行命令包括 :wq 保存并退出,:q! 退出不保存,:w 保存不退出。

在命令模式下,我们按 i 键或者Insert键,则会进入编辑模式,在编辑模式下,我们可以通过键盘键入文本,移动光标,退格,删除等常用的编辑操作。 在编辑模式下按Esc键可以退出编辑模式。输入:wq保存并退出,或者输入:q!退出而不保存。 关于vi的操作有很多,但我们掌握了进入和退出编辑模式的方法,以及如果执行末行命令,并记住简单的三个命令,:wq, :q!, :w就基本满足日常操作,虽然不快,但也能用不是?

scp 服务器之间的文件复制

很多情况下,我们需要将本地的某个文件复制到服务器上,或者将服务器上的文件取回到本地,这个时候scp命令就派上用场了。命令格式:scp [option] [[user@]host1:]file1 ... [[user@]host2:]file2常用选项:

-r 是递归复制子目录

scp的命令选项比较多,大多都是涉及ssh配置的。这里的格式是最基本的格式。其中的user@host都是可以部分省略的,如果没有host项目则代表是本地。如果指定了host,则host和路径之间必须要使用 : 分隔。示例

tar linux下常用的压缩,解压工具

我们经常在网络上下载的linux的工具包,或者相关资源,都会以tar或者tar.gz的文件提供。tar和tar.gz是linux系统中常用的一种压缩包格式。当我们将资源下载下来,或者上传到服务器上之后,解压缩就是必须的操作了。或者要将本地的资源放到服务器上,打包会是一个比较不错的选择。命令格式:tar[OPTION...] [FILE]... [OPTION2]...这条命令稍微有点复杂,整个命令分为4个部分tar 【操做参数】【操作文件】【操作选项】操作参数的第一部分常用的有如下一些:

c 创建一个压缩文件

r 向压缩文件追加

x 解开一个压缩文件

t 列出压缩文件内容

u 更新压缩文件

还有一些其它的选项,可以使用man tar查看帮助文档。因为这些代表着文件的操作,所以这些参数在一条命令中必须存在,但又不能同时存在。第二部分是一些操作选项

z 启用gzip选项

v 显示处理的文件

f 指定文件名称,这必须是操作参数的最后一个参数,后面就是压缩文件的名称。

最后一部分是一些额外的可选参数,如-C 转到指定目录命令示例:

执行脚本或程序

linux中,所有的文件都可能是可执行文件,他不像windows一样通过扩展名区分文件类型,那我们通过什么方式运行可执行文件呢?常用的方法有

在命令行中,直接输入文件的全路径,然后回车。如果程序有参数的话,空格后加上参数即可。

转到程序所在的目录,运行./filename,为什么不直接输入文件名来运行文件呢?因为在linux系统中,如果直接在命令行输入命令,linux会在系统path环境变量中寻找配置,如果没有找到,就会执行失败。

如果运行的是一个脚本文件,可以输入sh fiename的方式来启动脚本。

这一期就到这里,下一期接着写linux的用户和组。

码字不易,求个关注,求个评论,求个转发,好与不好,留个记号!

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180505G0QB0500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券