Linux学习笔记

1、 ps -ef|grep mysql 查询名为mysql的服务是否存在

2、sudo /etc/init.d/mysql.server -P 3306 start 在beta机上启动mysql服务,如果启动时PID file exists。则要删除mysql.pid和mysql.lock。分别在/home/q/mysql/multi/3306/pid和/home/q/mysql/multi/3306/lock

3、删除文件 rm -rf mysql.pid

4、tail -f 文件名。可以动态查看一个文件

5、启动tomcat项目sudo /home/q/tools/bin/restart_tomcat.sh /home/q/www/meeting_beta.qunar.com/,前面是运行脚本,后面是项目位置

6、sz 文件名:下载文件;rz上传文件

7、使用”yum sezrch 关键字”查询可安装包,然后使用yum install安装。

8、安装jdk目录默认在“/usr/lib/jvm”下。noah环境下将其拷贝到“/home/q/java”下,用default软链接指向默认版本jdk。软链接不能修改,只能删除重新建

9、创建软链接symbolic link:sudo ln -s [目标文件] [软链接名]

10、修改环境变量:export PATH=[环境变量内容];如果是拼接,则可以:export PATH=[新增路径]:$PATH

11、读取环境变量:echo $PATH

12、打包:sudo tar -cvf ./root.war ./ROOT

13、修改文件名称 mv /tmp/qtraceId.log.2017.09.04 /tmp/a.log

14、修改文件权限 chmod 777 fangmingyi.sh

15、grep出一行,让后用 [ ] 切分,获取 [ ] 里面的内容。先把切分出来的每一项打出来看自己需要的是第几个。

16、查变价率升高

zgrep  "价格升高了"  /home/q/www/qta.order.provider/logs/request.log.2017-09-04.gz |head -n 1| awk  '{gsub(/[][]/," ",$0); for(i=0;i<=NF;i++){print i,$i }}'  

得知是第6个之后,将全部grep出来的切分获取到,输出到一个文件

zgrep  "价格升高了"  /home/q/www/qta.order.provider/logs/request.log.2017-09-04.gz | awk  '{gsub(/[][]/," ",$0); print $6 }' >/tmp/a.log

17、将a.log文件作为输入流,循环读取每一行放在变量a,用a作为条件grep另外一个文件,用逗号和冒号切割,取出productType后面一个(则他的值)

#!/bin/bash
while read a
do
zgrep $a /home/q/www/qta.order.provider/logs/product.2017-09-04.log.gz | awk -F'[,|:]' '{for(i=1;i<=NF;i++) if($i=="\"productType\"")  print $(i+1)}' |sort |uniq -c
done </tmp/a.log

18、公司开发的在跳板机上,同时在多台线上机器执行命令的命令atnodes ,使用格式:atnodes 【”需要在线上机器执行的命令(路径需要是全路径)”】 【机器名称】

19、dubbo接口可以在目标机器上测试。telnet IP dubbo端口,cd进入接口所在类,invoke 方法名(参数json)即可调用。不过前提是需要在代码中配置: 配置duubo接口的端口等信息,然后在各个dubbo的注册时引用上面配置的protocol

20、chattr 改变文件属性 lsattr 查看文件属性

21、ps aux |grep xxx

22、sudo netstat -ntpl | grep 23777

23、locate xxx,查找xxx开头的文件位置

24、sudo docker exec -t -i 88c59112768ffacd9bd92296f02e221a26037c4964d5773b8f08b98176570f41 /bin/bash 进入指定id的docker

25、du -h –max-depth=1 ./ 查看当前目录下所有文件夹的大小

26、升级jdk到1.8。使用noah系统提供的脚本,一键升级部署,且包含修改环境变量,炒鸡强大。命令:sudo salt-call state.sls qunardev.noah.tools.java_8u91

27、配置远程调试

  • 请求端口重定向。复制跳板机连接的ssh通道,然后ssh连上服务器,通过:如socat TCP4-LISTEN:6699,fork,range=100.80.180.152/32 TCP4:127.0.0.1:33345 把9999的请求转发成本机33345端口的请求

  • 远程调试配置文件在项目目录下的startenv.sh文件,配置上

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=127.0.0.1:<port>
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=127.0.0.1:<port>
  • 在idea上配置远程调试地址和端口
socat TCP4-LISTEN:6699,fork,range=100.80.180.152/32 TCP4:127.0.0.1:33345 

未完待续。。。。

### 关于 Linux 的学习资料 以下是针对 Linux 学习的一些推荐资源和教程: #### 1. 尚硅谷 Linux 学习笔记 尚硅谷提供了详尽的 Linux 学习笔记,涵盖了基础到高级的内容。这些笔记不仅包含了常用的命令操作,还涉及服务器配置、网络管理等方面的知识[^1]。 #### 2. CentOS 官方文档 CentOS 是一种广泛使用的 Linux 发行版,在企业环境中非常流行。官方文档中详细介绍了如何安装、配置和维护 CentOS 系统,适合初学者和中级用户深入研究[^3]。 #### 3. 高级命令实践指南 除了常见的 `ls`、`cd` 等基本命令外,掌握一些高级命令对于提升效率至关重要。例如: - **find**: 查找文件或目录。 - **df**: 显示磁盘空间使用情况。 - **tar**: 打包压缩工具。 - **ps/top/netstat**: 进程管理和监控网络状态。 另外还有更复杂的命令组合技巧可以提高工作效率,比如通过管道符 (`|`) 结合多个命令完成复杂任务。 #### 4. 内核编译与模块加载 如果计划深入了解操作系统层面,则需要了解内核源码结构及其构建过程。例如解决因缺少头文件链接而无法正常编译驱动程序的问题时,可参照如下方法创建软连接来修复路径错误: ```bash sudo ln -s /usr/src/kernels/3.10.0-1160.el7.x86_64/include/generated/uapi/linux/version.h \ /usr/src/kernels/3.10.0-1160.el7.x86_64/include/linux/version.h ``` 此脚本解决了特定版本下的兼容性问题[^2]。 #### 5. 跨平台文件传输解决方案-Xftp 为了方便Windows用户访问远程Linux主机上的数据,Xshell套件中的组件之一Xftp提供了一种简便的方式来进行安全的数据交换,它支持多种协议并具备图形化界面便于操作[^4]. 综上所述,Linux作为当前主流的服务端操作系统拥有丰富的社区支持和技术积累,无论是个人还是团队都可以从中受益匪浅.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值