linux工作中实用操作命令

创建空文件(四种方式)

  1. touch a.log
  2. echo “” > a.log
    该方式创建的空文本会有一个字节的大小,所以慎用在这里插入图片描述
  3. cat /dev/null > a.log 把一个文件设置为空
  4. vi a.log,然后shift+:+wq保存

查看文件内容和筛选某些关键字

  1. cat somefile: 查看整个文档,一般用查看配置文件等较小的文件
  2. more somefile: 可以翻页查看, 下翻一页(空格) 上翻一页(b) 退出(q)
  3. less somefile:可以翻页查看,下翻一页(空格) 上翻一页(b),上翻一行(↑) 下翻一行(↓) 可以搜索关键字(/keyword)
  4. tail -10 install.log:查看文件尾部的10行
  5. tail -f install.log:根据文件描述符进行追踪踪(inode号),当文件改名或者删除,追踪停止
  6. tail -F install.log:根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪。生产上flume一般配置该方式。

定位ERROR日志

  1. 文件内容比较小(几十兆),下载到windows电脑,用记事本一类的工具打开,查找
  2. 文件内容很大(几百兆到几个G) cat xxx.log | grep ERROR
  3. 查找ERROR关键字上下文的信息
 cat xxx.log | grep -A 10 ERROR 后10行
 cat xxx.log | grep -B 10 ERROR 前10行
 cat xxx.log | grep -C 30 ERROR 前后各30行  经常用  迅速定位ERROR上下文 

常用操作命令

命令说明
ls查看当前光标所在的目录的文件
ls -a查看当前光标所在的目录的文件,包含隐藏文件
ll查看当前光标所在的目录的文件,列展示详细信息
ll -h查看当前光标所在的目录的文件,列展示详细信息 和易于读取的大小信息
ls --help列举文件的命令帮助,Usage: ls [OPTION]… [FILE]… [OPTION]可选择,[FILE]可以选择
>将一条指令的输出结果写入到一个文件中,会覆盖原文件内容,如查找关键字的信息可以输出到一个文件cat xxx.log
>>将一条指令的输出结果追加到一个文件中,不会覆盖原文件内容
|管道符,将管道符左边命令输出结果作为管道符右边命令的输入

登录后操作的命令

  1. who :查看当前有哪些在线用户
  2. last: 查看最近的登陆历史记录
  3. history:查看历史操作记录
    在这里插入图片描述
    !7 可以执行历史记录(cd /usr/),history -c 清空历史记录

打印命令

  1. echo: echo “www.baidu.com” ,直接打印到控制台
  2. $PATH:查看环境变量
    echo $PATH: /usr/java/jdk1.8.0_121/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
  3. which:比较实用的命令,在安装完软件后,which + 服务命令,比如which java,有结果就证明安装完成,没有证明软件没有安装好

当前会话session

在当前操作窗口修改的一些环境变量,只能在当前会话生效,比如PATH=’’,
alias j=‘cd /home/hadoop’
在这里插入图片描述
关闭当前窗口,变量就没有了

环境变量

  1. 全局环境变量 /etc/profile,所有人都可以使用,修改完环境变量,使其生效,需要 source /etc/profile
  2. 当前用户的环境变量 .bash_profile和 .bashrc ,一般配置.bashrc ,因为 .bash_profile容易产生ssh bug,修改完环境变量,使其生效,需要 source .bashrc

别名

一般用于简化操作的
在这里插入图片描述
可以配置在/etc/profile和.bashrc中

删除操作

rm -f xx.log 直接删除文件
rm -rf a/b/c/a.log 可以删除文件,rm -rf a 可以递归删除文件夹和文件
rm -rf /* 生产环境 删除文件的时候慎用,高危命令,最好使用rm xx.log(有提示)

编辑保存命令

  • 设置行号: 编辑 “vi a.txt”; 尾行输入: “: set nu”;取消行号设置:“set nonu”
    在这里插入图片描述
  • 取消搜索结果中关键字高亮状态:esc退出编辑模式,然后输入:nohl
  • 清空文件内容
    cat /dev/null > xxx.log(推荐)
    echo ‘’ > xxx.log (存在一个字节)
  • vi命令常见的快捷方式
    dd:删除当前行
    dG:删除光标当前及以下的所有行
    ndd:删除光标当前及以下的n行
    gg:跳转到第一行的第一个字母
    G:跳转到最后一行的第一个字母
    shift+$:跳到行尾
    gg+dG:清空整个文件

系统命令

  • 查看磁盘情况:df -h
    在这里插入图片描述
  • 查看内存大小:free -m / free -g
  • 查看关于ssh的进程:ps -ef|grep ssh,排除自己查找的命令:ps -ef|grep ssh| grep -v grep
    在这里插入图片描述
  • 根据进程pid查找对应的端口号:netstat -nlp|grep pid
    在这里插入图片描述
  • 根据程序名称查找端口号:netstat -nlp|grep ssh
    在这里插入图片描述

安装服务,打开web界面

  1. 安装:yum install httpd -y
  2. 启动service httpd start和systemctl start httpd
  3. 查看状态:systemctl status httpd
  4. http协议端口:80,https协议端口:443

高危命令

  1. rm -rf /
  2. 生产修改和删除配置文件,记得要备份
  3. ps -ef|grep pid,top命令查询夯住的的进程,删除某进程:kill -9 pid1 pid2 pid3
  4. 也可以使用kill -9 $(pgrep -f 关键字)(其中的$符号是把纵向输出变成横向输出)
  5. 杀死进程一定要看清哪些是需要杀死的

yum安装软件和卸载软件

  1. 查找本地yum源中的软件:yum search xxx
  2. 安装软件:yum install -y xxxx
  3. 移除yum源中软件:yum remove xxxx
  4. 查找已经安装的软件:rpm -qa|grep http
    在这里插入图片描述
  5. 卸载软件:rpm -e --nodeps httpd-tools-2.4.6-90.el7.centos.x86_64,其中 --nodeps是去掉卸载校验,直接删除;rpm -e httpd-tools-2.4.6-90.el7.centos.x86_64,会报错:error: Failed dependencies:
    httpd-tools = 2.4.6-90.el7.centos is needed by (installed) httpd-2.4.6-90.el7.centos.x86_64

压缩和解压缩

  1. 压缩:zip,zip -r xxx.zip ./* 光标在文件夹里面压缩 ,zip -r fei.zip fei/* 光标在文件夹外面压缩
  2. 解压:unzip fei.zip
  3. 解压 tar -xzvf hadoop-2.6.0-cdh5.16.2.tar.gz
  4. 压缩tar -czvf hadoop-2.6.0-cdh5.16.2.tar.gz hadoop-2.6.0-cdh5.16.2/*

linux自带的调度工具

  1. 添加一个调度任务crontab -e
    * * * * * /root/test.sh >> /root/test.log
    *分布代表分,小时,日,月,周,*代表每 ,
    /6就是乘以6,/6 * * * * /root/test.sh >> /root/test.log,就是每隔6分钟执行一次
  2. 查看调度任务crontab -l
  3. 面试题:每隔10秒执行一次
    vi test1.sh
    #!/bin/bash
    for((i=1;i<=6;i++));
    do
            date
            sleep 10s
    done
    exit
    

后台执行命令

  1. nohup ./test.sh & 手动启动脚本 看日志 开发维护 测试 ,nohup ./test.sh >
    /root/test.log 2>&1 & 生产上

软连接

  1. ln -s 原path 目标path,如 ln -s /data01/log/hbase /var/log/hbase ,注意不要写成ln -s /data01/log/hbase/ /var/log/hbase,同时注意权限的问题

系统配置

  1. /etc/hosts的前两行内容不能删除,否则其他服务器无法访问
    在这里插入图片描述
  2. 开发的时候云主机配置/etc/hosts : 内网ip hostname
  3. windows开发情况下配置hosts: 外网 hostname

场景案例

  • 在centos部署大数据组件,发现一个错误 Connection refused
  • 有可能是防火墙打开,或者某个端口对外没有暴露,或者像云服务器的安全机制没有打开,比如阿里云盾之类的
  • 测试方法:先ping ip看是否通,在telnet ip port 测试ip和端口号是否通
  • linux安装telnet:yum install -y telnet,然后which telnet查看是否安装成功

面试题

登录服务器,如何打开xxx软件的web界面:

  1. 输入命令ifconfig,查看ip
  2. 查找该软件的进程pid: ps -ef|grep xxx
  3. 通过进程查找端口port: netstat -nlp|grep pid
    在这里插入图片描述
    0.0.0.0:22 :当前的ip
    :::22 :当前的ip
    192.168.0.3:22 :当前的ip
    如果显示如上的当前ip,是windows服务器和其他服务器可以访问的
    127.0.0.1:22
    localhost:22
    如果显示本地ip,本地自己访问自己, window和其他服务器无法进行访问
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值