文章目录
从最常用的Linux命令说起
传说真正的大牛都可以是不使用任何图形界面的,他们只在终端(也就是那个黑色的框框)内起舞。 怀着对大牛的敬仰,对在终端中起舞的渴望,我们装上了 Linux,这第一步就是要学习 Linux 的命令操作了。首先,我们一起来认识一下最基础最常用的7个命令:
序号 | 命令 | 对应英文 | 功能 |
---|---|---|---|
01 | ls | list | 查看当前文件夹下的内容 |
02 | pwd | print wrok directory | 查看当前所在文件夹 |
03 | cd[目录名] | change directory | 切换文件夹 |
04 | touch[文件名] | touch | 如果文件不存在,新建文件 |
05 | mkdir[目录名] | make directory | 创建目录 |
06 | rm[文件名] | remove | 删除指定文件或目录 |
07 | clear | clear | 清屏 |
好了,现在打开终端,我们一个一个尝试上面的命令。在桌面上创建一个文件夹,试着使用 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 -alh
。 ls -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. 查看文件内容
序号 | 命令 | 对应英文 | 功能 |
---|---|---|---|
01 | cat 文件名 | concatenate | 查看文件内容、创建文件、文件合并、追加文件内容等功能 |
02 | more 文件名 | more | 分屏显示文件内容 |
03 | grep 搜索文本 文件名 | 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 文件夹的信息输出显示