1    通用

1.1    日期命令

查看系统时间:         date  回车
修改系统时间:       sudo date -s "2022-01-01 12:00:00"
 

1.2    文件夹操作

  • 删除目录下的文件夹:    rm -rf   或者  rm -rf a.file
  • 清理缓存          rm -rf Catalina
  • 查看当前绝对路径      pwd
  • 查看profile文件内容      cat /etc/profile   
  • 查找当前目录名为foldername的文件夹  find . -name foldername -type d
  • 查找根目录下名为foldername的文件夹  sudo find / -name foldername -type d
  •  代表递归操作,通常用于针对目录进行操作时,可以同时处理目录下的所有子目录和文件;  -r

  • 代表强制操作,用于忽略系统警告或提示,...   -f

  • 查询进程 这将显示同时包含"String1"和"String2"的所有进程            ps -ef | grep 'String1' | grep 'String2'
  • 查询进程 这两个命令都会显示包含"String1"或"String2"的所有进程      ps -ef | egrep 'String1|String2'

 

1.3    文件操作

  • 查找  文字内容  grep
grep -rnE 'a1.*a2' filename --color  多个关键字与操作(注意,filename带上速度会快一点)
grep -rnE 'a1|a2' filename  --color 多个关键字或操作(同上)
grep -rnA 100 "aaa" --color       查询前n行
grep -rnB 100 "aaa" --color      查询后n行
grep -rnC 100 "aaa"  --color     查询上下n行
 
  • 查找  文字内容  view
1  查找文件
view cmis_liab_v2-app.log.62.log

2 查找日志流水
/YUSP-Plus-Scheduler_Worker-2, 067a21345584662a, 067a21345584662a

3 查完
q!
 
 
 
  • 查找  文字内容  vim或者more(比较好,不改文件)
/aa    查找aa
n或者N  下一个或上一个
more *.log
/aa
 
 
  • 查找  文件或目录  find
find -name "*"

//显示文件名
find . | xargs grep -ri "Hello"
或者 find . | xargs grep -ri "Hello" -l

//根据文件类型在根路径下搜索
find / -type f -name "*.txt" | xargs grep "Hello"

//查找最大的12个文件夹
du -hm --max-depth=2 | sort -nr | head -12

参考:https://www.cnblogs.com/akidongzi/p/13683270.html

  • 退出操作

:q  退出

:q!  退出且不保存

:wq  保存并退出

 
 

1.4    系统配置

  • 查看ip

ip  addr   //centos 7

ifconfig    //记忆里的
 
 
  • 防火墙处理
a  centos
--关闭防火墙
systemctl stop firewalld

--禁用防火墙
systemctl disable firewalld

 

 
 
  • 杀死进程
--查看进程
jps -l

--杀死进程
kill -9 25072

 

  • 查看内存
df -h

 

 

1.5    linux 网页交互

  • 访问网页
$ curl -v www.baidu.com

参考:https://www.jianshu.com/p/fc0eb6c60816

 

  • 下载:
wget https://sourceforge.net/projects/netcat/files/netcat/0.7.1/netcat-0.7.1.tar.gz --no-check-certificate

 

下载命令的安装

-bash: wget: 未找到命令,原因为linux系统缺少命令环境。

centos 系统下,执行以下命令进行安装

yum install wget -y

ubuntu系统,需要执行以下命令

apt-get install -y wget

 

 

1.6    文件传输

scp SourceFile User@RemoteHost:RemotePath

 

1.7    查看时点内存

# 查看今天所有时间的CPU使用情况
sar -u

# 查看特定时间段的CPU使用情况(例如10:00到11:00)
sar -u -s 10:00:00 -e 11:00:00

 

1.8  定时任务

  • 查看

crontab -l

 

  • 编辑

crontab -e

 

定时任务读取shell 获取java环境变量

export JAVA_HOME=/opt/IBM/WebSphere/AppServer/java
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$JAVA_HOME/bin
export PATH

上边的可以用下边的替代

. /root/.bash_profile

 

改动后的shell

#! /bin/bash
. /root/.bash_profile
##获取当前年月日
is_date=`date +%Y%m%d`
is_date2=`date +%Y%m%d%H`

temp_date=`date -d "1 day ago next month" +%Y-%m-01`
ls_date=`date -d "${temp_date} last day" +%Y-%m-%d`
echo $ls_date
##在日志文件路径下创建日期文件
mkdir  -p  /home/kettle/kettle/data-integration/logs/${is_date}

##ktr脚本文件路径
ktrpath=/home/kettle/kettle/data-integration/change


##kettle需要的设置
#shengchan
#ceshi
#export JAVA_HOME=/opt/IBM/WebSphere/AppServer/java1.8


cd /home/kettle/kettle/data-integration


##机构
./pan.sh -file=/home/kettle/kettle/data-integration/change/re_s_bch.ktr > /home/kettle/kettle/data-integration/logs/${is_date}/re_s_bch_${is_date2}.log 2>&1


##临时定时执行跑批任务 12-6
##202012
##./pan.sh -param:INPUTDATE=2020-12-31 -file=/home/kettle/kettle/data-integration/change/re_loan_m.ktr > /home/kettle/kettle/data-integration/logs/${is_date}/re_loan_m.ktr12_${is_date2}.log

##202101
##./pan.sh -param:INPUTDATE=2021-01-31 -file=/home/kettle/kettle/data-integration/change/re_loan_m.ktr > /home/kettle/kettle/data-integration/logs/${is_date}/re_loan_m.ktr01_${is_date2}.log

##202102
##./pan.sh -param:INPUTDATE=2021-02-28 -file=/home/kettle/kettle/data-integration/change/re_loan_m.ktr > /home/kettle/kettle/data-integration/logs/${is_date}/re_loan_m.ktr02_${is_date2}.log
##202103
##./pan.sh -param:INPUTDATE=2021-03-31 -file=/home/kettle/kettle/data-integration/change/re_loan_m.ktr > /home/kettle/kettle/data-integration/logs/${is_date}/re_loan_m.ktr03_${is_date2}.log
##202104
##pan.sh -param:INPUTDATE=2021-04-30 -file=/home/kettle/kettle/data-integration/change/re_loan_m.ktr > /home/kettle/kettle/data-integration/logs/${is_date}/re_loan_m.ktr04_${is_date2}.log

##202105
##./pan.sh -param:INPUTDATE=2021-05-31 -file=/home/kettle/kettle/data-integration/change/re_loan_m.ktr > /home/kettle/kettle/data-integration/logs/${is_date}/re_loan_m.ktr05_${is_date2}.log


##202106
##./pan.sh -param:INPUTDATE=2021-06-30 -file=/home/kettle/kettle/data-integration/change/re_loan_m.ktr > /home/kettle/kettle/data-integration/logs/${is_date}/re_loan_m.ktr06_${is_date2}.log


##当月
./pan.sh -param:INPUTDATE=${ls_date} -file=/home/kettle/kettle/data-integration/change/re_loan_m.ktr > /home/kettle/kettle/data-integration/logs/${is_date}/re_loan_m.ktr_${is_date2}.log

 

 

1.N    linux报错  

  • CentOS 7 could not retrieve mirrorlist

https://blog.csdn.net/shareye1992/article/details/88390994

 

  • CentOS 7 vim: command not found

https://blog.csdn.net/weixin_40108868/article/details/125676794

 

 

1.M    扩展之:nc

  • 原因:源于使用nc命令时报错:

Ncat: Connection refused

 

  • 解决方案:
直接在命令行里输入:
nc
如果显示:
Ncat: You must specify a host to connect to. QUITTING.
恭喜你,与博主的问题一致,下面是解决方案与问题解析


解决方法
wget https://sourceforge.net/projects/netcat/files/netcat/0.7.1/netcat-0.7.1.tar.gz --no-check-certificate
tar -zxf netcat-0.7.1.tar.gz
cd netcat-0.7.1/
./configure
sudo make
sudo make install

然后写入环境:
sudo vim /etc/profile

在最后写入:
export NETCAT_HOME=/usr/local/netcat
export PATH=$PATH:$NETCAT_HOME/bin

最后使配置生效:
source /etc/profile


然后输入nc就可以得到:
Cmd line:

这样nc命令就成功了

 

  • 注意:环境变量部分

如果你的配置文件里已经有环境变量了,只需要把Path追加进去就好,比如我的profile

export PATH=$PATH:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:$NETCAT_HOME/bin
export NETCAT_HOME=/usr/local/netcat

 

  • 报错分析原理:(这个我没用,使用解决方案已经解决了我的问题)

nc与netcat通常是一个东西,而ncat(也称nmap-ncat)是另一个东西,默认的nc命令链接到了ncat,所以自然得不到我们想要的结果
首先尝试输入:
netcat
没有这个命令,然后通过命令:
whereis nc
可以看到连接的是:nc: /usr/bin/nc /usr/share/man/man1/nc.1.gz,并不是netcat,所以遇到这种情况大概率是没有安装过netcat,安装一下就行,同时编译安装后会自动踢掉这个软连接,安装完成后输入nc就可以得到:
Cmd line:

  • ncat简介:

netcat称为网络工具中的瑞士军刀,体积小巧,但功能强大,为了方便常用nc作为其简称。 它可以在两台设备上面相互交互,主要就是侦听模式和传输模式。大致功能如下:

    Telnet功能(本案例使用)
    获取banner信息
    传输文本信息
    传输文件/目录
    加密传输文件,默认不加密
    远程控制
    加密所有流量
    流媒体服务器
    远程克隆硬盘

参考:

https://blog.csdn.net/qq_63844103/article/details/127681824

https://blog.csdn.net/weixin_35757704/article/details/121456089

 

 

 

2    ubuntu

2.1    查看防火墙状态

sudo ufw status

 

 

2.2    开启|关闭 防火墙

sudo ufw enable|disable

 

 

2.3    启动tomcat8080端口被占用

开发语言  linux  服务器 ubuntu 启动tomcat8080端口被占用

在服务器中输入 

ps -aux|grep tomcat   搜索tomcat进程。

kill掉多余的进程,

重新sh startup.sh即可

 

 

 

2.4    环境部署mysql数据库, 浏览器输入中文,保存后乱码解决方案

我用的是ubuntu 16.04 版本,mysql 是5.6.21版本

开发语言  Linux  ubuntu环境部署mysql数据库, 浏览器输入中文,保存后乱码解决方案

我尝试了网上的各种方法,用了两天时间,解决了问题:

正确解决步骤如下:

1  进入到my.cnf 所在文件夹

2  vi my.cnf

3  [mysqld]  下边添加

character-set-server=utf8

4  保存my.cnf

5  切回根目录

6  重启mysql服务

/etc/init.d/mysql stop

/etc/init.d/mysql start

 

 

  Ctrl+C和Ctrl+Z都是中断命令,但作用不同。

 

  Ctrl+C是发送SIGINT信号,终止一个进程。

 

  Ctrl+Z是发送SIGSTOP信号,挂起一个进程,将作业放置到后台(暂停状态)。与此同时,可以通过fg重启前台被中断的任务,也可以通过bg把中断的任务放到后台执行。

 

  Ctrl+D表示一个特殊的二进制值EOF,代表输入完成或注销。

 

 

查看ip地址

ping www.baidu.com

 

 

然后问题解决,转载请输入转自魏豆豆

 

posted on 2018-05-06 23:33  菜鸟乙  阅读(442)  评论(0)    收藏  举报