Linux基础之文件与目录的常见命令

从最常用的Linux命令说起

传说真正的大牛都可以是不使用任何图形界面的,他们只在终端(也就是那个黑色的框框)内起舞。 怀着对大牛的敬仰,对在终端中起舞的渴望,我们装上了 Linux,这第一步就是要学习 Linux 的命令操作了。首先,我们一起来认识一下最基础最常用的7个命令:

序号命令对应英文功能
01lslist查看当前文件夹下的内容
02pwdprint wrok directory查看当前所在文件夹
03cd[目录名]change directory切换文件夹
04touch[文件名]touch如果文件不存在,新建文件
05mkdir[目录名]make directory创建目录
06rm[文件名]remove删除指定文件或目录
07clearclear清屏

好了,现在打开终端,我们一个一个尝试上面的命令。在桌面上创建一个文件夹,试着使用 rm 命令来删除这个文件夹,发现:
无法删除目录
怎么删除不了目录了呢? 不是说可以删除指定文件或者目录吗?
其实我们在终端中敲入 rm -r a 就可以删除 a 文件夹了。
这又是为什么呢? -r 又是什么意思呢?

我们先来看一下 终端命令格式。


终端命令格式

command [-options] [parameter]
  • command: 命令名,相应功能的英文单词或单词的缩写
  • -options: 选项,可用来对命令进行控制,也可以省略
  • parameter: 传给命令的参数,可以是 零个一个 或者 多个

:[ ] 内表示可选

那么对于上面的

rm -r a

rm 就是命令名,-r 是选项,控制命令rm 来删除 文件夹a参数。


查阅命令帮助信息

在使用终端命令的时候,我们可能会时不时的忘记某些命令的用法。我们可以借助以下两种方式来查询命令的帮助信息。

–help

command --help

显示command命令的帮助信息。

man

man command

查阅command命令的使用手册,且分屏显示。

man 是 manual 的缩写,是 Linux 提供的一个 手册,包含了绝大部分的命令、函数的详细使用说明。

使用man时的操作键

操作键功能
空格键显示手册的下一屏
Enter一次滚动手册的一行
b回滚一屏
f向前一屏
q退出
/word搜索word字符串

终端实用技巧

自动补全

在敲出 目录/文件/命令 的前几个字母,按下 Tab 键。

  • 如果输入的没有歧义,系统将会自动补全。
  • 如果输入可能存在多个目录/文件/命令,再按一下 Tab 键,系统就会提示可能存在的 目录/文件/命令

曾经使用过的命令

  • 使用 / 键可以在曾经使用过的命令之间来回切换。
  • 如果想退出选择,并且不想使用当前选中的命令,可以按 Ctrl + c


文件和目录常用命令

01. 查看目录内容

ls

ls 是英文单词 list 的简写,其功能为列出目录的内容,是用户最常用的命令之一,类似于 DOS 下的 dir 命令。

Linux下文件和目录的特点

  • Linux下的文件或者目录的名称最长可以有256个字符
  • .开头的文件为隐藏文件,需要用 -a 参数才能显示
  • . 代表当前目录
  • `…``代表上一节目录

ls的常用选项

参数含义
-a显示指定目录下的所有文件及子目录,包括隐藏文件
-l以列表的方式显示文件的详细信息
-h配合-l使用,更加人性化的显示文件大小

注: 要同时使用这三个选项功能,就可以写成 ls -alhls -al 可以简写成 ll

ls的通配符使用

在查看某个目录下文件或者子目录时,可能我们并不需要显示所有的文件或者子目录的名称。 我们只需要在名称上有共性的某一部分。这样我们就需要使用到通配符了。

通配符含义
*表示任意个数个字符
?表示任意一个字符
[ ]表示匹配字符数组中的任意一个
[abc]匹配abc中的任意一个
[a-f]匹配a到f范围内的任意一个

例如,ls *.txt查看目录下所有 txt 文件; ls [a-f]* 查看所有的以 a 到 f 范围内字母开头的文件或者目录。


02. 切换目录

cd

cd 是英文单词 change directory 的简写,其功能为更改当前的工作目录,也是用户最常用的命令之一。

注意: Linux 中所有的文件名和目录名都是大小写敏感的。

命令含义
cd切换到当前用户的主目录(/home/用户目录)
cd ~切换到当前用户的主目录(/home/用户目录)
cd .保持当前目录不变
cd . .切换到上级目录
cd -在最近工作的两个目录之间来回切换

注: 上面cd ..里 点与点之间时没有空格的,由于 CSDN markdown 编辑器的原因,连敲两个点,会显示三个点,就只能在中间加空格显示了。

相对路径与绝对路径
cd 目录名 可以切换到指定目录,其中目录分为相对路径与绝对路径。

  • 相对路径 在输入路径时,最前面不是 / 或者 ~,表示相对 当前目录 所在的目录位置
  • 绝对路径 在输入路径时,最前面是 / 或者 ~,表示从 根目录/家目录 开始的具体目录位置

03. 创建与删除操作

touch

如果文件 不存在,可以创建一个空白文件。
如果文件 已经存在,则修改文件最后一次修改时间。

mkdir

创建一个新目录。

选项功能
-p可以递归创建目录

注: 新建目录的名称 不能与当前目录中 已有的目录或文件 同名。

rm

删除文件或者目录,且文件删除后不能恢复

选项功能
-f强制删除,忽略不存在的文件,无需提示
-r递归地删除目录下的内容,删除文件夹时必须加此参数
-i删除前询问是否确定执行删除文件,y or n

04. 拷贝和移动文件

tree

以树状图的方式列出文件与目录的结构

Linux 里面是需要安装 tree ,在没有安装之前,tree命令是不能使用的。使用命令sudo apt-get installl tree安装。
当遇到安装源不能使用时,需要解决安装源问题。 这里推荐一篇博客 点击查看

选项功能
-d只显示目录

cp

cp 文件名/目录名 文件名/目录名

将给出的 文件 / 目录 复制 到 另一个 文件 / 目录 下,相当于dos里面的copy命令。

选项功能
-r若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
-i覆盖文件前提示,y or n

mv

移动 文件 / 目录,也可以给 文件 / 目录 重命名

选项功能
-i覆盖文件前提示,y or n

05. 查看文件内容

序号命令对应英文功能
01cat 文件名concatenate查看文件内容、创建文件、文件合并、追加文件内容等功能
02more 文件名more分屏显示文件内容
03grep 搜索文本 文件名grep搜索文本文件内容

cat

cat 会一次性显示文件的所有内容,适合 查看内容较少 的文本文件。

选项功能
-b对非空输出行编号
-n对输出的所有行编号

注: Linux 中 nl命令与 cat -b 效果等价。

more

用于分屏显示文件内容,每次只显示一页内容。 适合 查看内容较多 的文本文件。

使用more时的操作键与man一致

操作键功能
空格键显示手册的下一屏
Enter一次滚动手册的一行
b回滚一屏
f向前一屏
q退出
/word搜索word字符串

grep

Linux 系统中 grep 命令是一种强大的文本搜索工具。且 grep 允许对文本文件进行 模式查找 ,即通过 正则表达式 匹配查找。

选项功能
-n显示匹配行及行号
-v显示不包括匹配内容的所有行(相当于求反操作)
-i匹配时忽略大小写

模式查找 即正则匹配。 这里放一篇相关的 正则表达式 博文。


06. 其他

echo 文字内容

echo 文字内容 会将指定的文字内容显示到终端内,通常与 重定向 联合使用。

重定向:> 与 >>

Linux 中允许将命令的执行结果 重定向 到 一个文件当中。重定向 就是将本应该显示 在终端的内容 输出 / 追加 到文件 中去。

  • > 表示输出, 会覆盖原有文件的内容;
  • >> 表示追加,将内容追加到原有文件内容的后面。

管道: |

Linux 中允许 一个命令的输出 可以 通过管道 作为 另一个命令的输入。 这里的 | 分为两边,左端塞东西(写)右端取东西(读)

常用管道的命令有:
more: 分屏显示内容。
grep: 在命令执行结果的基础上查询指定的文本。

例如:

ls -lha ~ | more

将家目录下所有的文件和目录详细信息用分屏显示

ls -lha ~ | grep .local

在家目录详细信息中挑选 .local 文件夹的信息输出显示

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页