11 Linux文件管理与编辑常用命令行

文章类别 in linux

这一篇章对文件的管理命令行进行学习,我们在操作系统的时候,经常会对文件进行操作,所以对文件的操作命令学习与使用尤为重要。

mkdir

作用:创建文件目录。

mkdir [选项] 目录名

对命令的选项不了解的可以用 man 命令进行查看。

举例: 在home目录下创建usera,同时在usera下创建userb:

mkdir -p /home/usera/userb

more

作用: 显示较长文本,比如文本过长,就使用more来分屏显示,按enter可以显示满屏后的下一行,按住空格键可以显示下一屏。

more [选项] 文件名

举例: 显示日志文件,并且每屏显示10行,同时清除屏幕:

more -c -10 /var/log/boot.log

cat

作用:显示文件内容到标准输出,还可以连接合并文件。

cat [选项] 文件名

cat 文件1 文件2 > 文件3

举例:

显示boot.log文件,并且制表符显示为”^I”,并且编号:

cat -Ab /var/log/boot.log

将 filea.txt fileb.txt 合并到filec.txt上

cat filea.txt	fileb.txt	>	filec.txt

touch

作用: 指定文件访问时间和修改时间,如果文件不存在就创建文件

touch [选项] 设定的时间 文件

举例(#后面为注释):

touch test.txt #创建文件
ls -l #显示文件创建时间
-rw-r--r-- 1 root root    0 Apr 25 15:15 test.txt
touch -d "20170101 01:29" test.txt # 将文件创建时间显示为20170101 01:29
ls -l #显示文件创建时间
-rw-r--r-- 1 root root    0 Jan  1 01:29 test.txt

diff

作用: 比较文件间的差异

diff [选项] 文件1 文件2

举例 : 比较 test.txt 和 test2.txt 的差异:

[root@myserver tmp]# cat test.txt 
hi~ this is a test file .
this is a line 2
[root@myserver tmp]# cat test2.txt 
hello! this is a test2 file!
[root@myserver tmp]# diff test.txt test2.txt 
1,2c1
< hi~ this is a test file .
< this is a line 2
---
> hello! this is a test2 file!

grep

作用: 过滤,根据字符串对文件的每一行进行搜索,如果找到该字符串就输出该行的内容。

grep [选项] 搜索的字符串 文件

举例: 列出 test.txt 中 含有 is 的行

[root@myserver tmp]# grep -in is test.txt
1:hi~ this is a test file .
2:this is a line 2

这里的 -i 搜索时忽略大小写 -n 搜索结果中输出行数

rm

作用: 删除某个目录和该目录下的所有文件

rm [选项] 文件或者目录

举例: 删除test.txt

rm -i test.txt
rm: remove regular file `test.txt'? y > 注意: 要慎用 rm -rf ,这是强制删除且不给提示是否删除,如果文件被删除了就恢复不了,因为Linux没有回收站的。

ln

作用: 为文件或者目录之间创建链接。链接分为硬链接字符链接两种

硬链接: 在Linux系统中的所有文件类型都会分配一个inode号,多个文件可以指向同一个inode,这样的作用是可以让一个文件拥有多个有效路径,防止误删除。只有当最后一个链接被删除,文件才会被真正的删除。

字符链接: 也叫软链接,就像windows系统中的快捷方式,是指向一个真正的文件或者目录位置的连接。

ln [选项] 源文件 目标链接名

举例: 将t1.txt 硬链接到t2.txt,并且备份t2.txt:

ln

file

作用: 显示文件的类型。

file [选项] 文件名

举例:

file

cp

作用: 复制

cp [选项] 源文件或目录 目标文件或目录

举例:将当前目录下的所有文件复制到 /tmp 下

cp ./* /tmp

find

作用: 在指定路径下查找指定的文件。

find 路径 [选项] [-print -exec -ok 命令 {} \;]

  • -print 将结果输出到标准输出
  • -exec 命令 {} \; 对搜索出来的文件执行命令
  • -ok 命令 {} \; 对搜索出来的文件执行命令,在执行命令之前会询问是否执行。

举例: 查找 /tmp 目录下t1的txt文件进行删除:

find

mv

作用 : 将文件或目录移动到另一个文件或目录。

mv [选项] 源文件或者目录 目标文件或者目录

举例:在同一目录下创建 document 目录 和 doc.txt 文件, 然后将doc.txt 文件移动到 document目录中。

mv

split

作用: 分割文件

split [选项] [inputfile] [outputfile]

  • inputfile : 需要分割的文件。
  • outputfile: 分割出来的文件序列。

举例: 将/opt/etc.zip进行分割,指定每个文件大小为2M:

split -b 2M /opt/etc.zip /opt/etc.zip_back