天道酬勤,学无止境

【Linux】ps -ef|grep详解

【Linux】ps -ef|grep详解


Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux。这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同。现在的大部分Linux系统都是可以同时使用这两种方式的。

ps -ef 是用标准的格式显示进程的、其格式如下

其中各列的内容意思如下
UID    //用户ID、但输出的是用户名 
PID    //进程的ID 
PPID    //父进程ID 
C      //进程占用CPU的百分比 
STIME  //进程启动到现在的时间 
TTY    //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。 
CMD    //命令的名称和参数

ps aux 是用BSD的格式来显示、其格式如下

同ps -ef 不同的有列有
USER      //用户名 
%CPU      //进程占用的CPU百分比 
%MEM      //占用内存的百分比 
VSZ      //该进程使用的虚拟內存量(KB) 
RSS      //该进程占用的固定內存量(KB)(驻留中页的数量) 
STAT      //进程的状态 
START    //该进程被触发启动时间 
TIME      //该进程实际使用CPU运行的时间

其中STAT状态位常见的状态字符有
D      //无法中断的休眠状态(通常 IO 的进程); 
R      //正在运行可中在队列中可过行的; 
S      //处于休眠状态; 
T      //停止或被追踪; 
W      //进入内存交换 (从内核2.6开始无效); 
X      //死掉的进程 (基本很少见); 
Z      //僵尸进程; 
<      //优先级高的进程 
N      //优先级较低的进程 
L      //有些页被锁进内存; 
s      //进程的领导者(在它之下有子进程); 
l      //多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads); 
+      //位于后台的进程组;


ps命令将某个进程显示出来

grep命令是查找

中间的|是管道命令 是指ps命令与grep同时执行

PS是LINUX下最常用的也是非常强大的进程查看命令

grep命令 是查找, 是一种强大的文本搜索工具,它能 使用正则表达式 搜索文本,并把匹 配的行打印出来。

grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

以下这条命令是检查 java 进程是否存在:ps -ef |grep java

字段含义如下:
UID       PID       PPID      C     STIME    TTY       TIME         CMD

zzw      14124   13991      0     00:38      pts/0      00:00:00    grep --color=auto dae

 

UID      :程序被该 UID 所拥有

PID      :就是这个程序的 ID 

PPID    :则是其上级父程序的ID

C          :CPU使用的资源百分比

STIME :系统启动时间

TTY     :登入者的终端机位置

TIME   :使用掉的CPU时间。

CMD   :所下达的是什么指令

 




About Me

........................................................................................................................

● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除

● 本文在itpub( http://blog.itpub.net/26736162 )、博客园( http://www.cnblogs.com/lhrbest )和个人weixin公众号( xiaomaimiaolhr )上有同步更新

● 本文itpub地址: http://blog.itpub.net/26736162

● 本文博客园地址: http://www.cnblogs.com/lhrbest

● 本文pdf版、个人简介及小麦苗云盘地址: http://blog.itpub.net/26736162/viewspace-1624453/

● 数据库笔试面试题库及解答: http://blog.itpub.net/26736162/viewspace-2134706/

● DBA宝典今日头条号地址: http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

........................................................................................................................

● QQ群号: 230161599 (满) 、618766405

● weixin群:可加我weixin,我拉大家进群,非诚勿扰

● 联系我请加QQ好友 646634621 ,注明添加缘由

● 于 2018-12-01 06:00 ~ 2018-12-31 24:00 在魔都完成

● 最新修改时间:2018-12-01 06:00 ~ 2018-12-31 24:00

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

........................................................................................................................

小麦苗的微店 : https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

小麦苗出版的数据库类丛书 : http://blog.itpub.net/26736162/viewspace-2142121/

小麦苗OCP、OCM、高可用网络班 : http://blog.itpub.net/26736162/viewspace-2148098/

小麦苗腾讯课堂主页 : https://lhr.ke.qq.com/

........................................................................................................................

使用 weixin客户端 扫描下面的二维码来关注小麦苗的weixin公众号( xiaomaimiaolhr )及QQ群(DBA宝典)、添加小麦苗weixin, 学习最实用的数据库技术。

........................................................................................................................

 

 




来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2284157/,如需转载,请注明出处,否则将追究法律责任。

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • linux系统终端命令提示符设置(PS1)记录
    PS(Prompt Sign)指的是命令提示符,在日常运维工作中为了方面操作管理,有时会设定PS1环境变量。废话不多说,下面开始记录下Linux中PS1设置在/etc/.bashrc中,找到PS1变量的定义,如果没有,手动加上:可以将显示输出到标题栏上:[root@elk-node1 ~]# vim /root/.bashrc...........export PS1="\[\e]2;\u@\H \w\a\e[32;1m\]>\[\e[0m\]"[root@elk-node1 ~]# source /root/.bashrcexport PS1="\[\e]2;\u@\H \w\a\e[32;1m\]>\[\e[0m\]"[root@elk-node1 ~]# . /root/.bashrc>cd /usr/local/>pwd/usr/local>最常见的设置:1)粉红色的[root@elk-node1 ~]# vim /root/.bashrc...........export PS1="\[\e[35;1m\][\u@\h \W]$>\[\e[0m\]"[root@elk-node1 ~]# source /root/.bashrc[root@elk-node1 local]$>cd /usr/local/[root@elk-node1 ~]$>cd /usr/local/
  • linux 内存使用管理及释放
    Linux 内存使用检查及释放内存 如何查看linux内存使用: 1.free -g 命令 或 free -h total:总计物理内存的大小。used:已使用多大。free:可用有多少。Shared:多个进程共享的内存总额。Buffers/cached:磁盘缓存的大小。 使用 cat /proc/meminfo 查看内存详细使用 atop查看通过atop动态显示系统资源(cpu、内存、网络、输入/输出、内核),并且高亮标准高负载的部分,内存统计报告包括了总计/闲置内存、缓存的/缓冲的内存和已提交的虚拟内存。 [root@server~]# yum install atop[root@server~]# atop htop查看Htop命令是一个机遇ncurses的交互式进程视图,实时显示了每个进程的内存使用情况。可以报告所有运行中进程的常驻内存大小(RSS)、内存中程序的总大小、库大小、共享页面大小,也可以横向或纵向滚动进程列表进行查看。[root@server~]# yum install htop[root@server~]# htop Gnome System MonitorGnome 系统的图形化界面监控程序,展示cpu、内存、交换区和网络在内的系统资源使用率前提是需要安装gnome图形化界面。[root@server~]# gnome-system-monitor ps
  • Linux API列出正在运行的进程?(Linux API to list running processes?)
    问题 我需要一个C / C ++ API,该API允许我列出Linux系统上正在运行的进程,并列出每个进程已打开的文件。 我不想落得直接读取的/ proc /文件系统。 有人能想到一种方法吗? 回答1 http://procps.sourceforge.net/ http://procps.cvs.sourceforge.net/viewvc/procps/procps/proc/readproc.c?view=markup 是ps和其他处理工具的来源。 他们确实使用了proc(表明这可能是常规的最佳方法)。 他们的来源是相当可读的。 文件 /procps-3.2.8/proc/readproc.c 可能有用。 ephemient发布的另一个有用建议是链接到libproc提供的API,该API应该在您的存储库中可用(或者我已经说过已经安装),但是您需要标头的“ -dev”变体,而不是。 祝你好运 回答2 如果您不想从'/ proc中读取。 然后,您可以考虑编写一个内核模块,该模块将实现您自己的系统调用。 并且应该编写系统调用,以便它可以获得当前进程的列表,例如: /* ProcessList.c Robert Love Chapter 3 */ #include < linux/kernel.h > #include < linux/sched.h > #include <
  • 通过Python在Linux上的进程列表(Process list on Linux via Python)
    问题 如何在Linux上使用Python获取运行进程列表? 回答1 与查看ps的文本输出相比,IMO看着/proc文件系统没有那么讨厌。 import os pids = [pid for pid in os.listdir('/proc') if pid.isdigit()] for pid in pids: try: print open(os.path.join('/proc', pid, 'cmdline'), 'rb').read().split('\0') except IOError: # proc has already terminated continue 回答2 您可以将psutil用作独立于平台的解决方案! import psutil psutil.pids() [1, 2, 3, 4, 5, 6, 7, 46, 48, 50, 51, 178, 182, 222, 223, 224, 268, 1215, 1216, 1220, 1221, 1243, 1244, 1301, 1601, 2237, 2355, 2637, 2774, 3932, 4176, 4177, 4185, 4187, 4189, 4225, 4243, 4245, 4263, 4282, 4306, 4311, 4312, 4313, 4314, 4337, 4339, 4357
  • C ++错误:未在此范围内声明“ _mm_sin_ps”(C++ error: ‘_mm_sin_ps’ was not declared in this scope)
    问题 我正在尝试对将函数应用于数组的不同方法进行基准测试。 为什么是https://software.intel.com/sites/landingpage/IntrinsicsGuide/#expand=3260,2124,4779,4779&cats=Trigonometry&text=_sin _mm_sin_ps在我的范围内未知,但是_mm_sqrt_ps是? 我如何知道它? 并毫无错误地进行编译。 #include <random> #include <iostream> #include <cmath> #include <chrono> #include <algorithm> #include <valarray> #include "immintrin.h" #include <array> int main() { std::cout<<"start\n"; std::random_device rd; std::mt19937 gen(rd()); std::uniform_real_distribution<> dis(-1000, 1000); int N=100; while(N--) { std::cout<<"\nN: "<<N; const int T1=4E6; { int T=T1,T0=T1/4; std::array<float,T1>
  • How to find a Java thread running on Linux with ps -axl?
    I have a running JVM with two threads. Is it possible to see these running threads on my Linux OS with ps -axl ? I am trying to find out what priority the OS is giving to my threads. More info about this other issue here.
  • C++ error: ‘_mm_sin_ps’ was not declared in this scope
    I'm trying to benchmark different ways to apply a function to an array. why is https://software.intel.com/sites/landingpage/IntrinsicsGuide/#expand=3260,2124,4779,4779&cats=Trigonometry&text=_sin _mm_sin_ps not known to my scope but _mm_sqrt_ps is? how do I make it known? And compile it without errors. #include <random> #include <iostream> #include <cmath> #include <chrono> #include <algorithm> #include <valarray> #include "immintrin.h" #include <array> int main() { std::cout<<"start\n"; std::random_device rd; std::mt19937 gen(rd()); std::uniform_real_distribution<> dis(-1000, 1000); int N=100
  • Zynq-linux PL与PS通过DMA数据交互
    一、目标 在米尔科技的z-turn板上,采用AXI DMA 实现zynq的PS与PL数据交互。 二、分析 ①PS数据传PL 驱动中的测试程序中给出一堆数据,通过DMA传输到AXI4-Stream Data FIFO ,PL端从DATA FIFO中把数据读出来。 ②PL数据传PS 将PS传入PL的数据回传,在PS端显示出数据,最后将数据乘2再送入DMA。 ③PL端代码思路 1)读数据 在加上DATA FIFO的情况下,PL从DATA FIFO中读取数据。将DATA -FIFO的M_AXIS端引出,得到下面的信号。 信号名称作用方向m_axis_tvalid主机向从机发数据的信号声明,置1表示主机有数据要发向从机。输出m_axis_tready主机判断从机是否准备好接收数据,当为1时表示从机准备好接收数据。输入m_axis_tdata主机将要发送的数据。输出m_axis_tkeep主机发送数据时需拉高。输出m_axis_tlast表示主机发送是否是最后一个数据,置1时表示主机正在发送最后一个数据。输出 从上表可以看出,DATA FIFO接收完数据后,想要从FIFO中读取数据,靠的就是上面5根线,FIFO作主机,PL端作从机。所以FIFO会自动将m_axis_tvalid置1,表明可以从主机中读取数据。PL只需要给出回应m_axis_tready置1,便可以在时钟上升沿来临时读取数据。
  • Linux内存管理中的RSS和VSZ是什么(What is RSS and VSZ in Linux memory management)
    问题 Linux内存管理中的RSS和VSZ是什么? 在多线程环境中,如何对这两者进行管理和跟踪? 回答1 RSS是常驻集大小,用于显示有多少内存分配给该进程并且位于RAM中。 它不包括换出的内存。 只要共享库中的页面实际在内存中,它就包括共享库中的内存。 它确实包括所有堆栈和堆内存。 VSZ是虚拟内存大小。 它包括该进程可以访问的所有内存,包括换出的内存,已分配但未使用的内存以及来自共享库的内存。 因此,如果进程A具有500K二进制文件并链接到2500K共享库,则具有200K的堆栈/堆分配,其中100K实际上在内存中(其余部分已交换或未使用),并且它实际上仅加载了1000K的共享库然后是其自己的二进制文件400K,然后: RSS: 400K + 1000K + 100K = 1500K VSZ: 500K + 2500K + 200K = 3200K 由于部分内存是共享的,因此许多进程都可以使用它,因此,如果您将所有RSS值相加,则很容易获得比系统更多的空间。 分配的内存也可能不在RSS中,直到程序实际使用它为止。 因此,如果您的程序预先分配了一堆内存,然后随着时间的推移使用它,您可能会看到RSS上升而VSZ保持不变。 还有PSS(比例设置大小)。 这是一个较新的度量,它跟踪共享内存作为当前进程使用的比例。 因此,如果以前有两个进程使用相同的共享库: PSS: 400K +
  • windows 10安装gitlab docker
    概述 gitlab ce不提供windows安装包。所以,在windows机器上最简洁的安装方式是使用docker。网上找到的gitlab docker安装步骤比较简单。所以,写了一个完整版本,方便不太熟悉的人。 2021/2/17 第一版 环境 Windows 10 Pro 版本号 20H2 版本 19042.631 Docker desktop 3.10 gitliab-ce 13.8.4 步骤 1. 安装wsl2 参考文档 https://docs.microsoft.com/zh-cn/windows/wsl/install-win10 步骤 1 - 启用适用于 Linux 的 Windows 子系统 需要先启用"适用于 Linux 的 Windows 子系统"可选功能,然后才能在 Windows 上安装 Linux 分发。 以管理员身份打开 PowerShell 并运行: dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 步骤 2 - 检查运行 WSL 2 的要求 若要更新到 WSL 2,需要运行 Windows 10。对于 x64 系统:版本 1903或更高版本,采用内部版本18362或更高版本。 若要检查 Windows
  • linux入门系列3--常见的linux远程登陆管理工具
    服务器一般是云服务器或者放置在机房,我们日常工作中通过远程连接工具连接到服务器进行操作,这类工具很多(如SecureCRT、XShell、Putty、FinallShell、TeamViewer以及windows10自带的PowerShell等等),本文挑选几个常用的工具进行演示,实际运用时只需要熟练使用任意一个就行,其它的当作了解。 工具使用虽然很简单,但是很多初学朋友要在众多工具中摸索还是挺费事的。网络资源泛滥,碎片化太严重,很多文章零散不成体系;再加上很多人不经过验证随手就转载别人文章,往往给初学者带来很多困惑,很多人网上搜索资源耗费大量时间结果得到的还不一定准确。让大家能把更多的精力放在相应知识点上,这也是本系列文章的初衷。 文章中演示的工具都提供相应下载,所有工具都亲自验证并确保完整无误,下载即用;所有操作至少都验证二次以上已确保准确性。然而,技术的更新非常之快,软件版本也在迭代之中,所以请最好使用提供的版本并保持环境与本系列文章一致,熟练之后再举一反三。 ps:即便如此,也难免有疏漏之处,如果有错误之处欢迎联系指出。 一、SecureCRT 1.1 SecureCRT简介 SecureCRT client for Windows, Mac, and Linux provides rock-solid terminal emulation for computing
  • Linux基础入门和文件管理
    文章目录 一、Linux基础入门1、Linux系统默认提示符2、执行命令3、查看硬件信息4、查看系统版本信息5、 日期和时间6、 关机和重启7、用户登录信息查看命令8、会话管理9、命令行扩展和被括起来的集合 一、Linux基础入门 1、Linux系统默认提示符 安装好linux系统后 默认的系统命令提示符没有个性 并不醒目 无法明显辨别生产和测试环境,可能会导致误操作 所以我们可以通过修改PS1变量实现个性的提示符格式,避免在生产环境中出现误操作的低级错误 示例:默认的系统提示符 #CentOS默认提示符 [root@localhost ~]# #Ubuntu默认提示符 root@ubuntu1804:~# 其中 #代表管理员用户 $代表普通用户 查看提示符格式 [root@centos8 ~]#echo $PS1 \[\e[1;35m\][\u@\h \W]\$\[\e[0m\] 修改提示符格式 [19:45:41 root@centos8 ~]# PS1="\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]" PS1="\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\ [\e[0m\]\\$" 提示符格式说明: 提示符含义\e控制符\033\u当前用户
  • 记录一下ubuntu18.04安装docker-ce的过程
    基本上就是按照官方的教程一步步来的:https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository 一、基本安装 1、更新一下apt工具包 sudo apt-get update sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release 2、添加docker官方密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg 会出来一个warning,不用管: gpg: WARNING: unsafe ownership on homedir '/home/lz/.gnupg' 3、配置稳定版仓库(这里需要根据系统架构选,不过大部分主机都是x86_64/amd64的) echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com
  • 如何在Linux上创建,列出和删除Docker容器
    本篇文章介绍的内容是关于在Linux机器上创建,列出和删除docker容器,下面我们来看具体的内容。 1、启动Docker容器 使用下面的命令启动新的Docker容器。这将启动一个新的容器,并为你提供使用/bin/bash shell访问该容器的权限。 # docker run [OPTIONS] <IMAGE NAME> [COMMAND] [ARG...] 例如,下面的命令将使用名为“ubuntu”的图像创建新的docker容器。要列出所有可用图像,请使用docker images命令 # docker run -i -t ubuntu /bin/bash 要退出Docker容器,请按ctrl+p+q。这将使容器在后台运行,并提供主机系统控制台。如果使用exit命令,它将停止当前容器。 2、列出Docker容器 从Docker容器中存在后,执行以下命令列出所有正在运行的容器。 # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f2582758af13 ubuntu "/bin/bash" 2 hours ago Up 2 hours first_ubuntu 默认情况下,上面的命令将只列出正在运行的容器。要列出所有容器(包括已停止的容器),需要使用以下命令。 # docker ps -a
  • docker删除所有容器_如何在Linux上创建,列出和删除Docker容器
    本篇文章介绍的内容是关于在Linux机器上创建,列出和删除docker容器,下面我们来看具体的内容。 1、启动Docker容器 使用下面的命令启动新的Docker容器。这将启动一个新的容器,并为你提供使用/bin/bash shell访问该容器的权限。 # docker run [OPTIONS] <IMAGE NAME> [COMMAND] [ARG...] 例如,下面的命令将使用名为“ubuntu”的图像创建新的docker容器。要列出所有可用图像,请使用docker images命令 # docker run -i -t ubuntu /bin/bash 要退出Docker容器,请按ctrl+p+q。这将使容器在后台运行,并提供主机系统控制台。如果使用exit命令,它将停止当前容器。 2、列出Docker容器 从Docker容器中存在后,执行以下命令列出所有正在运行的容器。 # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f2582758af13 ubuntu "/bin/bash" 2 hours ago Up 2 hours first_ubuntu 默认情况下,上面的命令将只列出正在运行的容器。要列出所有容器(包括已停止的容器),需要使用以下命令。 # docker ps -a
  • Linux安装Docker及使用
    Linux安装Docker及使用 安装docker镜像命令:yum install -y docker-io 如果出现报错说明你yum没有安装,可以先去百度安装一下yum; Docker安装及使用 在linux安装命令:yum install -y docker-io 查看docker版本:docker version 启动docker服务: service docker start 停止docker服务:service docker stop 查看docker存储位置:docker info 查看docker镜像: docker images 查看docker容器: docker ps 启动docker容器:docker start 容器名称(containerID) 停止docker容器:docker stop 容器名称(containerID) 卸载docker容器:docker rmi 容器名称(containerID) 保存镜像 docker commit pyg_nginx mynginx 镜像备份 docker save -o mynginx.tar myngin 镜像恢复与迁移 docker load -i mynginx.tar containerID可以输入docker images查看你要操作的容器获得 拉取镜像
  • linux基本命令之计划任务
    很多人面试经常会遇到计划任务,比如设置一个定时脚本,每5分钟校对一下时间 RHEL6系统中默认安装了at、vixie-cron软件包!可以通过atd和crond这两个系统服务实现一次性和周期性任务计划功能!对应的命令是at和crontab! 这里我们只说一下at一次性任务计划和crontab周期性任务设置一:at 一次性任务设置顾名思义只能执行一次、前提是对应的atd服务已经启动例:确认系统服务已经运行、并设置atd服务在运行级别3、5中自动启动[root@localhost ~] # service atd status[root@localhost ~] # service atd start[root@localhost ~] # chkconfig --level 35 atd on例:使用date命令确认当前系统时间、并设置在2009年5月18日的14:55分自动执行以下任务计划:统计该时间点系统中由root用户运行的进程的数量、并将该数值保存到/tmp/ps.root文件中[root@localhost ~] # date //先查看以下当前系统的时间[root@localhost ~] # at 14:55 2009-05-18at> pgrep -U root | wc -l > /tmp/ps.rootat> <EOT> //任务设置完毕后按Ctrl
  • Linux:实现管理kvm的脚本(上)
    实现管理kvm的脚本(上) 写了几个脚本,组合起来可以实现交互式进行对KVM机器的管理,主要的功能和脚本的架构如下图: 再说一下脚本的设计,一共有六个脚本,其中有一个名为kvm_manager.sh的主脚本,主要功能是调用四个主功能块;所以就会分别有四个功能块的脚本,而四个功能块的脚本主要是调用其对应的功能,所以就还有一个最重要的脚本,它包含了所有功能的函数,其他五个脚本的内容只是展示选单,最后的调用全部由最后一个脚本来执行。如果要实现交互式管理KVM,就要把这六个脚本放在同一目录。当然,你的机器必须是已经安装了KVM并且已经创建了kvm虚拟机,这个脚本没有提供安装KVM的功能。 下面是选单功能的脚本,真正的函数脚本我会放在下一篇博客: kvm_manager.sh #!/bin/bash #主控制页面,选择不同的功能块时,会执行并跳转到对应的功能块,前提是其实的脚本要与此脚本放在同一个目录 echo "++++++++++++++欢迎使用KVM管理工具+++++++++++++++++++" PS3="【KVM管理[主菜单]】:" while true; do select choice in "基本管理" "克隆" "快照" "资源变配" "退出"; do case ${choice} in "基本管理") bash ./basic_managerment.sh ;; "克隆"
  • 在Bash命令提示符下添加git分支(Adding git branch on the Bash command prompt)
    问题 我尝试在bash提示符下添加我当前正在使用的git分支(已检出),但未成功..(同时保持显示活动目录/文件的当前路径完整),我家中有一个.bashrc文件,但我也看到很多人提到.profile文件。 回答1 git 1.9.3或更高版本:使用__git_ps1 Git提供了一个名为git-prompt.sh的shell脚本,其中包含一个函数__git_ps1 , 打印文本以添加到bash PS1提示符(包括分支名称) 其最基本的用法是: $ __git_ps1 (master) 它还需要一个可选的格式字符串: $ __git_ps1 'git:[%s]' git:[master] 如何获得 首先,将文件复制到某个位置(例如~/.git-prompt.sh )。 选项1:使用文件系统上的现有副本。 示例(Mac OS X 10.15): $ find / -name 'git-prompt.sh' -type f -print -quit 2>/dev/null /Library/Developer/CommandLineTools/usr/share/git-core/git-prompt.sh 选项2:从GitHub提取脚本。 接下来, .bashrc/.zshrc下行添加到.bashrc/.zshrc : source ~/.git-prompt.sh 最后
  • linux服务器给TOMCAT配置SSL证书
    linux服务器给TOMCAT配置SSL证书 一.原因 HTTPS协议 == 由SSL证书 + HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。 HTTP:超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议 HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 ios9规定网络请求必须使用https 二.下载SSL证书 登录阿里云服务器(前提是有服务器并已经申请了ssl证书),点击控制台,进入页面后选择SSL证书,下面会弹出证书的一栏,点击下载,右面会展示,各种软件的SSL,这里我选Tomcat的SSL证书。下载到本地。 压缩包解压后有两个:2942413_www.civdp.com.pfx 和 pfx-password.txt 第一个就是证书,第二个是密码。 注意:这里以.pfx的配置为例,当然还可能有其他的类型。 三.在linux服务器上配置tomcat的安全证书 1.进入tomcat的安装目录下(我使用的是/home/p-s-42/apache-tomcat-8.5.33/keys),有一个keys,(没有就自己创建一个,名字随便,只要与后面的配置一致即可),把2942413