• Java开发人员必须掌握的Linux命令(一)


    子曰:“工欲善其事,必先利其器。“

    目录

    1、登录服务器SSH命令

    简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。

    最基本的用法:

    常用格式:ssh [-l login_name] [-p port] [user@]hostname

    例子:

    ssh 192.168.1.110
    ssh -l root 192.168.0.11
    # 比较常用 
    ssh root@192.168.0.11
    

    图解:

    ssh示例

    2、传输文件scp命令

    scp命令用于Linux服务器之间复制文件和目录。scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。

    最基本的用法:

    常用格式:scp [可选参数] file_source remote_username@remote_ip:remote_folder

    例子:

    scp /home/test.log root@192.168.1.110:/home/happy/
    

    注意: 使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。

    3、查看系统状态 top、free、df

    top命令用于实时显示 process 的动态。可以配合用来查询vm的一些问题!具体参数不做介绍。

    # 表示更新两次后终止更新显示
    top -n 2
    #表示更新周期为3秒
    top -d 3
    # 显示进程号为2586的进程信息,CPU、内存占用率等
    top -p 2586
    更新显示二次的结果输入到名称为 top.log 的档案里
    top -n 2 -b < top.log
    

    free命令用于显示内存状态。

    # 显示内存使用信息 , -h 选项为根据大小适当显示(人类可以读懂的方式)
    free -h
    # 每10s 执行一次命令
    free -hs 10
    

    df 以磁盘分区为单位查看文件系统,可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

    # 查看磁盘信息, -h 选项为根据大小适当显示
    df -h
    
    

    du会显示指定的目录或文件所占用的磁盘空间。用于查看当前目录的总大小。

     # 通过排序的方式显示前十条
    [root@localhost ~]# du -am  | sort -nr | head -n 10
    183	./jdk-8u191-linux-x64.tar.gz
    183	.
    1	./.viminfo
    ....
    
    

    4、压缩/解压tar命令

    tar是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。

    • 压缩文件

    命令 : tar -zcvf 备份文件.tar.gz 备份文件/目录

    后缀也可以是.tgz。

    # 创建一个文件
    [root@localhost ~]# touch text.log    
    # 压缩 text.tar.gz
    [root@localhost ~]# tar -zcvf text.tar.gz text.log 
    
    [root@localhost ~]# tar -zcvf text.tgz text.log 
    text.log
    [root@localhost ~]# ll
    -rw-r--r--. 1 root root       114 3月  12 22:45 text.tgz
    
    • 列出压缩文件内容

    命令: tar -ztvf 备份文件.tar.gz 或 tar -ztvf 备份文件.tgz

    [root@localhost ~]# tar -ztvf text.tar.gz 
    -rw-r--r-- root/root         0 2019-03-12 22:41 text.log
    [root@localhost ~]# tar -ztvf text.tgz 
    -rw-r--r-- root/root         0 2019-03-12 22:41 text.log
    
    
    • 解压文件

    命令: tar -zxvf 备份文件.tar.gz 或 tar -zxvf 备份文件.tgz

    [root@localhost ~]# tar -zxvf text.tar.gz 
    -rw-r--r-- root/root         0 2019-03-12 22:41 text.log
    [root@localhost ~]# tar -zxvf text.tgz 
    -rw-r--r-- root/root         0 2019-03-12 22:41 text.log
    

    tar -z 压缩(c)、查看(t)、解压(x)vf

    • -z或--gzip或--ungzip 通过gzip指令处理备份文件
    • -c或--create 建立新的备份文件
    • -t或--list 列出备份文件的内容
    • -x或--extract或--get 从备份文件中还原文件
    • -v或--verbose 显示指令执行过程
    • -f<备份文件>或--file=<备份文件> 指定备份文件

    5、修改文件属性chmod命令

    Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以藉以控制文件如何被他人所调用。

    读,写,执行的权限。r=4,w=2,x=1

    • 若要rwx属性则4+2+1=7;
    • 若要rw-属性则4+2=6;
    • 若要r-x属性则4+1=5。

    一般情况,赋值 命令

    chmod 755 file
    

    此外chmod也可以用字母来表示权限,这里就不进行说明。

    6、查找文件find命令

    find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

    find . -iname *.txt(大小写都匹配)
    find . -type d(当前目录下的所有子目录)
    find /usr -type l(当前目录下所有的符号链接)
    find /usr -type l -name "z*" -ls(符号链接的详细信息 eg:inode,目录)
    find /home/test -size +250000k(超过250000k的文件,当然+改成-就是小于了)
    find /home/test f -perm 777 -exec ls -l {} ; (按照权限查询文件)
    find /home/test -atime -1  1天内访问过的文件
    find /home/test -ctime -1  1天内状态改变过的文件    
    find /home/test -mtime -1  1天内修改过的文件
    find /home/test -amin -1  1分钟内访问过的文件
    find /home/test -cmin -1  1分钟内状态改变过的文件    
    find /home/test -mmin -1  1分钟内修改过的文件
    #----------
    #查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们
    find /var/log -type f -mtime +7 -ok rm {} ;
    
    #查找系统中所有文件长度为0的普通文件,并列出它们的完整路径
    find / -type f -size 0 -exec ls -l {} ;
    

    7、查询字符 grep命令

    grep命令用于查找文件里符合条件的字符串。

    grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。

    # 显示所有以d开头的文件中包含test的行。
    grep 'test' d* 
    # 显示在text1,text2,text3文件中匹配test的行。
    grep 'test' text1 text2 text3
    # text文件中显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
    grep '[a-z]{5}' text
    
    # 查找文件名中包含 test 的文件中不包含test 的行
    grep -v test *test*
    

    8、查看端口占用netstat命令

    netstat命令用于显示网络状态。

    利用netstat指令可让你得知整个Linux系统的网络情况。

    # 查看端口1212的使用情况
    netstat -tln | grep 1212
    查看端口属于哪个程序
    lsof -i :1212
    

    9、查看文件内容 tail命令

    tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。

    tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

    真实使用:

    # 查看日志
    tail -f  xxxx.out
    # 查看 100行日志
    tail  -n100 xxxx.out
    # 查看带有'test'的日志
    tail -f | grep 'test' 这样可以只显示
    

    10、停止应用kill命令

    kill命令用于删除执行中的程序或工作。

    查找tomcat服务,并彻底杀死进程。

    # 查找tomcat服务器
    ps aux | grep tomcat
    root  25689
    # 杀掉进程 -9 强制杀
    kill -9 25689
    

    后续还会整理需要掌握的命令,敬请期待!


    谢谢你的阅读,如果您觉得这篇博文对你有帮助,请点赞或者喜欢,让更多的人看到!祝你每天开心愉快!



    不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!

    博客首页 : http://blog.csdn.net/u010648555

    愿你我在人生的路上能都变成最好的自己,能够成为一个独挡一面的人
    image

    © 每天都在变得更好的阿飞云

  • 相关阅读:
    Show, Attend and Tell: Neural Image Caption Generation with Visual Attention
    (转)Awesome GAN for Medical Imaging
    (转)Awesome Object Detection
    (转)Awesome PyTorch List
    深度学习课程笔记(十七)Meta-learning (Model Agnostic Meta Learning)
    深度学习课程笔记(十六)Recursive Neural Network
    (转)Multi-Object-Tracking-Paper-List
    深度学习课程笔记(十五)Recurrent Neural Network
    (转)Awsome Domain-Adaptation
    论文阅读:Learning Visual Question Answering by Bootstrapping Hard Attention
  • 原文地址:https://www.cnblogs.com/aflyun/p/10520542.html
Copyright © 2020-2023  润新知