美文网首页
shell命令学习

shell命令学习

作者: 小眼睛的露鹿酱 | 来源:发表于2019-07-16 22:41 被阅读0次
linux命令

1. 线上帮助

man : man command 可以进入man page 如果想退出 直接敲“q”, 如果想检索关键字, 可以在最下面输入“/word”向下查询。  “?word”是向上查询, 点击n来跳到下一个
info: 是类似于man的网页式显示
help: 只能用于内部命令,不能用于外部命令

2. 目录操作

ls: ls是list的意思  ls -al 就是显示所有文件名以及相关属性。更改属性: chgrp chown chmod(改变文件权限)
chmod:  chmod xyz filename。 xyz(ower, group, others)分别是是rwx(421)的和 有三个 
假设 chmod 777 filename。那就是每个人不管是不是ower 是不是一个group都可以读写执行
tree: 跟目录。cd /。
pwd: 显示当前目录 print working directory
mkdir:新建文件夹
rmdir: 删除一个空的目录, 如果不明使用 rm -r filename
cd:   切换目录 注意搭配 cd .. (返回上一层) cd ~ (回到自己的主文件)   cd / (回到根目录)   cd -(回到刚才的目录)  cd ../mail (相对路径去某个地方)

3. 文件操作

touch: 修改文件时间或创建新文件
           
cp: 除了复制,还能创建快捷方式, 对比两文件的新旧来赋予更新, 复制整个目录等
    cp [option] 源文件 目标文件 
    常用的有 -i(若目标文件存在, 覆盖的时候会提示询问再进行; -r)
    cp -l 创建一个硬连接。
    cp -s 是软连接 就是创建快捷方式
    cp -u 是比较目标文件与原文件有差异时, 进行复制, 备份时用这个比较好

mv: 移动文件, 重名命, 
       mv [command] 原文件 目标文件
       -f: 强制 如果目标文件存在, 直接覆盖
       -i:  若存在, 会询问覆盖
       -u: 如果已经存在, 如果source是最新的, 那直接更新
    当目标文件是一个新文件的时候, 就会重命名;  rename其实也会用于重命名

rename
rm: 移除文件; rm [command] file
      -f: force 忽略不存在的文件 不会有提示信息
      -i: 删除时会进行询问; 默认使用的
      -r: 递归删除, 目录删除; 若不想删除, 可以安Ctrl+C来结束删除
       若果确认 不想提示删除, 使用 \rm -r file
     
in: 
find:

4. 文件查看处理

cat: 由第一行显示内容
       cat -n file   显示行号
       tac: 倒写文件
more:   more file 一页一页显示; q 直接离开
            /word 搜索
            :f 立即显示文件名以及目前显示的行数
less:  一页一页翻动, 可以上下翻动;
        /word: 检索 搭配n/N使用next one
        ?word: 向上检索。搭配n/N 使用
head:  取出前面几行。head -n number。  
           head -n +100 file。  从100行开始列出n行信息
           head -n  20 file   从最后20行开始列出
tail: 取出后面几行   tail -n number
cut: cut string -d ':' -f 4   将string中以:分割 取第4列数据
paste: 
sort: sort [参数] file
        -f 忽略大小写排序
        -b 拂掠空格部分
        -M  以月份的名字进行排序
        -n  以纯数字进行排序
        -r  反响排序
        -u  uniq 相同的数据 仅出现一行
        -t   使用分隔符 默认是Tab
        -k   以哪个区间来排序
       cat file |  sort -t ':' -k 3     文件file使用: 进行分割 第三列作为排序的列
uniq:  排序完成 去掉重复的数据
        uniq  [-ic]
        -i: 或略大小写
        -c: 进行计数
wc:   wc [-lwm]。 默认就是全输出
        -l: 行数
       -w: 多少字
       -m: 多少字符
        cat file | wc
icon:  
dos2unix
file: Linux file命令用于辨识文件类型; 
       -v  显示版本信息;
       -z:   尝试去解读压缩文件的内容
diff:  用于比较文件差异
       -b: 不检查空白行
       -i: 不检查大小写
       -w: 忽略空格
tree: 以树状图列出目录内容
chattr: 改变文件属性
lsattr: 显示文件属性
rev: 
vimdiff

5. 文件打包压缩

gzip: 应用最广的压缩命令, 压缩后的文件名为*.gz; 压缩完, 原文件就会被替换, 不存在了
        gzip [command] filename
        -v: 显示压缩比例
        -t: 查看压缩后有无错误
        -c: 将压缩数据输出到屏幕上,可通过数据重定向来处理, 配合>使用
        
tar: 
      》压缩  tar -jcv -f filename.tar.bz2 filename(要被压缩的文件或目录)
      》查询  tar -jtv -f filename.tar.bz2        
      〉解压缩  tar -jxv  -f filename.tar.bz2 -C filername(想要解压缩的目录)
unzip

7. 搜索命令

find: Linux find命令用来在指定目录下查找文件
        find . -name "*.c"   查看当前目录以及子目录中以.c结尾的文件
        find . -type f          查看当前目录以及子目录中file类型的文件
        find . -ctime -20    寻找近20天更新的文件
        find / -type f -size 0 -exec ls -l {} \     寻找file类型的文件 大小为0, 并将完整路径列出
which:   which指令会在环境变量$PATH设置的目录里查找符合条件的文件
whereis: 指令只能用于查找二进制文件、源代码文件和man手册页
locate: 只需要输入 locate your_file_name 即可查找指定文件; ocate与find 不同: find 是去硬盘找,locate 只在/var/lib/slocate资料库中找。locate的速度比find快,它并不是真的查找,而是查数据库,一般文件数据库在/var/lib/slocate/slocate.db中,所以locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 

19. 管道 pip |

管道仅仅会处理stanard output, 并不会处理有error 的输出
管道命令必须能够接受来自前一个命令的数据成为standard input继续处理才行  ls cp mv等不会接受stdin的数据

20. 三剑客

grep: 分析一行信息, 如果当中有我们需要的, 就把它拿出来
          grep [-acinv] [--color=auto] ‘查找字符串’ filename
          -a: 将binary文件以text文件的方式查找数据
          -c: 计算找到‘目标字符串’ 的次数
          -i: 忽略大小写
          -n: 顺便输出行号
          -v: 反向选择
          --color=auto  高亮

sed: 管道命令, 可以分析stadard input; sed可以将数据进行替换 删除新增 选取特定等的功能.
     sed [-nefr] [动作]
            -n: 只有经过sed特殊处理的才会被列出来;默认是来自stdin的所有数据都被列出来
            -e: 直接在命令模式上进行sed的动作编辑
            -f: 直接将sed的动作写在一个文件中.
            -r: sed的动作支持的是扩展型的正则表达式
            -i: 直接修改读取的文件内容,而不是由屏幕输出
      ***动作***:  [n1][,n2] function
            n1 n2 为第几行到第几行;  function 包含以下参数
                 a: 新增
                 c: 替换
                 d:删除
                  i: 插入
                 p:打印
                 s:替换

举例:  n1 filename | sed '2a drink tea!'    
          n1 finename | sed '2,5d'



awk: 好用的数据处理工具
         awk ‘条件类型1 动作1’ 条件类型2 动作2 ....‘ filename
         awk ’{print $1 "\t" $2}‘
         awk 还有三个内置变量:  NF(列数)。NR(第几行)。FS(目前分隔符) 

  1. 查看电脑上有哪些shell
cat /etc/shells
  1. 使用type能查看出某个命令到底属于shell内部的还是外部的


  2. 命令行的执行
    如果命令太长可以考虑使用反斜杠/来跳到下一行继续, 注意反斜杠/后面不能有空格 否则表示转义空格

  3. 显示变量内容echo

   echo $path
图片.png
  1. 查看哪些环境变量用env


  2. 查看所有环境变量的内容


相关文章

  • vim学习 09——shell命令

    vim学习 09——shell命令 执行 shell 命令 :!shell命令 : 可以执行 shell 命令。 ...

  • Shell脚本

    shell脚本学习笔记 shell命令的组合运用 常用命令组合

  • Shell 概述

    学习 Shell 主要包括的内容: Shell 脚本入门 Shell 变量 Shell 内置命令 Shell 运算...

  • shell基础

    Linux学习 一、shell介绍 Linux shell基础 什么是shell shell是一个命令解释器,提供...

  • ADB常用命令集合

    基础命令 USB设备命令 文件传输命令 SHELL命令 adb shell pm命令 adb shell am命令...

  • shell 语言相关

    shell学习记录 shell是什么 简单来说,shell是一个命令解释器,将用户输入的命令解释给操作系统内核。它...

  • (linux/mac)mysql调用系统命令

    system + shell命令! + shell命令

  • 六、Shell printf 命令

    上一章节我们学习了 Shell 的 echo 命令,本章节我们来学习 Shell 的另一个输出命令 printf。...

  • Shell Script初入门

    Shell script学习总结 shell script注意事项 命令的执行顺序 从上至下,从左至右 命令的执行...

  • Hbase的shell命令学习<一>

    在学习Hbase的shell命令,之前先得了解如何进入hbase的shell命令行,通过执行如下简单的命令回车后进...

网友评论

      本文标题:shell命令学习

      本文链接:https://www.haomeiwen.com/subject/ijotlctx.html