Linux 通过命令行操作文件,包括查看、编辑、复制、移动、删除、创建、搜索、匹配、压缩、解压缩文件。学会查看使用文档也很重要。
查看
cat
1 | $ # 输出 FILE 文件的全部内容 |
cat
是 concatenate(连接)的缩写。cat
工具实际的功能是连接多个文件,然后输出。只有一个文件的时候,cat
就会直接输出这个文件,所以 cat
最常见的用途就是输出单个文件。
less
1 | $ # 在可交互的窗口内输出 FILE 文件的内容 |
cat
会一次性打印全部内容到终端中并退出,而 less
一次只显示一页,且支持向前/后滚动、搜索等功能。如果要在一个大文件中查找一部分内容,less
通常要比 cat
方便得多。
和 less
相似的指令:more
, most
。
编辑
Nano 是在很多机器上自带的命令行文本编辑器,比 vim 和 emacs 对新手更加友好。
1 | $ nano FILE # 使用 nano 编辑 FILE 文件 |
复制
1 | $ # 将 SOURCE 文件拷贝到 DEST 文件,拷贝得到的文件即为 DEST |
硬链接和软链接
硬链接与源文件有着相同的 inode,都指向磁盘中的同一个位置。删除其中一个,并不影响另一个。
软链接与源文件的 inode 不同。软链接保存了源文件的路径,在访问软链接的时候,访问的路径被替换为源文件的路径,因此访问软链接也等同于访问源文件。但是如果删除了源文件,软链接所保存的路径也就无效了,软链接因此也是无效的1。
移动
1 | $ # 将 SOURCE 文件移动到 DEST 文件 |
类似于 Windows 下的剪切。
删除
1 | $ # 删除 FILE 文件,FILE 可以为多个文件。 |
创建
创建目录
1 | $ # 创建一个目录,名为 DIR_NAME |
创建文件
1 | $ # 创建一个文件,名为 FILE_NAME |
stat
命令可以显示文件的属性信息。
touch
实际上的功能是修改文件的访问时间(access time, atime)和修改时间(modification time, mtime),可以当作是摸(touch)了一下文件,使得它的访问与修改时间发生了变化。当文件不存在时,touch
会创建新文件。
搜索
1 | $ # 在 PATH(路径)中根据 EXPRESSION(表达式)搜索文件 |
模式匹配
bash 的匹配模式被称为glob。
1 | $ # e.g. |
使用通配符前一定要确认输入无误,否则可能出现严重的后果(如 rm -rf *
会删掉当前目录的所有文件)。
压缩与解压缩
使用 tar 操作存档、压缩文件
1 | $ # 命令格式如下,请参考下面的使用样例了解使用方法 |
和大部分 Linux 命令一样,tar
命令可以组合参数。例如,以下命令等价:
1 | $ tar -c -z -v -f target.tar test/ |
后缀名并不能决定文件类型,但可以帮助人们辨认这个文件的可能文件类型,从而选择合适的打开方法。
软件的使用文档
man 命令
1 | $ # 调出 tar 命令和 ls 命令的文档 |
会显示软件的每一个参数的含义、退出值含义、作者等内容,大而全。但一般较少带有使用样例,需要根据自身需要拼接软件参数,不利于快速上手。
通过几个简单的例子让用户可以快速了解软件的使用方法。
1 | $ tldr COMMAND |
注意,如果出现报错:
1 | mkdir:无法创建目录"/home/lzy/.tldr":文件已存在 |
解决办法是:
1 | $ sudo apt-get update |
评论