美文网首页程序员从入门到放弃技术干货程序员
程序员的Linux上手手册(3) - 常用工具

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

作者: 虾游于海 | 来源:发表于2018-04-28 23:57 被阅读59次

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

    grep 命令

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

    grep log /etc/init.d/ssh # 将/etc/init.d/ssh文件中有log的行打印出来
    

    | 管道符号

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

    ls -a | grep bash #列出当前目录下的所有文件,然后将结果交给grep命令进行过滤
    

    > 和 >> 重定向

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

    ls /etc -a > ~/result.txt # 列出 /etc目录下的所有文件,并将结果写入到用户主目录下的result.txt文件中
    

    还有一个输入重定向<符号,但使用频率不是很高。
    接下来介绍几个在linux下使用频率非常高的工具。

    ssh

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

    ssh xz@100.100.100.100 #尝试使用xz用户名连接到100.100.100.100服务器
    ssh 192.168.0.11 #尝试以当前登录用户的名称登录到192.168.0.11服务器
    

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

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

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

    vim test.txt #会打开当前目录下的test.txt文件(如果存在的话),否则会打开一个空文件。
    

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


    image.png

    我们在这个界面中修改文件内容。然后保存。
    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和路径之间必须要使用 : 分隔。
    示例

    scp user@192.168.0.15:~/test.txt ~ #以user的身份登录192.168.0.15服务器,并将user主目录下的test.txt.文件复制到本地当前登录用户的主目录下
    scp -r /ect/init.d user@192.168.0.15:~ #将本地的/etc/init.d目录递归的复制到192.168.0.15服务器上user用户的主目录下
    

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

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

    • c 创建一个压缩文件
    • r 向压缩文件追加
    • x 解开一个压缩文件
    • t 列出压缩文件内容
    • u 更新压缩文件

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

    • z 启用gzip选项
    • v 显示处理的文件
    • f 指定文件名称,这必须是操作参数的最后一个参数,后面就是压缩文件的名称。

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

    tar cvf test.tar result.txt test.1 test2 #创建一个压缩文件名称叫test.tar ,并将result.txt,test.1 test2加入压缩文件,如果某个路径是目录的话,目录中的子文件也会一并归档
    tar xvf test.tar #解压test.tar文件到当前目录
    tar xvf test.tar -C test #将test.tar文件解压到test文件夹
    tar zxvf test.tar.gz -C /opt #将当前目录的下的test.tar.gz解压到/opt目录下
    

    执行脚本或程序

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

    • 在命令行中,直接输入文件的全路径,然后回车。如果程序有参数的话,空格后加上参数即可。
    • 转到程序所在的目录,运行./filename,为什么不直接输入文件名来运行文件呢?因为在linux系统中,如果直接在命令行输入命令,linux会在系统path环境变量中寻找配置,如果没有找到,就会执行失败。
    • 如果运行的是一个脚本文件,可以输入sh fiename的方式来启动脚本。

    这一期就到这里,下一期接着写linux的文件权限。

    码字不易,求个关注,求个评论,求个转发,好与不好,留个记号!
    系列其它文章:
    程序员的Linux上手手册(1) - ubuntu安装
    程序员的Linux上手手册(2) - 基础文件操作命令
    程序员的Linux上手手册(3) - 常用工具
    程序员的Linux上手手册(4) - 用户和组的操作

    相关文章

      网友评论

      本文标题:程序员的Linux上手手册(3) - 常用工具

      本文链接:https://www.haomeiwen.com/subject/hmenlftx.html