文档章节

linux 目录结构及文件基本操作

羽落星辰
 羽落星辰
发布于 2016/12/09 18:02
字数 1423
阅读 1
收藏 0
点赞 0
评论 0

基本结构

cd 命令

$ cd .. #进入上一级目录   ..上级目录  .当前目录
$ pwd #当前位置
$ cd ~  # 或者 cd /home/<你的用户名>
$ cd /usr/local/bin # 绝对路径
$ cd ../../usr/local/bin # 相对路径

二、Linux 文件的基本操作

新建空白文件

$ touch 文件

新建目录

$ mkdir 目录名

  使用 -p 参数,同时创建父目录(如果不存在该父目录),如下我们同时创建一个多级目录(这在有时候安装软件,配置安装路径时非常有用):

$ mkdir -p father/son/grandson

复制文件

使用cp(copy)命令复制一个文件或目录到指定目录

$ cp 文件名 目的目录

复制目录

要成功复制目录需要加上-r或者-R参数,表示递归复制,就是说有点“株连九族”的意思:

$ cp -r 源目录 目的目录

删除文件

使用rm(remove files or directories)命令,删除一个文件或目录:

$ rm 目录 或者 文件名   添加参数 -f 忽略提示

删除目录

跟复制目录一样,要删除一个目录,也需要加上-r-R参数:

$ rm -r 目录

移动文件

mv 源目录文件 目的目录

重命名文件

mv 旧的文件名 新的文件名

批量重命名

要实现批量重命名,mv 命令就有点力不从心了,我们可以使用一个看起来更专业的命令rename来实现。不过它是要用 perl 正则表达式来作为参数,关于正则表达式我们要在后面才会介绍到,这里只做演示,你只要记得这个rename命令可以批量重命名就好了,以后再重新学习也不会有任何问题,毕竟你已经掌握了一个更常用的mv命令。

# 使用通配符批量创建 5 个文件
$ touch file{1..5}.txt

# 批量将这 5 个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文件
$ rename 's/\.txt/\.c/' *.txt

# 批量将这 5 个文件,文件名改为大写
$ rename 'y/a-z/A-Z/' *.c

简单解释下上面的命令,rename是先使用第二个参数的通配符匹配所有后缀为.txt的文件,然后使用第一个参数提供的正则表达式将匹配的这些文件的.txt后缀替换为.c,这一点在我们后面学习了sed命令后,相信你会更好的理解。

5.查看文件

使用cat,tacnl命令查看文件

这两个命令都是用来打印文件内容到标准输出(终端),其中cat为正序显示,tac倒序显示。

比如我们要查看之前从"/etc"目录下拷贝来的passwd文件:

$ cat passwd

可以加上-n参数显示行号:

$ cat -n passwd

nl命令,添加行号并打印,这是个比cat -n更专业的行号打印命令。

这里简单列举它的常用的几个参数:

-b : 指定添加行号的方式,主要有两种:
    -b a:表示无论是否为空行,同样列出行号("cat -n"就是这种方式)
    -b t:只列出非空行的编号并列出(默认为这种方式)
-n : 设置行号的样式,主要有三种:
    -n ln:在行号字段最左端显示
    -n rn:在行号字段最右边显示,且不加 0
    -n rz:在行号字段最右边显示,且加 0
-w : 行号字段占用的位数(默认为 6 位)

使用moreless命令分页查看文件

如果说上面的 cat 是用来快速查看一个文件内容的,那么这个moreless就是天生用来"阅读"一个文件的内容的,比如说"man"手册内部就是使用的 less 来显示内容。其中more命令比较简单,只能向一个方向滚动,而"less"为基于"more"和"vi"(一个强大的编辑器,我们有单独的课程来让你学习)开发,功能更强大。less 的使用基本和 more 一致,具体使用请查看 man 手册,这里只介绍 more 命令的使用。

使用more工具打开passwd文件:

$ more passwd

打开后默认只显示一屏内容,终端底部显示当前阅读的进度(百分比)。可以使用Enter键向下滚动一行,使用Space键向下滚动一屏,按下h显示帮助,q退出

使用headtail命令查看文件

这两个命令那些性子比较急的人应该会比较喜欢,因为它们一个是只查看的头几行(默认为10行,不足10行则显示全部)和尾几行。还是拿 passwd 文件举例,比如当我们想要查看最近新增加的用户,那么我们可以查看这个/etc/passwd文件,不过我们前面也看到了,这个文件里面一大堆乱糟糟的东西,看起来实在费神啊。这里想到系统新增加一个用户,应该会将用户的信息添加到passwd文件的最后,那么这时候我们就可以使用tail命令了:

$ tail /etc/passwd

甚至更直接的只看一行, 加上-n参数,后面紧跟行数:

$ tail -n 1 /etc/passwd

关于tail命令,不得不提的还有它一个很牛的参数-f,这个参数可以实现不停地读取某个文件的内容并显示。这可让我们动态查看日志起到实时监视的作用

6.查看文件类型

$ file /bin/ls

7.编辑文件

$ vim 文件名

 

© 著作权归作者所有

共有 人打赏支持
羽落星辰
粉丝 1
博文 59
码字总数 35639
作品 0
海淀
程序员
嵌入式linux系统的开发——文件系统的分区和挂载

前言 当我们新买的硬盘安装在电脑上后,必须要对硬盘分区和文件系统格式化后才能使操作系统能够在分区内正常读写和保存文件。所谓分区即是将硬盘划分为多个空间范围,我们可以在不同的分区内...

元宵大师 ⋅ 06/15 ⋅ 0

Admin(一)——Linux简介与简单命令

一、RHEL 与CentOS的区别 RHEL是红帽公司提供的商业版Linux系统,若要获取DVD镜像、安全更新等技术服务支持,一般需要付费订阅;不过构成RHEL系统的各种软件包都是基于GPL开源协议免费发布的...

神奇的小哈 ⋅ 05/15 ⋅ 0

嵌入式Linux学习基础规划篇

嵌入式的学习是需要日积月累的,是通过一点一滴的积累才能成为大神。下面来介绍一下嵌入式linux学习基础规划,目标是达到适应嵌入式应用软件开发、嵌入式系统开发或嵌入式驱动开发的基本素质...

创客学院 ⋅ 04/10 ⋅ 0

Linux文件系统2---VFS的四个主要对象

https://www.cnblogs.com/smartjourneys/p/7260911.html 1.引言 本文所述关于文件管理的系列文章主要是对陈莉君老师所讲述的文件系统管理知识讲座的整理。 Linux可以支持不同的文件系统,它源...

chungle2011 ⋅ 05/11 ⋅ 0

linux-4.16.8源码目录分析

【仍然是操作系统实验作业..我哭】【都是google来的答案,我什么都不知道...】 1.arch:与体系结构相关的代码,里面存放了很多cpu架构,比如arm,x86,MIPS,PPC等。Linux支持的每种体系结构(对...

qq_40172927 ⋅ 05/12 ⋅ 0

Day4 系统目录结构 ls命令、 文件类型 、alias命令

系统目录结构 |名称|类型|解释||:---|:-----|:-----|| /bin | 普通二进制文件 | bin是Binary的缩写,该目录下存放的是最常用的命令。| | /boot | 启动目录 | 该目录下存放的是启动Linux时使用...

杉下 ⋅ 2017/10/20 ⋅ 0

Day5 系统目录结构 ls命令、 文件类型 、alias命令

系统目录结构 |名称|类型|解释||:---|:-----|:-----|| /bin | 普通二进制文件 | bin是Binary的缩写,该目录下存放的是最常用的命令。| | /boot | 启动目录 | 该目录下存放的是启动Linux时使用...

杉下 ⋅ 06/02 ⋅ 0

redis学习之redis的安装(linux)

redis简介: redis是一个nosql数据库,也就是非关系型数据库,数据保存在内存中而不是硬盘中,所以读取速度非常快,但是因为它是非关系型数据库,不适合用来存储复杂的数据,所以常用来做缓存...

贪挽懒月 ⋅ 05/16 ⋅ 0

Linux运维工程师笔试题系列3(30题)

Linux运维工程师笔试题系列3(30题) 如果您对问题有疑问,或者认为答案不准确的,欢迎留言交流。 问题如下: 1. 从四个选项选出不同的一个。 A telnet B rsync C wget D scp 2. 在UNIX系统中...

优惠券发放 ⋅ 06/02 ⋅ 0

Linux文件结构学习掌握重点

文件结构 /:根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。 /bin:bin 就是二进制(binary)英文缩写。在一般的系统当中,都可以在这个目录下...

ludan60 ⋅ 04/15 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 今天 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

Spring boot 项目打包及引入本地jar包

Spring Boot 项目打包以及引入本地Jar包 [TOC] 上篇文章提到 Maven 项目添加本地jar包的三种方式 ,本篇文章记录下在实际项目中的应用。 spring boot 打包方式 我们知道,传统应用可以将程序...

Os_yxguang ⋅ 昨天 ⋅ 0

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 昨天 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 昨天 ⋅ 0

eclipse酷炫大法之设置主题、皮肤

eclipse酷炫大法 目前两款不错的eclipse 1.系统设置 Window->Preferences->General->Appearance 2.Eclipse Marketplace下载【推荐】 Help->Eclipse Marketplace->搜索‘theme’进行安装 比如......

anlve ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部