说明:
Shell是在计算机上运行程序的命令行界面(类似于浏览器的控制台)。由于绝大多数的Web服务器都在Linux上运行,shell是在Linux服务器上进行部署和远程管理的重要工具,Terminal是我们用于与shell交互的程序。
部分命令:
1.打印echo
:类似于print
(打印)。可以在终端打印你所需要打印出来的内容。注意打印部分最好使用引号包含。
* 举例:尝试在终端输入echo $COLUMNS x $LINES
,看看会输出什么。
2.浏览目录(ls
,cd
,...):
-
ls=List
:表示显示当前目录的内容 -
ls + Directory
:可以使用ls
加另外的文件夹名称用于显示那个文件路径下的内容 -
cd
:表示change directory
,更改目录 -
cd ..
:返回上一级目录,父目录 -
cd .. ; ls
:使用分号可以连接两个命令,他们会按照顺序执行。
3.当前工作目录(pwd
):表示Print Working Directory,打印当前工作目录。
Path:路径,由斜杠和多个目录名称组成。比较特殊的目录
..
: 表示父目录、.
: 表示当前目录、~
: 表示主目录
4.参数和选项ls -l/*
:对于命令行我们也可以对其添加参数和选项。ls -l
中-l
就是一个参数,表示long,他会显示更为详细的文件信息。我们还可以使用*
进行匹配,ls -l *.pdf
表示显示当前目录下面所有pdf文件,*
会进行所有可能文件的匹配。
5.整理文件mkdir,mv
: mkdir
表示make directory(新建文件夹),mv
表示move(移动),第一参数表示需要移动的文件,第二个参数表示移动到哪个位置。
6.下载curl
: curl
表示C URl
也就是see URL
(查看网页)
- 单纯的
curl + url
表示查看该URL的源码(主要是html代码),这对于我们来说没有什么用处 - 使用
curl -L url
表示遵守重定向,将会显示该URL主页的源代码(压缩了的javascript代码),这与在浏览器中邮件查看源码差不多。 -
curl -o fileName -L url
: 通过该命令来下载文件或者页面,-o
表示不用在终端显示,fileName
表示下载之后的文件名。 - 注意:最好在url两端加入单引号,这样防止url中有其他字符(&)的干扰。
7.查看文件(cat less
):cat
是Catenate/Concatenate(运行多个文件)的意思。
- 可以使用
cat fileName
在终端显示文件,他会显示整个文件内容,所以如果文件很大,很难在终端进行仔细查看 - 可以使用
less fileName
在终端显示更少的内容,每次显示只会占满一屏幕的文件内容。可以使用空格或者箭头 ⬇️ 向下滚动查看
在使用less时可以使用
B
表示返回,/
表示搜索,/xxx
表示在该文件内搜索xxx
,q
表示退出。
8.删除内容(rm,rmdir
):
-
rm
表示remove的意思,这个命令会直接删除文件,并且无法撤回,对于需要注意的文件可以使用re -i fileName
在删除前进行提示和确认。 -
redir
:表示删除目录
9.搜索和管道符号(grep,wc
):
-
grep xx fileName
表示在该文件内搜索xx
,并且将所有的结果在终端显示出来。但是这样不容易观察-
grep xx fileName | less
表示先执行grep
命令之后再pip(管道)给less
,算是一个复合命令,这样就将之前的结果在终端以一页进行显示。 -
curl URL | grep xx
:像这样也可以使用|
连接两个命令,这样grep
命令就不需要提前下载文件再进行搜索,可以直接对于在线文件进行搜索。
-
-
curl URL | grep xx | wc -l
:表示在URL在线文件中查询xx的数量。wc
表示word count(单词个数),-l
表示计算行数。- 另外一种方式是:
curl -L URL | grep -c xx
:在grep
后面加上-c
用于计数,结果与上面的方法相同。
- 另外一种方式是:
10.Shell内部变量和环境变量:
-
Shell
变量:像是$LINES、$COLUMNS
Shell程序本身的内部变量 - 环境变量: 是与shell运行的程序共享的变量,例如:
$Path
Shell学习资源: