Linux常用命令 辅助命令

Part01 history

命令:history

作用:查看命令历史

用法:

将命令的运行结果写入文件:

  • 覆盖写:命令 > 文件路径
  • 追加写:命令 >> 文件路径

这里给大家介绍一个非常有意思的文件:/dev/null。它被称为Linux系统的黑洞,因为不管写入多少数据到这个文件,数据都会被销毁。

Part02 echo

1、简介

命令:echo

作用:将数据输出到standard output(标准输出),主要用来打印环境变量的值

2、关于standard output

①本质

如果我们说把一条数据打印到标准输出,那么我们就是在说:打印到命令行窗口。

②对比Java代码

System.out.println("Hello World!");

上面这行Java代码将字符串打印到了控制台,而如果我们我们把这段Java程序拿到Linux系统来执行,那么它就打印到standard output了。standard output很多时候也缩写为stdout。如果看到stderr,那么就表示在标准输出这里打印错误信息。

3、输出环境变量

①Linux中引用环境变量

在Linux系统中通过『$』来引用环境变量,例如:PATH

②使用echo输出环境变量

Part03 help

1、概述

在我们学习一个新的命令时,Linux系统自带的官方命令手册就是非常权威的参考文档。而man命令和info命令都可以调出一个命令对应的文档。区别在于man命令阅读体验略好,info命令文档内容更完整。

2、用法

①man命令

命令:man

对应单词:manual

格式:man [要查询的命令]

控制方式:

按键说明
空格向下滚动一屏
回车向下滚动一行
b向上滚动一屏
q退出
/关键词搜索关键词 <br>n向下找 <br>N向上找

②info命令

命令:info

对应单词:information

格式:info [要查询的命令]

控制方式:

按键说明
方向键:上控制光标向上移动
方向键:下控制光标向下移动
delete键向上翻页
空格向下翻页
PgUp向上翻页
PgDn向下翻页
q退出

其实info命令每次进入的都是同一个文档,只是不同被查询命令进入的是这个文档的不同位置而已。

③补充

大部分命令都有–help参数,也起到参考文档作用。

Part04 shutdown

1、原则

服务器端不要轻易关机!执行关机或重启操作前一定要问自己下面六个问题:

  • 我现在操作的具体是哪一台服务器?
  • 这台服务器是否是生产服务器?
  • 这台服务器可能有哪些人登录?
  • 我关机或重启后对其他人是否有影响?
  • 这台服务器关机或重启是否会导致其他服务器无法正常工作?
  • 我现在的操作是否必须通过关机或重启来实现?

一旦错误的关闭或重启了服务器,有可能会给公司造成无法弥补的损失。

2、相关命令

命令作用
sync将内存数据保存到硬盘上
poweroff关机
reboot重启

Part05 backslash

符号:\

作用:如果一个命令特别长,那么可以使用反斜杠表示到下一行继续输入

示例:

./configure \
–prefix=/usr/local/nginx \
–pid-path=/var/run/nginx/nginx.pid \
–lock-path=/var/lock/nginx.lock \
–error-log-path=/var/log/nginx/error.log \
–http-log-path=/var/log/nginx/access.log \
–with-http_gzip_static_module \
–http-client-body-temp-path=/var/temp/nginx/client \
–http-proxy-temp-path=/var/temp/nginx/proxy \
–http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
–http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
–http-scgi-temp-path=/var/temp/nginx/scgi

Part06 curl

命令:curl

对应单词:client url

作用:通过命令给服务器发送请求

官方文档说明节选:

curl is a tool to transfer data from or to a server, using one of the supported protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP). The command is designed to work without user interaction.

从文档中我们可以看到curl命令支持的通信协议非常丰富,其中我们最常用的还是HTTP协议。如果有需要curl可以通过参数详细设置请求消息头。

用法举例:

通过-X参数可以指定请求方式:

curl -X POST [资源的URL地址] 注意:X是大写的。

Part07 wget

命令:wget

作用:下载文件

官方文档说明:GNU Wget is a free utility for non-interactive download of files from the Web. It supports HTTP, HTTPS, and FTP protocols, as well as retrieval through HTTP proxies.

用法:

细节:

使用 -P 参数可以指定目标目录,例如:

wget -P /root https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-10/v10.0.8/bin/apache-tomcat-10.0.8.tar.gz

补充:提示证书过期

Part08 nohup[选学]

1、提出问题

我们把一个 SpringBoot 工程导出为 jar 包,jar 包上传到阿里云 ECS 服务器上,使用 java -jar xxx-xxx.jar 命令启动这个 SpringBoot 程序。此时我们本地的 xshell 客户端必须一直开着,一旦 xshell 客户端关闭,java -jar xxx-xxx.jar 进程就会被结束,SpringBoot 程序就访问不了了。

所以我们希望启动 SpringBoot 的 jar 包之后,对应的进程可以一直运行,不会因为 xshell 客户端关闭而被结束。

2、解决方案

①前台、后台运行

默认情况下 Linux 命令都是前台运行的,前台运行的特点是前面命令不执行完,命令行就一直被前面的命令占用,不能再输入、执行新的命令。

#!/bin/bash

echo "hello before sleep"

sleep 20

echo "hello after sleep"

前台(默认情况)运行上面脚本的效果是:

后台运行上面脚本的效果是:

但是以后台方式运行并不能解决前面提出的问题:我们的 shell 客户端(例如:xshell)和服务器断开连接后,SpringBoot 进程会随之结束,这显然不满足我们部署运行项目的初衷。

②不挂断运行

所谓“不挂断”就是指客户端断开连接后,命令启动的进程仍然运行。nohup 命令就是 ”no hang up“ 的缩写。使用nohup 命令启动 SpringBoot 微服务工程的完整写法是:

nohup java -jar spring-boot-demo.jar>springboot.log 2>&1 &
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇