精华内容
下载资源
问答
  • 2021-08-22 10:45:42

    前言

    cmdcommand的缩写.即命令行 。

    虽然随着计算机产业的发展,Windows 操作系统的应用越来越广泛,DOS 面临着被淘汰的命运,但是因为它运行安全、稳定,有的用户还在使用,所以一般Windows 的各种版本都与其兼容,用户可以在Windows 系统下运行DOS,中文版Windows XP中的命令提示符进一步提高了与DOS下操作命令的兼容性,用户可以在命令提示符直接输入中文调用文件。

    作为一个开发者,我们用的最多的就是windows,但是对于cmd,我不知道大家熟不熟,反正我是一直不怎么熟悉。平时操作linux比较多,反而忽视了cmd相关命令,这里大致总结一些常用的命令,作为记录。

    1. 常用命令

    1.1 cd命令

    //进入d盘
    D:
    //进入F盘
    F:
    
    cd /?     //获取使用帮助
    
    cd \       //跳转到硬盘的根目录
    
    cd C:\WINDOWS  //跳转到当前硬盘的其他文件
    
    d:        //跳转到其他硬盘
    
    cd /d e:\software    //跳转到其他硬盘的其他文件夹,注意此处必须加/d参数。否则无法跳转。
    
    cd..      //跳转到上一层目录
    

    1.2 查看目录文件

    //查看当前目录下的文件,类似于linux下的ls
    dir
    

    在这里插入图片描述

    如果是需要查看隐藏文件的或者更多操作的话,可以使用dir /?来查看其它用法,cmd这点挺好的。

    python /?
    

    在这里插入图片描述

    1.3 创建目录和删除目录

    //创建目录
    md 目录名(文件夹)
    //删除目录
    rd 目录名(文件夹)
    

    1.4 查看本机ip

    ipconfig
    

    1.5 清除屏幕

    cls
    

    类似于linux下的clear

    1.6 复制文件

    copy 路径\文件名 路径\文件名 :把一个文件拷贝到另一个地方。 
    

    1.7 移动文件

    move 路径\文件名 路径\文件名 :把一个文件移动(就是剪切+复制)到另一个地方。 
    

    1.8 删除文件

    //这个是专门删除文件的,不能删除文件夹
    del 文件名
    

    1.9 ping

    //用来测试网络是否畅通
    ping ip(主机名)
    

    1.10 taskkill

    列出所有任务及进程号,杀进程

    taskkill
    
    taskkill /?  获取使用帮助
    

    taskkill是用来终止进程的。具体的命令规则如下:

    TASKKILL [/S system [/U username [/P [password]]]]
    { [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]
    

    描述:

    这个命令行工具可用来结束至少一个进程。

    可以根据进程 id 或映像名(Image)来结束进程。

    参数列表:

    /S system 指定要连接到的远程系统。
    /U [domain\]user 指定应该在哪个用户上下文
    

    执行这个命令:

    /P [password] 为提供的用户上下文指定密码。如果忽略,提示输入。
    /F 指定要强行终止的进程。
    /FI filter 指定筛选进或筛选出查询的的任务。
    /PID process id 指定要终止的进程的PID。
    /IM image name 指定要终止的进程的映像名称。通配符 '*'可用来指定所有映像名。
    /T Tree kill: 终止指定的进程和任何由此启动的子进程。
    /? 显示帮助/用法。
    

    例如:

    TASKKILL /S system /F /IM notepad.exe /T
    TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
    TASKKILL /F /IM QQ.exe
    TASKKILL /F /IM notepad.exe /IM mspaint.exe
    TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
    TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
    

    在这里插入图片描述

    1.11 netstat 查看网络连接状态

    显示协议统计信息和当前 TCP/IP 网络连接。该命令可以查看当前机器建立的所有网络链接状态,以及对应哪个进程。

    netstat -help 获取命令行使用帮助信息
    
    netstat -ano  //查看网络连接、状态以及对应的进程id
    

    语法:

    netstat [选项]
    

    参数:

    -a或--all:显示所有连线中的Socket;
    -A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址;
    -c或--continuous:持续列出网络状态;
    -C或--cache:显示路由器配置的快取信息;
    -e或--extend:显示网络其他相关信息;
    -F或--fib:显示FIB;
    -g或--groups:显示多重广播功能群组组员名单;
    -h或--help:在线帮助;
    -i或--interfaces:显示网络界面信息表单;
    -l或--listening:显示监控中的服务器的Socket;
    -M或--masquerade:显示伪装的网络连线;
    -n或--numeric:直接使用ip地址,而不通过域名服务器;
    -N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称;
    -o或--timers:显示计时器;
    -p或--programs:显示正在使用Socket的程序识别码和程序名称;
    -r或--route:显示Routing Table;
    -s或--statistice:显示网络工作信息统计表;
    -t或--tcp:显示TCP传输协议的连线状况;
    -u或--udp:显示UDP传输协议的连线状况;
    -v或--verbose:显示指令执行过程;
    -V或--version:显示版本信息;
    -w或--raw:显示RAW传输协议的连线状况;
    -x或--unix:此参数的效果和指定"-A unix"参数相同;
    --ip或--inet:此参数的效果和指定"-A inet"参数相同。
    

    1.12 find

    find /?获取使用帮助
    
    netstat -ano|find ".8"   //使用管道符,进行模糊查询
    

    1.13 tracert

    tracert也被称为Windows路由跟踪实用程序,在命令提示符(cmd)中使用tracert命令可以用于确定IP数据包访问目标时所选择的路径。

      tracert /? 获取使用帮助
    

    2. 查看cmd下的命令

    1、使用help命令,查看所有的dos命令

    使用这个命令之后,我们可以看到所有的dos命令,并且后面还有中文的解释。简直不要太赞,这样我们就可以根据自己的需求要找到想要使用的命令。

    2、找到命令之后,使用 命令+ /?来查看该命令下的其他属性

    命令 -help    //1种形式的使用帮助
    
    命令  /?       //2种形式的使用帮助
    

    注意:这些字符只能是英文的

    3. 辅助符号或命令

    3.1 ‘|’

    “|”cmd命令中|代表前一个的输出代表后一个的输入

    查找特定ip的网络连接及进程号:netstat -ano|find "192.168.1.10"

    3.2 重定向输出符号> >>

    将原本输出到命令窗口的内容,转存到文件中,如jstack 12912 >d:/s.txt 打印线程到指定文件

    cmd > 重定向输出并覆盖源文件。

    例如

     echo hello >c:\1.txt  // 1.txt的文件内容先被清空,然后写入hello。
    

    cmd >>重定向输出追加到文件末尾

    例如:

     echo hello >>c:\1.txt  // 在1.txt文件末尾加上hello
    

    3.3 重定向输入符号< <<

    cmd < file
    

    使cmd命令从file读入

     cmd << text
    

    从命令行读取输入,直到一个与text相同的行结束。

    除非使用引号把输入括起来,此模式将对输入内容进行shell变量替换。

    如果使用 <<- ,则会忽略接下来输入行首的tab,结束行也可以是一堆tab再加上一个与text相同的内容,可以参考后面的例子。

    cmd <<< word
    

    把word(而不是文件word)和后面的换行作为输入提供给cmd。

      cmd <> file
    

    以读写模式把文件file重定向到输入,文件file不会被破坏。仅当应用程序利用了这一特性时,它才是有意义的。

     cmd >| file
    

    功能同>,但即便在设置了noclobber时也会覆盖file文件,注意用的是|而非一些书中说的!,目前仅在csh中仍沿用>!实现这一功能。

    3.4 终止一直在运行的命令ctrl+c

    有时某个命令一直打印输出结果(如ping 192.168.1.10 -t),我们想终止这个命令的执行,直接按ctrl+c即可。

    3.5 清空cmd窗口内容命令cls

    有时cmd内容太多,滚动费尽,需要清空屏幕内容,直接输入cls即可

    cmd命令中,按键盘的向上箭头可以直接复制前一个命令

    3.6 常用工具

    Process Explorer,查询进程的详细信息,如查询java进程启动参数,运行环境,线程信息、网络连接信息、使用了哪些dll,打开了什么句柄。包含注册表、Socket、文件等等。

    下载地址https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer

    4. 附加一些Windows下的快捷键

    win+E                 打开文件管器
    
    win+D                 显示桌面
    
    win+L                 锁计算机
    
    alt+F4                 关闭当前程序
    
    ctrl+shift+Esc    打开任务管理器(或者ctrl+alt+delete)
    
    ctrl+F                  在一个文本或者网页里面查找,相当实用(退出一般按ESC)
    
    ctrl+A                  选中所有文本
    

    参考link link

    更多相关内容
  • Gittag步骤命令

    千次阅读 2020-02-19 16:33:03
    通常在发布软件的时候一个tag,tag会记录版本的...使用git tag命令跟上tag名字,直接创建一个tag。 git tag v1.0 上面创建一个名为v1.0的tag。使用git tag命令可以看到新增加的tag。 还可以加上-a参数来...

    通常在发布软件的时候打一个tag,tag会记录版本的commit号,方便后期回溯。

    列出已有的tag

    git tag
    

    加上-l命令可以使用通配符来过滤tag

     

    新建tag

    使用git tag命令跟上tag名字,直接创建一个tag。

    git tag v1.0
    

    上面创建一个名为v1.0的tag。使用git tag命令可以看到新增加的tag。

    还可以加上-a参数来创建一个带备注的tag,备注信息由-m指定。如果你未传入-m则创建过程系统会自动为你打开编辑器让你填写备注信息。

    git tag -a tagName -m "my tag"
    

     

    查看tag详细信息

    git show命令可以查看tag的详细信息,包括commit号等。

    git show tagName
    

    查看v1.0tag的详细信息

    查看带备注的v1.1的详细信息

    tag最重要的是有git commit号,后期我们可以根据这个commit号来回溯代码。

     

    给指定的某个commit号加tag

    打tag不必要在head之上,也可在之前的版本上打,这需要你知道某个提交对象的校验和(通过git log获取,取校验和的前几位数字即可)。

    git tag -a v1.2 9fceb02 -m "my tag"
    

     

    将tag同步到远程服务器

    同提交代码后,使用git push来推送到远程服务器一样,tag也需要进行推送才能到远端服务器。
    使用git push origin [tagName]推送单个分支。

    git push origin v1.0
    

    推送本地所有tag,使用git push origin --tags

    git push origin --tags

     

    切换到某个tag

    跟分支一样,可以直接切换到某个tag去。这个时候不位于任何分支,处于游离状态,可以考虑基于这个tag创建一个分支。

     

    删除某个tag

    • 本地删除
    git tag -d v0.1.2 
    

    • 远端删除
      git push origin :refs/tags/<tagName>
    git push origin :refs/tags/v0.1.2

     

    展开全文
  • Linux常用命令

    万次阅读 多人点赞 2018-11-08 11:49:23
    一、基本命令 1.1 关机和重启 1.2 帮助命令 二、目录操作命令 2.1 目录切换 cd 2.2 目录查看 ls [-al] 2.3 目录操作【增,删,改,查】 2.3.1创建目录【增】 mkdir 2.3.2删除目录或文件【删】rm 2.3.3目录...

    目录

     

    一、基本命令

    1.1 关机和重启

    1.2 帮助命令

    二、目录操作命令

    2.1 目录切换 cd

    2.2 目录查看 ls [-al]

    2.3 目录操作【增,删,改,查】

    2.3.1 创建目录【增】 mkdir

    2.3.2 删除目录或文件【删】rm

    2.3.3 目录修改【改】mv 和 cp

    2.3.4 搜索目录【查】find

    三、文件操作命令

    3.1 文件操作【增,删,改,查】

    3.1.1 新建文件【增】touch

    3.1.2 删除文件 【删】 rm

    3.1.3 修改文件【改】 vi或vim

    3.1.4 文件的查看【查】

    3.2 权限修改

    四、压缩文件操作

    4.1 打包和压缩

    4.2 解压

    五、查找命令

    5.1 grep

    5.2 find

    5.3 locate

    5.4 whereis

    5.5 which

    六、su、sudo

    6.1 su

    6.2 sudo

    七、系统服务

    八、网络管理

    8.1 主机名配置

    8.2 IP 地址配置

    8.3 域名映射

    九、定时任务指令crontab 配置

    9.1 命令格式

    9.2 配置说明、实例

    十、其他命令

    10.1 查看当前目录:pwd

    10.2 查看进程:ps -ef

    10.3 结束进程:kill

    10.4 网络通信命令:

    10.5 配置网络

    10.6 重启网络

    10.7 切换用户

    10.8 关闭防火墙

    10.9 修改文件权限

    10.10 清屏

    10.11 vi模式下快捷键

    十一、Linux项目部署

    11.1 安装jdk1.8

    11.2 安装MySQL5.6

    11.2.1 上传MySQL5.6的tar包

    11.2.2 安装

    11.2.3 开机自动启动设置

    11.2.4 开启远程访问

    11.3 安装tomcat部署项目

    11.3.1 创建ucenter用户

    11.3.2 安装Tomcat

    11.3.3 部署用户管理项目

    11.4 Linux下使用FastDFS

    11.4.1 安装gcc

    11.4.2 安装libevent

    11.4.3 安装libfastcommon-master

    11.4.4 安装fastdfs

    11.4.5 配置并启动tracker服务

    11.4.6 配置并启动storage服务

    11.5 安装fastdfs-nginx-module

    11.5.1 解压

    11.5.2 修改config

    11.5.3 配置nginx与FastDFS关联配置文件

    11.6 安装Nginx的插件

    11.6.1 如果没有安装过nginx

    11.6.2 如果已经安装过nginx

    11.6.3 启动nginx

    11.6.4 设置nginx开机启动

    11.7 安装Elasticsearch

    11.7.1 新建一个用户leyou

    11.7.2 上传安装包,并解压

    11.7.3 修改配置

    11.7.4 运行

    11.7.5 错误1:内核过低

    11.7.6 错误2:文件权限不足

    11.7.7 错误3:线程数不够

    11.7.8 错误4:进程虚拟内存

    11.7.9 重启终端窗口

    11.8 安装RabbitMQ

    11.8.1 安装Erlang

    11.8.2 安装RabbitMQ

    11.8.3 设置配置文件

    11.8.4 启动、停止

    11.8.5 开启web界面管理工具

    11.8.6 设置开机启动

    11.8.7 防火墙开放15672端口

    11.9 redis安装和配置

    11.9.1 安装

    11.9.2 配置

    11.9.3 启动或停止

    11.9.4 设置开机启动


    一、基本命令

    1.1 关机和重启

    关机
        shutdown -h now        立刻关机
        shutdown -h 5        5分钟后关机
        poweroff            立刻关机
    重启
        shutdown -r now        立刻重启
        shutdown -r 5        5分钟后重启
        reboot                立刻重启

    1.2 帮助命令

    --help命令
      shutdown --help:
      ifconfig  --help:查看网卡信息
     
    man命令(命令说明书) 
      man shutdown
      注意:man shutdown打开命令说明书之后,使用按键q退出

    二、目录操作命令

    2.1 目录切换 cd

    命令:cd 目录

    cd /        切换到根目录
    cd /usr        切换到根目录下的usr目录
    cd ../        切换到上一级目录 或者  cd ..
    cd ~        切换到home目录
    cd -        切换到上次访问的目录

    2.2 目录查看 ls [-al]

    命令:ls [-al]

    ls                查看当前目录下的所有目录和文件
    ls -a            查看当前目录下的所有目录和文件(包括隐藏的文件)
    ls -l 或 ll       列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
    ls /dir            查看指定目录下的所有目录和文件   如:ls /usr

    2.3 目录操作【增,删,改,查】

    2.3.1 创建目录【增】 mkdir

    命令:mkdir 目录

    mkdir    aaa            在当前目录下创建一个名为aaa的目录
    mkdir    /usr/aaa    在指定目录下创建一个名为aaa的目录

    2.3.2 删除目录或文件【删】rm

    命令:rm [-rf] 目录

    删除文件:
    rm 文件        删除当前目录下的文件
    rm -f 文件    删除当前目录的的文件(不询问)

    删除目录:
    rm -r aaa    递归删除当前目录下的aaa目录
    rm -rf aaa    递归删除当前目录下的aaa目录(不询问)

    全部删除:
    rm -rf *    将当前目录下的所有目录和文件全部删除
    rm -rf /*    【自杀命令!慎用!慎用!慎用!】将根目录下的所有文件全部删除

    注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用 rm -rf 目录/文件/压缩包

    2.3.3 目录修改【改】mv 和 cp

    一、重命名目录
        命令:mv 当前目录  新目录
        例如:mv aaa bbb    将目录aaa改为bbb
        注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行    重命名的操作

    二、剪切目录
        命令:mv 目录名称 目录的新位置
        示例:将/usr/tmp目录下的aaa目录剪切到 /usr目录下面     mv /usr/tmp/aaa /usr
        注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作

    三、拷贝目录
        命令:cp -r 目录名称 目录拷贝的目标位置   -r代表递归
        示例:将/usr/tmp目录下的aaa目录复制到 /usr目录下面     cp /usr/tmp/aaa  /usr
        注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不    用写-r递归

    2.3.4 搜索目录【查】find

    命令:find 目录 参数 文件名称
    示例:find /usr/tmp -name 'a*'    查找/usr/tmp目录下的所有以a开头的目录或文件

    三、文件操作命令

    3.1 文件操作【增,删,改,查】

    3.1.1 新建文件【增】touch

    命令:touch 文件名
    示例:在当前目录创建一个名为aa.txt的文件        touch  aa.txt

    3.1.2 删除文件 【删】 rm

    命令:rm -rf 文件名

    3.1.3 修改文件【改】 vi或vim

    【vi编辑器的3种模式】
        基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
    1) 命令行模式command mode)
          控制屏幕光标的移动,字符、字或行的删除,查找,移动复制某区段及进入Insert mode下,或者到 last line mode。
          命令行模式下的常用命令:
          【1】控制光标移动:↑,↓,j
          【2】删除当前行:dd 
          【3】查找:/字符
          【4】进入编辑模式:i o a
          【5】进入底行模式::
          
    2) 编辑模式(Insert mode)
          只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
          编辑模式下常用命令:
          【1】ESC 退出编辑模式到命令行模式;
          
    3) 底行模式(last line mode)
         将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
         底行模式下常用命令:
         【1】退出编辑:   :q
         【2】强制退出:   :q!
         【3】保存并退出:  :wq

    打开文件

    命令:vi 文件名
    示例:打开当前目录下的aa.txt文件     vi aa.txt 或者 vim aa.txt

    注意:使用vi编辑器打开文件后,并不能编辑,因为此时处于命令模式,点击键盘i/a/o进入编辑模式。

    编辑文件

    使用vi编辑器打开文件后点击按键:i ,a或者o即可进入编辑模式。

    i:在光标所在字符前开始插入
    a:在光标所在字符后开始插入
    o:在光标所在行的下面另起一新行插入

    保存或者取消编辑

    保存文件:

    第一步:ESC  进入命令行模式
    第二步::     进入底行模式
    第三步:wq     保存并退出编辑

    取消编辑:

    第一步:ESC  进入命令行模式
    第二步::     进入底行模式
    第三步:q!     撤销本次修改并退出编辑

    3.1.4 文件的查看【查】

    文件的查看命令:cat/more/less/tail

    cat:看最后一屏

    示例:使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容
    cat sudo.conf

    more:百分比显示

    示例:使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看
    more sudo.conf

    less:翻页查看

    示例:使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn向上    和向下翻页,q结束查看
    less sudo.conf

    tail:指定行数或者动态查看

    示例:使用tail -10 查看/etc/sudo.conf文件的后10行,Ctrl+C结束  
    tail -10 sudo.conf

    3.2 权限修改

    rwx:r代表可读,w代表可写,x代表该文件是一个可执行文件,如果rwx任意位置变为-则代表不可读或不可写或不可执行文件。

    示例:给aaa.txt文件权限改为可执行文件权限,aaa.txt文件的权限是-rw-------

    第一位:-就代表是文件,d代表是文件夹
    第一段(3位):代表拥有者的权限
    第二段(3位):代表拥有者所在的组,组员的权限
    第三段(最后3位):代表的是其他用户的权限

       421  421  421
    -  rw-   ---     ---

    命令:chmod +x aaa.txt
    或者采用8421法
    命令:chmod 100 aaa.txt

    四、压缩文件操作

    4.1 打包和压缩

    Windows的压缩文件的扩展名  .zip/.rar
    linux中的打包文件:aa.tar      
    linux中的压缩文件:bb.gz    
    linux中打包并压缩的文件:.tar.gz

    Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。
    而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。

    命令:tar -zcvf 打包压缩后的文件名 要打包的文件
    其中:z:调用gzip压缩命令进行压缩
      c:打包文件
      v:显示运行过程
      f:指定文件名
      
    示例:打包并压缩/usr/tmp 下的所有文件 压缩后的压缩包指定名称为xxx.tar
    tar -zcvf ab.tar aa.txt bb.txt 
    或:tar -zcvf ab.tar  *

    4.2 解压

    命令:tar [-zxvf] 压缩文件    
    其中:x:代表解压
    示例:将/usr/tmp 下的ab.tar解压到当前目录下

    示例:将/usr/tmp 下的ab.tar解压到根目录/usr下
    tar -xvf ab.tar -C /usr------C代表指定解压的位置

    五、查找命令

    5.1 grep

    grep命令是一种强大的文本搜索工具

    使用实例:

    ps -ef | grep sshd  查找指定ssh服务进程 
    ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除gerp身 
    ps -ef | grep sshd -c 查找指定进程个数 

    5.2 find

    find命令在目录结构中搜索文件,并对搜索结果执行指定的操作。 

    find 默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。

    使用实例:

    find . -name "*.log" -ls  在当前目录查找以.log结尾的文件,并显示详细信息。 
    find /root/ -perm 600   查找/root/目录下权限为600的文件 
    find . -type f -name "*.log"  查找当目录,以.log结尾的普通文件 
    find . -type d | sort   查找当前所有目录并排序 
    find . -size +100M  查找当前目录大于100M的文件

    5.3 locate

    locate 让使用者可以很快速的搜寻某个路径。默认每天自动更新一次,所以使用locate 命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。如果数据库中没有查询的数据,则会报出locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory该错误!updatedb即可!

    yum -y install mlocate 如果是精简版CentOS系统需要安装locate命令

    使用实例:

    updatedb
    locate /etc/sh 搜索etc目录下所有以sh开头的文件 
    locate pwd 查找和pwd相关的所有文件

    5.4 whereis

    whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。

    使用实例:

    whereis ls    将和ls文件相关的文件都查找出来

    5.5 which

    which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

    使用实例:

    which pwd  查找pwd命令所在路径 
    which java  查找path中java的路径 

    六、su、sudo

    6.1 su

    su用于用户之间的切换。但是切换前的用户依然保持登录状态。如果是root 向普通或虚拟用户切换不需要密码,反之普通用户切换到其它任何用户都需要密码验证。

    su test:切换到test用户,但是路径还是/root目录
    su - test : 切换到test用户,路径变成了/home/test
    su : 切换到root用户,但是路径还是原来的路径
    su - : 切换到root用户,并且路径是/root

    su不足:如果某个用户需要使用root权限、则必须要把root密码告诉此用户。

    退出返回之前的用户:exit

    6.2 sudo

    sudo是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利。只需输入自己账户的密码即可。

    进入sudo配置文件命令:

    vi /etc/sudoer或者visudo
    案例:
    允许hadoop用户以root身份执行各种应用命令,需要输入hadoop用户的密码。
    hadoop  ALL=(ALL)   ALL 
    
    案例:
    只允许hadoop用户以root身份执行ls 、cat命令,并且执行时候免输入密码。 
    配置文件中: 
    hadoop  ALL=NOPASSWD:  /bin/ls, /bin/cat 

    七、系统服务

    service iptables status  --查看iptables服务的状态
    service iptables start  --开启iptables服务
    service iptables stop  --停止iptables服务
    service iptables restart  --重启iptables服务
    
    chkconfig iptables off  --关闭iptables服务的开机自启动
    chkconfig iptables on  --开启iptables服务的开机自启动

    八、网络管理

    8.1 主机名配置

    [root@node1 ~]# vi /etc/sysconfig/network
    NETWORKING=yes
    HOSTNAME=node1

    8.2 IP 地址配置

    [root@node1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

    8.3 域名映射

    /etc/hosts文件用于在通过主机名进行访问时做ip地址解析之用。所以,你想访问一个什么样的主机名,就需要把这个主机名和它对应的ip地址。

    [root@node1 ~]# vi /etc/hosts
    #### 在最后加上
    192.168.52.201  node1
    192.168.52.202  node2
    192.168.52.203  node3

    九、定时任务指令crontab 配置

    crontab是Unix和Linux用于设置定时任务的指令。通过crontab命令,可以在固定间隔时间,执行指定的系统指令或shell脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。

    crontab安装:

    yum install crontabs

    服务操作说明:

    service crond start   ## 启动服务 
    service crond stop    ## 关闭服务 
    service crond restart ## 重启服务

    9.1 命令格式

    crontab [-u user] file

    crontab [-u user] [ -e | -l | -r ]

    参数说明:

    -u user:用来设定某个用户的crontab服务  

    file:file是命令文件的名字,表示将file做为crontab的任务列表文件

    并载入crontab。

    -e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前

    用户的crontab文件。

    -l:显示某个用户的crontab文件内容。如果不指定用户,则表示显示当前

    用户的crontab文件内容。

    -r:删除定时任务配置,从/var/spool/cron目录中删除某个用户的crontab

    文件,如果不指定用户,则默认删除当前用户的crontab文件。

    命令示例:

    crontab file [-u user] ## 用指定的文件替代目前的crontab
    crontab -l [-u user]  ## 列出用户目前的crontab
    crontab -e [-u user]  ## 编辑用户目前的crontab

    9.2 配置说明、实例

    命令:*   *    *   *   *   command  

    解释:分  时  日  月  周  命令

    第1列表示分钟1~59 每分钟用*或者 */1表示    

    第2列表示小时0~23(0表示0点)

    第3列表示日期1~31  

    第4列表示月份1~12  

    第5列标识号星期0~6(0表示星期天)  

    第6列要运行的命令

    配置实例:

    先打开定时任务所在的文件:
    crontab -e
    
    每分钟执行一次date命令 
    */1 * * * * date >> /root/date.txt
    
    每晚的21:30重启apache。 
    30 21 * * * service httpd restart
    
    每月1、10、22日的4 : 45重启apache。  
    45 4 1,10,22 * * service httpd restart
    
    每周六、周日的1 : 10重启apache。 
    10 1 * * 6,0 service httpd restart
    
    每天18 : 00至23 : 00之间每隔30分钟重启apache。
    0,30   18-23    *   *   *   service httpd restart
    晚上11点到早上7点之间,每隔一小时重启apache
    *  23-7/1    *   *   *   service httpd restart

    十、其他命令

    10.1 查看当前目录:pwd

    命令:pwd     查看当前目录路径

    10.2 查看进程:ps -ef

    命令:ps -ef    查看所有正在运行的进程

    10.3 结束进程:kill

    命令:kill pid 或者 kill -9 pid(强制杀死进程)           pid:进程号

    10.4 网络通信命令:

    ifconfig:查看网卡信息

    命令:ifconfig 或 ifconfig | more

    ping:查看与某台机器的连接情况

    命令:ping ip

    netstat -an:查看当前系统端口

    命令:netstat -an

    搜索指定端口
    命令:netstat -an | grep 8080

    10.5 配置网络

    命令:setup

    10.6 重启网络

    命令:service network restart

    10.7 切换用户

    命令:su - 用户名

    10.8 关闭防火墙

    命令:chkconfig iptables off

    或者:

     iptables -L;
     iptables -F;
     service iptables stop

    10.9 修改文件权限

    命令:chmod 777

    10.10 清屏

    命令:ctrl + l

    10.11 vi模式下快捷键

    esc后:

    保存并退出快捷键:shift+z+z

    光标跳到最后一行快捷键:shift+g

    删除一行:dd

    复制一行内容:y+y

    粘贴复制的内容:p

    十一、Linux项目部署

    11.1 安装jdk1.8

    先卸载open-jdk

    java -version
    rpm -qa | grep java

    rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
    rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

    开始安装:
    mkdir /usr/local/src/java
    rz 上传jdk tar包
    tar -zxvf jdk-8u181-linux-x64.tar.gz

    yum install glibc.i686

    配置环境变量:
     vi /etc/profile

     在末尾行添加
      #set java environment
      JAVA_HOME=/usr/local/src/jdk8/jdk1.8.0_181
      CLASSPATH=.:$JAVA_HOME/lib.tools.jar
      PATH=$JAVA_HOME/bin:$PATH
      export JAVA_HOME CLASSPATH PATH
      
    保存退出
    source /etc/profile  使更改的配置立即生效
    java -version  查看JDK版本信息,如果显示出1.8证明成功

    11.2 安装MySQL5.6

    11.2.1 上传MySQL5.6的tar包

    创建目录:mkdir /usr/local/src/mysql5.6

    上传:MySQL-5.6.34-1.rhel5.x86_64.rpm-bundle.tar 到上面的目录中

    11.2.2 安装

    第一步:解压

         命令:tar -xvf MySQL-5.6.34-1.rhel5.x86_64.rpm-bundle.tar

    第二步:检测是否已经安装了mysql

         命令:rpm -qa | grep mysql   

         如果已经安装了,将其卸载,如:

         rpm -e --nodeps  mysql-libs-5.1.71-1.el6.x86_64

    第三步:安装MySQL的服务端

         命令:rpm -ivh MySQL-server-5.6.34-1.rhel5.x86_64.rpm

    第四步:安装MySQL的客户端

         命令:rpm -ivh MySQL-client-5.6.34-1.rhel5.x86_64.rpm

    第五步:查看MySQL服务运行状态

         命令:service mysql status

    第六步:启动MySQL服务

         命令:service mysql start

    第七步:使用root账号登录mysql

    在安装mysql server时有句提示:

    注意:这个密码是不安全的,所有需要修改初始密码。

    1. 使用密码登录mysql账号:mysql -uroot -p
    2. 修改root密码:SET PASSWORD = PASSWORD('root');

    11.2.3 开机自动启动设置

    加入到系统服务:

    chkconfig --add mysql

    自动启动:

    chkconfig mysql on

    查询列表:

    chkconfig

    说明:都没关闭(off)时是没有自动启动。

    11.2.4 开启远程访问

    登录:

    mysql -uroot –proot

    设置远程访问(使用root密码):

    grant all privileges on *.* to 'root' @'%' identified by 'root';

    flush privileges;

    退出mysql,在centos环境下打开3306防火墙

    /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

    /etc/rc.d/init.d/iptables save

    /etc/init.d/iptables status

    11.3 安装tomcat部署项目

    准备工作:将web项目打成war包,改名为ROOT.war

    11.3.1 创建ucenter用户

    一般情况下,发布应用程序都不是使用root用户的,需要创建一个普通用户来发布程序;

    创建ucenter用户:

    useradd -d /ucenter ucenter

    设置密码:

    passwd ucenter (密码 ucenter)

    切换用户:

    su - ucenter

    11.3.2 安装Tomcat

    tomcat只要解压就可以使用。

    1、创建web目录
    mkdir /ucenter/web

    2、上传apache-tomcat-7.0.57.tar.gz

    3、解压:tar -xvf apache-tomcat-7.0.57.tar.gz

    4、重命名:mv apache-tomcat-7.0.57 itcast-usermanage

    5、启动tomcat:
         cd itcast-usermanage/bin/
         ./startup.sh 或者 sh startup.sh

    6、查看日志:
         tail -f ../logs/catalina.out

    7、查看效果 http://192.168.0.160:8080/

    发现无法访问:

    8、防火墙打开 8080 端口
         /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

         /etc/rc.d/init.d/iptables save

    9、安装成功

    11.3.3 部署用户管理项目

    1、上传usermanage.sql和ROOT.war到/ucenter/web

    2、执行数据库脚本

         cat user_manager.sql | mysql -uroot -p123456

    3、部署web程序

    3.1 删除webapps下的所有文件

         cd /ucenter/web/usermanage/webapps

         rm -rf *

    3.2 拷贝ROOT.war到webapps

         cp /ucenter/web/ROOT.war .

    3.3 重新启动tomcat

         cd ../bin/

         sh startup.sh && tail -f ../logs/catalina.out

    3.4 启动浏览器测试

    注意事项:Centos环境下部署项目中文乱码问题解决方案

        今天在一台新的CentOS机器上使用c3p0连接池操作mysql数据库出现中文乱码问题,具体表现为:查询时无中文乱码问题,写数据时中文乱码,查看了机器上数据库字符集也是UTF8,应该不会出现中文乱码才对,最后在c3p0配置文件中 jdbcUrl后加上:?useUnicode=true&amp;characterEncoding=UTF8 中文就不会乱码了。

    【C3P0配置文件】

    <?xml version="1.0" encoding="UTF-8"?>
    <c3p0-config>
      <default-config>
        <property name="driverClass">com.mysql.jdbc.Driver</property>
    	<property name="jdbcUrl">jdbc:mysql://localhost:3306/user_manager_yun6?useUnicode=true&amp;characterEncoding=UTF8 </property>
    	<property name="user">root</property>
    	<property name="password">root</property>
    	<property name="acquireIncrement">2</property>
    	<property name="initialPoolSize">5</property>
    	<property name="minPoolSize">1</property>
    	<property name="maxPoolSize">5</property>
      </default-config>
    </c3p0-config>

    11.4 Linux下使用FastDFS

    相关的安装包我打包到云盘上了,链接:https://pan.baidu.com/s/13NDYYil4mgLhkb5CYsc2Ww  提取码:66tn

    单节点FastDFS

    整个安装过程非常复杂,很容易出错,建议进行多次备份。

    我们这里不打算安装多台虚拟机,因此会把tracker和storage都安装在一起。

    11.4.1 安装gcc

    GCC用来对C语言代码进行编译运行,使用yum命令安装:

    yum -y install gcc

    后面会用到解压命令(unzip),所以这里可以用yum把unzip 也装一下

    yum install -y unzip zip

    11.4.2 安装libevent

    yum -y install libevent

    11.4.3 安装libfastcommon-master

    解压刚刚上传的libfastcommon-master.zip
    unzip libfastcommon-master.zip

    进入解压完成的目录
    cd libfastcommon-master

    编译并且安装:
    ./make.sh 
    ./make.sh install

    11.4.4 安装fastdfs

    tar -zxvf FastDFS_v5.08.tar.gz
    cd FastDFS
    ./make.sh
    ./make.sh install

    如果安装成功,会看到/etc/init.d/下看到提供的脚本文件:

    ll /etc/init.d/ | grep fdfs

    • fdfs_trackerd 是tracker启动脚本

    • fdfs_storaged 是storage启动脚本

    能够在 /etc/fdfs/ 目录下看到默认的配置文件模板:

    ll /etc/fdfs/

    • tarcker.conf.sample 是tracker的配置文件模板

    • storage.conf.sample 是storage的配置文件模板

    • client.conf.sample 是客户端的配置文件模板

    11.4.5 配置并启动tracker服务

    1)首先将模板文件复制

    cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf

    2)修改复制后的配置文件:

    vim /etc/fdfs/tracker.conf 

    # 修改的内容如下:

    base_path=/项目名/tracker                 # 存储日志和数据的根目录

    3)新建目录:

    mkdir -p /项目名/tracker

    注意:关闭防火墙:

    chkconfig iptables off

    4)启动和停止

    service fdfs_trackerd start # 启动fdfs_trackerd服务,停止用stop

    检查FastDFS Tracker Server是否启动成功:

    ps -ef | grep fdfs_trackerd

    设置tracker服务开机启动:

    chkconfig fdfs_trackerd on

    11.4.6 配置并启动storage服务

    1)首先将模板文件复制

    cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf

    2)修改复制后的配置文件:

    vim /etc/fdfs/storage.conf

    # 修改的内容如下:

    base_path=/项目名/storage                 # 数据和日志文件存储根目录 
    
    store_path0=/项目名/storage           # 第一个存储目录 
    
    tracker_server=192.168.56.101:22122       #  tracker服务器IP和端口 

    3)新建目录:

    mkdir -p /项目名/storage

    注意关闭防火墙: chkconfig iptables off

    4)启动和停止

    service fdfs_storaged start  # 启动fdfs_storaged服务,停止用stop

    设置storage服务开机启动:

    chkconfig fdfs_storaged on

    ps -ef | grep fdfs

    11.5 安装fastdfs-nginx-module

    11.5.1 解压

    tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

    11.5.2 修改config

    1)进入src目录

    cd fastdfs-nginx-module/src/

    2)编辑config

    vim config

    使用以下底行命令:

    :%s+/usr/local/+/usr/+g

    将所有的/usr/local替换为 /usr,这个才是正确的目录:

    11.5.3 配置nginx与FastDFS关联配置文件

    复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录, 并修改

    cp /usr/local/项目名/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
    
    vi /etc/fdfs/mod_fastdfs.conf

    修改以下配置:

    connect_timeout=10                       # 客户端访问文件连接超时时长(单位:秒)
    
    tracker_server=192.168.56.101:22122    # tracker服务IP和端口
    
    url_have_group_name=true                # 访问链接前缀加上组名
    
    store_path0=/leyou/storage            # 文件存储路径

    复制 FastDFS 的部分配置文件到/etc/fdfs 目录

    cd /usr/local/项目名/FastDFS/conf/
    cp http.conf mime.types /etc/fdfs/

    11.6 安装Nginx的插件

    11.6.1 如果没有安装过nginx

    1、安装nginx的依赖库

    yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

    2、解压安装包

    tar -zxvf nginx-1.10.0.tar.gz

    3、配置nginx安装包,并指定fastdfs-nginx-model

    cd nginx-1.10.0
    
    ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/usr/local/leyou/fastdfs-nginx-module/src

    注意:在执行./configure配置nginx参数的时候,需要将fastdfs-nginx-moudle源码作为模块编译进去。

    4、编译并安装

    make && make install

    11.6.2 如果已经安装过nginx

    1、 进入nginx目录:

    cd /usr/local/项目名/nginx-1.10.0/

    2、 配置FastDFS 模块

    ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/usr/local/项目名/fastdfs-nginx-module/src

    注意:这次配置时,要添加fastdfs-nginx-moudle模块

    3、编译,注意,这次不要安装(install)

    make

    4、替换nginx二进制文件:

    备份:

    mv /usr/bin/nginx /usr/bin/nginx-bak

    用新编译的nginx启动文件替代原来的:

    cp objs/nginx /usr/bin/

    11.6.3 启动nginx

    配置nginx整合fastdfs-module模块

    我们需要修改nginx配置文件,在/opt/nginx/config/nginx.conf文件中:

    vim  /opt/nginx/conf/nginx.conf

    将文件中,原来的server 80{ ...} 部分代码替换为如下代码:

    server {
        listen       80;
        server_name  image.项目名.com;
    	# 监听域名中带有group的,交给FastDFS模块处理
        location ~/group([0-9])/ {
            ngx_fastdfs_module;
        }
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

    启动nginx:

    nginx	# 启动nginx
    
    nginx -s stop	# 停止nginx
    
    nginx -s reload	# 重新载入配置文件

    # 可通过ps -ef | grep nginx查看nginx是否已启动成功

    11.6.4 设置nginx开机启动

    创建一个开机启动的脚本:

    vim /etc/init.d/nginx

    添加以下内容:

    #!/bin/sh
    #
    # nginx - this script starts and stops the nginx daemon
    #
    # chkconfig:   - 85 15
    # description:  NGINX is an HTTP(S) server, HTTP(S) reverse \
    #               proxy and IMAP/POP3 proxy server
    # processname: nginx
    # config:      /etc/nginx/nginx.conf
    # config:      /etc/sysconfig/nginx
    # pidfile:     /var/run/nginx.pid
    
    # Source function library.
    . /etc/rc.d/init.d/functions
    
    # Source networking configuration.
    . /etc/sysconfig/network
    
    # Check that networking is up.
    [ "$NETWORKING" = "no" ] && exit 0
    
    nginx="/usr/bin/nginx"
    prog=$(basename $nginx)
    
    NGINX_CONF_FILE="/opt/nginx/conf/nginx.conf"
    
    [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
    
    lockfile=/var/lock/subsys/nginx
    
    make_dirs() {
       # make required directories
       user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
       if [ -n "$user" ]; then
          if [ -z "`grep $user /etc/passwd`" ]; then
             useradd -M -s /bin/nologin $user
          fi
          options=`$nginx -V 2>&1 | grep 'configure arguments:'`
          for opt in $options; do
              if [ `echo $opt | grep '.*-temp-path'` ]; then
                  value=`echo $opt | cut -d "=" -f 2`
                  if [ ! -d "$value" ]; then
                      # echo "creating" $value
                      mkdir -p $value && chown -R $user $value
                  fi
              fi
           done
        fi
    }
    
    start() {
        [ -x $nginx ] || exit 5
        [ -f $NGINX_CONF_FILE ] || exit 6
        make_dirs
        echo -n $"Starting $prog: "
        daemon $nginx -c $NGINX_CONF_FILE
        retval=$?
        echo
        [ $retval -eq 0 ] && touch $lockfile
        return $retval
    }
    
    stop() {
        echo -n $"Stopping $prog: "
        killproc $prog -QUIT
        retval=$?
        echo
        [ $retval -eq 0 ] && rm -f $lockfile
        return $retval
    }
    
    restart() {
        configtest || return $?
        stop
        sleep 1
        start
    }
    
    reload() {
        configtest || return $?
        echo -n $"Reloading $prog: "
        killproc $nginx -HUP
        RETVAL=$?
        echo
    }
    
    force_reload() {
        restart
    }
    
    configtest() {
      $nginx -t -c $NGINX_CONF_FILE
    }
    
    rh_status() {
        status $prog
    }
    
    rh_status_q() {
        rh_status >/dev/null 2>&1
    }
    
    case "$1" in
        start)
            rh_status_q && exit 0
            $1
            ;;
        stop)
            rh_status_q || exit 0
            $1
            ;;
        restart|configtest)
            $1
            ;;
        reload)
            rh_status_q || exit 7
            $1
            ;;
        force-reload)
            force_reload
            ;;
        status)
            rh_status
            ;;
        condrestart|try-restart)
            rh_status_q || exit 0
                ;;
        *)
            echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
            exit 2
    esac

    修改文件权限,并加入服务列表

    # 修改权限
    chmod 777 /etc/init.d/nginx 
    # 添加到服务列表
    chkconfig --add /etc/init.d/nginx 

    设置开机启动

    chkconfig nginx on

    11.7 安装Elasticsearch

    需要虚拟机JDK1.8及以上

    11.7.1 新建一个用户leyou

    出于安全考虑,elasticsearch默认不允许以root账号运行。

    创建用户:

    useradd leyou

    设置密码:

    passwd leyou

    切换用户:

    su - leyou

    11.7.2 上传安装包,并解压

    我们将安装包上传到:/home/leyou目录

    解压缩:

    tar -zxvf elasticsearch-6.2.4.tar.gz

    我们把目录重命名:

    mv elasticsearch-6.3.0/ elasticsearch

    进入,查看目录结构:

    11.7.3 修改配置

    我们进入config目录:cd config

    需要修改的配置文件有两个:

    1、jvm.options

    Elasticsearch基于Lucene的,而Lucene底层是java实现,因此我们需要配置jvm参数。

    编辑jvm.options:

    vim jvm.options

    默认配置如下:

    -Xms1g
    -Xmx1g

    内存占用太多了,我们调小一些:

    -Xms512m
    -Xmx512m

    2、elasticsearch.yml

    vim elasticsearch.yml

    修改数据和日志目录:

    path.data: /home/leyou/elasticsearch/data # 数据目录位置
    path.logs: /home/leyou/elasticsearch/logs # 日志目录位置

    我们把data和logs目录修改指向了elasticsearch的安装目录。但是这两个目录并不存在,因此我们需要创建出来。

    进入elasticsearch的根目录,然后创建:

    mkdir data
    mkdir logs

    修改绑定的ip:

    network.host: 0.0.0.0 # 绑定到0.0.0.0,允许任何ip来访问

    默认只允许本机访问,修改为0.0.0.0后则可以远程访问

    11.7.4 运行

    进入elasticsearch/bin目录,可以看到下面的执行文件:

    然后输入命令:

    ./elasticsearch

    或者后台运行:

    ./elasticsearch -d

    11.7.5 错误1:内核过低

    修改elasticsearch.yml文件,在最下面添加如下配置: 然后重启

    bootstrap.system_call_filter: false

    11.7.6 错误2:文件权限不足

    我们用的是leyou用户,而不是root,所以文件权限不足。

    首先用root用户登录。直接输入exit命令

    然后修改配置文件:

    vim /etc/security/limits.conf

    添加下面的内容:

    * soft nofile 65536
    
    * hard nofile 131072
    
    * soft nproc 4096
    
    * hard nproc 4096

    11.7.7 错误3:线程数不够

    [1]: max number of threads [1024] for user [leyou] is too low, increase to at least [4096]

    继续修改配置:

    vim /etc/security/limits.d/90-nproc.conf 

    修改下面的内容:

    * soft nproc 1024

    改为

    * soft nproc 4096

    11.7.8 错误4:进程虚拟内存

    [3]: max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

    vm.max_map_count:限制一个进程可以拥有的VMA(虚拟内存区域)的数量,继续修改配置文件, :

    vim /etc/sysctl.conf 

    添加下面内容:

    vm.max_map_count=655360

    然后执行命令:

    sysctl -p

    11.7.9 重启终端窗口

    所有错误修改完毕,一定要重启你的 Xshell终端,否则配置无效。

    11.8 安装RabbitMQ

    cd /usr/local/myapp
    
    mkdir rabbitmq
    
    cd rabbitmq
    

    11.8.1 安装Erlang

    1、在线安装

    yum install esl-erlang_17.3-1~centos~6_amd64.rpm
    
    yum install esl-erlang-compat-R14B-1.el6.noarch.rpm

    2、离线安装

    依次执行命令:

    1)rpm -ivh esl-erlang-17.3-1.x86_64.rpm --force --nodeps

    2)rpm -ivh esl-erlang_17.3-1~centos~6_amd64.rpm --force --nodeps

    3)rpm -ivh esl-erlang-compat-R14B-1.el6.noarch.rpm --force --nodeps

    11.8.2 安装RabbitMQ

    安装:

    rpm -ivh rabbitmq-server-3.4.1-1.noarch.rpm

    11.8.3 设置配置文件

    cp /usr/share/doc/rabbitmq-server-3.4.1/rabbitmq.config.example
    /etc/rabbitmq/rabbitmq.config

    开启用户远程访问

    vi /etc/rabbitmq/rabbitmq.config

    注意要去掉后面的逗号。

    11.8.4 启动、停止

    service rabbitmq-server start
    
    service rabbitmq-server stop
    
    service rabbitmq-server restart

    11.8.5 开启web界面管理工具

    rabbitmq-plugins enable rabbitmq_management
    
    service rabbitmq-server restart

    11.8.6 设置开机启动

    chkconfig rabbitmq-server on

    11.8.7 防火墙开放15672端口

    /sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
    
    /etc/rc.d/init.d/iptables save

    11.9 redis安装和配置

    11.9.1 安装

    解压

    tar -xvf redis-4.0.9.tar.gz

    编译安装

     mv redis-4.0.9 redis
     cd redis
     make && make install

    11.9.2 配置

    修改安装目录下的redis.conf文件

    vim redis.conf

    修改以下配置:

    #bind 127.0.0.1 # 将这行代码注释,监听所有的ip地址,外网可以访问
    protected-mode no # 把yes改成no,允许外网访问
    daemonize yes # 把no改成yes,后台运行

    11.9.3 启动或停止

    redis提供了服务端命令和客户端命令:

    • redis-server 服务端命令,可以包含以下参数: start 启动 stop 停止

    • redis-cli 客户端控制台,包含参数: -h xxx 指定服务端地址,缺省值是127.0.0.1 -p xxx 指定服务端端口,缺省值是6379

    11.9.4 设置开机启动

    1) 输入命令,新建文件

    vim /etc/init.d/redis

    输入下面内容:

    #!/bin/sh
    # chkconfig:   2345 90 10
    # description:  Redis is a persistent key-value database
    PATH=/usr/local/bin:/sbin:/usr/bin:/bin
    
    REDISPORT=6379
    EXEC=/usr/local/bin/redis-server
    REDIS_CLI=/usr/local/bin/redis-cli
    
    PIDFILE=/var/run/redis.pid
    
    CONF="/usr/local/leyou/redis/redis.conf"
    
    case "$1" in  
        start)  
            if [ -f $PIDFILE ]  
            then  
                    echo "$PIDFILE exists, process is already running or crashed"  
            else  
                    echo "Starting Redis server..."  
                    $EXEC $CONF  
            fi  
            if [ "$?"="0" ]   
            then  
                  echo "Redis is running..."  
            fi  
            ;;  
        stop)  
            if [ ! -f $PIDFILE ]  
            then  
                    echo "$PIDFILE does not exist, process is not running"  
            else  
                    PID=$(cat $PIDFILE)  
                    echo "Stopping ..."  
                    $REDIS_CLI -p $REDISPORT SHUTDOWN  
                    while [ -x ${PIDFILE} ]  
                   do  
                        echo "Waiting for Redis to shutdown ..."  
                        sleep 1  
                    done  
                    echo "Redis stopped"  
            fi  
            ;;  
       restart|force-reload)  
            ${0} stop  
            ${0} start  
            ;;  
      *)  
        echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2  
            exit 1  
    esac

    然后保存退出

    注意:以下信息需要根据安装目录进行调整:

    EXEC=/usr/local/bin/redis-server # 执行脚本的地址

    REDIS_CLI=/usr/local/bin/redis-cli # 客户端执行脚本的地址

    PIDFILE=/var/run/redis.pid # 进程id文件地址

    CONF="/usr/local/src/redis-3.0.2/redis.conf" #配置文件地址

    2)设置权限

    chmod 755 /etc/init.d/redis

    3)启动测试

    /etc/init.d/redis start

    启动成功会提示如下信息:

    Starting Redis server...
    Redis is running...

    4)设置开机自启动

    chkconfig --add /etc/init.d/redis
    chkconfig redis on

     

    展开全文
  • Windows命令之ftp命令

    千次阅读 2021-06-02 10:15:25
    FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,...windows终端默认安装ftp客户端,我们可以通过ftp命令执行文件的上传和下载。博文环境如下

    一、命令简介

      FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。windows终端默认安装ftp客户端,我们可以通过ftp命令执行文件的上传和下载。博文环境如下:

    • ftp客户端操作系统:win7 旗舰版
    • ftp服务器操作系统:centos7.6
    • ftp服务器版本:vsftpd-3.0.2

    二、使用示例

    1、获取帮助

    ftp -h命名查看命令帮助,事实上是ftp后接任意非标准参数都会显示命令的帮助信息。
    在这里插入图片描述

    2、进入交互式模式

    在这里插入图片描述

    3、连接到服务器

    交互模式下使用open ftp-ip或者直接cmd环境下直接ftp ftp-ip连接到ftp服务器
    在这里插入图片描述

    4、查看目录下的文件

    使用dir查看ftp目录下的文件
    在这里插入图片描述

    5、上传一个文件

    使用put命令上传一个文件,上传的时候需要指定本地文件路径及文件名,远程文件可以直接回车,默认上传到ftp账户的根目录。
    在这里插入图片描述

    6、下载一个文件

    使用get命令下载一个文件,下载到ftp连接发起时的工作路径,本示例下载到C:\Users\wuhsh
    在这里插入图片描述

    7、删除一个文件

    使用delete命令删除一个文件。
    在这里插入图片描述

    8、下载多个文件

    使用mget命令下载多个文件,可以使用通配符。同理使用mput,mdelete命令上传、删除多个文件。
    在这里插入图片描述

    9、在服务器上创建一个目录

    使用mkdir test在服务器上创建test目录。
    在这里插入图片描述

    10、查看ftp连接状态

    使用status命令查看ftp状态。
    在这里插入图片描述

    11、断开连接

    使用disconnect命令断开连接。
    在这里插入图片描述

    三、使用语法及参数说明

    1、使用语法

    用法:FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-A] [-x:sendbuffer] [-r:recvbuf
    fer] [-b:asyncbuffers] [-w:windowsize] [host]

    2、参数说明

    参数参数说明
    -v禁止显示远程服务器响应。
    -n禁止在初始连接时自动登录。
    -i关闭多文件传输过程中的交互式提示。
    -d启用调试。
    -g禁用文件名通配(请参阅 GLOB 命令)。
    -s:filename指定包含 FTP 命令的文本文件;命令在 FTP 启动后自动运行。
    -a在绑字数据连接时使用所有本地接口。
    -A匿名登录。
    -x:send sockbuf覆盖默认的 SO_SNDBUF 大小 8192。
    -r:recv sockbuf覆盖默认的 SO_RCVBUF 大小 8192。
    -b:async count覆盖默认的异步计数 3
    -w:windowsize覆盖默认的传输缓冲区大小 65535。
    host指定主机名称或要连接到的远程主机的 IP 地址。

    3、交互式命令说明

    序号命名命令说明
    1?显示ftp命令的说明。后面可以加参数,是加需要解释的命令名,不加则显示包含所有命令列表。
    2append使用当前文件类型设置,将本地文件附加到远程计算机中。大概格式是 append local-file [remote-file] 其中local-file是说指定要添加的本地文件。 remote-file是说指定要将local-file附加到远程计算机文件,要是省了这个,则是使用本地文件名做远程文件名。
    3ascii默认情况下,将文件传输类型设置为ASCII
    4bell响玲开关,意思是文件传输完成后是否有玲声提醒。默认是关闭的。
    5binary将文件传输类型设置为二进制。
    6verbose转换冗余模式。这里如果打开,会显示所有ftp响应,文件传输结束的时候会显示传输的效率和统计信息,默认的情况是打开的.
    7bye结束和远程计算机的ftp会话,也就是安全断开,退出ftp.
    8cd更改远程计算机上的工作目录。如cd data 其中data是要进入的远程计算机的目录。
    9close结束与远程服务器的ftp会话,并返回命令解释程序。
    10delete删除远程计算机上的文件.如mdelete remote-file … remote-file肯定是要删的文件啊,可以删除多个.
    11debug调试开关,打开的时候打印每个发送到远程计算机的命令,命令前有——> 默认情况是关闭的。
    12dir显示远程的文件以及子目录列表。如dir data local-file 其中data是指定要查看列表的目录,没指定的话就是当前目录。local-file是指定要保存列表的本地文件,不指定的话就在屏幕输出。
    13disconnnect与远程计算机断开连接,但还保持着ftp命令提示符。
    14get使用当前文件传输类型,把远程的文件拷贝到本地计算机上。 如get remote-file local-file remote-file是指定要复制的文件,local-file是指定本地计算机上的文件名, 没有指定的话则个remote-file同名。
    15glob文件名通配开关
    16hash转换每个传输数据快的散列标记打印(# .数据快的大小是2048字节。默认情况下是关闭的,
    17help显示ftp命令的解释,如help commmand 其中command就是你要解释的命令,如果不加command这个参数的话就会显示所有命令的列表
    18lcd更改本地计算机的本地目录,在默认的时候是启动ftp的目录.这个不要觉得没用啊,在你使用ftp的时候为了传递文件不是常改变本地和远程计算机的目录吗? 如lcd [directory] 其中[directory]是指定要进入的本地计算机的目录,如果你不加这个参数,就会显示出本地计算机的工作目录.
    19literal向远程ftp服务器发送协商参数,报告. 如lireral argument […] 其中argument是指定要发送给远程服务器的协商参数。
    20ls显示远程目录的文件和字目录. 如ls remote-directory local-file 其中remote-directory是指要查看的列表的目录,不指定的话显示的是当前工作目录。local-file是指定要保存列表的本地文件.不指定的话是在屏幕上输出.
    21mdelete删除远程计算机上的文件.如mdelete remote-file … remote-file肯定是要删的文件啊,可以删除多个.
    22mdir显示远程目录的文件和子目录列表,他允许指定多个文件. 如mdir remote-file … local-file 参数我想大家应该明白什么意思吧?不明白就看看前面的类似命令吧.
    23mget使用当前文件传输类型将多个远程文件复制到本地计算机. 如mget remote-files … 其实remote-files可以指定多个,他就是指定要复制到本地计算机的远程文件.
    24mkdir创建远程目录. 如mkdir directory 这个命令和nt下的命令提示符中的md directory一样,不多说了.
    25mls显示远程目录的文件和目录简表 如mls remote-file … local-file 其中remote-file这个参数是必须要加的,’’-’’是使用远程计算机的当前工作目录.
    26mput使用当前文件传输类型,将本地文件复制到远程计算机. 如mput local-files …
    27open连接到指定ftp服务器上, 如open computer port 其中computer一般是远程计算机的ip地址,port不用说就是指定端口了。
    28prompt转换提示,在多个文件传输的时候,ftp提示可以有选择的检索或保存文件,如果关闭提示,则mget和mput命令传输所有文件,在默认情况下是打开的.
    29put使用当前文件传输类型将本地文件复制到远程计算机中, 如put local-file remote-file 其中local-file是指定要复制的本地文件, remote-file是指定要复制的远程计算机上的文件名,不指定的话是和本地计算机上的文件名同名.
    30pwd显示远程呢感计算机上的当前目录.
    31quit结束与远程计算机的ftp会话,并退出ftp.
    32quote向远程ftp服务器发送协议,报告.期待ftp单码应答,这个命令的功能和literal相同.
    33recv使用当前文件传输类型将远程文件复制到本地计算机,他与get命令作用相同。
    34remotehelp显示远程命令的帮助.这个命令的用法和help,!一样可以参考他的用法.
    35rename更改远程计算机上的文件名。 这个命令和nt的命令提示符的ren一样,如rename filename newfilename
    36rmdir:删除远程目录. 这个命令和nt的命令提示符的rm一样,如rmdir directory
    37send使用当前文件传输类型将本地文件复制到远程计算机.send和put命令的功能一样。 如send local-file remote-file
    38tatus显示ftp连接和转换的当前状态
    39trace转换报文跟踪,运行ftp的命令时,trace将显示没个报文的理由。
    40type设置或显示文件传输类型. 如type [type-name] 其中type-name 的意思是文件传输的类型,默认是ASCII,没加这个参数就是显示当前的传输类型.
    41user指定连接到远程计算机的用户. 如user user-name [passwd] [account] 其中user-name不用说都是用来登陆计算机的用户名了, passwd是指定user-name的密码,不指定的话ftp会提示输入密码。 account是指定用来登陆计算机的帐号,如不指定,ftp会提示输入帐号.
    展开全文
  • 本地cmd命令打war包、解压war包

    千次阅读 2019-09-05 15:50:53
    cmd进入项目目录下并执行命令:jar -cvf xxx.war * war包会生成在执行的目录下,但是会包含项目源文件和工作空间下的文件 建议在web程序的根目录下执行命令:jar -cvf xxx.war index.jsp WEB-INF/ 注意: 命令...
  • Linux常用命令,Linux常用基本命令大全

    千次阅读 多人点赞 2022-03-19 07:58:25
    最近在和Linux交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的Linux常用命令列举一下,仅供大家...
  • 使用maven命令直接打包war项目

    万次阅读 2019-06-20 13:05:13
    当你本地系统已经配置好了maven的变量,可以直接使用maven命令直接打包一个项目 首先使用cmd进入对应项目的位置 输入对应命令 mvn package -Dmaven.skip.test=true 后面的 Dmaven.skip.tes(跳试)是否进入测试 ...
  • Python命令简介,python命令使用大全

    千次阅读 2021-01-14 07:37:06
    python命令使用大全,Python被称为高级解释性和面向对象的编程语言。它是由GuidovanRossum开发的。Python易于学习,易于使用和维护,可移植,可扩展的可扩展GUI编程。Python可以用作脚本语言。它支持自动垃圾回收,...
  • 主要有两种方式: ...通过 -jar 参数可以直接运行,需要 jar 包时,在 META-INF/MANIFEST.MF 文件里指定 Main-Class。关于这种打包操作参考 Maven 生成(打包)带有依赖的可以直接执行的一个 jar 包。 2 j
  • linux系列之常用运维命令整理笔录

    万次阅读 多人点赞 2019-10-28 17:33:21
    本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些...
  • Linux中cd命令和pwd命令的用法

    千次阅读 2022-03-31 00:02:28
    1、cd命令 1)、cd命令 当前目录下,进入指定的目录 2)、cd / 命令 进入根目录 3) cd或者 cd ~ 进入家目录 4)cd .. 表示进入上一级目录 5)cd - 返回刚才所在的路径 2、pwd 命令 1)、 pwd命令 :显示当前路径...
  • 万能命令

    千次阅读 2020-06-27 11:27:44
    今天就教你无需任何工具,只需要几个简单的命令就能让你在浏览器上直接白嫖各种免费资源。 VVV—免费下载百度文库文档 百度文库的共享文档作为获取资料重要选择,在下载的时候往往都是需要下载券才开可以下载。...
  • 如何使用patch命令打补丁

    万次阅读 2018-11-09 10:01:15
    有时候因为条件限制,我们不能使用git仓库进行代码的更新工作。...确保你的服务器上安装了patch命令。如果没有安装,在联网状态下安装一下也就几分钟的事。 在你本地生成patch文件。在你的git仓...
  • 命令执行漏洞详解

    千次阅读 2022-03-08 11:59:57
    一、命令执行漏洞原理 在编写程序的时候,当碰到要执行系统命令来获取一些信息时,就要调用外部命令的函数,比如php中的exec()、system()等,如果这些函数的参数是由用户所提供的,那么恶意用户就可能通过构造命令...
  • python获取命令行输出结果

    千次阅读 2020-12-28 18:47:57
    #coding=utf-8import oscommand = 'ping www.baidu.com '#可以直接在命令行中执行的命令r = os.popen(command)#执行该命令info = r.readlines() #读取命令行的输出到一个listfor line in info: #按行遍历line = line...
  • 【每天一个 Linux 命令】tree命令

    千次阅读 2022-01-06 22:47:01
    本文主要讲解Linux系统上的tree命令的详细使用方法。 tree 命令是一个小型的跨平台命令行程序,用于递归地以树状格式列出或显示目录的内容。它输出每个子目录中的目录路径和文件,以及子目录和文件总数的摘要。 tree...
  • 使用ssh直接发送一条命令下去,使用的是虚拟终端,与直接使用终端和使用ssh登录后的终端不是一个终端。 该虚拟终端只是加载了基础的配置文件,而真正的终端多了: /etc/profile 和其他不是基础的配置文件。 ...
  • Linux命令之date命令

    千次阅读 2022-01-22 14:59:56
    Linux date命令可以用来显示或设定系统的日期与时间。在显示方面使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记。在备份文件的时候我们常结合此命令生成当前日期和时间的文件名。格式符前面以+加号...
  • Macbook中常用的terminal命令

    千次阅读 2022-04-07 14:41:44
    Macbook中常用的terminal命令 MacBook 的terminal特别好用的工具!可以用来跑程序、管理文档、查找文件、远程登录服务器等…在此整理和记录一些Mac中ternimal常用的的命令,方便之后查阅。 查看目录下的文件 查看...
  • C# ZPL命令 实现打印中文

    万次阅读 2018-08-09 21:37:27
    对于直接使用ZPL命令打印中文,首先需要明确几个概念: 1.码表文件: 字符编码文件,打印中文需要制定的码表,常用中文码表为 GB.DAT,GB8BIT.DAT,GB2312.DAT,GB18030.DAT, 其中 GB.DAT,GB8BIT.DAT为较早的机型使用编码...
  • cmd清理缓存命令(cmd命令清除垃圾)

    万次阅读 2021-07-27 00:44:25
    方法/步骤 由于需要用到命令,因为我们首先要调出电脑的命令对话框,方法一是使用组合快捷键:Windows + R键,打开运行操作框,然后在打开后面输入 cmd ,完成后.利用快捷键打开【运行窗口】,按住抄 win+r 或者点击...
  • Java 之使用 jar 命令打包

    千次阅读 2021-04-07 10:40:04
    C classdir指定的路径下的全部内容,生成名为myapplication.jar的包,并将清单文件myapplication.mf的内容提取到META-INF/MANIFEST.MF文件中 打包成可运行的jar包,可直接通过命令“java -jar jar文件名”运行这个...
  • Linux基本命令汇总 - 持续更新

    千次阅读 2021-05-08 21:40:18
    Linux基本命令汇总 一、Linux管理文件和目录的命令点击如下标题,会自动跳转到该命令详解 ~1、pwd命令2、cd命令3、ls命令4、cat命令5、grep命令6、touch命令7、cp命令8、mv命令9、rm命令10、vi命令11、dd命令一、...
  • Sed 命令详解

    万次阅读 2021-06-28 01:42:14
    Sed 命令详解 一、简介 sed是非交互式的流编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。 sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程...
  • Linuxtar包命令

    万次阅读 2015-07-02 20:37:18
    范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件! [root@linux ~]# cd /tmp [root@linux tmp]# tar -cvf – /etc | tar -xvf – # 这个动作有点像是 cp -r /etc /tmp 啦~依旧是有其有用途的! ...
  • Linux面试必备20个常用命令

    万次阅读 多人点赞 2021-10-02 11:05:36
    文章目录 第一章 什么是linux 第二章 linux的基础命令 1.pwd 命令 2.ls 命令 3.cd 命令 4.man 命令 5.grep 命令 6.find 命令 7.chmod 命令 8.ps 命令 9.kill 命令 10.tail 命令 11.netstat 命令 8.date 查看当前系统...
  • shell中打印命令执行的返回状态

    千次阅读 2012-12-28 13:52:20
    shell脚本文件中有时候需要依据命令执行的结果状态决定整个shell脚本文件的执行路径。 一个简单的需求就是:判断某个文件中是否存在某一行内容,存在则不做任何操作,否则插入该行。 判断文件中是否存在某行,可以...
  • MySQL数据库命令大全

    千次阅读 2021-01-19 13:28:24
    首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>...
  • Linux pwd命令详解

    千次阅读 2021-03-17 00:37:01
    1. 基本概念1.1 命令作用pwd是Linux中一个非常有用而又十分简单的命令,pwd是词组print working directory的首字母缩写,即打印工作目录;工作目录就是你当前所处于的那个目录。pwd始终以绝对路径的方式打印工作目录...
  • Java常用Linux命令集合

    万次阅读 多人点赞 2021-04-03 14:41:02
    Linux 常用命令集合 一 基本知识了解 1.1 目录结构 ...可直接访问这个目录来获取系统信息 /root: 超级用户(系统管理员)的主目录 /sbin: 存放二进制可执行文件,只有root才能访问。这里存放的是系统管理

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 624,794
精华内容 249,917
关键字:

如何直接打命令