(一)查看目录内容ls命令
1,终端实用技巧
(1)自动补全
在敲出 文件/目录/命令 的前几个字母之后,按下Tab键
*如果输入的没有歧义(例如重名),系统会自动补全
*若存在其他 文件/目录/命令 ,再按Tab键,系统会提示可能存在的命令
(2)曾经使用过的命令
按 上/下 光标键可在曾经使用过的命令之间切换
如果想要退出选择,且不执行当前选中的命令,可按 Ctrl+c 退出
2,ls命令说明
(1)基础介绍
ls是英文单词list的缩写,其功能是列出当前目录的内容,是常用命令,类似DOS下的 dir 命令
Linux下文件和目录的特点:
① Linux文件或目录名最长可以有256个字符
② 文件名以 "." 开头的文件是隐藏文件,需要用 "-a" 参数才能显示
③ "." 表示当前目录
④ ".." 表示上一级目录
⑤"~" 表示当前用户的主目录
⑥"~account" 表示该账户的主目录
(2)ls命令常用选项
参数 | 含义 |
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 |
-l | 以列表形式显示文件的详细信息 |
-h | 必须配合 -l 以人性化的方式显示文件大小,单独使用没有效果 |
"-l" 参数:列表形式显示,以下是各列字母的含义:
第一列字母代表文件类型(7种文件类型):"-"代表普通文件(mp3,avi ,mp4等)
"d"代表目录文件(文件夹)
"p"代表管道文件(一般用于进程间通信)
"I"代表链接文件(相当于快捷方式)
"s"代表套接字文件(一般用于网络通信)
"b"代表块设备文件(驱动的设备文件由驱动生成)
"c"代表字符设备文件(驱动的设备文件由驱动生成)
接下来9个字母,每三个一组分表代表文件的拥有者、同组用户、其他用户的文件操作权限。
紧跟的数字表示文件的链接数(对于普通文件指该文件有多少个链接即访问方式;对于目录 文件表示该目录中还有多少目录)。
接下来表示文件的拥有者和用户组
(3)ls通配符的使用
通配符主要用于在大量目录中检索特定文件
通配符 | 含义 |
* | 代表任意个字符 |
? | 代表任意一个字符(只能是一个) |
[] | 表示可以匹配字符组中的任意一个 |
[abc] | 匹配a,b,c中的任意一个 |
[a-f] | 匹配 a到f 范围中的任意一个字符 |
(二)切换目录cd命令
1,基础介绍
cd 是英文单词 change directory 简写,其功能为更改当前的工作目录,常用命令之一
Linux所有的 目录 和 文件名都是大小写敏感的
"/" 表示根目录,"~" 表示家目录,"." 表示当前目录,“..” 表示上一级目录
命令 | 含义 |
cd | 切换到当前用户的主目录(/home/用户目录) |
cd ~ | 切换到当前用户的主目录(/home/用户目录) |
cd . | 保持当前目录不变 |
cd .. | 切换到上级目录 |
cd - | 可以在最近两次目录之间切换 |
2,相对路径和绝对路径
相对路径:在输入路径时,最前面不是 "/" 或 "~",表示相对当前目录所在的具体位置
绝对路径:在输入路径时,最前面是 "/" 或 "~" 表示从根目录或家目录开始的具体目录位置
(三)创建和删除命令touch,mkdir,rm
1,touch命令
创建文件或修改文件时间。
若文件 不存在,则创建一个空白文件
若文件 存在,可修改文件的末次修改日期
touch /a/b123.txt (相对路径创建文件)
2,mkdir命令
创建一个新的目录
新建目录的名称不能和当前目录中 已有的目录或文件 重命(文件都不行)
选项 | 含义 |
-p | 可以递归创建目录 |
递归即套娃创建目录
3,rm命令
删除文件或目录
使用rm命令要注意,文件删除后不能恢复,直接从磁盘删除,不是放到回收站
选项 | 含义 |
-r | 递归的删除目录下的内容,删除文件夹时 必须加此参数 |
-f | 强制删除,忽略不存在的文件,无需提示 |
rm命令也可以使用通配符,即:rm *1.txt(删除末尾是1.txt的文件)
rm -r *(删除当前目录下的所有文件夹和文件)
(四)拷贝和移动文件tree,cp,mv
命令 | 对应英文 | 作用 |
tree [目录名] | tree | 以树状图列出文件目录结构 |
cp 源文件 目标文件 | copy | 复制文件或目录 |
mv 源文件 目标文件 | move | ①移动文件或者目录 ②文件或者目录重命名 |
1,tree命令
tree命令可以以树状图列出文件目录结构
tree ~ (显示家目录下的树形结构)
选项 | 含义 |
-d | 只显示目录 |
2,cp命令
cp命令是将给出的 文件或目录 复制到另一个 文件或目录 中 ,类似DOS下的copy命令
cp ~/Documents/readme.txt ./readme .txt (将家目录中的txt文件,复制到当前目录下)
选项 | 含义 |
-i | 覆盖文件前提示 |
-r | 若给出的源文件是目标文件,则cp 若是目录,将递归复制该目录下的所有子目录和文件,目标文件必须是一个目录名 |
选项-i: 使用时可保证操作足够安全,建议加上
3,mv命令
mv 命令可以用来 移动文件或目录,也可以给 文件或目录重命名
mv命令用于移动文件或目录时,不用增加任何选项;但给文件重命名时要添加 -i 选项
选项 | 含义 |
-i | 覆盖文件前提示 |
mv test ~/Documents/ (将当前目录中的test文件夹移动到家目录中Documents中)
mv a/b/c/123.txt . (将当前目录中的a文件夹中b的c下的文件移动到当前目录下)
mv命令给文件或目录重命名:
①mv ./readme.txt ./123.txt (将当前目录下的readme.txt重命名为123.txt)
mv aaa c (将当前目录下的aaa文件夹重命名为c文件夹)
②当给文件重命名时,为防止重命名后的文件名与已有文件名相同而导致覆盖已有文件内的容,避免造成损失,因此必须加 -i 选项以添加覆盖前的提示
(五)查看文件内容命令cat,more,grep
命令 | 对应英文 | 作用 |
cat 文件名 | concatenate | 查看文件内容、创建文件、文件合并、追加文件内容等 |
more 文件名 | more | 分屏显示文件内容 |
grep 搜索文本 文件名 | grep | 搜索文本文件内容 |
1,cat命令
①cat 命令可以用来 查看文件内容、创建文件、文件合并、追加文件内容等功能
②cat 会一次显示所有的内容,适合 查看内容较少 的文本文件
③格式:cat 文件名
选项 | 含义 |
-b | 对非空输出行编号 |
-n | 对输出的所有行编号 |
Linux中还有一个 nl 的命令和 cat -b的效果等价
2,more命令
①more 命令可以用于分屏显示文件内容,每次只显示一页内容
②适合 查看内容较多 的文本文件
③格式:more 文件名
使用more的操作键:
操作键 | 功能 |
空格键 | 显示手册页的下一屏 |
Enter键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出 |
/word | 搜索 word 字符串 |
3,grep命令
①Linux系统中 grep 命令是一种强大的文本搜索工具
② grep 允许对文本文件进行 模式查找,所谓模式查找,又被称为正则表达式
③格式:grep 搜作文本 文件名
选项 | 含义 |
-n | 显示匹配行和行号 |
-v | 显示不包含匹配文本的所有行(相当于求反) |
-i | 忽略大小写 |
例子:grep -vn as 123.txt
常用的两种模式查找如下:
参数 | 含义 |
^a | 行首,搜寻以a开头的行 |
ke$ | 行尾,搜寻以ke结尾的行 |
参数中的 a 和 ke 可以替换成其他搜索文本
grep -i ^ad 123.txt
grep -i we$ 456.txt
(六)其他命令
1,echo 文字内容
echo 会在终端中显示参数指定的文字,通常会和 重定向 联合使用
语法:echo 输出内容
* 无需选项,只有一个参数目标是要输出的内容,复杂内容可以用双引号 " " 包围
我们可以通过将命令用反引号 ' 将其包围,被 ' 包围的内容,会被作为命令执行,而非普通字符
例如 echo pwd ##直接输出pwd
echo 'pwd' ##直接输出当前工作目录
2,重定向 > 和 >>
① Linux允许 将终端中命令执行结果 重定向 到一个 文件
② 将本应显示在 终端上的内容 输出或者追加 到 指定文件中
其中:
① > 表示输出,会 覆盖文件原有的内容
② >> 表示追加,会 将内容追加到已有文件的末尾
echo 和 重定向的 联合使用:
echo hello python > a #将结果hello python写到 a文件 中
echo ls -lh > a #将终端命令结果(当前目录的结构)写到 a文件中,且之前a文件中的内容被全部覆盖
3,管道 |
① 管道的符号: |
② Linux允许 将一个命令的输出 可以 通过管道 作为 另一个命令的输入
③ 可理解为现实生活中的管子,管子的一头塞东西进去另一边取出来,这里 | 的左右分为两端,左端塞东西(写),右端取东西(读)
常用的管道命令有:
① more:分屏显示内容
② grep:在命令执行结果的基础上查询指定的文本
命令例子:ls -lh ~ #输出家目录的文件列表
ls -lha | more #将家目录下的文件列表(包括隐藏文件)都显示,并传递给more命令展示
ls -lha | grep vi #该命令可以过滤一部分信息
4,head和tail 命令
head 123.txt //查看123.txt的前10行内容(默认)
head -20 123.txt //查看123.txt的前20行内容
tail 123.txt //查看123.txt的末尾10行内容(默认)
tail -20 123.txt //查看123.txt的末尾20行内容
5,man手册
man man //查看一下man 手册,man从共有9本手册,每本手册对应不同的内容,查 函数写代码时会用到
man -f mkfifo //查看mkfifo出现在哪一本手册
man 1 mkfifo //在第一本手册查看mkfifo的解析(命令)
man 3 mkfifo //在第一本手册查看mkfifo的解析(函数)