2.4 命令行下“存活”下来的基本技能

  • 通过前面的操作我们已经有了自己的云服务器,并能上下传文件,那么接下来我们需要通过各种命令来操作和管理这个云服务器。

  • 下面会对命令行有一个初步介绍,并提供最实用的操作和管理命令,让你从枯燥的命令行交互中找到成就感并坚持下来。

  • 不得不承认学习后端开发不像B端或者C端口的开发那样很快有反馈并有成就感,希望大家能坚持下来。

2.4.1 初识命令行

  • Linux下最方便的操作就是命令行而且功能强大,刚开始接触可能会不习惯,但是只要坚持下来多操作几天也就习惯了

  • Linux下的很多命令都有help选项,假设有一个命令是“cmdtest”,但你不知道这个命令有那些功能的时候可以试着执行"cmdtest -h"或者"cmdtest --help",其中"-h"是短选项,"--help"是对应的长选项,如果这里不是很理解不用着急,后续的文章会有代码实例教大家如何编码实现支持命令选项的程序

  • 正常一个命令是由三个部分组成

command [-options] param1 param2 ...

部分 必选 含义
命令 你要执行的命令名或者可执行程序的名称
选项 设置命令执行指定功能,视不同的命令而不同
参数 执行命令需要的输入参数

2.4.2 基本的命令操作

  • 手册命令
    当遇到不熟悉的命令时可以使用man命令来查看对应命令的使用手册man即“Manual”的缩写,如执行

man clear

注意执行man命令后会进入man命令的命令行模式,这个时候只有按q就可以退出man命令

  • 清屏操作
    当当前的命令终端输出已经快满一屏时可以使用clear命令还清空当前命令终端的输出,如执行

clear

  • 目录文件操作

    • 查看当前当前工作目录,pwd命令即“print work directory”,如执行

pwd

  • 查看当前目录下的内容,ls命令即“list directory contents”,如执行

ls -lrt

  • 切换目录,cd命令即“change directory”,如执行

cd dst

  • 拷贝文件或者目录,cp命令即“copy”,如执行

cp -f src det

  • 删除文件或者目录,rm命令即“remove”,如执行

rm filename

  • 创建一个空文件,touch命令,如执行

touch file

  • 创建目录,mkdir命令即“make directories”,如执行

mkdir test test1 test2

  • 查看文件内容,cat命令即“concatenate files and print on the standard output”,如执行

cat file1

  • 输出文件的头行,head命令即“output the first part of files”,如输出文件filename的头10行执行

head -10 filename

  • 输出文件的尾行,tail命令即“output the last part of files”,如输出文件filename的尾10行执行

tail -10 flename

  • 进程操作

    • 查看当前所有运行的进程

ps -ef

  • 查看某个运行进程的pid

pidof program

  • 杀某个程序的所有进程

killall program

  • 网络操作

    • 查看网络配置

ifconfig

  • 查看当前服务器开启了那些网络监听

netstat -anpt | grep LISTEN

  • 查看内存概括

free -h

  • 查看磁盘使用情况

df -h

  • 查看系统运行的动态列表,进入之后按q退出

top

2.4.3 组合命令操作

命令行的强大在于它提供了管道功能把多个命令组合起来,把前面一个命令的输出作为后一个命令的输入,从而实现强大的功能,管道命令通过"|"来实现,下面举几个栗子

  • 统计指定文件的行数

cat install.log | wc -l

  • 在当前运行的进程名中过滤包含指定字符的进程

ps -ef | grep keyword | grep -v grep

  • 查看当前服务器上建立好的TCP连接

netstat -anpt | grep ESTABLISHED

2.4.4 输入输出重定向

我们可以把命令的输出进行重定向,而不只是输出到命令行终端

  • 覆盖写重定向到文件

echo "test" > test.txt

  • 追加写重定向到文件

echo "test" >> test.txt

  • 忽略输出,即重定向到/dev/null,这里的/dev/null相当于window的垃圾站

ls > /dev/null

  • 即输出到终端又输出到文件

cat 1.txt | tee 3.txt

2.4.5 vi编辑器

这里不介绍vim,因为学习曲线太过陡了,不准备把vim当作IDE来使用的没必要花精力去学习,如果大家有精力或者有极客追求的可以去网络上搜索相关教程,coolshell上的教程就有很好,大家可以去看看。这里只会介绍vi编辑器最实用的功能,vi是Linux下最常见使用广泛的命令行编辑器,刚开始使用vi可能会不习惯,需要坚持多操作几次。

  • vi的两种模式
    vi编辑器在命令行下有两种模式:命令模式和编辑模式,默认情况下执行vi命令后进入的是命令模式。

  • 最实用操作

    • vi后面带一个文件名,这个文件名可以是存在的文件这时是修改文件,如果不存在则是创建新的文件

    • 按"esc"强制进入命令模式,可以按多次效果一样

    • 在命令模式下按"i"进入插入模式,这时候可以输入你要写入的内容

    • 在命令模式下按"shift + a"进入插入模式,这时候在当前行尾输入内容

    • 在命令模式下按"x",删当前光标所在的一个字符

    • 在命令模式下按"0",当前输入光标跳到行首

    • 在命令模式下按"$",当前输入光标跳到行尾

    • 在命令模式下使用h(up),l(down),k(left),j(right)来移动输入点光标

    • 在命令模式下输入":"和一个数字,输入光标会快速定位到指定数字所在的行数

    • 在命令模式下输入"gg",输入光标会快速定位到第一行

    • 在命令模式下输入"G",输入光标会快速定位到第最后一行

    • 在命令模式下输入"uu",则撤销上一次在插入模式的做的所有修改

    • 在命令模式下输入"dd",则删除当前光标所在的行

    • 在命令模式下输入":w",则保存当前的修改写入文件中

    • 在命令模式下输入":q!",则退出vi并撤销所有的修改

    • 在命令模式下输入":wq",则保存你的修改并退出vi

    • 在命令模式下输入":help <command>",显示相关命令的帮助

上一节 : 后端研发菜鸟成长记 第一章 入门 之 云服务器

未完待续...

后续内容预告: 编译环境安装,使用C/C++编写一个实用测试工具

交流QQ群:624888925 在学习过程中遇到问题可以到这里来沟通


后端开发工程实践
1k 声望98 粉丝

资深的后端研发工程师,在后端研发领域深耕10多年。曾在腾讯、字节跳动等知名公司从互联网商业化服务中台等领域的工作。