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

    认识bash shell

      图形界面shell
      命令行shell
      shell 是一个命令解释器
      分为交互式和非交互式

      type -a pip 可以代替which 查找可执行文件位置
      echo $PATH
      alias 查看命令别名
      alias lm='ls -al | more' 给命令起别名
      unalias lm 删除别名
      ctrl + u 删除当前行上输入的命令
      ctrl + r 搜索history == !string
      ctrl + w 删除命令中的最后一个词

    bash优点
      命令记忆功能 1000条命令
      指令 文件名补全
      
    万用字符与特殊字符
      *代表0到多个字符或者数字
      ?代表一个字母
       对特殊字符进行转义还原成一般字符
      ~ 使用者的家目录
      |分隔两个管道命令的界定
      美元符号 放在变量之前
      假设有abc1 abc2--abc5 5个文件
      [] cp abc[1-3] folder 将abc1 abc2 abc3 拷贝到folder里边
      [] cp abc[!1-3] folder 将abc4 abc5 拷贝到folder里边
      [] 里面的字符是一个一个的执行 123 就是执行1,执行2 执行3
      减号用来表示范围
      uname --all
      Linux localhost.localdomain 3.10.0-514.16.1.el7.x86_64 #1 SMP Wed Apr 12 15:04:24 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
      cd /lib/modules/$(uname -r)/kernel/fs 括号中间为子shell的起始和结束
      cd /lib/modules/`uname -r`/kernel/fs 引用 里面可以放置先执行的命令

    数据流重定向
      ls -l > 1.txt >覆盖
      ls -l >> 1.txt >>追加
      find /wlc -name 1.txt > right 2> error 查找文件1.txt 将正确信息存到right 错误信息保存到error
      cat > 1.txt <<eof 向1.txt中添加内容以eof结束
    命令执行的判断依据
      command1 ;command2 命令1不管正确错误二都会执行
      command1 && command2 命令1正确执行二才会执行
      command1 || command2 命令1执行错误二才会执行
    管道命令
      管道命令只能处理前面一个命令传过来的正确信息也就是标准输出
      选取命令 将一段数据进行分析后取出我们想要的部分 通常是经过逐行分析得到的
      echo $PATH | cut -d ':' -f4 剪切path 以:为分割的第四段
      echo $PATH | cut -d ':' -f4-6 剪切path 以:为分割的第四到六段
      cut 参数:
      -d 分割字符
      -c 字符范围 12-18
      -f 选择第几段
      last | cut -d “ ” -f1 |sort 对最近登录的用户以第一个字段(username)进行排序
      last | cut -d “ ” -f1 |uniq -c 对最近登录的用户以第一个字段(username)进行统计(uniq区别于sort)显示(登录次数 username)但是不排序
      cat /etc/passwd |grep 'mlgrp'
      mlgrp:x:1007:1008::/home/mlgrp:/bin/zsh =等同于= grep 'mlgrp' < /etc/passwd
      last | grep -c 'mlgrp' 统计mlgrp最近登录的次数
      sort -t ':' -k 3 -n< passwd 对每一行以:分割的字符串的第三段(纯数字形式)排序结果
      sort -t ':' -k 3 -nr< passwd 对每一行以:分割的字符串的第三段(纯数字形式反向排序)排序结果
      sort -t ':' -k 3 < passwd 对每一行以:分割的字符串的第三段(没有-n 则对每一个字符排序78 在 502 之后)排序结果
      sort参数:
      -k 按哪个字段进行排序
      -t 后面接分隔符
      -u 重复内容只显示一次
      -r 反向排序
      -n 纯数字进行排序
      wc 1.txt 显示文件行数 单词数 占用的字节数 -l 行 -w 单词数 -m占用字节数
      UTF-8 一个中文占用三个字节
      echo $PATH | tr -d ":" tr删除指定字符
      echo $PATH | tr -s ":" "|" tr对指定字符进行替换
      tr "[a-z]" "[A-Z]" < 1.txt 将小写全部转化为大写

      col&expend
      ^I tab键 8个空格
      ^H backspace键
      $ 换行符
      tail /etc/man.config |col -x |cat -A :col -x 将tab键的^I字符转变成对应的空格 使得cat -A 不会显示 ^I 如果某一行只有tab键则不进行空格显示
      tail /etc/man.config |expend |cat -A :col -x 将tab键的^I字符转变成对应的空格 使得cat -A 不会显示 ^I 如果某一行只有tab键进行空格显示
      tail /etc/man.config |expend -t 10|cat -A :col -x 将tab键的^I字符转变成对应的空格 使得cat -A 不会显示 ^I extend -t 指定空格显示个数
      join
      join -t ":" -1 4 passwd -2 3 group | cat -n: 第一个文件passwd的第四个关键字 和第二个文件group的第三个关键字 进行连接 关键字不重复显示(两个文件分隔符全部都是:才可以)

      tr -s ":" ";" <group >group2 将文件group内容的分隔符:换成; 并且保存到新的文件group2
      paste
      paste passwd group 将文件二与一放到一块显示 以tab键分隔进行粘贴
      paste -d ":" passwd group 将文件二与一放到一块显示 以:键分隔进行粘贴
      tail -n 4 passwd | paste -d "=" group -: 最后的-代表最前边作为标准输入也就是把passwd文件的后四行与group进行粘贴到一起

      split -b 后接字节数 以该字节进行分割 -l 后接行数 以行数进行分割 原文件名 输出文件的前缀(abc)
      split -b 200(字节) passwd pass
      split -t 10(行) passwd pass
      cat passa* > passwd1 将刚刚分割的文件合并成一个文件
      rm -f passa* 删除掉刚刚生成的新文件

      xargs 可以批量更改我们找到的文件或者CCC的属性比如
      find /home -type d|xargs chmod 755

  • 相关阅读:
    使用LAMP创建基于wordpress的个从博客网站
    【solr基础教程之一】Solr相关知识点串讲
    solr源码导入eclipse
    【Nutch2.2.1基础教程之2.2】集成Nutch/Hbase/Solr构建搜索引擎之二:内容分析
    设置secureCRT中vim的字体颜色
    何时使用hadoop fs、hadoop dfs与hdfs dfs命令
    Hadoop常见异常及其解决方案
    Java HashMap遍历的两种方式
    android json 解析简单实例
    Android客户端与数据库交互数据的简单学习
  • 原文地址:https://www.cnblogs.com/wlc297984368/p/7643017.html
Copyright © 2011-2022 走看看