Linux命令行基础知识(有一些bash命令)
创建时间:2019-03-31
继续上篇我的博文:Linux基本命令行操作(一)
本片博文将介绍最近我见到并使用过的一些常用Linux命令,所以分类会略微有一些杂乱,且本片博文以网络相关的Linux命令为主。因为我使用命令大多数都是在GitBash上进行使用,所以会有一些bashshell的命令,在文章中会指出。
一:我个人最新用到过的Linux命令整理(2019-03-31整理)
echo $PATH
命令
echo $PATH
命令可以在bash上打印显示出当前PATH环境变量,每一个在PATH环境变量设置的地址与地址之间使用冒号" :" 分隔。
其实Linux命令在执行时 即是自动根据PATH变量的值(地址)搜索该命令(可执行文件)的。
可以使用which
命令来查看。
which
命令的作用是在PATH环境变量指定的路径中,搜索到某个系统命令的为止,并返回第一个搜索结果。
如:在GitBash上输入which pwd
返回结果为:/usr/bin/pwd
进入/usr/bin/
目录下:cd /usr/bin
后 使用命令:ls
后 可以找到 pwd.exe 这个可执行文件。
而 在GitBash 上能使用 pwd 这个命令的原因也是因为在环境变量PATH中 已经配置好了 /usr/bin 这样一个路径 使用echo $PATH
显示所有PATH配置好的路径 在其中一定可以找到/usr/bin这样的一个路径。which
命令
which
命令即是在PATH变量指定的路径中,搜索某个系统命令的为止,并返回第一个搜索结果。像在上文中使用过的:which pwd
一样使用即可。vim
命令
vim
其实并非是一个命令,而是一种Linux和Unix中最基本的一种文本编辑器,被Linux开源社区的程序员们奉为一种极客精神的象征。本文仅仅涉及到关于vim编辑器最简单的使用。
vim fileName
使用命令:vim fileName
如果文件名已存在,那么将会直接打开该文件,按i
键,进入编辑模式,在编辑模式的状态下,只能使用键盘进行操作。
按Esc
键并敲入:wq
保存退出,如果不想保存直接退出,则按Esc
键后敲入:q!
。这样即不会对文档做任何保存动作。
如果在使用命令:vim fileName
文件名不存在时,则需要看使用哪种方式来退出。如果编辑后保存退出,则会在当前目录下创建编辑保存好的文件,文件名即是你自己使用vim命令定义的fileName,如果选择不保存即强制退出,相应的 即使 编辑了内容也不会有创建文件和保存的动作。export PATH="yourDefinePath:$PATH"
非Linux命令
这段代码并非是一个Linux命令,而是在GitBash 的配置文件.bashrc
中 添加环境变量PATH的自定义路径的方法。
GitBash的配置文件.bashrc
在家目录下,上文刚刚介绍了vim命令 可以使用命令vim ~/.bashrc
对配置文件进行编辑 ,在环境变量PATH中添加这段代码export PATH="yourDefinePath:$PATH"
那么,添加自己定义的目录路径有什么作用呢?如果你的目录下是一个可执行的程序,也就是一个脚本文件,那么,当你的脚本文件路径添加在了PATH中,在GitBash 下 输入执行这个脚本的命令+脚本文件名 就可完成执行该脚本的操作。具体的方法在我的博客:bash及node.js简单的脚本入门中。
在编辑完毕后,按Esc
键并敲入:wq
保存退出。
这时候还需要执行一个命令即:source ~/.bashrc
source
命令是 bashshell 的命令,其作用为当修改某文件 并希望其立刻生效,而不用重新登陆。
source
命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。source ~/.bashrc
可使修改后的配置文件.bashrc
立刻生效,如果不执行此命令则需要关闭GitBash 并重新打开才会生效。执行完上述操作后,使用命令echo $PATH
后 就可以看到自己定义的路径显示在了PATH所有的路径中。open
命令
open
命令用于打开某一文件,在windows操作系统下对应的命令为:start
6.sh
命令与Shebang
sh
命令为执行脚本文件的命令,可以执行shell 脚本文件 也可以执行bash脚本。在执行sh
命令之前首先要保证脚本有可执行权限 即:使用命令chmod +x fileName
这个命令需要在Linux系统下才能执行,windows系统无法使用此命令。
但是出现的问题是每次想要执行脚本时都需要sh
命令+脚本文件名
(默认已配置了环境变量PATH)。使用Shebang即可简化操作,即输入脚本文件名即可实现脚本的执行 省去了每次都要键入命令sh
的烦恼。
在脚本文件的开头添加一行代码#!/usr/bin/sh
这就是Shebang ,规定了该脚本是由 /usr/bin/sh这个命令(可执行文件)执行的,通过Shebang这个简单的设置,接下来就可以仅仅使用脚本文件名来执行脚本了。
node.js的Shebang 为:#!/usr/bin/env node
二:与网络相关的Linux命令
-
ping
与nslookup
ping
命令与nslookup
命令不仅在Linux系统下可使用,在windows系统下也可以使用该命令。这两个命令是非常重要的也是最常用的与网络相关的命令。本文只会对这两个命令做简单的用法介绍。
1:nslookup
命令
nslookup 命令用于检测网络中DNS服务器是否能正确实现域名解析的工具。
用法为:nslookup DomainName
如使用nslookup www.baidu.com
第一个Address 代表的是 本地域名服务器的IP地址 ,本地域名服务器是由ISP给你分配的
在下一行中可以看到 返回的是一个非权威应答 即说明本地DNS服务器有缓存www.baidu.com
这个域名所对应的IP地址,并且返回了两个IP,这两个IP都是可以直接访问到百度的服务器地址。
2:ping
命令
ping命令一般用于检测网络是否通畅 ,检验网络的状况及时延。ping向目标服务器(地址)发送一个请求的数据包,要求目标主机收到请求后给予答复,从而 判断网络的相应时间,以及本机是否与目标主机地址处于联通的状态。
例如:
ping www.baidu.com
如上例所示 主机通过ping命令向百度发送了4次32个字节的数据 不仅可以看到 为我这台电脑提供百度服务的服务器的IP地址为14.215.177.39还可以看到四次ping数据结果中最短的发收时间为8ms 最长的发收时间为60ms,平均时延为33ms。通过ping命令不仅可以判断网络是否联通还可以通过时延来判断网络的好坏。 curl
命令
curl
命令是一个Linux命令行工具,能从服务器下载数据,也能往服务器上发送数据,并支持多种协议如:HTTP,HTTPS,FTP协议等等。curl
命令十分强大在本文中仅介绍一些常用的简单的命令。
1: curl url
这个命令也是curl 最简单的命令,作用为获取页面内容 如:curl "https://www.baidu.com"
获取到的是百度的首页信息 以HTML的格式显示
2: -s/--slient
静音模式,减少输出的信息,比如进度
3: -v/--verbose
显示整个HTTP访问的过程。
4: -G/--get
以get的方式来发送数据(默认)
5: -X/--request <command>
指定发送的命令 curl 默认的HTTP动词为GET 使用 -X 参数可以支持其他动词,如POST
6: -H/--header<header>
指定请求头参数 需要以key:value的形式进行指定
7: -d/--data<data>
使用-d 可以发送带参数的请求默认方式为 post提交方式
关于curl
命令更详细的介绍请参考我的简书文章:浅谈HTTP
-
dig
命令
dig命令是Linux命令中常用的域名查询工具
用法为dig DomainName
我使用过的和dig有关的命令只有dig DomainName +trace
这条命令可以显示DNS分级查询的所有过程。具体的过程还是参考我的文章:浅谈HTTP