前言
本篇写命令的详细用法,如果要看看命令汇总的,可以查看明明哥写的这篇博文
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 /
的作用了吧。。。