• Linux命令_1


     

    文件和目录命令

    从P19开始的笔记

    目标

    • 查看目录内容
      • ls
    • 切换目录
      • cd
    • 创建和删除操作
      • touch
      • mkdir
      • rm
    • 拷贝和移动文件
      • cp
      • mv
    • 查看文件内容
      • cat
      • more
      • grep
    • 其他
      • echo
      • 重定向>和>>
      • 管道 |

    1.1 终端使用技巧

      1>.自动补全

      在敲出 文件/目录/命令的前几个字母之后,按下tab键

        1>>.如果输入的没有歧义,系统会自动补全

        2>>.如果还存在其他 文件/目录/命令,再按一下tab 键,系统会提示可能存在的命令。

      2>.曾经使用过的命令

        1>>.按上下箭头,可以选择之前使用过的命令。

        2>>.如果退出选择,不想执行当前选中的命令,可以按ctrl+c

    1.2 linux下文件和目录的特点

    1>.Linux文件或者目录名称最长可以有256个字符

    2>.以.开头的文件为隐藏文件,需要用-a参数才能显示

    1.3 ls 常用选项

    • -a  显示指定目录下所有子目录与文件,包括隐藏文件
    • -l   以列表方式显示文件的详细信息
    • -h  配合-l以人性化的方式显示文件大小

     

    ls -l -h  同 ls -lh  效果是一样的。

    ls -l -h -a  同 ls -lha 效果是一样的。

    1.4 ls 通配符的使用

    (P23)

     

    匹配可以是1,2,3,4,5任意开头的,23 结尾的.txt文件。

    ls  [1-3]23.txt

    匹配从1-3范围内的任意一个字符。

    02.切换目录

    2.1 cd

    • cd 是英文单词 change directory 的简写,其功能为更改当前的工作目录,是最常用的命令之一。

      注意:Linux所有的目录和文件名都是大小写敏感的

     2.2相对路径和绝对路径

    • 相对路径  在输入路径时,最前面不是/或者~,表示相对当前目录所在的目录位置。
    • 绝对路径 在输入路径时,最前面是/或者~,表示从根目录/家目录开始的具体目录位置。

     03.创建和删除操作

     3.1 touch

    •  创建文件或修改文件时间
      • 如果文件不存在,可以创建一个空白文件
      • 如果文件已经存在,可以修改文件的末次修改时间

     3.2 mkdir

    • 创建一个新目录

       -p 可以递归创建目录

       注意:新建目录的名称不能与当前目录中已有的目录或文件同名。

    mkdir -p a/b/c/d 连续创建多个文件。a文件夹下,创建b文件夹;b文件夹下,创建c文件夹;c文件夹下创建d文件夹。

    3.3 rm

    •  删除文件或目录

      注意:使用rm命令要小心,因为文件删除后不能恢复 

      -f 强制删除,忽略不存在的文件,无需提示

      -r 递归删除目录下的内容,删除文件夹时必须用此参数

      

    rm -r * 删除所有的文件

    rm *1.txt 删除所有以1结尾的.txt文件。

    切记,千万不能在根目录下,执行 rm -rf * 命令,

    执行命令时,一定要再自己的家目录下执行(采用cd命令,快速切换到自己的家命令)

    04.拷贝和移动文件

    4.1 tree

    tree 命令可以以树状图列出文件目录结构

    -d 只显示目录

    在ubuntu系统中默认是没有tree这个命令的,需要安装,用下面的命令就可以安装tree这个命令工具sudo apt-get install tree。

     

    就可以了。

     

    4.2 cp

     cp 命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令

    -i 覆盖文件前提示

    -r 若给出的源文件是目录文件,则cp

     将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名

     2018年11月27日15:37:52

    因为搜狗输入法一直未安装成功,自己也未曾接着学习,记录笔记,认真反思,再来静静学习。

    复制 用户家目录下Documents下的readme.txt文件到 桌面。(文件名不发生变化)

    ~/Desktop$

    方法一:  cp ~/Documents/readme.txt  ./readme.txt

    方法二:  cp ~/Documents/readme.txt  .

    担心两个文件覆盖,cp -i ~/Documents/readme.txt .

    复制一个目录

    cp -r a test 就是将桌面下的a文件夹下的内容复制到test文件夹下。

    https://www.bilibili.com/video/av14184325/?p=34

    4.3 mv

     mv命令可以用来移动文件目录,也可以给文件或目录重命名

     mv 源文件 目标文件  

    ~/Desktop$ mv test ~/Documents/    表示:将桌面下的test文件夹移动到 家目录下的Documents目录下。

    把 桌面中 a文件下b文件夹下c文件夹下的123.txt移动到 当前桌面下。

    并使用tree命令查看桌面目录结构。

    将桌面下的readme.txt 文件重命名为 demo.txt  (老师这里说:需要保证路径一致。)

    当桌面上如果原本存在readme.txt 和demo.txt 两个文件夹,并且两个文件内容不相同时,可能导致 将readme.txt 的内容覆盖demo.txt,然后readme.txt 文件删除。

    由此可以看出,这个操作并不安全。

     05.查看文件内容

     

     5.3 grep 

    Linux 系统中 grep命令是一种强大的文本搜索工具。

    grep 允许对文本文件进行模式查找(即正则表达式)。

    -n  显示匹配行及行号。

    -v 显示不包含匹配文本的所有行(相当于求反)

    -i 忽略大小写

    常用的两种模式查找:

    ^a  行首,搜寻以a开头的行

    ke$ 行尾, 搜寻以ke结束的行。

    检索不包含 某一项的行号 grep -vn **(检索目标内容)**.txt(检索目标文件)

     如果要检索 多个字符如:中间包含空格的  hello  python。

    就需要采用“”将检索内容括起来,进行检索。

     检索不区分大小写 hello python  所在的行号。

     

    06其他

     6.1 echo 文字内容

    echo  重复的意思。 echo 会在终端中显示参数指定的文字,通常和重定向联合使用。

    6.2 重定向>和>>

    Linux 允许将命令执行结果 重定向到一个文件

    将本应显示在终端上的内容  输出/追加  到指定文件中

    其中:

    >  表示输出,会覆盖文件原有的内容

    >> 表示追加,会将内容追加到已有文件的末尾

    echo Hello Python > a 表示将 Hello Python 文本内容,写入到a文件里面去。

    cat a  //命令是打印显示a文件内容

    ls -lh //就是打印当前文件目录及文件大小

    ls -lh > a  //将打印当前文件目录及文件大小内容  写入到a文件中。

    echo  Hello Python >> a   //在文件a末尾追加Hello Python

    ls >> a  //将当前目录文件列表追加到a文件

    tree >> a  //将当前目录下的文件树追加到a文件里

    touch命令  只能创建文件  touch b //只能创建b文件

    echo 命令  echo Hello > b //可在创建文件的同时向文件夹中追加内容。

    6.3 管道 |  shift+

    • Linux 允许将一根命令的输出 可以通过管道 做为另一个命令的输入
    • 类似显示生活中的管子,管子的一头塞东西进去,另一头取出来,这里| 的左右分为两端,左端塞东西(写),右端取东西(读)。

    常用的管道命令有:

      more: 分屏显示内容

      grep: 在命令执行结果的基础上查询指定的文本。

    ---end 2018年12月1日15:16:37

  • 相关阅读:
    Google 的开源技术protobuf 简介与例子(转)
    set 学习笔记
    map 学习笔记
    网络编程-socket学习笔记
    POSIX线程_学习笔记
    shell 脚本练习
    vector 学习笔记
    用archlinux作为日常开发机的感受
    python中获取上一个月一号的方法
    golang在linux下的开发环境部署[未完]
  • 原文地址:https://www.cnblogs.com/liyanli-mu640065/p/9989892.html
Copyright © 2020-2023  润新知