1 通用
1.1 日期命令
修改系统时间: 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(比较好,不改文件)
- 查找 文件或目录 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
- 退出操作
:q 退出
:q! 退出且不保存
:wq 保存并退出
1.4 系统配置
- 查看ip
ip addr //centos 7
- 防火墙处理
--关闭防火墙 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
然后问题解决,转载请输入转自魏豆豆
浙公网安备 33010602011771号