Linux常用命令

 

在linux上部署启动项目:
1.将新的war上传至linux里的某个文件夹
2.关闭原项目
    调用tomcat关闭脚本
    使用ps查看进程,然后删除对应的进程
3.备份并删除原war包,将新war包移动至tomcat里的webapp
4.使用tomcat脚本开启项目
5.使用tail -f命令实时查看tomcat的输出文件cataline.out

---------------------------------

进程查看
ps -ef|grep java
    PS是LINUX下最常用的进程查看命令
    -e 显示所有进程。
    -f 参数是全格式输出

    ps -e 此参数的效果和指定"A"参数相同。
    ps -A 显示所有程序

    grep命令是查找(grep全称是Global Regular Expression Print,)


终止进程
kill -9 11752
    kill与kill -9的区别:
    执行kill命令,系统会发送一个SIGTERM信号给对应的程序。可能会释放自己的资源,然后再停止。(不会立马执行(能被阻塞))
    然而kill -9命令,系统给对应程序发送的信号是SIGKILL。exit信号不会被系统阻塞

调用sh脚本
./startup.sh

输出实时日志信息
tail -f ../logs/catalina.out
    tail - 输出文件的末尾部分
    -f, --follow[={name|descriptor}] 当文件增长时,输出后续添加的数据;
    -n, --lines=N 输出最后N行,而非默认的最后10行
    catalina.out 是tomcat的标准输出

删除旧的项目信息
rm -rf iptvScriptSend*
     rm命令用于删除一个文件或者目录。
     -r,-R:递归删除,将指定目录下的所有文件与子目录一并删除;
     -f:不提示,强制删除文件或目录;
     -i:删除已有文件或目录之前先询问用户;
     -v:显示指令的详细执行过程。

将上传的war文件移动到指定目录下
mv /home/.../project.war ./
    mv命令用来为文件或目录改名、或将文件或目录移入其它位置。
    -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
    -f: 在mv操作要覆盖某已有的目标文件时不给任何指示;

---------------------------------

查看当前路径
pwd

查看目录 查找文件
ls 、dir 、 find 、 grep 、 cat 、 more
    查看当前目录详情 ls -l , dir -l
    查找后缀.sh文件 ls *.sh  , find *.sh
    查找C开头的文件 ls C*, find C*
find
    find  -size +10000c #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
    find  -size -1000k #查找出小于1000KB的文件
grep 【匹配的参数】【文件名】
    -n:显示匹配行及行号。(grep -n 1 test.sh)
    查找匹配内容的上下几行: grep 【查找匹配内容上下几行】【显示行号】【匹配的参数】【文件名称】(grep -2 -n 1 test.sh) 等同于 (grep -C 2 -n 1 test.sh)
    查找匹配内容的后几行: grep -A 2 -n 1 test.sh(after)
    查找匹配内容的前几行: grep -B 2 -n 1 test.sh(before)
cat 查看文件内容
more 查看文件内容
    类似 cat 不过会以一页一页的形式显示,更方便使用者逐页阅读  而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h
    Ctrl+F 向下滚动一屏
    空格键(space) 向下滚动一屏
    Ctrl+B 返回上一屏

查看当前时间
date -R
    
进入指定目录
cd XXX

返回上一级目录
cd ..

复制、重命名文件 cp, mv
cp
    复制某个文件: cp 【文件名】  【需要复制到的路径】
    复制并重命名某个文件: cp 【文件名】【需要复制到的路径+新的文件名】

mv
    移动文件: mv /test1/file1 /test3/file2
    重名名文件: mv test.txt wbk.txt
        mv命令用来为文件或目录改名、或将文件或目录移入其它位置。
        -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
        -f: 在mv操作要覆盖某已有的目标文件时不给任何指示;
mv当前目录的文件直接输入文件名,如果要移动到当前目录的文件夹,比如当前目录的test文件夹就为: ./test
mv test.sh ./test(将test.sh移动到当前文件夹的test文件夹下)

删除XXX.sh文件: rm test.sh
删除文件而无需确认rm -rf  test.sh
    rm命令用于删除一个文件或者目录。
     -r,-R:递归删除,将指定目录下的所有文件与子目录一并删除;
     -f:不提示,强制删除文件或目录;
     -i:删除已有文件或目录之前先询问用户;
     -v:显示指令的详细执行过程。

 

创建XXX.sh文件: touch test.sh
创建文件夹: mkdir test

删除文件夹 :rm -rf 目录名字
rm命令默认删除文件,要删除文件夹需要加上 r
-d或–directory 直接把欲删除的目录的硬连接数据删成0,删除该目录。
-f或–force 强制删除文件或目录。
-i或–interactive 删除既有文件或目录之前先询问用户。
-r或-R或–recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-v或–verbose 显示指令执行过程。


编辑XXX.sh文件: vi test.sh

运行XXX.sh文件: sh test.sh  ./test.sh
运行XXX.py文件: ./XXX.py


---------------------------------

编辑文件内容: vi XXX
    按ESC键 跳到命令模式
    命令i 进入插入模式(等同于命令a键)
    :e! 放弃所有修改,从上次保存文件开始再编辑
    :wq 保存文件并退出vi
    :wq! 强制保存文件,并退出vi
编辑文件内容·插入: 执行vi 命令后 输入 i(insert)
编辑文件内容·保存退出: ESC + w +q
编辑文件内容·不保存文件,退出vi: q:
编辑文件内容·不保存文件,强制退出vi: :q!

 查找
    在命令模式下 输入 / + 查找字符串 (/123) 按n查找下一个
    修改
        命令 r + 字母 ,修改当前光标为输入的【字母】
        命令 s + 字母,删除当前光标字符,并将当前模式更改为 insert
        命令 数字 + s + 字母,删除【数字】个字符,并将当前模式更改为 insert
        命令 R + 任意输入,进入替换模式,后续字母输入将逐一替换原有文本,直至按下 Esc 键回退到命令模式。

    删除:
        命令 x ,删除光标所在位置的一个字母,并保持在命令模式。
        命令 dw ,删除当前光标至行末的文本数据
        命令 d + 0,删除当前光标至行首的文本数据
        命令 dd ,删除光标所在的一整行,并保持在命令模式。(等同于命令D)(等同于命令 d + $ )

    删除sh所有内容:
        首先 在命令行模式输入G进入最后一行,然后输入【:1,.d】删除所有内容

    注释
        单行注释 #
        多行注释:
            <<'COMMENT'
            ...
            COMMENT
    在sh文件中 设置输出当前时间 例如:20190315-17:07:26 echo $(date +%Y%m%d-%H:%M:%S)

---------------------------------

linux定时任务
查看任务执行情况
crontab -l
crontab 在/etc文件夹下 /etc/crontab
修改crontab :
    crontab -e
    前面有5个 * 从左至右依次的含义:
        minute: 表示分钟,可以是从0到59之间的任何整数。
        hour:表示小时,可以是从0到23之间的任何整数。
        day:表示日期,可以是从1到31之间的任何整数。
        month:表示月份,可以是从1到12之间的任何整数。
        week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
        command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
    特殊书号的含义
        星号(*):代表每的意思,例如month字段如果是星号,则表示每月都执行该命令操作。
        逗号(,):表示分隔时段的意思,例如,“1,3,5,7,9”。
        中杠(-):表示一个时间范围,例如“2-6”表示“2,3,4,5,6”。
        正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
    示例:
        crontab -e 开始对crontab进行编辑
        */3 * * * * /test/test.sh >>/test/test.log 每隔3分之执行依次test.sh 并将日志输出到test.log里
        保存后直接开始执行。
        */3 * * * * /test/test.sh >>/test/test.log  2>&1
        2>&1 是将错误输出到标准输出,如果在控制台调试,也就是屏幕上,方便调试。
    linux crontab不执行解决:
        ./test.sh 出现 Permission denied
        执行命令: chmod 777 test.sh
    实例:
        使用crontab -e修改:
            26 09 * * * /usr/local/test2/test.sh >>/usr/local/test2/test.log  2>&1
            linux查看crontab 执行情况
            tail -f /var/log/cron
            查看日志 cat test.log
            发现执行成功
            sh:
                #!/bin/bash
                export LANG=en_US.UTF-8

                sleep 2s
                java -jar /usr/local/test2/test.jar
                sleep 2s
                echo 'start'
                echo $(date +%Y%m%d-%H:%M:%S)
                echo 'end'
                
---------------------------------

查看日志:tail -f ../logs/catalina.out
tail:  -n  是显示行号;例子如下:
    1、tail -f filename
    说明:监视filename文件的尾部内容(默认10行,相当于增加参数 -n 10),刷新显示在屏幕上。退出,按下CTRL+C。
    tail -100f test.log      实时监控100行日志
    2、tail -n 20 filename
    说明:显示filename最后20行。
    tail  -n  10  test.log   查询日志尾部最后10行的日志;
    (tail -n +10 test.log    查询10行之后的所有日志;)
    3、tail -r -n 10 filename
    说明:逆序显示filename最后10行。
    4、tail -f catalina.out 查看tomcat实时日志
    tail -n 200 -f catalina.out
    tail -n 200 -f logs/catalina.out

---------------------------------

linux连接ftp
连接ftp并上传当前目录下的文件命令:
 连接ftp  打开相应路径 使用mput 进行上传

    ftp -n
    open 【ip地址】
    user 【username用户名】【password密码】
    pass 认证密码
    bin  使用二进制文件传输方式
    cd /ETE/Test/100000/XXX/Test
    prompt  设置多个文件传输时的交互提示
    pwd
    mput  ETE_100000_XXX*  将文件传输至远程主机
    quit

---------------------------------

使用ssh命令:
    ssh命令用于远程登录上Linux主机。
    常用格式:ssh [-l login_name] [-p port] [user@]hostname
    更详细的可以用ssh -h查看。

    不指定用户,默认使用root账户登录
        ssh 192.168.1.11
    指定用户:
        ssh -l root 192.168.1.11
        ssh root@192.168.1.11
    如果修改过ssh登录端口的可以:
        ssh -p 12333 192.168.1.11
        ssh -l root -p 12333 192.168.1.11
        ssh -p 12333 root@192.168.1.11

---------------------------------

scp上传和下载
从ssh服务器上下载文件:
    命令: scp username@目标IP地址:/root/XXX/File.log【目标文件位置】 /root/XXX/test【下载到的文件位置】
    通过scp命令 在本地连接 【目标IP地址】,找到 【目标文件的位置】,最后下载文件到本地的【下载到的文件位置】

使用scp命令上传 :
    将当前目录的XXX.jar上传到指定服务器的指定目录中:
    scp XXX.jar root@IP:/root/XXX/
    命令进行上传到XXX指定文件夹 (输入上面命令后需要输入密码XXX )
        
---------------------------------

Linux解压命令:
    tar
    -c: 建立压缩档案
    -x:解压
    -t:查看内容
    -r:向压缩归档文件末尾追加文件
    -u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
    -z:有gzip属性的
    -j:有bz2属性的
    -Z:有compress属性的
    -v:显示所有过程
    -O:将文件解开到标准输出
    
    -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
tar -xzvf file.tar.gz //解压tar.gz

---------------------------------

查看linux系统:
cat /proc/version (Linux查看当前操作系统版本信息)
[root@HW-1 ~]# cat /proc/version

查看linux IP: ip addr

---------------------------------
 RedHat防火墙:
    查看防火墙状态:
        [root@centos6 ~]# service iptables status
        iptables:未运行防火墙。
    开启防火墙:
        [root@centos6 ~]# service iptables start
    关闭防火墙:
        [root@centos6 ~]# service iptables stop

防火墙关闭
在外部访问CentOS中部署应用时,需要关闭防火墙。
关闭防火墙命令:systemctl stop firewalld.service
开启防火墙:systemctl start firewalld.service
关闭开机自启动:systemctl disable firewalld.service
开启开机启动:systemctl enable firewalld.service
        
---------------------------------

    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值