良许Linux教程网 干货合集 详解Linux文件操作

详解Linux文件操作

文件是linux中的一个重要概念。在Linux中,一切(几乎一切)都是文件。简单的说,C中基本的的printf()函数,scanf()函数,其实都属于文件操作,本篇文章重点为大家讲解一下Linux系统中的文件操作,有需要的小伙伴可以参考一下。

详解Linux文件操作

其它新建文件的方式

nano类似于Windows下记事本的功能,nano filename就可以新建一个文件,并在里面写内容;ctrl+x退出,根据提示按Y保存。 vim 功能更强大的文本编辑器。vim filename就可以新建一个文件, 敲击键盘字母i,进入写作模式。写完后,敲击键盘Esc, 退出写作模式,然后输入:w (会显示在屏幕左下角),回车保存。vim的常用方法,以后会单写一个,这里点到为止。

Linux下文件操作

常用的文件操作有移动文件到另一个文件夹、复制文件到另一个文件夹、文件重命名等。 cp (copy): 拷贝文件或文件夹 (cp -r 拷贝文件夹时的参数,递归拷贝) Linux学习教程-其它新建文件的方式 or Linux下文件操作Linux学习教程-其它新建文件的方式 or Linux下文件操作

# 列出当前目录下有的文件和文件夹
ct@ehbio:~$ ls
data

# 新建一个文件夹
ct@ehbio:~$ mkdir ehbio_project

# 列出当前目录下有的文件和文件夹, 及其子文件夹的内容
# data目录下有一个文件,ehbio_project目录下无文件
ct@ehbio:~$ ls *
data:
test.fa

ehbio_project:

# 拷贝data目录下的文件test.fa到ehbio_project目录下
ct@ehbio:~$ cp data/test.fa ehbio_project/

# 列出当前目录下有的文件和文件夹, 及其子文件夹的内容
# data目录下有一个文件,ehbio_project目录下无文件
ct@ehbio:~$ ls *
data:
test.fa

ehbio_project:
test.fa

mv (move): 移动文件或文件夹

# 重命名data目录下的文件test.fa为first.fa # mv除了可以移动文件,也可以做单个文件的重命名 ct@ehbio:~$ mv data/test.fa data/first.fa

# 列出当前目录下有的文件和文件夹, 及其子文件夹的内容 ct@ehbio:~$ ls * data: first.fa

ehbio_project: test.fa

rename: 文件重命名 (常用于批量重命名,不同的系统可能用法略有不同,使用前先man rename查看使用方法)

# 进入另一个目录
ct@ehbio:~$ cd ehbio_project/
ct@ehbio:~/ehbio_project$ ls
test.fa

# 给文件做一份拷贝
ct@ehbio:~/ehbio_project$ cp test.fa second.fa
ct@ehbio:~/ehbio_project$ ls
second.fa  test.fa

# 给文件多拷贝几次,无聊的操作,就是为了给rename提供发挥作用的机会
ct@ehbio:~/ehbio_project$ cp test.fa test2.fa
ct@ehbio:~/ehbio_project$ cp test.fa test3.fa
ct@ehbio:~/ehbio_project$ cp test.fa test4.fa

# cp 后面需要2个参数,被拷贝的文件和要被拷贝到的目录或文件
# 出现下面的错误,表示缺少目标路径或文件
ct@ehbio:~/ehbio_project$ cp ehbio.fa

cp: 在” ehbio.fa” 后缺少了要操作的目标文件

Try 'cp --help' for more information.

ct@ehbio:~/ehbio_project$ ls
second.fa  test2.fa  test3.fa  test4.fa  test.fa

# 用rename进行文件批量重命名
ct@ehbio:~/ehbio_project$ rename 'test' 'ehbio' test*.fa
ct@ehbio:~/ehbio_project$ ls
ehbio2.fa  ehbio3.fa  ehbio4.fa  ehbio.fa  second.fa
ln (link): 给文件建立快捷方式 (ln -s source_file target 创建软连接)。

在建立软连接时,原文件要使用全路径。全路径指以/开头的路径。

建立软连接,是为了在不增加硬盘存储的情况下,简化文件访问方式的一个办法。把其它文件夹下的文件链接到当前目录,使用时只需要写文件的名字就可以了,不需要再写长串的目录了。

../: 表示上一层目录;../../: 表示上面两层目录

pwd (print current/working directory): 输出当前所在的目录

\为键盘Esc下第一个按键 (与家目录~`符号同一个键),写在反引号内的命令会被运行,运行结果会放置在反引号所在的位置

# 建立软连接,把当前目录下的ehbio2.fa,链接到上一层目录的data下面

# 这是一个无效的软连接,
ct@ehbio:~/ehbio_project$ ln -s ehbio2.fa ../data

# 在使用ls查看时,无效的软连接的文件名下面是黑色的背景。
ct@ehbio:~/ehbio_project$ ls -l ../data/
总用量 4
lrwxrwxrwx 1 ct ct   9 6月   9 17:55 ehbio2.fa -> ehbio2.fa
-rw-rw-r-- 1 ct ct 284 6月   8 14:48 first.fa

# 输出当前所在的目录
ct@ehbio:~/ehbio_project$ pwd
/home/ct/ehbio_project

# 建立软连接时,原始文件一定使用全路径。全路径指以/开头的路径。
ct@ehbio:~/ehbio_project$ ln -s /home/ct/ehbio_project/ehbio2.fa ../data
ln: 无法创建符号链接" ../data/ehbio2.fa" : 文件已存在

# 上面的错误信息时,已经存在这么一个链接了(虽然是无效的),但再建新的链接时还会提示
# 使用`-f` (force)强制覆盖已有的链接
ct@ehbio:~/ehbio_project$ ln -fs `pwd`/ehbio2.fa ../data

# 再次查看时,就正常了。文件名下面没有了背景色,并且有个右箭头指向原始文件
# `lrwxrwxrwx`中的`l`表示软连接。
ct@ehbio:~/ehbio_project$ ls -l ../data/
总用量 4
lrwxrwxrwx 1 ct ct  32 6月   9 17:56 ehbio2.fa -> /home/ct/ehbio_project/ehbio2.fa
-rw-rw-r-- 1 ct ct 284 6月   8 14:48 first.fa

# 通常为了简化写法,使用`pwd`代替全路径
# `为键盘Esc下面的按键,写在反引号内的命令会被运行,运行结果会放置在反引号所在的位置
ct@ehbio:~/ehbio_project$ ln -s `pwd`/ehbio2.fa ../data
ln: 无法创建符号链接" ../data/ehbio2.fa" : 文件已存在
ct@ehbio:~/ehbio_project$ ln -fs `pwd`/ehbio2.fa ../data
ct@ehbio:~/ehbio_project$ ls -l ../data/
总用量 4
lrwxrwxrwx 1 ct ct  32 6月   9 17:56 ehbio2.fa -> /home/ct/ehbio_project/ehbio2.fa
-rw-rw-r-- 1 ct ct 284 6月   8 14:48 first.fa

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

img
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部