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 下载
  • 相关阅读:
    the error about “no such file or directory”
    Unable to Distribute in Xcode5?
    第一次连接数据库mongodb踩的坑
    在Mac下安装mongodb
    sudo brew install mongodb报错
    nodemon 热更新
    npm install 之前做的事
    JS事件委托应用场景
    解决CDN传统方法引入Iview icon 不显示问题
    React 入门
  • 原文地址:https://www.cnblogs.com/weiguo21/p/2847780.html
Copyright © 2011-2022 走看看