zoukankan      html  css  js  c++  java
  • Linux命令

    Linux基础

    致未来的自己

    1.01的365次方=37.8
    1.02的365次方=1377

    0.99的365次方=0.03
    0.98的365次方=0.0006

    不积跬步无以至千里。

    1.03的3次方*0.99的2次方=1.01
    三天打鱼两天晒网


    无操作系统--裸机
    用户--应用程序--系统调用--计算机硬件

    (桌面,服务式,嵌入式,移动设备)操作系统

    桌面操作系统:
    Windows稳定性,安全性略差
    MacOS适用开发
    Linux应用软件少

    服务器操作系统:
    Linux安全,稳定,免费,占有率高
    Windows Server付费,占有率低

    嵌入式操作系统:
    Linux

    移动设备操作系统:
    IOS
    Android(基于Linux)

    Linux内核是核心Ubuntu没有盘符,/是根目录,子目录有:
    /bin #可执行的二进制文件
    /etc #系统配置
    /home #用户登录后的目录
    /lib
    /usr

    ctrl shift = #放大终端字体
    ctrl - #缩小终端字体

    B KB MB GB TB PB EB ZB YB
    -------------------------------------目录相关命令------------------------
    /******命令区分大小写******/
    基本使用:
    ls (list) #查看文件夹内容
    ls -a #查看文件包括隐藏文件
    ls -l -h #包括文件大小

    pwd (print work directory) #查看当前所在文件夹
    cd (change directory) #切换文件夹
    cd/cd ~ #切换到当前用户的主目录(/home/用户目录)

    touch (touch) #如果文件不存在,新建文件
    touch .a.txt #创建隐藏文件

    mkdir (make directory) #创建目录
    mkdir -p a/b/c/d #递归创建目录

    rm (remove) #删除指定的文件名
    rm -r 文件夹名 #删除文件夹
    rm -f #强制删除,忽略不存在的文件
    rm -r #递归删除目录下的内容(删除整个文件夹)

    tree #以树状图列出目录结构

    cp ~/Document/a.txt ./b.txt #复制文件并重命名
    cp -i ~/Document/a.txt #提示是否覆盖已存在的文件
    cp -r a b #复制整个文件夹到b

    mv 源文件 目标路径+文件 #移动文件
    mv -i 源文件 目标路径+文件 #移动前提示是否覆盖
    mv可间接改目录名

    cat (concatenate) #查看文件内容
    cat -b 文件 #显示行号+文件内容(跳过空行)
    cat -n #显示所有行号+内容
    more #显示部分内容(80%),分屏显示文件内容

    grep 搜索内容 a.txt #搜索文件中的内容
    grep -n 搜索内容 a.txt #显示包含搜索内容的行
    grep -vn 搜索内容 a.txt #显示所有行号+搜索内容
    grep -i 搜索内容 a.txt #忽略大小写的搜索内容
    模式查找(正则表达式)
    ^a 行首,搜寻以a开头的行
    b$ 行尾,搜寻以b结尾的行

    clear (clear) #清屏
    命令 --help #查看命令帮助
    ctrl c #不执行当前命令

    通配符 * #代表任意多个字符
    ? #只能代表一个字符
    [] #可写多个


    重定向:将本应输出到终端中的内容输出到指定文件中(>表示输出,会覆盖原有文件的内容;>>表示追加输出)

    echo 可显示文件内容

    可以把一个命令的输出作为另一个命令的输入
    ls -sh ~ -a | more 显示主目录的所有文件(包含隐藏文件)分屏显示
    ls -sh ~ -a | grep do 查询包含do的文件或文件夹

     

    -------------------------------远程管理命令------------------------------
    shutdown -r now 重新启动系统
    shutdown now 立即关机
    shutdown 20:25
    shutdown +10 10分钟后关机
    shutdown -c 取消操作

    网络与ip
    ifconfig 网卡信息
    ifconfig | grep inet 管道查询关键字
    ping 检测目标ip地址的连接是否正常
    ctrl C 停止ping

    SSH或XShell都可以连接
    ssh客户端————ssh服务器
    数据加密、压缩传输,安全

    域名与端口号
    SSH服务器——22
    Web服务器——80
    HTTPS——443
    FTP服务器——21

    ssh -p 22 hadoop@172.12.23.123
    sudo shutdown -r now #以超级用户身份执行重启

    scp(secure copy)远程拷贝文件
    scp -P a.txt hadoop@python:/usr/hadoop #把Ubuntu下的a.txt拷贝到后者
    scp -P -r a hadoop@python:/usr/hadoop #把Ubuntu下的a文件夹及内容拷贝到..
    免密登录
    ~/.ssh$ ssh-keygen 按几次回车
    ~/.ssh$ ssh-copy-id hadoop@10.10.66.129

    SSH非对称加密算法:
    使用公钥加密的数据,需要使用私钥进行解密,
    使用私钥加密的数据,需要使用公钥进行解密。
    客户端(私钥加密)——>服务器(公钥解密)
    服务器(公钥加密)——>客户端(私钥解密)

    配置别名:
    ~/.ssh/config (创建此文件)
    Host jery
    HostName 10.10.66.129
    User jery
    port 22


    ----------------------------------用户权限---------------------------------------
    对文件/目录的权限——可读,可写,可执行(excute)
    对用户和管理员进行分组,给组设置权限

    ls -l 详细信息(从左到右依次)
    权限:第一个字符如果是d表示目录;
    硬连接数:有多少种方式可以访问到当前目录/文件;
    拥有者:家目录下的拥有者,也就是当前用户;
    组:组名和用户名可以相同;
    大小:;
    时间:;
    名称:;

    chmod +/-rwx 文件名/目录名 #修改文件/目录权限
    ./文件名 #执行文件
    目录需要可执行权限才能打开和执行其下文件

    超级用户(root)
    sudo (substitute user)使用另一个用户的身份
    使用sudo时,必须先输入密码,之后有5分钟的有效期限,过期必须重新输入密码

    --------------------------------组管理-------------------------------------------

    groupadd 组名 #添加组
    groupdel 组名 #删除组

    chgrp -R 组名 文件/目录名 #递归修改文件/目录的所属组

     

    -----------------------------------用户管理-------------------------------------
    useradd -m -g组 用户名 #-m自动创建用户的家目录并设置目录权限
    sudo passwd 密码 #添加密码
    id #查看当前用户的登录信息

    默认创建的用户无法执行sudo命令,
    usermod -G sudo 用户名 #添加到sudo的附加组

    which 命令
    su - 用户名 #切换其他用户,su后不接内容,则直接转到root用户

    修改文件权限
    chown 用户名 文件名/目录名 #修改拥有者
    chgrp -R 组名 文件名/目录名 #修改组
    chmod -R 755 文件名/目录名 #755表示拥有者|组|其他用户的权限

    可读权限数字为4 可写权限为2 可执行权限为1
    7=4+2+1为最高权限

    ---------------------------------------系统信息---------------------------------------------
    date #查看系统时间
    cal #查看日历

    磁盘信息:
    df -h #disk free显示磁盘剩余空间
    du -h目录名 #disk usage显示目录下的文件大小

    进程信息:
    ps aux #process status查看进程的详细情况
    a #终端上的所有进程,包括其他用户的进程
    u #显示进程的详细状态
    x #显示没有控制终端的进程
    结束进程:
    top #动态排序显示进程详细情况,按q退出
    htop #彩色显示
    kill 进程代号 #进程代号就是PID

    -----------------------------------其他命令-----------------------------------------
    查找文件:
    find 路径 -name "*.txt" #通配符查找

    软链接:(类似快捷方式)
    ln -s 被链接的源文件 链接文件名 #源文件要绝对路径全名。

    打包解包:
    tar -cvf 打包文件.tar 被打爆的文件/路径
    tar -xvf 解包文件.tar
    #c创建打包文件
    #x解开档案文件
    #v列出详细过程,显示进度
    #f指定文件名称,后跟.tar文件

    压缩/解压缩:
    tar -zcvf 打包文件.tar.gz 被压缩的文件/路径
    tar -zxvf 解包文件.tar.gz
    tar -zxvf 解包文件.tar.gz -C 目标路径

    bzip2:
    tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径
    tar -jxvf 解包文件.tar.bz2
    tar -jxvf 解包文件.tar.bz2 -C 目标路径

    软件安装:(apt ——Advanced Packaging Tool)
    sudo apt install 软件包
    sudo apt remove 软件包
    sudo apt upgrate 软件包 #升级,自动检查更新

    apt安装先查找主服务器,(提供所有安装包的软件源)

    -----------------------------------vi编辑器-----------------------------------------------
    (visual interface)vim是升级版

    vi 文件名 #若文件不存在,则会自动生成
    yy 100p #复制该行100次
    u #撤销(undo)
    ctrl r #恢复撤销(redo)

    vi 文件名 +行数 #直接跳到该行
    vi被强行退出后,打开可以先删除交换文件

    三种工作模式:
    命令模式:打开后的模式,定位,翻页,复制,粘贴。删除......
    i——insert
    Esc
    wq——write&quit
    插入命令:
    l #在首行插入文本
    o #当前行后插入空行
    O #当前行前插入空行
    a #在当前字符后添加文本
    A #在行末添加文本

    左右移动:
    h向左 j向下 k向上 l向右
    w向后移动一个单词(word)
    b向前移动一个单词(back)
    0行首 $行尾

    行数移动:
    gg #文件顶部
    数字gg/数字G #跳转到具体行数

    屏幕移动:
    ctrl b #向上翻页
    ctrl f #向下翻页

    H(head) #屏幕顶部
    M(middle) #屏幕中间
    L(low) #屏幕底部

    移动:
    段落移动:
    { #向上寻找段落
    } #向下寻找段落
    %——在段落括号之间快速切换

    标记:(某一块代码需要参考其他位置的代码,稍后处理)
    mark a~z #也就是m 标记名称
    ’标记名称 #快速返回

    选中文本:(需转到可视模式)
    v #可视模式(正常模式选择文本)
    V #可视行模式(选中光标经过的完整行)
    ctrl v #可视块模式(垂直方向选中文本)

    删除命令:
    x #删除所在字符(cut)
    d #和移动命令结合(delete)
    dd #删除所在行
    D #删除到行尾
    数字+上述命令也可执行

    dw #从光标位置删除到单词末尾
    d0 #从光标位置删除到一行的起始位置
    d} #从光标位置删除到段落结尾
    ndd #从光标位置删除向下删除n行
    d代码行G #从光标所在行删除到指定代码行 之间的所有代码
    d'a #从光标所在行删除到 标记a之间的所有代码

    复制和粘贴:
    y #复制(copy)
    yy #复制一行
    nyy #复制多行
    p #粘贴(paste)

    替换命令:
    r #替换当前字符串
    R #替换光标后的字符

    缩排与重复执行:
    >> #向右一次性增加四个空格
    << #向左一次性减少四个空格
    . #重复上次命令

    查找:
    /内容 #查找指定内容
    n #查找下一个
    N #查找上一个

    * #从光标所在位置向下寻找所在单词
    # #从光标所在位置向上寻找所在单词

    :%s/旧文本/新文本/g #全局替换
    s/旧文本/新文本/g #可视区域替换,首先选中替换文字的范围

    确认替换:
    :%s/旧文本/新文本/g #y 替换 n 不替换 a 替换所有 q 推出替换

    编辑命令和数字连用:
    输入10,表示要重复10次;
    输入i,进入编辑模式
    输入要重复的内容;
    ESC返回命令模式,将自动操作

    ******正常开发时,进入编辑模式之前,不要输入任何数字。*******

    可视块模式给多行代码增加注释:
    移动到要添加注释的第一行代码,按^跳到行首;
    按ctrl v 进入可视块模式;
    使用j向下连续选中要添加的代码行;
    输入i进入编辑模式,在行首插入,一定要使用l;
    输入注释符号#;
    ESC返回命令模式

    笔记有点乱,望理解!

     

  • 相关阅读:
    java接入钉钉机器人(带源码)
    使用java做一个能赚钱的微信群聊机器人(2020年基于PC端协议最新可用版)
    侠说java8--Stream流操作学习笔记,都在这里了
    Elasticsearch调优篇-慢查询分析笔记
    网络探测和抓包工具 wireshark
    window10远程ubuntu18.04
    springdataJPA mysql myisam innodb
    命令集
    java tmpdir 启动 kafka 命令行
    java jar 启动命令
  • 原文地址:https://www.cnblogs.com/Jery-9527/p/9864043.html
Copyright © 2011-2022 走看看