当前位置首页 > Linux知识

Linux常用命令表

阅读次数:169 次  来源:admin  发布时间:
command(指令) [-options(选项)] arg(参数) agr2 ...
// 一条指令的三要素之间要用空格隔开
// 多个命令要使用`;`隔开
// 如果一条命令不能再一行写完,在行尾使用`\`标明该条指令未结束

Tab键
    // 按一下tab键表示文件名补齐
    // 按两下tab键表示命令补齐


基本常用
    man 命令名称 # 查询手册
        - man 查看常数代表查找范围 例如c库 man 3 xxx
        
    echo将后边的文本显示出来 默认输出在屏幕上
    # echo {num1..num2} 类似python range(num1,num2)  在num1前加上前缀类似字符串拼接 例如 echo{01,10} ->00,01...10 或 echo num{1,5} -> num1,num2...num5
        - n        # 表示取消输出每一行结尾的换行符
        - e        # 让echo支持 \n 等特殊转义字符
        - A    # 显示各种特殊符号(换行等)

    pwd # 当前目录

    ls(list)    /name    # 查看name中的文件
        - a            # 查看隐藏文件
        - l            # 查看name中详细的文件
        - F            # 在目录文件后加 "/" 在其他文件类型后加各种符号区分
        - t            # 按照文件的修改时间进行排序
        - r            # 倒叙排列
        - h            # 人类可读
        - i            # 查看inode值
        - lh        # 查看文件大小等
        - lhi        # 每一列的含义(以空格拆分每一列)分别是     inode号码  文件的类型 文件权限(.与selinux有关)  文件的硬链接数量 文件的所有者 用户属于的家庭 文件的大小 文件的修改时间 文件名(文件名不是文件的属性)
        
    history [num]    # 显示历史命令 如果指定num则显示固定的行
    
    `其他命令` # 命令置换
        例如: ls `pwd`  # 先执行pwd的输出 然后再执行 ls pwd输出
        

    cp(copy)     # 复制    cp/name/files /目标文件夹 # 赋值files文件到目标文件夹
# 备份 cp/name/files /name/files.bak(后缀随便加) 原地备份
        - r     # 递归复制目录及其目录下的内容
        - p     # 复制的时候保持属性不变
        - a        # 复制所有 类似 -p,d,r
        
    
    mv(move)    # 移动 mv /name/ /目标/ 将name文件夹移动到目标文件夹    
        # 可以进行改名操作  mv old_name new_name


    rm(remove)    # 删除 rm/files.txt  -> y/n    删除files文件 -> 删除/取消
        - f     # 删除文件不提示
        - r        # 递归删除目录及其目录下的内容
        - rf    # 递归删除目录及其目录下的内容不提示
        

用户相关
    whoami # 查看当前用户
    hostname # 查看当前主机名
        
    useradd 用户名        # 添加用户
        -d    指定用户家目录
        -g    指定用户组
        -G    指定用户的附加组
        -s    指定登录后的shell
        -u    指定创建用户的uid
        -r    创建一个系统组  例如 useradd -r xxx 创建一个xxx系统用户 uid是根据系统分配倒序 centos7 从999-1 centos6 从499-1
        

    usermode 用户名          # 更改用户的属性 与添加用户参数类似
        -l 新用户名 旧用户名 # 改名
        -m   # 如果没有就创建
     
    
    userdel  用户名        #  删除用户
        - f 强制删除用户
        - r 同时删除用户以及家目录

    groupadd 用户组名        # 创建用户组
    groupdel 用户组名         # 删除用户组
    
    id 用户名                # 查看用户信息也能查看用户是否存在以及属于哪个用户组
    passwd 用户名        # 添加密码、修改密码
    su(switch user)    -  用户名                # 切换用户
    
    
    
漏斗家族:
    |     # 做数据传递使用  将 `|`左边指令的输出当做右边指令的输入
    >(1>)# 标准输出重定向    先把文件内容清空 然后再将内容放在文件的最后一行
    >>    (1>>)    # 追加重定向    把内容放在文件的最后一行
    1 代表标准输出 执行正确的内容才会通过漏斗
    2>            # 标准错误重定向
    2>>        # 错误追加重定向
    &>        # 不论正确与否都输出
    &>>        # 不论正确与否都追加
    >>/name/files 2>>/name/files    # 同时记录文件的对错内容 或使用(2>&1)
    <            # 输入重定向
    <<            # 追加输入重定向
    

文件相关
    file    /name/files     # 显示文件的详细类型
        分为:
            executable        # 命令
            text                # 文本文件
            tar                # 压缩包
        
    wc         # wc -l /name/files
        -w     # 统计单词数 可以配合 ls | wc -w 查看文件数
        - l        # 统计文件的信息 用来获取行数等
    
    cat /name/files.txt     查看文件的内容 # 适合使用小文本
        - n            # 显示文件内容及对应行号
    
    mkdir(make directory)    /name        # 创建目录
        - p         # 可以一次性创建多层目录

    touch /name/files    # 在name文件夹下创建files文件 或 更新文件的时间戳 # 可以同时创建多条
    
    
    cp(copy)     # 复制    cp/name/files /目标文件夹 # 赋值files文件到目标文件夹
# 备份 cp/name/files /name/files.bak(后缀随便加) 原地备份
        - r     # 递归复制目录及其目录下的内容
        - p     # 复制的时候保持属性不变
        - a        # 复制所有 类似 -p,d,r
        
    
    mv(move)    # 移动 mv /name/ /目标/ 将name文件夹移动到目标文件夹    
        # 可以进行改名操作  mv old_name new_name


    rm(remove)    # 删除 rm/files.txt  -> y/n    删除files文件 -> 删除/取消
        - f     # 删除文件不提示
        - r        # 递归删除目录及其目录下的内容
        - rf    # 递归删除目录及其目录下的内容不提示
        
    head        # head files.txt         取出文件的前几行 默认为十行
        - n(num)        # 取出前num行

    tail        # tail files.txt            取出文件的后几行 默认为十行
        - n(num)        # 取出后num行 
        - f                # 显示文件实时更新的内容 也可以直接使用tailf
    
    ln            # 创建硬链接 # 不能对目录创建硬链接但是可以创建软链接
        - s        # 创建软链接    ln -s  /name/files  软链接name # 软链接存放着原文件的位置,原文件被删除软链接失效
            # 添加快捷方式 例如 python  ln -s /opt/python36/bin/python3.6  /usr/local/sbin/python3.6 # 指令目录 # 就不用单独在PATH目录去添加路径
            # Ps:当源文件变化时,软链接和硬链接都会跟着变化

    lsof         # lsof找到系统所有的文件
            # lsof |grep delete    # (delete标记 这个文件硬链接数量为0,进程调用数不为0) 重启返回第一列软件名称
            # 重启对应软件  软件的绝对路径 restart
    
    
    tar        # 创建查看解压压缩包 tar中参数可以不加 '-'
        tar zcf              压缩包存放的位置      压缩的目标    # zcvf 创建压缩包    
        tar ztf/tf        压缩包的位置            # ztf 查看压缩包
        tar zxf/xf         压缩包的名字    -C    指定的路径        # 需要先进入压缩包的位置 指定路径可以不写默认在同目录下解包
    
        - z        # 通过gzip压缩工具进行压缩 压缩.gz后缀
        - c        # 表示create 创建压缩包
        - v        # 显示压缩或解压的过程
        - f        # 表示file 接上压缩包的名字 # 要写到最后
        - t        # 表示list 显示压缩包的内容
        - x        # 解压
        - C        # 解压到指定目录
        -- exclude = /name    # 需要排除的name文件/文件夹等
    
    
    unzip     文件name    # 解压 .zip文件
        yum install -y unzip zip

    
    gzip        # 用来压缩较大文件(以60%-70%来节省空间)
        gzip *     # 压缩当前目录所有文件为.gz文件  # 可以后跟name
        gzip -dv *    # 把上列中每个压缩的文件解压,并列出详细信息
    
        gzip -l * 显示压缩文件的信息,并不解压
    
        tar -cf my.tar my_first.py
        
        gzip -r my.tar      # 压缩一个tar备份文件,扩展名是tar.gz

            -d        # 解开压缩文件
            -f        # 强行压缩文件
            -h        # 在线帮助
            -l        # 列出压缩文件的相关信息
            -L        # 显示版本与版权信息
            -r        # 递归处理,将制定目录下的所有文件及子目录一并处理
            -v        # 显示执行过程
            -C        # 指定目录
            -z        # 调用gzip的压缩解压格式
    

        修改权限:
            chmod(change mode) 
            # chmod num(以权限对应的数字给与权限 分为所有者权限(u),家人权限(g),陌生人权限(o)) 需要修改权限的文件
            # chmod 需要修改权限者编码(u,g,o)+-=权限码(r,w,x,-) 需要修改权限的文件
            
        修改所有者
            chown(change owner)
                # chown 属主 文件等需要更改属主的内容
        
        修改所有组
                # chgrp 组名 文件等需要更改属组的内容
        
        
        umask        # 控制系统默认权限的命令
                        # 计算 对于目录 777 直接减去umask 对于文件 666 减去 umask 如果 umask某一位是奇数,减完之后奇数位需要加1
                        # umask num     # 修改umask值
                        
        文件系统的属性(文件属性)
            lsattr        # 查看属性 权限    lsattr 文件
                e        # 默认
                a        # 只能追加
                i        # 不可修改
                
            chattr    # 设置属性(加锁,属性则为钥匙)    chattr +-属性    文件


    

进程管理
    
    ps  
        -ef  # 查看linux当前进程  # 可以配合 | grep 等进行筛选
        -a        # 显示所有进程
        -u        # 用户以及其他详细信息
        -x        显示没有控制终端的进程
        状态补充:
            R    正在执行
            S    阻塞
            T     暂停
            Z  不存在但暂时无法消除
            D    不可中断的静止
            <    高优先级的进程
            N    低优先级的进程
            L    有内存分页分配并锁在内存中    
            
    top        # 查看当前进程,任务详情,以及系统负载等详细信息
    
    renice  # 调整任务优先级
        -n num PID    # NI值调节    
    
    kill 进程pid(在ps -ef中)      # 杀死进程
        -9 # 强制终止信号(危险命令,强制杀死进程,以及相关依赖)

    pkill    进程名称    # 支持名称杀死所有有关进程                
        
        
        

网络相关
    ifdown ethx            # 关闭网卡
    ifup ethx            # 开启网卡
    ifconfig    [指定网卡]            # 显示/查看网卡信息-ip地址
        # 如果没有ifconfig  运行 yum install net-tools
        # ethx 网卡
        # ifconfig 网卡name ip netmask 子网掩码  // 设置网卡name的ip以及子网掩码
        
        
        
系统维护(详情上文有)
    /etc/passwd   存放用户信息 
    /etc/group        存放组信息
    /etc/adduser.conf    新增用户配置信息
    /etc/skel  新用户公用的配置文件
    

    /etc/interfaces # ip地址相关
    /etc/hosts 
    /etc/resolv.conf
    
上一篇:解决IIS网站.woff404(NotFound)问题
下一篇:IIS下部署nodejs使用反向代理