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

    Linux的目录
        /dev 管理设备 cpu 
        /media dvd u盘
    
    
    
    Linux 常用命令
        用户管理
            useradd: 添加用户
              格式:useradd 用户名
                    useradd -d 指定目录 用户名
              示例:groupadd 用户组
                      useradd -g 用户组 用户名  (将用户直接指定给用户组)
    
            passwd:指定的密码
              格式:passwd 用户名
    
            userdel: 删除用户
              格式:userdel 用户名 (保留家目录)
                    userdel -r 用户名 (不保留家目录)
    
            id: 查询用户信息
              格式:id 用户名
              示例:id root # uid=0(root) gid=0(root) 组=0(root)
    
            
            su - : 切换用户
              格式:su - 用户名
              注意:从高权限的用户换成低权限的用户,不用输入密码
                      使用exit指令返回原先用户
    
            whoami:显示当前用户名
    
        用户组管理
            groupadd: 增加组
              格式:groupadd 组名
    
            groupdel: 删除组
              格式:groupdel 组名
    
            usermod: 修改用户所在组
              格式:usermod -g 用户组 用户名
              示例:groupadd shaolin
                      usermod -g shaolin zwj (将用户zwj切换到shaolin组)
    
            /etc/passwd: 用户配置文件,记录用户的各种信息
              示例:vim /etc/passwd 
                      # jack:x:1000:1000:jack:/home/jack:/bin/bash
                      # 用户名:口令:用户标识:组标识号:注释性描述:主目录:登录shell
    
            /etc/group: 组的配置文件,记录Linux包含的组的信息
              示例:vim /etc/passwd
                      # jack:x:1000:jack
                      # 组名:口令:组标识号:组内用户列表 
    
            /etc/shadow: 口令的配置文件 (不要求掌握)
    
        帮助指令
            man: 获取帮助信息
              格式:man [命令或配置文件]
              示例:man ls
    
            help
    
    
    
            
        文件目录类
            pwd: 
                显示当前工作目录的绝对路径
    
            ls: list
                格式:ls [选项] [目录或文件]    
                选项:-a 显示当前目录所有的文件和目录,包括隐藏的
                      -l 以列表的形式展现信息
    
            cd: 切换到指定的目录
                格式:cd [参数]        
                参数:绝对路径/相对路径
                      cd ~ / cd : 回到自己的家目录
                      cd .. :回到上一级目录
    
            mkdir: 创建目录
                格式:mkdir [选项] 要创建的目录
                选项:-p 创建多级目录
    
            rmdir: 删除目录
                格式:rmdir [选项] 要删除的目录
                注意:rmdir删除的是空目录,如果目录下有内容(文件或目录)时无法删除
                      可以使用 rm -rf 要删除的非空目录
    
            touch: 创建一个空文件
                格式:touch 文件名
    
            cp: 拷贝文件到指定的目录
                格式:cp [选项] source dest
                选项:-r 递归复制整个文件夹
                注意:cp 强制覆盖相同的文件,不会提示
    
            rm: 删除文件或目录
                格式:rm [选项] 要删除的文件或目录
                选项:-r 递归删除文件夹(目录)
                      -f 强制删除不提示
    
            mv: 移动文件与目录(相当于剪切)/重命名
                格式:mv oldname_file newname_file  重命名
                      mv                            移动文件
    
    
            cat: 查看文件内容,以只读的形式打开
                 格式:cat [选项] 要查看的文件
                 选项:-n 显示行号
                 示例:cat -n /etc/profile | more(分页显示)
    
            more: 按页显示文件内容
                  格式:more 要查看的文件
    
            less: 并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示      大型文件具有较高的效率
                  格式:less 要查看的文件
    
            > 输出重定向 和 >> 追加: 将本该输出到显示台的内容输出到文件中
                ls -l > 文件 (将列表中的内容覆盖式的输出到文件)
                ls -al >> 文件(列表中内容追加到文件的末尾)
                cat 文件1 > 文件2 (将文件1的内容覆盖到文件2)
                echo "内容" >> 文件
    
            echo:输出内容到控制台
                  格式:echo [选项] 输出内容
                  示例:echo $PATH 输出环境变量路径
                          echo "Hello world"
    
            head: 显示文件开头部分内容
                  格式:head 文件 (默认查看文件前10行)
                          head -n 5 文件 (查看文件前5(可以为任意行数)行)
    
            tail: 输出文件中尾部的内容,默认显示后10行
                  格式:tail 文件
                          tail -n 5
                          tail -f 文件 (实时追踪该文档的更新)
    
            ln: 软链接 相当于windows中快捷方式,主要存放了链接其他文件的路径
                格式:ln -s [原文件或目录] [软链接名]
    
            history: 查看已经执行过的历史指令
                     示例:history
                            history 10 显示最近执行的10个指令
                            !178      执行历史指令中编号为178的指令
    
        时间日期类
            date: 1.显示当前日期
                  格式:date      显示当前时间信息
                          date +%Y-%m-%d  显示当前 年-月-日
                          date "+%Y年%m月%d日 %H时%M分%S秒"
                  2.设置日期
                  格式:date -s 字符串时间
                          date -s "2019-8-13 11:58:12"
    
            cal: 查看日历
                 格式:cal [选项]
                 示例:cal 2020 显示2020年日历
    
        搜索查找类
            find: 将从指定目录向下递归的遍历其各个子目录,
                  将满足条件的文件或目录显示在终端
    
                格式:find [搜索范围] [选项] [要查找的文件]
                选项:-name 按照文件名来查找
                      -user 按照文件拥有者来查找
                      -size 按照文件大小来查找 (+n大于 -n小于 n等于)
                示例:find nxr/ -name tjz.txt
                      find nxr/ -user jack
                      find nxr/ -size +20M
                      find nxr/ -name *.txt 查找.txt结尾的文件
    
            locate: 利用事先建立的文件名称及路径的locate数据库实现快速定位,
                    查询速度比较快,为了保证查询结果的准确,必须定时更新locate时刻
    
                  格式:locate 搜索文件
                  注意:第一次运行前,必须使用updatedb指令创建locate数据库
                  示例:updatedb
                          locate nxr.txt
    
            grep:过滤查找
            管道符号| :将前一个命令的处理结果输出传递到后面的命令处理
    
                  格式:grep [选项] 查找内容 源文件
                  选项:-n 显示匹配行及行号
                          -i 忽略大小写
                  示例:grep -n LOVE nxr.txt
                          grep -ni love nxr.txt
                          cat nxr.txt | grep -n LOVE
    
        压缩和解压缩类
    
            gzip/gunzip:
                格式:gzip 文件 (将文件压缩成*.gz文件,原文件不保留)
                      gunzip *.gz
                示例:gzip nxr.txt
    
            zip/unzip:
                格式:zip [选项] *.zip(压缩后的压缩文件名) 要压缩的内容
                      unzip [选项] 存放目录 要解压的内容
                选项:-r 递归压缩,即压缩目录
                      -d:指定解压文件的存放目录
                示例:zip -r nxr.zip /home/jack
                      unzip -d nxr/ nxr.zip
    
    
            tar:
              格式:tar [选项] *.tar.gz 打包内容
              选项:-c 产生.tar打包文件
                      -v 显示详细信息
                      -f 指定压缩后的文件名
                      -z 打包同时压缩
                      -x 解包.tar文件
              示例:# 将两个文件a1和a2压缩到a.tar.gz中
                      tar -zcvf a.tar.gz a1.txt a2.txt 
                      # 将home目录下的文件打包到myname.tar.gz
                      tar -zcvf myhome.tar.gz /home/ 
                      # 将a.tar.gz解压到当前目录
                      tar -zxvf a.tar.gz
                      # 将myname.tar.gz解压到指定目录 /opt/(目录必须存在)
                      tar -zxvf a.tar.gz -C /opt/
    
    
        组管理和权限管理
            chown: 修改文件的所有者
              格式:chown 用户名 文件
                      chown newowner:newgroup file
              示例:chown Tom apple.txt
                      chown -R Tom nxr/  (将指定目录下的子目录和文件的所有者修改为Tom)
    
            groupadd: 组的创建
              示例:groupadd japan
                      useradd -g japan jack
    
            chgrp: 修改文件所在组
              格式:chgrp 组名 文件名
              示例:touch orange.txt
                      chgrp police orange.txt
                      chgrp -R police kkk/  (将指定目录下的子文件的所在组修改为police)
    
            文件类型:-:普通文件 d:目录 l:软连接 c:字符设备(键盘鼠标) b:块文件(硬盘)
    
            对于文件
            r: 可以读取,查看
            w: 可以修改,但是不可以删除文件,删除一个文件的前提是对该文件所在的目录有写的权限,才能删除文件
            x: 可以被执行
    
            对于目录
            r: 可以读取,ls查看目录内容
            w: 可以修改,目录内创建+删除+重命名目录
            x: 可以进入该目录
    
            chmod: 修改文件或目录的权限
              格式:u:所有者 g:所在组 o:其他人 a:所有人 +-=
    
              示例: chmod u=rwx,g=rx,o=x 文件或目录名
                      chmod o+x
                      chmod 751 nxr.txt
    
        磁盘查询命令
            df:查询系统整体磁盘使用情况
              格式:df -lh
    
            du: 查询指定目录的磁盘占用情况
              格式:du [选项] [目录]
              选项: -a 显示
              示例:du -ach --max-depth=1 nxr/
    
            1.统计文件夹下文件的个数
                 ls -l | grep "^-" | wc -l
            2.统计文件夹下目录的个数
                 ls -l | grep "^d" | wc -l
            3.统计文件夹下文件的个数,包括子目录中的文件
                 ls -lR | grep "^-" | wc -l
            4.以树状结构显示目录
                 yum install tree
                 tree
    
        网络配置
    
        进程管理
            ps: 查看目前系统中执行的进程
              格式:ps -aux | more
              选项:-a 当前终端所有进程信息
                      -u 以用户的格式显示进程信息
                      -x 显示后台进程运行的参数
              示例:ps -aux | grep sshd
    
                      ps -ef | more 以全格式显示当前所有的进程,查看进程的父进程
                          -e 显示所有进程
                          -f 全格式
    shell脚本
        命令别名
            alias 别名='原命令'
            alias vi='vim'
            alias 查看系统中的别名
            unalias 别名 (删除别名)
            whereis ls 查看ls命令文件所在位置
    
        快捷键
            ctrl+c 强制终止当前命令
            ctrl+u 删除或剪切光标左边的命令
            ctrl+y 粘贴ctrl+u或ctrl+k剪切的内容
            ctrl+d 退出终端 相当于logout
    
        多命令顺序执行
            ;(命令1;命令2) 多个命令顺序执行,命令之间没有任何逻辑关系
            && (命令1&&命令2) 逻辑与
            || 逻辑或
            命令 && echo yes || echo no (判断这条命令是否正确)
    
        管道符 | 
            命令1 | 命令2 (命令1的正确输出作为命令2的操作对象)
    
        通配符
            ?匹配一个任意字符
            * 匹配0个或任意多个字符,也就是匹配任意内容
            [] 匹配中括号中任意一个字符,例如[abc] [a-z] [0-9]
            [^] 取反
                                可以用于批量删除文件
    
        特殊符号
            '' 单引号,在单引号中的所有的特殊符号没有特殊含义,例如 $ `
            "" 双引号,特殊符号没有特殊含义,除了 $ (调用变量的值) ` (引用命令)  (转义符)
            ` 反引号,反引号括起来的命令是系统命令,在Bash中会先执行它
              和$()作用一样,推荐使用$()
            $() 同上  echo $(ls)
            # 注释
    
    
        shell脚本的执行
            方式1
              1) chmod 744 nxr.sh
              2) ./nxr.sh或者使用绝对路径
            注意:注意,一定要写成 ./test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找
    
            方式2
              1) sh ./nxr.sh
    
        shell变量
            系统变量:PATH HOME USER
              set: 显示shell中所有变量
    
            用户自定义变量:
              unset撤销变量
              readonly 变量名=值,不能unset
    
            将命令的结果返回给变量
              A=`ls -la` 反引号,运行里面的命令,并将结果返回的变量
              A=$(ls -la) 等价于反引号
    
            设置环境变量
              export 变量名=变量值  (将shell变量输出为环境变量)
              source 配置文件
    
            预定义变量
              $$ 当前进程的进程号(PID)
              $! 后台运行的最后一个进程的进程号
              $? 最后一次执行的命令的返回状态
    
        通配符
            匹配符合条件的文件名,是完全匹配,ls,find,cp这些命令不支持正则表达式
    
        正则表达式
            {n} 前面的字符恰好出现n次
            {n,} 前面的字符出现不小于n次
            {n,m} 前面的字符至少出现n次,最多出现m次
    
            cut:字段提取命令,不能分割以空格为分隔符的文件
              格式:cut [选项] 文件名
              选项:-f 列名 提取第几列
                      -d 分隔符 按照分隔符分割列
    
            在文件中匹配符合条件的字符串,是包含匹配,grep,awk,sed
            示例:grep "a*" test_re.txt 匹配所有内容,没有任何作用
                  grep ".*" test_re.xtt 同上
                  grep -n "^$" test_re.txt 匹配空白行,显示行号
                  grep "sa{1,2}id" test_re.txt  匹配s和id中间有1个或者2个a的行
    
                  cat /etc/passwd | grep "/bin/bash" | grep -v root | cut -d ":" -f 1
                  提取普通用户的用户名
    
            printf: 
              格式:printf "输出类型输出格式" 输出内容
              输出类型:
                  %ns 输出字符串。n是数字,代表输出几个字符
                  %ni 输出整数
                  %m.nf 输出浮点数
              输出格式:
                  
    
                  
              格式:
                  printf "%s %s %s
    " 1 2 3 4 5 6  三个为一组进行输出
    
            awk:
              格式:awk '条件1{动作1}条件2{动作2}...'文件名
                      默认空格和制表符作为分隔符,awk 一行一行的开始匹配
                      BEGIN
              条件
                  一般使用关系表达式作为条件
                  x>10
                  x>=10
                  x<=10
                  BEGIN
              动作
                  格式化输出
                  流程控制语句
              示例:
                  awk '{printf $2 "	" $4 "
    "}' student.txt 输出第二,四列
                  df -h | awk '{printf $1 "	" $5 "	" $6 "
    "}'
                  df -h | grep sda1 | awk '{printf $5}' | cut -d "%" -f1
                  awk 'BEGIN{FS=":"}{print $1 "	" $3}' /etc/passwd  分隔符为:
                  cat student.txt | grep -v Name | awk '$4>85{print $2}'
    
            sed: 将数据进行选取,替换,删除,新增的命令 与vim类似
              格式:sed [选项] '[动作]' 文件名
              选项:-n 一般sed命令会把所有数据都输入到屏幕,如果加入此选择,         则只会把经过sed命令的处理的行输出到屏幕。
                      -e 允许多条sed命令编辑
                      -i 用sed的修改结果直接修改读取数据的文件,
                         而不是由屏幕输出
              动作:a c i d p s
              示例:sed '4s/83/100/g' student.txt  字符串替换
                      sed '3c no such person' student.txt  行替换
                      sed '2i canglaoshi       在第二行之前插入两行数据
                  > bolaoshi' student.txt
                      sed '2a zuobi' student.txt  在第二行后面追加一行数据
                      sed -n '2p' student.txt    打印第二行
                      sed '2,3d' student.txt   删除第二行到第三行的数据
    
    
                  
                   
    
    
    
    
    
    
    
    
    
    
    
    
    
    
            
  • 相关阅读:
    撸羊毛的一些心得体会
    GET和POST的区别
    接口测试基础
    Charles老版本教程
    【2019】Charles视频教程,接口测试工具最新教程
    关于Synchronized研伸扩展
    Java多线程之线程的协作
    十七.jmeter分布式测试
    十六.jmeter链接mysql测试
    十五.jmeter FTP服务器连接
  • 原文地址:https://www.cnblogs.com/nxrs/p/11360112.html
Copyright © 2011-2022 走看看