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
- 回显操作
echo "acb0y"
- 目录文件操作
- 查看当前当前工作目录,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>",显示相关命令的帮助
上一节 : 后端研发菜鸟成长记 第一章 入门 之 云服务器
未完待续...
后续内容预告: 小试牛刀,编写性能测试工具