运行环境:
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。说明*
可以匹配中间是.
的文件,但是*
不能匹配开头是.
的文件。