linux常用命令函数

目录

Linux常用命令

开机启动

语法

防火墙

ubuntu

常用命令

常用命令


Linux常用命令

1、重启tomcat服务(强制kill进程)

 

#!/bin/bash

echo "==================start deploy project========================="

ps -aux | grep /usr/local/tomcat/ | grep -v grep > tomcat_info.txt

sed 's/  / /g' tomcat_info.txt > tomcat_info1.txt

sed 's/  / /g' tomcat_info1.txt > tomcat_info.txt

sed 's/  / /g' tomcat_info.txt > tomcat_info1.txt

cat tomcat_info1.txt | cut -d' ' -f 2 > tomcat_info.txt

 

for line in `cat tomcat_info.txt`

do

    kill -9 $line

done

 

cd /usr/local/tomcat/webapps

rm -rf youxuan_api*

mv /usr/local/jenkinsTempFolder/youxuan_api /usr/local/tomcat/webapps

 

/etc/init.d/tomcat start

sync

echo 3 > /proc/sys/vm/drop_caches

echo "==================deploy project success========================="

 

  1. 添加sh批处理文件

#!/bin/bash固定开头

 

  1. 修改环境变量

 

  1. shell执行sql
    1. vim ~/.bashrc
    2. 末尾加入这一行alias sql="\mysql -u username -pPassword datebasename <"
    3. 然后运行脚本: source ~/.bashr
    4. sql test.sql

https://blog.csdn.net/u011138533/article/details/50298363

  1. 修改时区

 

  1. 常用命令

命令

解释

date

查看系统当前时间

cp

复制文件

示例:

cp jenkins.war jenkins

将当前目录的jenkins.war文件拷贝到jenkins目录下

cp -rf jenkins /home/temp

将jenkins目录拷贝到/home/temp目录下

mv

移动文件

示例:

mv jenkins.war jenkins

将当前目录的jenkins.war移动到jenkins目录

另:linux系统下没有对文件重命名的命令,可以使用mv命令实现。

mv jenkins.war jenkins-test.war

将jenkins.war重命名为jenkins-test.war

wget

下载文件

示例:

wget http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.rpm?AuthParam=1528941565_a805c1ba58a140a6f4f16632e69d06f9 -O jdk-8u171-linux-x64.rpm

将指定文件下载地址下载到本地的jdk-8u171-linux-x64.rpm

curl

curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。

示例:

curl http://www.baidu.com

获取页面内容

 

curl http://www.baidu.com > baidu.html

将页面保存为文件

 

curl -v http://www.baidu.com

查看请求头

 

curl http://www.baidu.com -I

查看响应头

 

curl --request GET \ --url 'http://218.16.138.199:8088/integrated/busiitem/busiitemnewlist?typeId=86'

curl --user admin:p@ssw0rd -H 6b1570dc98410c021bc99912dc10a545 http://ec2-52-83-237-37.cn-northwest-1.compute.amazonaws.com.cn:8082/job/pipeline_test/build?delay=0sec

显式指定以Get方法获取指定url的内容

curl -d "user=admin&passwd=12345678" http://127.0.0.1:8080/login 

发送post请求

参考地址

https://blog.csdn.net/chenliaoyuanjv/article/details/79689028

 

不支持https协议

https://blog.csdn.net/Timsley/article/details/50782742

https://blog.csdn.net/Timsley/article/details/50776615

https://www.linuxidc.com/Linux/2011-01/31229.htm

rpm

安装rpm包

示例:

rpm -i  jdk-8u171-linux-x64.rpm

nohup

后台运行进程

nohup java -jar jenkins.war --ajp13Port=-1 --httpPort=8082 >temp.txt &

以后台的方式运行,将输出结果放到temp.txt中

yum

软件包管理器,自动下载rpm包并且安装。可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

示例:

yum install git

安装git

yum remove git

卸载git

yum update git

更新git

 

参考地址

https://zhidao.baidu.com/question/745802668141965052.html

apt-get

自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。

apt-get install

export

查看/添加系统环境变量

export AWS_ACCESS_KEY_ID=AKIAPORR2LT5OQK7TVJA

pwd

查看当前所在目录

zip

压缩

zip -r mydata.zip mydata

将mydata目录压缩成mydata.zip

参考链接

https://www.cnblogs.com/wangkongming/p/4305962.html

unzip

解压

示例

unzip wwwroot.zip

解压wwwroot.zip到当前目录下

unzip -v nerdtree.zip

查看压缩包内容

unzip -n nerdtree.zip -d nerdtree

解压到指定目录下

tail

查看文件内容,默认显示后面10行内容

tail -n 100 log_2018_06_15.txt

查看文件最后100行的内容

tail -n -100 log_2018_06_15.txt

从前面100行开始查看

tail -f -n +100 log_2018_06_15.txt

自动刷新文件

cat

显示文件内容

cat startup.sh

显示startup.sh文件的内容

cat -n startup.sh

显示行号

sed

查看文件内容

sed -n ‘100,200p’ log_2018_06_15_01.log

查看第100行至200行之间的内容

将搜索结果输出到另外一个文本

sed -n ‘/Gpu/p’ nvidia.log >> test.log

将带有Gpu字眼的行输出到test.log中

lsof

查看端口

示例

lsof -i :8080

查看8080端口的使用情况

clear

清屏

chkconfig

查看/设置系统服务

chkconfig --list 查看开机启动服务列表

chkconfig -- 服务名 on

/etc/init.d/服务名 status 查看服务状态

设置开机启动

编辑需要启动的脚本 → 将脚本移到/etc/rc.d/init.d/ → 给脚本赋可执行权限 → 添加脚本到开机启动启动项目中 → 重启生效

chkconfig --add 脚本名称

chkconfig 脚本名称 on

参考链接https://blog.csdn.net/daidaineteasy/article/details/54864776

启动脚本样例:

#!/bin/sh

#chkconfig: 2345 80 90

#description:开机自动启动的脚本程序

 

# 开启jenkins服务

nohup java -jar /home/ec2-user/jenkins/jenkins.war --ajp13Port=-1 --httpPort=8082 >temp.txt &

chmod

权限管理

chmod +x 脚本名称

给脚本赋予可执行权限

traceroute

追踪网络数据包的路由途径

traceroute 目标ip

useradd

创建用户

useradd –d /usr/sam -m sam

为创建的用户指定目录

chown

修改文件属性与权限

将test.txt的所有者改成ubuntu

chown ubuntu:ubuntu test.txt

将test目录及以下文件的所有者改成ubuntu

chown -R ubuntu:ubuntu test

 

开机启动

  1. Ubuntu
    1. 配置/etc/rc.local开机启动
      • sudo su
      • chattr -i /etc/rc.local
      • vim /etc/rc.local
      • 设置启动项,执行脚本的格式sudo sh xxx.sh,启动日志存放在/tmp/rc.local.log

#log

exec 2> /tmp/rc.local.log  # send stderr from rc.local to a log file  

exec 1>&2                  # send stdout to the same log file  

set -x                     # tell sh to display commands before execution

sudo sh /home/ubuntu/test.sh

exit 0

 

      • 给需要开机启动的脚本赋予执行权限

sudo chmod +x xxx.sh

      • 参考链接

https://www.linuxidc.com/Linux/2017-09/147166.htm

    1. CentOS
      • 编写需要开机启动的脚本,并且赋予可执行权限

chmod +x /home/centnet/centnet-service.sh

 

      • 添加到开机启动

vi /etc/rc.d/rc.local

在末尾添加一行

/home/centnet/centnet-service.sh

//赋权可执行

chmod +x /etc/rc.d/rc.local

 

语法

  1. 使用&&执行多条命令,以下示例完成了目录的创建然后切换到新创建的目录

mkdir test && cd test

  1. Ubuntu上安装rpm包

参考:https://www.linuxidc.com/Linux/2017-08/146269.htm

  1. 允许使用用户名密码登录(aws的ec2默认不允许使用密码登录)

vim /etc/ssh/sshd_config

将PasswordAuthentication改成yes

//重启ssh生效

service sshd restart

注意:如果提示密码错误,可能需要重新给用户设置一下密码。

useradd jenkins

passwd jenkins

 

防火墙

  1. 开放端口

https://blog.csdn.net/u012498149/article/details/78772058

添加

firewall-cmd --zone=public --add-port=10024/tcp --permanent   (--permanent永久生效,没有此参数重启后失效)

重新载入

firewall-cmd --reload

查看

firewall-cmd --zone=public --query-port=80/tcp

删除

firewall-cmd --zone=public --remove-port=8081/tcp --permanent

 

ubuntu

  1. putty+xming远程登录Ubuntu16.04图形界面

参考链接

https://www.cnblogs.com/xuanxufeng/p/6243244.html

 

常用命令

  1. 查询内存

cat /proc/meminfo | grep MemTotal

  1. 查看cpu型号

cat /proc/cpuinfo | grep 'model name' |uniq

  1. 查看cpu核数

cat /proc/cpuinfo | grep "cpu cores" | uniq

  1. 查看当前可用的卷信息

lsblk

  1. 批量替换字符

:%s#/usr/bin#/bin#g 可以把文件中所有路径/usr/bin换成/bin

https://www.cnblogs.com/nkwy2012/p/6365714.html

 

每一行前面追加

:%s/^/要添加的内容

:%s/^/\/data\/test\/mnist\/test\/

 

  1. 批量解压文件到指定目录并删除原文件

#!/bin/bash

for tar in *.tar;  do mkdir $(basename $tar .tar) && tar xvf $tar -C $(basename $tar .tar) && rm -f $tar; done

 

  1. 查看文件个数

#查看文件个数,包括子文件夹

ls -lR|grep "^-"|wc -l

#查看文件夹数量

ls -lR|grep "^d"|wc -l

 

  1. 将文件路径写入到文本中

 

 find ./ -type  f  -name "*.jpg" > test.txt

 

  1. 删除符合大小的文件

删除小于1kb的文件

 

find ./ -size -409600c -type f -exec rm -rf {} \;

 

  1. 逐行读取文件

 

for line in $(cat data.dat)

do

    echo "File:${line}"

Done

 

  1. 搭建ftp服务器

https://blog.csdn.net/null_qiao/article/details/76919234?locationNum=2&fps=1

 

 

  1. ssh免密登录

https://www.jianshu.com/p/991b39c48b0f

https://jingyan.baidu.com/article/c275f6ba08267ae33c756758.html

https://blog.csdn.net/u013197629/article/details/73608613

http://www.cnblogs.com/yixue2017/p/7559970.html

 

安装客户端

yum -y install openssh-clients

 

拷贝公钥

scp -P 51381 ~/.ssh/id_rsa.pub root@192.168.126.12:/home/.ssh/authorized_keys

 

如果远程服务器没有.ssh目录,需要手动创建或者登录远程服务器使用ssh远程一次,例如:ssh -p 51381 tomcat@192.168.128.209,然后就会在当前用户下生成.ssh目录

 

赋权

 

切换至root

cd /home/.ssh

chown tomcat:tomcat ..

 

切换至tomcat

chmod 700 .ssh

cd .ssh

chmod 600 authorized_keys

chmod 755 ..

 

无法ssh的常见问题

getenforce

 

vi /etc/selinux/config

 

 

 

 

 

常用命令

查看vsftp是否开启:

pgrep vsftpd

 

关闭vsftp:

pkill vsftpd

pgrep vsftpd

service vsftpd stop

 

开启vsftpd:

service vsftpd start

 

修改vsftpd配置文件:

cd /etc/vsftpd/

cp vsftpd.conf vsftpd.conf.20110622.bak

vi vsftpd.conf

 

查看端口使用情况(定时刷新)

netstat -ntlp -c 5 | grep 27439

 

计划任务

列出当前用户的计划任务crontab -l

新增计划任务 crontab -e

https://www.cnblogs.com/zoulongbin/p/6187238.html

 

查看进程占用内存

查找端口对应的pid

netstat -tunlp |grep 8080

根据pid查看内存使用情况

top -p pid

 

bash:ll命令未找到问题

在root下面执行 echo "alias ll='ls -l'" >> ~/.bashrc

执行以上命令,关掉中端,再打开就可以使用ll命令了。

其中alias是别名设置命令,unalias是取消别名设置命令。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值