运行环境:

Linux发行版:ubuntu-18.04.4-desktop-amd64
虚拟机软件:VMware-workstation-full-15.5.1-15018445 或 VirtualBox-6.1.4-136177-Win 均可

快捷键调整终端字体大小
变大:ctrl+shift+加号
变小:ctrl+减号

Linux常用的基本命令

以下命令均在Linux终端(terminal)上运行有效。

pwd (print working directory)显示当前路径

cd name (cd,Change Directory)从当前路径进入到name目录
cd .. 返回到上层目录
cd / 进入根目录
cd /name1/name2/name3 从根目录(/)进入到name1/name2/name3目录(后面可以继续写,用 / 分割,继续进入子目录,当然前提是目录存在)

ls 列表所有文件(不包括隐藏文件,即不包括所有以 . 开头的文件)
ls -a 列表所有文件,并显示隐藏文件
ls -l 显示详细列表(默认按文件名的字典序排序)

ls -F 列表文件名时在末尾显示标记(Flag)
若列出的是目录,就在名字后面缀以斜线 /
若列出的是可执行文件,就在名字后面缀以星号 *
若列出的是符号连接文件,就在名字后面缀以符号@
若列出的是普通文件,则名字后面无任何标记

ls -l -r(或简写ls -lr)详细列表,-r表示反向排序
ls -l -t(或简写ls -lt)详细列表,-t表示按时间排序(时间晚的靠前)
ls -l -t -r(或简写ls -ltr)详细列表,表示按时间排序后反向输出(时间早的靠前)。
命令选项写的顺序不同,没有关系,功能是一样的,比如-ltr -lrt -trl都是按时间排序后反向输出(时间早的靠前)。

tree 树形列表,能体现层级关系(如果没有的话按提示装一个,提示应该是sudo apt install tree,输入这个就能安装使用了)

cat 1.txt 在终端显示出文本文件1.txt的内容。
cat -n 1.txt 在终端显示出文本文件1.txt的内容,-n表示显示每行的编号。
cat > 1.txt 从标准输入(键盘)获取数据,直到按ctrl+d键标志输入结束。输入内容存入1.txt。注意这种写入方式会覆盖原有内容。
cat >> 1.txt 在保留原有内容的基础上,在1.txt中继续添加内容。
cat 1.txt 2.txt 将2个文件按顺序输出
cat 1.txt 2.txt > 3.txt 将2个文件的内容重定向到3.txt中,使得3.txt的内容为前2个文件内容之和

> name 创建文件,名字为name,可以带后缀,比如name.txt(这里的大于号 > 就是表示创建)
mkdir name 创建名字为name的目录
mkdir -p name1/name2 递归创建多级目录name1/name2

rm name 删除名字为name的文件
rm -r name 删除名字为name的目录(一定要加-r,否则无法删除目录;-r表示递归删除)
rmdir name 删除名字为name的空目录(注意只能删空目录!要递归全部删除还是得rm -r name

uname -a 显示系统所有相关信息(显示系统主机名、内核版本号、CPU类型等信息)

hostname 查看linux的计算机名
whoami 查看当前用户
df 查看系统的硬件信息

用终端的快捷键进行复制粘贴要加Shift:
Ctrl + Shift + c 复制到系统剪贴板
Ctrl + Shift + v 粘贴系统剪贴板内容

文件通配符

通配符用于模式匹配,如文件名匹配、路经名搜索、字符串查找等。常用的通配符有*?[]
用户可以在作为命令参数的文件名中包含这些通配符,构成一个所谓的“模式串”,在执行过程中进行模式匹配。

星号 *
匹配任意长度的文件名字符串(包括空字符串)。

问号 ?
匹配任一单字符。

方括号 [ ]
代表指定的一个字符范围,只要文件名中[ ]位置处的字符在[ ]中指定的范围之内,那么这个文件名就与这个模式串匹配。
方括号中的字符范围可以由直接给出的字符组成,也可以由表示限定范围的起始字符、终止字符及中间的连字符(-)组成。
例如,[a-d]与[abcd]的作用相同,都表示匹配a,b,c,d中任意一个字符。

非通配符中的特殊字符:

点字符 .
当它作为文件名或路径名分量的第一个字符时,必须显式匹配。

反斜线 \
是一个特殊的字符。它屏蔽后继特殊字母的特殊含义(转意),使该字符仅取其符号所代表的字面意义。

如何匹配?何为显式匹配?举几个例子:

*file表示以 file 结尾的任意字符串,能匹配file和makefile,但不匹配 .profile 文件(文件名以 . 开头,需要把 . 打出来,显式匹配)

f*匹配以 f 开头的任意字符串。但应注意,文件名前的圆点(.)和路经名中的斜线(/)必须显式匹配。例如*不能匹配.file.*才可以匹配.file

t*c匹配try1.c try.c try.basic。说明*可以匹配中间是.的文件,但是*不能匹配开头是.的文件。