每一个命令都有很详细甚至繁琐的参数,此文只演示简单的使用示例。具体参数以及使用方式能够参照如下四种方式检索:linux
man ${YOUR_COMMAND}
ping是一种计算机网络工具,用来测试数据包可否透过IP协议到达特定主机。ping的运做原理是向目标主机传出一个ICMP的请求回显数据包,并等待接收回显回应数据包。程序会按时间和成功响应的次数估算丢失数据包率(丢包率)和数据包往返时间(网络时延,Round-trip delay time)。正则表达式
ping www.baidu.com
复制代码
备注:这个命令经常使用于检测域名对应服务器是否在启动状态中。(详细使用参数man ping
,适用于如下全部命令)。shell
traceroute是一种计算机网络工具。它可显示数据包在IP网络通过的路由器的IP地址。express
traceroute www.baidu.com
复制代码
若是系统中不存在此命令,按如下方式安装:json
sudo apt install inetutils-traceroute
sudo apt install traceroute
复制代码
备注:若是某个网站挂了,能够用这个命令检测是哪一个环节出了问题。vim
nslookup能够指定查询的类型,能够查到DNS记录的生存时间还能够指定使用哪一个DNS服务器进行解释。 在已安装TCP/IP协议的电脑上面都可以使用这个命令。 主要用来诊断域名系统 (DNS) 基础结构的信息。安全
nslookup www.baidu.com
复制代码
cURL是一个利用URL语法在命令行下工做的文件传输工具。bash
请求www.baidu.com的网页内容服务器
curl www.baidu.com
复制代码
在输出里带上Http Header(-i --include)微信
curl -i www.baidu.com
复制代码
nmap(“Network Mapper(网络映射器)”) 是一个网络探测和安全扫描程序,系统管理者和我的可使用这个软件扫描大型的网络,获取那台主机正在运行以及提供什么服务等信息。nmap支持不少扫描技术,例如:UDP、TCP connect()、TCP SYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FIN、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和null扫描。
nmap www.baidu.com
复制代码
备注:通常用来检测该服务器开放的端口。好比以上命令的输出内容以下,可知开放了80、443端口。
Starting Nmap 7.70 ( https://nmap.org ) at 2019-05-04 16:52 CST
Nmap scan report for www.baidu.com (14.215.177.38)
Host is up (0.0095s latency).
Other addresses for www.baidu.com (not scanned): 14.215.177.39
Not shown: 998 filtered ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https
Nmap done: 1 IP address (1 host up) scanned in 4.67 seconds
复制代码
UFW 全称为Uncomplicated Firewall,是Ubuntu 系统上默认的防火墙组件, 为了轻量化配置iptables 而开发的一款工具。 UFW 提供一个很是友好的界面用于建立基于IPV4,IPV6的防火墙规则。
示例好比开启服务器的443(https)端口:
sudo ufw allow 443
sudo ufw enable
sudo ufw status
复制代码
Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。 SSH经过在网络中创建安全隧道来实现SSH客户端与服务器之间的链接。
好比建立一个SSH key:
cd ~/.ssh/
ssh-keygen -t rsa
复制代码
将生成的公钥放置远程服务器中,而后便可以使用私钥登陆远程服务器:
ssh -i ~/.ssh/my_key root@$YOU_SERVER_IP
复制代码
find是一个用于在文件系统中寻找文件的Unix命令行工具。它的用法包括文件名模式匹配,时间戳匹配。
经常使用的几个选项为:
通用格式以下:
find $YOU_DIRECTORY/ -name $YOU_FILES
复制代码
示例。好比想在express文件夹中寻找名称含有Guide
的md文件
find express/ -name *Guide*.md
复制代码
grep是一个最初用于Unix操做系统的命令行工具。在给出文件列表或标准输入后,grep会对匹配一个或多个正则表达式的文本进行搜索,并只输出匹配(或者不匹配)的行或文本。
示例在package.json里搜索做者的名称:
grep -w "author" express//package.json
复制代码
author
单词的一整行
"author": "TJ Holowaychuk <tj@vision-media.ca>",
复制代码
备注:这个命令也至关实用~能够查阅文档多多练习!
经常使用命令之一,显示当前文件夹的内容
ls
复制代码
比较经常使用的是这个组合
ls -laG
复制代码
cd命令用来切换工做目录至dirname。 其中dirName表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的home directory。
cd $PATH
复制代码
在类Unix系统和其余一些操做系统中,pwd(英语:print working directory)用于输出当前工做目录的绝对路径
pwd
复制代码
新建文件夹
mkdir $FOLDER
复制代码
删除文件夹
rmdir $FOLDER
复制代码
固然删除文件夹也可使用如下命令递归删除文件(这个命令须要当心使用)
rm -rf $FOLDER
复制代码
touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来建立新的空文件。
因此通常能够用来新建文件,显得十分方便
touch $FILE
复制代码
删除文件
rm $FILE
复制代码
cat是unix系统下用来查看文件连续内容用的指令,字面上的含意是“concatenate”(连续)的缩写。除了用来做为显示文件内容外,cat指令也可用于标准流上的处理,如将显示的消息转入或附加另外一文件上。
cat $YOUR_FILE
复制代码
结合标准输出流>
能够有如下姿式:
cat $FILE1 > $FILE2
复制代码
关于head/tail/more/less这些命令工做效果大体类似,可是具体不一样之处可使用以上提供的方式查阅
vi是一种模式编辑器。不一样的按钮和键击能够更改不一样的“模式”;好比说:在“插入模式”下,输入的文本会直接被插入到文档;当按下“退出键”,“插入模式”就会更改成“命令模式”,而且光标的移动和功能的编辑都由字母来响应,例如:“j”用来移动光标到下一行;“k”用来移动光标到上一行,“x”能够删除当前光标处的字符,“i”能够返回到“插入模式”(也可使用方向键)。
掌握简单的vi命令使用十分必要。
使用vim编辑文件
vi $FILE
复制代码
输入i
进入INSERT模式,编辑完成后,输入esc
退出输入INSERT模式,进入命令模式,输入:wq
写入修改内容并退出vi。
具体使用十分复杂,能够多作练习。简单的使用以上大概能够知足,由于在服务器中没有图形化界面,因此熟悉必定的vi操做是必须的。
sudo是linux系统管理指令,是容许系统管理员让普通用户执行一些或者所有的root命令的一个工具。
备注:普通用户在执行须要root权限的命令时,须要使用此命令。
sudo $command
复制代码
chown 命令将 File 或 Directory 参数指定的文件或目录的全部者更改成 Owner 参数指定的用户。
常见于某个文件或文件夹没有相关的权限时,能够用此命令修改权限。示例以下:
sudo chown -R $USER:$USER /var/www/
复制代码
在大多数类Unix操做系统中,ps程序(“process status”的简称)能够显示当前运行的进程。一个相关的Unix工具top则能够查看运行进程的实时信息。
ps
复制代码
top
复制代码
ps + grep能够快速找到对应程序的进程信息:
ps -A | grep "vscode"
复制代码
top + grep实时显示系统中对应程序进程(好比微信)的资源占用情况。
top | grep -i -w "wechat"
复制代码
(这里使用到的|
是pipeline,能够粗略理解为数据流从左到右的流动)
将内容复制到粘贴板,示例以下:
cat $FILE | pbcopy
复制代码
而后愉快的ctrl + v就能够了。
以上都只是简单示例,每一个命令的深刻使用须要在实际工做中查询、实践。(若是以上分享存在错误的地方,欢迎各位同窗指正~)
最后,让咱们用命令行提升工做效率~冲鸭!(●´∀`●)ノ