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

原文地址:https://www.cnblogs.com/liyanli-mu640065/p/9989892.html