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

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

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) - 用户和组的操作

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352

推荐阅读更多精彩内容