文件和目录命令

从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. Vue.js模拟百度下拉框

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. uiautomator 代码记录 : 随机发送短信

    package sms_test; import java.lang.*; import java.util.Random; import javax.microedition.khronos.egl ...

  3. Warning: 执行完毕, 但带有警告 trigger trigger_EqPic_insert 已编译。

    create or replace trigger trigger_EqPic_insert before insert on TB_EqPic for each row declare begin ...

  4. jdk src 学习 Threadlocal

    示例: import java.io.Serializable; public class TestThreadLocal implements Serializable { /** * */ pri ...

  5. 转载:用Source Insight中看Python代码

    在Source Insight中看Python代码 http://blog.csdn.net/lvming404/archive/2009/03/18/4000394.aspx SI是个很强大的代码查 ...

  6. Chrome(谷歌浏览器)和Firefox浏览器flash的swf文件发黑不透明问题解决方法

    一直以来看到各大网站的FLASH都是黑框框的,很好奇,难道他们不知道flash是可以设成透明的?于是用IE Tab插件浏览了下,发现人家的网页又正常,这样一来我就开始怀疑是我的Chrome有问题,于是 ...

  7. leetcode1004

    class Solution: def getMax(self,B:'List[int]'): n = len(B) maxlen = 0 curlen = 0 for i in range (n): ...

  8. element(vue.js)+django 整合

    近期开始接触Python,从web开发入门.尝试Django与vue整合,大概分3个阶段: 1.基于Django开发web后端 2.基于element开发好前端 3.前后端整合 参考:https:// ...

  9. git的团队协作开发

    title: git的团队协作开发 date: 2018-04-24 14:00:03 tags: [git] --- 项目负责人创建组织架构 在控制面板中点击组织按钮,添加组织,在这里可以把组织理解 ...

  10. day27-反射

    1.介绍 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序语 ...