文件管理命令详解-Linux(14)

前言

本篇写命令的详细用法,如果要看看命令汇总的,可以查看明明哥写的这篇博文
https://blog.csdn.net/babybabyup/article/details/80289692
学习命令最好的方式就是在自己的电脑上试一遍

touch

touch命令用于修改文件或者目录的属性,如果文件不存在,则会新建文件
具体用法:

touch [-acm]  [-t YYMMDDHHMM] file

参数作用:

参数 作用
a 改变读取时间记录
m 改变修改时间记录
c 如果文件不存在则不新建文件
-t 设置时间,如果没有此参数,则默认当前时间

例如

touch -m -t 1805202020 test

将test文件的时间重新设置,用ls -l test 查看

mkdir

此命令用于创建新的目录

mkdir [-p] dirname

常用参数

  • p :如果目录存在,则建立其父目录

tee

在控制台读取内容,并将所读取到的内容存在指定的文件中

tee [-a] file1 [file2...]

参数作用

  • a : 不覆盖原有内容,在原有内容上追加,默认是覆盖原有内容的

运行代码

tee test two

追加内容

tee -a test two

查看

cat

最常用的命令之一,查看文件的内容

cat [-nbsE] file

参数详解

参数 作用
n 从1开始对每一行编号并输出,包括空行
b 从1开始对每一行编号并输出,不包括空行
s 将两个空行合并为一个后输出
E 在每一行末添加$并输出

高级应用

  • 输入到文件中

将file1中的内容输入到file2中

cat [-nbsE] file1 > file2

将file1,file2,中的内容输入到file3中

cat [-nbsE] file1 file2 >> file3

文件总数超过两个则用两个>>
代码实测

cat -b test > two
cat -b test two >> three

最后结果上个图吧,直观一点

more

浏览较大的文件,一页一页显示,但是功能较less命令少
用法

more [-sf] [-num] [+/string] [+linenum] file1 [file2...]

可以一次性查看多个文件内容
参数解释

参数 作用
s 类似cat命令的s参数,两个空行则显示为一个空行
f 计算行数
-num 每次显示num行
+/string 搜索string
+linenum 在第linenum处开始显示

进入more命令后,空格键显示下一页,b (back) 显示前一页,q (quit) 退出。

less

与more命令类似,但是功能远多于more命令。

less [-option] file

参数详解

参数 作用
-e 当文件显示结束时,自动离开
-m 显示文件的百分比
-N 显示每行行号
-o <文件> 输出的内容在file中保存
-s 显示连续空行为一行

进入less命令后,

按键 作用
空格 向后翻一页
d 向后翻半页
return 向后翻一行
u 向前翻半页
y 向前翻一行
/string 向下搜索string
?string 向上搜索string

paste

此命令用于合并多个文件内容的列,并且输出在terminal。
用法

paste [-s] file1 [file2...]

参数解释:

  • -s:将所有内容输出为一行

当然要进行代码实地测试啦

paste test two

结果我就上个图吧

od

以八进制输出文件内容

od [-option] file

目前没有实际用到过,用到了再细说

cut

顾名思义,把文件分割再输出。
基础用法

cut [-option] file

参数解释

参数 作用
-b num 选取第num个字节,b->byte
-c num 选取第num个字符,c->character
-f num 选取第num个域,f->field
-d 分隔符 以自定义分隔符进行分割,默认为制表符,通常与-f连用

代码测试一下
首先查看文件内容

cat cut.txt

再次执行cut命令,

cut -d" " -f 3 cut.txt 

此命令是以空格分割,并且选取第三个域
结果如下

cp

cp 命令用于同一台Linux机子上的文件与目录的复制。

cp [-option] 源文件 目标文件

参数解释

参数 作用
-f 覆盖已经存在的目标文件,不给出提示
-i 如目标文件已经存在,则提示是否覆盖
-r 递归复制目录

scp

scp 用于在不同的Linux机子之间的文件复制,我用的较多的就是,从我的本地Mac上复制文件到云服务器,常见用法与cp 命令类似

chown

更改文件的权限。
用法

chmod [-fR] [ugo] [+-=] [rwx] file1 [file2...]

参数解释

参数名 作用
-f 权限附加失败不显示错误信息
-R 在某个目录下递归附加文件相同的权限
u 文件所有者(user)
g 与文件所有者在同一个group的用户
o 其他用户(other)
+ 表示增加权限
- 表示取消权限
= 表示唯一设定权限。
r 可读(read)
w 可写(write)
x 可执行

代码测试,

chmod u+x test_script

test_script 添加文件所有者可执行权限

数字表示

用法

chmod abc file1
  • 其中abc为数字,分别表示user,group,other的权限
  • r:4
  • w:2
  • x:1
  • chmod 4755 file 可以使file具有root权限

find

在磁盘空间上找相应的文件。
用法:

find path [-expression] 

其中 path 指定要寻找的目录。如果是空,则默认当前目录。
介绍几个常用的 -expression

名称 作用
-name name 寻找名为name的文件,name区分大小写,可以正则表达式
-iname name 寻找名为name的文件,name 区分大小写,可以正则表达式
-cmin n 在过去 n 分钟内被修改过
-ctime n 在过去 n 天过修改过的文件
-empty 空的文件

例如寻找当前名为a.c 的文件

find . -name a.c

结果显示a.c 的路径

locate

locate 是在保存文档的数据库中寻找文件,速度远快于find命令。

locate expression

which

which 在环境变量PATH 中找文件。

which expression

如找bash

which bash 

whereis

用于查找原始代码以及二进制文件。

whereis [-bms] file

参数解释

参数 作用
b 只查找二进制文件
m 只查找说明文件
s 只查找源代码

split

将文件分割开,最终结果是原文件和分割后的所有文件

split [option] file [name]

其中option 最常用的是 - n 把文件以n行一个新文件分开。
name 设定切割文件后的前置文件名
如:

split -10 split -10 man_db.conf

最后分割成

mv

mv 命令的作用:

  • 移动文件
  • 重命名文件
mv [-option] 原目录文件 目标目录文件

详解option

参数名 作用
-i 询问是否覆盖同名文件
-f 不询问,直接覆盖

如果要重命名文件,则只需将目录当成相同的就OK。

rm

rm 用于删除文件和目录。

rm [-option] 目录或者文件

常用参数:

参数 作用
-i 在删除前询问
-f 不询问
-r 递归删除整个目录下的文件

现在自然知道rm -rf / 的作用了吧。。。

猜你喜欢

转载自blog.csdn.net/babybabyup/article/details/80419586