一、Linux下文件和目录的特点
- Linux文件或目录名称最长可以有256个字符
- 以 . 开头的文件为隐藏文件,需要使用参数 -a 才能显示出来
- . 代表当前目录
- ..代表上级目录
二、终端实用技巧
1、自动补全
- 在敲出目录/文件/命令的前几个字母之后,按下 tab 键
- 如果有歧义,则再按一下 tab 键,系统会提示可能存在的命令
2、曾经使用过的命令
- 按上/下光标键,可以在曾经使用过的命令之间来回切换。
- 如果不想使用当前命令,并且退出选择,按 ctrl+c 。
三、相对目录与绝对目录
相对目录:表示相对当前目录所在的目录位置
绝对目录:从根目录开始的具体目录位置,最前面是 / 或者 ~
四、常用命令预览
命令 | 作用 |
ls | 查看当前文件夹下的内容 |
pwd | 查看当前所在文件夹路径 |
cd | 切换工作目录 |
touch | 如果文件不存在,则新建文件 |
mkdir | 创建目录 |
rm | 删除指定文件或目录 |
mv | 移动文件或目录 / 文件或目录重命名 |
cat | 查看文件内容,创建文件,文件合并 |
more | 分屏显示文件内容 |
grep | 搜索文本文件内容 |
tree | 以树状图列出文件目录结构 |
cp | 复制文件或者目录 |
clear | 清屏 |
ls
- 作用:查看当前文件夹下的内容
- 格式:ls [选项]
选项 | 含义 |
-a | 显示指定目录下的所有子文件和目录,包括隐藏文件 |
-l | 以列表形式显示文件的详细信息 |
-h | 配合-l使用,以人性化的方式显示文件大小 |
ls通配符的使用
- 举例:查找以a开头的文件或目录 ls a*
通配符 | 含义 |
* | 代表任意个数个字符 |
? | 代表任意一个字符,至少一个 |
[] | 可以匹配字符组中的任意一个 |
[abc] | 匹配a、b、c中的任意一个 |
[a-f] | 匹配 a - f 范围中的任意一个字符 |
cd
- 作用:切换工作目录
- 格式:cd [选项] [参数]
命令 | 含义 |
cd | 切换到当前用户的主目录 |
cd ~ | 切换到当前用户的主目录 |
cd . | 保持在当前目录不变 |
cd .. | 切换到上级目录 |
cd - | 可以在最近两次工作目录之间来回切换 |
touch
- 作用:一是如果要创建的文件已经存在,则已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。
- 格式:touch [选项] [参数]
- 举例:touch -t 201910042054 file1
选项 | 含义 |
-t | 使用指定的日期时间 [[CC]YY]MMDDhhmm[.SS] |
mkdir
- 作用:创建目录
- 格式:mkdir [选项] 目录名
- 举例:mkdir -p aa/bb/cc
选项 | 含义 |
-p | 递归创建目录 |
-m | 建立目录的同时设置目录的权限 |
rm
- 作用:删除指定文件或目录
- 格式:rm [选项] 文件名或目录名
- 注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它
选项 | 含义 |
-f | 强制删除文件或目录 |
-r | 递归的删除目录下的所有内容,删除文件夹时必须有此参数 |
mv
- 作用:移动文件或目录 / 文件或目录重命名
- 格式:mv [选项] 源文件 目标文件
- 当源文件与目标文件的路径相同时,则为修改文件名
- 但若修改之后的文件名之前就存在此目录下,则修改后将覆盖那个已存在的文件,造成之前已存在的那个文件的内容丢失,所以需要加上选项 -i
选项 | 含义 |
-i | 如果目标文件存在,覆盖文件前提示是否覆盖(是y,否n) |
-b | 若覆盖文件,则覆盖前先进行备份 |
-f | 如果目标文件存在,不会询问,直接强制覆盖 |
cat
- 作用:①显示文件内容
②创建一个文件
③将几个文件合并为一个文件
- 格式:① cat filename
② cat > filename
③ cat file1 file2 > file
- 注意:cat会一次显示所有内容,适合查看内容较少的文件
选项 | 含义 |
-b | 对非空输出行编号 |
-n | 对输出的所有行编号 |
more
- 作用:分屏显示文件内容
- 格式:more 文件名
- 注意:适用于查看内容较多的文本文件
选项 | 含义 |
-s | 将多个空行压缩成一行显示 |
-u | 将文件内容中的下划线去掉 |
-c | 从顶部清屏,然后显示内容 |
more的操作键
操作键 | 功能 |
空格 | 显示手册的下一屏 |
回车 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出 |
grep
- 作用:强大的文本搜索工具,可以使用正则表达式搜索文本
- 格式:grep [参数] 要查找的内容 文件名
- 注意:如果要查找的内容中有空格,则需要添加引号
选项 | 含义 |
-n | 显示匹配行及行号 |
-v | 显示不包含匹配文本的所有行(相当于求反) |
-i | 忽略大小写 |
-c | 只输出匹配行的总数 |
常用的两种模式查找
选项 | 含义 |
^a | 行首,搜寻以a开头的行 |
ke$ | 行尾,搜寻以ke为结尾的行 |
tree
- 作用:以树状图列出文件目录结构
- 格式:tree [选项] [参数]
- 注意:tree是需要自己安装的,每个版本的安装方式可能有不同
- 举例:Ubuntu安装tree:sudo apt install tree
选项 | 含义 |
-d | 只显示目录 |
-a | 显示所有文件和目录 |
-t | 按文件和目录的更改时间排序 |
-f | 在每个目录或文件前面,显示完整的相对路径 |
-s | 列出文件或目录的大小 |
cp
- 作用:复制文件或目录
- 格式:cp [选项] 源文件或目录 目标文件或目录
- 举例:cp -r /usr/Myfile1 /usr/Myfile2
选项 | 含义 |
-a | 此参数的效果和同时指定"-dpR"参数相同 |
-b | 覆盖已存在文件时,先对目标文件进行复制 |
-d | 复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式 |
-f | 强制覆盖已经存在的目标文件,不给出提示 |
-i | 覆盖文件前先询问 |
-l | 对源文件建立硬链接,而非复制文件 |
-p | 保留源文件或目录的属性,包括所有者、所属组、权限与时间 |
-r | 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名 |
-s | 对源文件建立符号链接,而非复制文件 |
五、查询命令帮助信息
- 格式:命令 --help
man 命令
man的操作键
操作键 | 功能 |
空格 | 显示手册的下一屏 |
回车 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出 |
以上是Linux的一些常用命令及使用方法,如果你在学习Linux,建议亲自动手操作,命令都很简单,熟练操作才是王道。