Linux零基础入门第四课
根据直播讲义整理的内容,从第四课开始。前三课的内容若后面有精力会一并整理进来。
文件的基本操作(上)
创建、删除、复制、移动和重命名
touch
命令创建文件
语法
>$ touch file0 [file1 file2 ...]
>$ touch file{0..9}.txt
touch
命令可以创建空文件,将文件名作为参数即可。传递多个文件名可同时创建多个文件。
若使用 file{0..9} 作为参数,将自动创建10个空文件,名字分别为file0.txt
、file1.txt
、...、file9.txt
。
若传递给touch
的文件已存在于磁盘上,则不会创建此文件,但会更新该文件的时间戳。
mkdir
命令创建目录
语法
>$ mkdir [-p] dir1 [dir2 dir3 ...]
>$ mkdir [-p] dir1{0..9}
mkdir
命令可以创建目录,将目录名作为参数即可。
传递多个目录名可同时创建多个目录。
若想同时创建子目录,则需要使用-p
参数,否则只能创建空目录。
示例
# 在当面目录下创建名为 dir1 的空目录。
>$ mkdir dir1
# 在当前目录的子目录 dir1 内创建子目录 dir2。
>$ mkdir dir1/dir2
# 错误:dir3 不存在,创建多级子目录应使用 -p 参数。
>$ mkdir dir3/dir4
# 同时创建 dir3 目录及其子目录 dir4。
>$ mkdir -p dir3/dir4
# 创建 3 个目录,名字分为为 dir5、dir6、dir7。
>$ mkdir dir{1..3}
rm
命令删除文件或目录
语法
>$ rm [-rf] dir1/file1 [dir2/file2 ...]
rm
命令可以删除文件或目录。
-r
参数表示要删除一个目录。
-f
参数表示强制删除,且静默删除,不会询问用户,被删除的文件不存在也不会报错。
注意:此命令较危险,被删除的文件几乎无法恢复,使用时需谨慎。
cp
命令复制目录或文件
语法
>$ cp [-rfv] src dest
cp
命令将src
参数所指定的文件或目录复制到dest
参数所指定的位置。
-r
参数用于递归复制目录中的文件,若复制目录时未使用此参数,则仅复制目录本身,目录中的文件及子目录不会被复制。
-f
参数表示强制复制。
-v
参数表示打印复制的过程。
mv
命令移动或重命名文件及目录
语法
>$ mv [-fv] src dest
mv
命令有两个作用,当src
参数所指定的文件或目录与dest
参数所指定的路径为同一个目录时,相当于做重命名,否则相当于将src
移动到dest
。
-f
参数表示强制移动或重命名。
-v
参数表示打印移动的过程。
示例
# 当前目录 dir 与文件 file1 在相同的目录中。
>$ tree
.
├── dir
└── file1
1 directory, 1 file
# 将 file1 重命名为 file2。
>$ mv file1 file2
>$ tree
.
├── dir
└── file2
1 directory, 1 file
# 将 file2 移动到 dir 目录下。
>$ mv file2 dir
>$ tree
.
└── dir
└── file2
1 directory, 1 file
文件读写
echo
命令输出字符串
语法
echo [-n] "string"
使用echo
命令可以将string
参数的字符串打印到控制台上。
-n
参数表示不要输出换行符\n
。
实际上echo
命令是将string
参数的字符串写入到其标准输出流stdout
中了,但由于默认的情况下stdout
就是控制台,所以看上去echo
命令就是向控制台打印了字符串。
Shell重定向运算符>
与>>
通过Shell的重定向运算符>
和>>
可以将标准输出流(stdout
)本来应该打印到控制台的内容写入(重定向)到文件中去。
语法
>$ echo "abc" > file1.txt
>$ echo "def" >> file1.txt
>
重定向运算符将echo
命令向标准输出流(stdout
)打印的字符串abc
写入到文件file1.txt
中,此处file1.txt
的内容为abc\n
。
其中\n
是Linux
系统的换行符。
若file1.txt
不存在则由重定向运算符自动创建。
>>
重定向运算符将echo
命令向标准输出流(stdout
)打印的字符串def
追加写入到文件file1.txt
的末尾,此处file1.txt的内容为abc\ndef\n
。
cat
命令查看文件全部内容
语法
>$ cat [-n] file1 [file2 ...]
cat
命令将文件fileN
的内容从头至尾读取出来,并打印到控制台(实际上是打印到标准输出stdout
中)。
-n
参数表示打印行号。
示例
>$ cat file1.txt
abc
def
若file1.txt
为空文件,则cat
命令无任何输出。
head
查看文件开头部分
语法
>$ head [-n N] file
head
命令会从文件file
的第1行开始读取数据,共读取10行,打印到控制台。
-n
参数可以要求head
命令读取N
行数据,N
默认为10。
tail
查看文件末尾部分
语法
>$ tail [-n N] [-f] file.log
tail
命令与head
命令恰恰相反,从文件的末尾第N
行开始读取数据,并打印到控制台,N
默认为10行,同样可以通过-n
参数来指定。
-f
参数非常有用,若file.log
文件中不断有内容写入,则tail
命令可以监听到这种变化,并不断的将最新的内容打印到控制台上。通常查看日志的时候会用到此参数。
more
命令按页查看文件
语法
>$ more file.txt
当要查看的文件file.txt
的内容特别长的时候,使用cat
命令查看并不方便,而more
命令刚好可以满足这种需求。
more
命令会从头读取file.txt
文件的内容,刚好读满整个屏幕的数据作为一页显示。当我们按下回车键(Enter)时,滚动显示下一行的内容;当我们按下空格键(Space)时,滚动显示下一页的内容。直到到达文件file.txt
的末尾时more
命令才会退出。
more
命令适合浏览长文件时使用或在纯Shell(非模拟终端)场景使用。
less
命令更灵活的按页查看文件
语法
>$ less file.txt
less
命令与more
命令非常相似,可以看做是加强版的more
命令。
less
命令不仅支持与more
命令相同的分页显示、回车键
和空格键
向后读取文件,还支持使用光标控制键(上下箭头)
、vim光标控制键(j、k)
和Emacs光标控制键(C-n、C-p)
来向后或向前读取文件。使用户可以用更加灵活的方式查看文件。
Linux零基础入门第四课的更多相关文章
- Linux零基础入门第五课
文件的基本操作(下) 文件属性 file命令 语法 >$ file file0 [file1 file2 ...] file命令用于确认文件的类型. 在Linux下,通常并不会严格按照文件扩展名 ...
- Android零基础入门第14节:使用高速Genymotion,跨入火箭时代
原文:Android零基础入门第14节:使用高速Genymotion,跨入火箭时代 无论是使用Eclipse,还是Android Studio,使用自带的Android模拟器,不仅很费电脑内存,模拟器 ...
- Android零基础入门第10节:开发IDE大升级,终于迎来了Android Studio
原文:Android零基础入门第10节:开发IDE大升级,终于迎来了Android Studio 通过前面几期的学习,我们知道了Android的前世今生,也了解了Android的系统架构和应用组件,也 ...
- Android零基础入门第1节:Android的前世今生
原文:Android零基础入门第1节:Android的前世今生 现在网上有很多各色Android资料了,但相对来说还是比较零散,Android覆盖的范围极广,最近刚好有机会全部拉通整理一遍,也保存起来 ...
- Android零基础入门第2节:Android 系统架构和应用组件那些事
原文:Android零基础入门第2节:Android 系统架构和应用组件那些事 继上一期浅谈了Android的前世今生,这一期一起来大致回顾一下Android 系统架构和应用组件. 一.Android ...
- Android零基础入门第30节:两分钟掌握FrameLayout帧布局
原文:Android零基础入门第30节:两分钟掌握FrameLayout帧布局 前面学习了线性布局.相对布局.表格布局,那么本期来学习第四种布局--FrameLayout帧布局. 一.认识FrameL ...
- Android零基础入门第25节:最简单最常用的LinearLayout线性布局
原文:Android零基础入门第25节:最简单最常用的LinearLayout线性布局 良好的布局设计对于UI界面至关重要,在前面也简单介绍过,目前Android中的布局主要有6种,创建的布局文件默认 ...
- Android零基础入门第18节:EditText的属性和使用方法
原文:Android零基础入门第18节:EditText的属性和使用方法 EditText与TextView非常相似,它甚至与TextView 共用了绝大部分XML属性和方法.EditText与Tex ...
- Android零基础入门第11节:简单几步带你飞,运行Android Studio工程
原文:Android零基础入门第11节:简单几步带你飞,运行Android Studio工程 之前讲过Eclipse环境下的Android虚拟设备的创建和使用,现在既然升级了Android Studi ...
随机推荐
- LOJ.6073.[2017山东一轮集训Day5]距离(可持久化线段树 树链剖分)
题目链接 就是恶心人的,简单写写了...(似乎就是[HNOI2015]开店?) 拆式子,记\(dis_i\)为\(i\)到根节点的路径权值和,\(Ans=\sum dis_{p_i}+\sum dis ...
- Java -- 内部类(二)
在上一篇博客Java --内部类(一)中已经提过了,java中的内部类主要有四种:成员内部类.局部内部类.匿名内部类.静态内部类. 该文主要介绍这几种内部类. 成员内部类 成员内部类也是最普通的内部类 ...
- 快速排序 [Qsort]
在做USACO1.4 等差数列的时候,我发现如果用结构体+sort就会超时,用二维数组+qsort就能AC,所以为了不忘记Quick Sort,我还是把代码贴出来以备以后要看吧. void qsort ...
- 2017.07.09【NOIP提高组】模拟赛B组
Summary 今天放假,比赛于是就没有打了,但是看了一下题,发现都挺简单了,不想码~╮(╯▽╰)╭懒虫一条.最后一题居然做过原题.这次比赛让我对并查集“刮目相看”,对贪心感到“前途无量”,觉得树形D ...
- Egret 按钮点击缩放效果
非代码设计,exml直接操作 设计模式下选中对象,之后[源码],会直接定位到该对象在exml源码中的位置 width.down = "100%" 表示当按钮按下的时候宽度为 100 ...
- react native webview 不能滑动页面
用RN 写Android的时候,webview点击正常,但是不能滑动,或者滑动很艰难.调试不报错,inspect一切正常. 遍查网络无良方, 最后发现其他同事在最外层套了个这东西: Touchable ...
- jsp下载文件的实现方法及注意事项 (转)
jsp中实现文件下载,最简单的方式是在网页上做超级链接,如:<a href="music/abc.mp3">点击下载</a>. 但是,这样服务器上的目录资源 ...
- 小甲鱼Python第七讲课后习题
0.if not(money < 100):上边这行代码相当于? if money>=100 1.assert 的作用是什么? assert “断言”,当这个关键字后边的条件为假的时候,程 ...
- C#轻量级配置文件组件EasyJsonConfig
一.课程介绍 一.本次分享课程<C#轻量级配置文件EasyJsonConfig>适合人群如下: 1.有一定的NET开发基础. 2.喜欢阿笨的干货分享课程的童鞋们. 二.今天我们要如何优雅解 ...
- EF Core中执行Sql语句查询操作之FromSql,ExecuteSqlCommand,SqlQuery
一.目前EF Core的版本为V2.1 相比较EF Core v1.0 目前已经增加了不少功能. EF Core除了常用的增删改模型操作,Sql语句在不少项目中是不能避免的. 在EF Core中上下文 ...