文档章节

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

风雪满弓刀
 风雪满弓刀
发布于 2016/12/09 18:02
字数 1423
阅读 1
收藏 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 文件名

 

© 著作权归作者所有

共有 人打赏支持
上一篇: Mybatis 日志打印
下一篇: linux 系列
风雪满弓刀
粉丝 1
博文 62
码字总数 35930
作品 0
海淀
程序员
私信 提问
linux操作:你至少应该知道这些文件命令

看网上针对*linux基本文件操作文章参差不齐。本文根据个人项目开发经验,主要介绍linux目录结构,及其文件和文件夹的创建,删除,移动,拷贝,望初学者少走弯路。 在正式说linux文件操作命令...

阿小庆
07/13
0
0
Redis进阶实践之二如何在Linux系统上安装安装Redis

Redis进阶实践之二如何在Linux系统上安装安装Redis 一、引言 上一篇文章写了“如何安装VMware Pro虚拟机”和在虚拟机上安装Linux操作系统。那是第一步,有了Linux操作系统,我们才可以在该系...

morpheusWB
09/13
0
0
Linux系统的目录结构--Linux入门到精通系列

Linux安装后,由系统产生的目录比较多,初学都对这众多的目录通常会感到很迷或,不知这些目录有何作用,彼此间有何区别,用户自己的目录创建在哪个目录下比较合适。 1、目录结构简介 与DOS和...

长平狐
2012/09/20
147
0
嵌入式linux系统的开发——文件系统的分区和挂载

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

元宵大师
06/15
0
0
全栈工程师学习Linux技术的忠告

1.Linux体系组织结构 学习一个系统需要了解其体系结构,这样才能更好的学习。Linux有kernel和user两种模式,内核、shell和文件系统统一形成基本的操作系统结构,Linux内核由如下几部分组成:...

linuxprobe
2016/09/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

基础编程题目集-7-13 日K蜡烛图

股票价格涨跌趋势,常用蜡烛图技术中的K线图来表示,分为按日的日K线、按周的周K线、按月的月K线等。以日K线为例,每天股票价格从开盘到收盘走完一天,对应一根蜡烛小图,要表示四个价格:开...

niithub
24分钟前
0
0
Jenkins window 下的安装使用

1.下载:https://jenkins.io/download/ 双击安装完毕,将自动打开浏览器: http://localhost:8080 打开对应位置的文件,将初始密钥粘贴至输入框。 第一个是 安装默认的软件;第二个是 自定义...

狼王黄师傅
26分钟前
1
0
深入解析react关于事件绑定this的四种方式

这篇文章主要介绍了详解react关于事件绑定this的四种方式,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 在react组件中,每个方...

前端攻城小牛
34分钟前
1
0
JS正则表达式

url的正则表达式:包括IP,域名(domain),ftp,二级域名,域名中的文件,域名加上端口!用户名等等信息 `function` `IsURL(str_url) {``var` `strRegex =``"^((https|http|ftp|rtsp|mm...

前端小攻略
38分钟前
1
0
shell习题_2

find /root/ceshi1/ -type f -name "*.txt"|xargs -i mv {} {}.bak find /root/ceshi1/ -type f -name "*.txt" -exec mv {} {}.bak \; 1、批量修改文件名: n1=`echo $f|sed '#.bak##'` [ro......

芬野de博客
40分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部