zoukankan      html  css  js  c++  java
  • Linux学习笔记

    零、远程登录

    ssh 用户名@ip地址

    一、管道符“|”作用

    “|”是Linux管道命令操作符,简称管道符。
    使用此管道符“|”可以将两个命令分隔开,“|”左边命令的输出就会作为“|”右边命令的输入,此命令可连续使用,
    第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。

    二、关闭执行中的命令

    Ctrl + C 终止 是强制中断程序的执行,进程已经终止。
    Ctrl + Z 是将任务中止(暂停的意思),但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,用户可以使用fg/bg操作继续前台或后台的任务,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行。
    Ctrl + S 挂起
    Ctrl + Q 解挂
    Ctrl + D 退出Shell

    三、切换用户

    su 命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。 

    #语法
    su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]

    四、防火墙

    #1、开启防火墙 
        systemctl start firewalld
    
    #2、停用防火墙
      systemctl stop firewalld
    
    #3、禁用防火墙
      systemctl disable firewalld
    
    #4、开放指定端口
          firewall-cmd --zone=public --add-port=8848/tcp --permanent
     命令含义:
    --zone #作用域
    --add-port=8848/tcp  #添加端口,格式为:端口/通讯协议
    --permanent  #永久生效,没有此参数重启后失效
    
    #5、重启防火墙
       firewall-cmd --reload
    
    #6、防火墙状态
       systemctl status firewalld

    五、端口号

    yum install lsof
    
    #1、用于查看某一端口的占用情况
    lsof -i:端口号 
    
    #2、用于查看指定端口号的进程情况
    netstat -tunlp | grep 端口号
    
    #3、ss命令
    ss -lnt
    
    #4、查看当前所有tcp端口
    netstat -ntlp
    
    #5、用于查看指定端口号的进程情况
    netstat -ntulp | grep 端口号

    通过端口查看进程

    netstat -nap | grep 端口号
    
    # -p 显示端口进程
    #示例
    #命令:
    netstat -nap | grep 8081
    #结果:
    tcp        0      0 0.0.0.0:8081                0.0.0.0:*                   LISTEN      9836/nginx 

    六、进程

    #列出与本次登录有关的进程信息
    ps -l
    
    #查询内存中进程信息
    ps -aux
    
    #查询***进程的详细信息
    ps -aux | grep ***
    
    #查看内存中进程的动态信息
    top
    
    #杀死进程
    kill -9 pid

    通过pid查看占用端口

    netstat -nap | grep 进程pid

    示例

    #查看nginx进程pid:
    命令:
    ps -ef | grep nginx
    结果:
    root      9836     1  0 Jul11 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
    nobody    9841  9836  0 Jul11 ?        00:00:09 nginx: worker process      
    
    #通过nginx进程pid查看占用端口(进程pid为9836)
    命令:
    netstat -nap | grep 9836
    结果:
    tcp        0      0 0.0.0.0:8081                0.0.0.0:*                   LISTEN      9836/nginx          
    tcp        0      0 0.0.0.0:81                  0.0.0.0:*                   LISTEN      9836/nginx          
    tcp        0      0 0.0.0.0:8082                0.0.0.0:*                   LISTEN      9836/nginx          
    tcp        0      0 0.0.0.0:8083                0.0.0.0:*                   LISTEN      9836/nginx    

    七、文件上传下载

    #安装
    yum install -y lrzsz
    
    #下载文件
    sz filename
    
    #上传文件
    rz

    八、文件移动复制

    cp dir1/a.doc dir2 #表示将dir1下的a.doc文件复制到dir2目录下
    
    cp -r dir1 dir2 #表示将dir1及其dir1下所包含的文件复制到dir2下
    
    cp -r dir1/. dir2 #表示将dir1下的文件复制到dir2,不包括dir1目录
    
    cp -r dir1/. ./ #复制文件到当前目录, ./表示当前目录
    
    #说明:cp参数 -i:询问,如果目标文件已经存在,则会询问是否覆盖

    重命名

    mv AAA BBB #表示将AAA改名成BBB

    移动

        命令格式:mv [-fiv] source destination
        参数说明:
        -f:force,强制直接移动而不询问
        -i:若目标文件(destination)已经存在,就会询问是否覆盖
        -u:若目标文件已经存在,且源文件比较新,才会更新
        如将/test1目录下的file1复制到/test3 目录,并将文件名改为file2,可输入以下命令:
        mv /test1/file1 /test3/file2

    九、网络http

    #文件传输
    curl
    
    #文件下载
    wget

    十、解压缩

    zip、unzip

    #安装zip工具
    yum install -y unzip zip
    
    #压缩mydata目录
    zip -r mydata.zip mydata
    
    #直接解压
    unzip mydata.zip
    
    #验证zip包是否完整
    unzip -t mydata.zip
    
    #查看压缩包里面的内容
    unzip -v mydata.zip

    tar

    #解压 tar.gz 后缀的文件
    tar -zxvf filename

    #解压 tar.xz 后缀的文件
    tar xf node-v12.18.3-linux-x64.tar.xz

    参数说明

    -c :建立一个打包文件;
    -x :解开一个打包文件;
    -t :查看 tar包里面的文件;
    (特别注意,在选择参数时,c/x/t仅能存在一个,不可同时存在,因为不可能同时压缩与解压缩。)
    -z :打包后用gzip压缩,生成.tar.gz文件;
    -j :打包后用zip2压缩,生成.tar.bz2文件;
    -v :压缩的过程中显示文件;
    -f :使用文件名,请留意,在f之后要立即接文件名,不要再加其它参数;
    -p :保持原文件的属性;
    -P :使用绝对路径来压缩;
    -N :设定日期(yyyy/mm/dd),比后面接的日期还要新的文件才会被打包进新建的文件中;
    --exclude FILE:在打包的过程中,不要将FILE打包。

    十一、保持jar后台运行

    #问题:直接用java -jar xxx.jar,当退出或关闭shell时,程序就会停止掉。以下方法可让jar运行后一直在后台运行。
    
    #1.在末尾加入 & 符号
    java -jar xxx.jar &  
    
    #2.完成以下3步,退出SHELL后,jar服务一直在后台运行。1)执行java -jar xxx.jar后
    (2)ctrl+z 退出到控制台,执行 bg
    (3)exit
    
    #3.将java -jar xxxx.jar 加入  nohup   &中间,也可以实现
    nohup java -jar xxxx.jar & 
    nohup是永久执行的意思,而 & 是指在后台运行。就是指,用nohup运行的命令或程序可以永久的执行下去,和用户终端没有关系,例如我们断开ssh连接都不会影响他的运行。
    
    注意:当我们用 & 运行的程序是守护进程时,我们断开终端后这个守护进程会继续在后台运行。如果这个进程不是守护进程时,当我们断开终端后,这个进程也跟着断开停止运行了。

    参考资料:

    Linux su命令

    linux下查看端口占用 

    Linux ss命令详解

    Linux中查看进程状态信息

    ps -ef|grep详解

    Linux unZip/Zip的安装及使用

    Windows下使用CMD/Powershell通过SSH协议远程连接Linux服务器

    linux 远程连接ssh提示IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY解决

    Linux下文件或文件夹的复制(拷贝)

    tar命令参数详解

    Linux之nohup命令

  • 相关阅读:
    [面试题]什么是面向对象编程
    面向对象编程的新手理解
    Object of type type is not JSON serializable
    STL---map
    STL---llist
    Div标签使用inline-block有间距
    STL---vector
    KMP算法
    算法06
    算法05
  • 原文地址:https://www.cnblogs.com/wangwangfei/p/13387581.html
Copyright © 2011-2022 走看看