这篇文章主要介绍了Linux如何实现文件操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
文件是linux中的一个重要概念。在Linux中,一切(几乎一切)都是文件。简单的说,C中基本的的printf()函数,scanf()函数,其实都属于文件操作。
其它新建文件的方式
nano类似于Windows下记事本的功能,nano filename就可以新建一个文件,并在里面写内容;ctrl+x退出,根据提示按Y保存。 vim 功能更强大的文本编辑器。vim filename就可以新建一个文件, 敲击键盘字母i,进入写作模式。写完后,敲击键盘Esc, 退出写作模式,然后输入:w (会显示在屏幕左下角),回车保存。vim的常用方法,以后会单写一个,这里点到为止。
Linux下文件操作
常用的文件操作有移动文件到另一个文件夹、复制文件到另一个文件夹、文件重命名等。 cp (copy): 拷贝文件或文件夹 (cp -r 拷贝文件夹时的参数,递归拷贝)
# 列出当前目录下有的文件和文件夹ct@ehbio:~$ lsdata# 新建一个文件夹ct@ehbio:~$ mkdir ehbio_project# 列出当前目录下有的文件和文件夹, 及其子文件夹的内容# data目录下有一个文件,ehbio_project目录下无文件ct@ehbio:~$ ls *data:test.faehbio_project:# 拷贝data目录下的文件test.fa到ehbio_project目录下ct@ehbio:~$ cp data/test.fa ehbio_project/# 列出当前目录下有的文件和文件夹, 及其子文件夹的内容# data目录下有一个文件,ehbio_project目录下无文件ct@ehbio:~$ ls *data:test.faehbio_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$ lstest.fa# 给文件做一份拷贝ct@ehbio:~/ehbio_project$ cp test.fa second.fact@ehbio:~/ehbio_project$ lssecond.fa test.fa# 给文件多拷贝几次,无聊的操作,就是为了给rename提供发挥作用的机会ct@ehbio:~/ehbio_project$ cp test.fa test2.fact@ehbio:~/ehbio_project$ cp test.fa test3.fact@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$ lssecond.fa test2.fa test3.fa test4.fa test.fa# 用rename进行文件批量重命名ct@ehbio:~/ehbio_project$ rename 'test' 'ehbio' test*.fact@ehbio:~/ehbio_project$ lsehbio2.fa ehbio3.fa ehbio4.fa ehbio.fa second.faln (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/总用量 4lrwxrwxrwx 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 ../dataln: 无法创建符号链接" ../data/ehbio2.fa" : 文件已存在# 上面的错误信息时,已经存在这么一个链接了(虽然是无效的),但再建新的链接时还会提示# 使用`-f` (force)强制覆盖已有的链接ct@ehbio:~/ehbio_project$ ln -fs `pwd`/ehbio2.fa ../data# 再次查看时,就正常了。文件名下面没有了背景色,并且有个右箭头指向原始文件# `lrwxrwxrwx`中的`l`表示软连接。ct@ehbio:~/ehbio_project$ ls -l ../data/总用量 4lrwxrwxrwx 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 ../dataln: 无法创建符号链接" ../data/ehbio2.fa" : 文件已存在ct@ehbio:~/ehbio_project$ ln -fs `pwd`/ehbio2.fa ../datact@ehbio:~/ehbio_project$ ls -l ../data/总用量 4lrwxrwxrwx 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如何实现文件操作”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!