zoukankan      html  css  js  c++  java
  • linux学习(1)常用命令入门

    背景:作为一名技术人员,我们在开发过程中经常会接触到服务器(通俗解释为:发布服务的机器)

    java世界里大部分服务器为linux服务,下面介绍下linux操作系统中开发人员常用的linux知识。

    1.查询日志命令

    1. 通常查找出错误日志 cat logs/error.log | grep 'nick' , 这时候我们还有个需求就是输出当前这个日志的前后几行:

    cat catalina.out | grep -C 5 '订单支付' 显示file文件里匹配foo字串那行以及上下5行
    cat catalina.out | grep -B 5 '取消订单' 显示"取消订单"及前5行 
    cat catalina.out | grep -A 5 'buyInfo' 显示foo及后5行

    2.find命令

    find -name april* 在当前目录下查找以april开始的文件
    find -name april* fprint file 在当前目录下查找以april开始的文件,并把结果输出到file中
    find -name ap* -o -name may* 查找以ap或may开头的文件
    find /mnt -name tom.txt -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件
    find /mnt -name t.txt ! -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件
    find /tmp -name wa* -type l 在/tmp下查找名为wa开头且类型为符号链接的文件
    find /home -mtime -2 在/home下查最近两天内改动过的文件
    find /home -atime -1 查1天之内被存取过的文件
    find /home -mmin +60 在/home下查60分钟前改动过的文件
    find /home -amin +30 查最近30分钟前被存取过的文件
    find /home -newer tmp.txt 在/home下查更新时间比tmp.txt近的文件或目录
    find /home -anewer tmp.txt 在/home下查存取时间比tmp.txt近的文件或目录
    find /home -used -2 列出文件或目录被改动过之后,在2日内被存取过的文件或目录
    find /home -user cnscn 列出/home目录内属于用户cnscn的文件或目录

    3.rm删除命令

    复制代码
    rm -rf /usr/local/java/hello.java
    
    详解:
     -d或--directory  直接把欲删除的目录的硬连接数据删成0,删除该目录。
     -f或--force  强制删除文件或目录。
     -i或--interactive  删除既有文件或目录之前先询问用户。
     -r或-R或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
     -v或--verbose  显示指令执行过程。
    复制代码

    4.tar命令

    复制代码
    目录打包,元目录为/usr/local/james/
    tar -C /usr/local/ -czvf /usr/local/james.tar james/*
    
    tar -C /usr/local/src/ -czvf /usr/local/src/jamessrc.tar james/*
    
    解压成目录
    tar zxvf /home/dmsmagazine/james.tar -C /usr/local
    
    tar zxvf /home/dmsmagazine/jamessrc.tar -C /usr/local/src
    复制代码

    5.cp复制命令

    cp -R /usr/local/tomcat/online ../backup/online20130109

    6.scp远程复制

    复制代码
    #ssh-keygen -t rsa
    结果如下
    
    QUOTE:
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/username/.ssh/id_rsa):#回车
    Enter passphrase (empty for no passphrase):#回车
    Enter same passphrase again:#回车
    Your identification has been saved in /home/username/.ssh/id_rsa.
    Your public key has been saved in /home/username/.ssh/id_rsa.pub.
    The key fingerprint is:
    38:25:c1:4d:5d:d3:89:bb:46:67:bf:52:af:c3:17:0c username@localhost
    Generating RSA keys:
    Key generation complete.
    
    会在用户目录/home/username/.ssh/产生两个文件,id_rsa,id_rsa.pub
    
    把linux100主机上的id_rsa.pub文件拷贝到linux200主机的root用户主目录下的.ssh目录下,并且改名为authorized_keys
    
    设置文件和目录权限:
     
    设置authorized_keys权限
     $ chmod 600 authorized_keys 
    设置.ssh目录权限
     $ chmod 700 -R .ssh
    
    要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效
    
    
    这样在linux100主机上使用scp命令复制文件到linux200上将不提示输入密码了,直接复制了
    
    --------------------------------------------------------------------------------------------
    如果两台主机(A、B)同时要拷贝文件到同一台主机(C)上
    先按上述方法操作一台主机(A)
    然后再将另一台主机(B)的id_rsa.pub不要改名,拷贝到主机(C)上
    再执行以下命令,将主机(B)的id_rsa.pub添加到authorized_keys中
    cat id_rsa.pub >> authorized_keys

    6.上传下载

    linux中上传下载可以使用winSCP工具,也可以使用rz,sz工具
    
    安装
    yum -y install lrzsz 
    
    rz 上传
    sz 下载
  • 相关阅读:
    PHP 使用 GET 传递数组变量
    Java实现 蓝桥杯 算法训练 数据交换
    Java实现 蓝桥杯 算法训练 数据交换
    Java实现 蓝桥杯 算法训练 数据交换
    Java实现 蓝桥杯 算法训练 景点游览
    Java实现 蓝桥杯 算法训练 景点游览
    Java实现 蓝桥杯 算法训练 景点游览
    Java实现 蓝桥杯 算法训练 二进制数数
    Java实现 蓝桥杯 算法训练 二进制数数
    Java实现 蓝桥杯 算法训练 二进制数数
  • 原文地址:https://www.cnblogs.com/weiguo21/p/2847780.html
Copyright © 2011-2022 走看看