文件和目录命令

从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

Linux命令_1的更多相关文章

  1. Spark调用Linux命令实现解压和压缩功能

    一.应用场景 在Spark程序中调用Linux命令,实现一些程序难以实现的功能,例如:发送模拟邮件.文件打包或解压等等 二.代码实现 package big.data.analyse.linux im ...

  2. Linux实战教学笔记04:Linux命令基础

    第四节:Linux命令基础 标签(空格分隔):Linux实战教学笔记 第1章 认识操作环境 root:当前登陆的用户名 @分隔符 chensiqi:主机名 -:当前路径位置 用户的提示符 1.1 Li ...

  3. 像黑客一样使用 Linux 命令行

    前言 之前在博客园看到一篇介绍 IntelliJ IDEA 配置的文章,它里面用的是 gif 动态图片进行展示,我觉得很不错.所以在我今天以及以后的博文中,我也会尽量使用 gif 动图进行展示.制作 ...

  4. 11 个很少人知道但很有用的 Linux 命令

    Linux命令行吸引了大多数Linux爱好者.一个正常的Linux用户一般掌握大约50-60个命令来处理每日的任务.Linux命令和它们的转换对于Linux用户.Shell脚本程序员和管理员来说是最有 ...

  5. Linux命令随笔

    Linux命令总结 man ==命令帮助; help ==命令的帮助(bash的内置命令); ls ==list,查看目录列表; -ld:查看目录权限; -l:(long)长格式显示属性; -F:给不 ...

  6. linux命令在线手册

    下面几个网址有一些 Linux命令的在线手册,而且还是中文的,还可以搜索.非常方便 Linux命令手册 Linux命令大全 Linux中文man在线手册 每日一linux命令

  7. 常用的一些linux命令

    最近接触到一些linux环境部署的事情,下面分享一些最近使用的比较频繁的一些linux命令~ 1.一次性移动多个文件到一个文件夹里 mv  被移动文件名 -t 目标文件夹 如:mv a.txt b.t ...

  8. 测试或运维工作过程中最常用的几个linux命令?

     大家在测试工作过程中,可能会遇到需要你去服务器修改一些配置文件,譬如说某个字段的值是1 则关联老版本,是0则关联新版本,这时候你可能就需要会下vi的命令操作:或者查看session设置的时长,可能需 ...

  9. 每天一个 Linux 命令(21):find命令之xargs

    在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出 ...

随机推荐

  1. 了解Python内存管理机制,让你的程序飞起来

    引用: 语言的内存管理是语言设计的一个重要方面.它是决定语言性能的重要因素.无论是C语言的手工管理,还是Java的垃圾回收,都成为语言最重要的特征.这里以Python语言为例子,说明一门动态类型的.面 ...

  2. Ruby学习笔记4: 动态web app的建立

    Ruby学习笔记4: 动态web app的建立 We will first build the Categories page. This page contains topics like Art, ...

  3. iOS源文件工程打包

    第一步:添加开发者账号 第二步:刷新 第三步:设置证书名 第四步:Export

  4. 【转】AD常用端口

    通常在域环境中我们有部分设备在DMZ区时,就需要知道AD的相关端口.在此提供给各位: 用户登录与验证身份时会用到的连接端口用户登录时会用到以下的服务,因此如果用户的计算机与域控制器之间被防火墙隔开,就 ...

  5. mysqld服务启动失败, Failed to restart mysqld.service: Unit not found.

    -bash-4.2# service mysqld restart Redirecting to /bin/systemctl restart mysqld.serviceFailed to rest ...

  6. iOS基础知识之多态问题

    多态是基于继承而言的,例如自定义父类Person,子类Son,那么可能会出现如下情况: Person *p =[ [Son alloc]init]; 这种情况时,便是多态的使用.多态属于动态创建对象, ...

  7. django之ReverseOneToOneDescriptor

    class ReverseOneToOneDescriptor(object): """ Accessor to the related object on the re ...

  8. mysql存储过程使用游标循环插入数据

    DELIMITER $$ DROP PROCEDURE IF EXISTS `procedure_course`$$ CREATE DEFINER=`root`@`localhost` PROCEDU ...

  9. 26个Jquery使用小技巧(转)

    下面列出了一些Jquery使用技巧.比如有禁止右键点击.隐藏搜索文本框文字.在新窗口中打开链接.检测浏览器.预加载图片.页面样式切换.所有列等 高.动态控制页面字体大小.获得鼠标指针的X值Y值.验证元 ...

  10. Unicode UTF8 UTF16 urlencode base64

    Unicode:是一个字符集,每个字符对应一个唯一的unicode编码,一般是16位. UTF8是针对Unicode的编码方式,因为如果每个字符都用unicode的编码存储的话会很浪费空间,比如说as ...