文章目录
目标
查看目录内容
切换目录
创建和删除操作
拷贝和移动文件
查看文件内容
其他
一、查看目录内容
1.1 终端实用技巧
1.1.1 自动补全
在敲出 文件
/目录
/命令
的前几个字母之后,按下 tab
键
如果输入的没有歧义,系统会自动补全
如果还存在其他 文件
/目录
/命令
,再按一下 tab
键,系统会提示可能存在的命令
1.1.2 曾经使用过的命令
按 上
/下
光标键可以在曾经使用过的命令之间来回切换
如果想要退出选择,并且不想执行当前选中的命令,可以按 ctrl + c
1.2 ls
命令说明
ls
是英文单词 list 的简写,其功能为列出目录的内容,是用户最常用的命令之一,类似于 DOS 下的 dir
命令
1.2.1 Linux 下文件和目录的特点(重点)
Linux 文件 或者 目录 名称最长可以有 256
个字符
以 .
开头的文件为隐藏文件,需要用 -a 参数才能显示
. 代表当前目录
… 代表上一级目录
1.3 ls 常用选项
参数
含义
-a
显示指定目录下所有子目录与文件,包括隐藏文件
-l
以列表方式显示文件的详细信息
-h
配合 -l 以人性化的方式显示文件大小
-d
只列出目录名,不列出其他内容
-t
按修改时间排序
-r
逆序排列
-S
按文件的大小排序
-i
显示文件的inode号(索引号)
-R
递归出目录中的内容
-m
用逗号分隔显示内容
#列表显示当前目录下的文件,并且更人性化的显示文件大小
python@ubuntu:~/Desktop$ ls -lh
总用量 16K
-rw-rw-r-- 1 python python 237 9月 13 09:40 123.txt
drwxrwxr-x 3 python python 4.0K 9月 12 09:56 a
-rw-rw-r-- 1 python python 6 9月 13 11:10 a.txt
-rw-rw-r-- 1 python python 6 9月 13 11:12 f
# 显示用户家目录
python@ubuntu:~/Desktop$ ls -lh ~
# 并显示隐藏文件夹
python@ubuntu:~/Desktop$ ls -lha ~
# 列出目录中内容(查看根下的home目录内容)
python@ubuntu:~$ ls /home
python
1.3.1 计算机中文件大小的表示方式(科普)
单位
英文
含义
字节
B(Byte)
在计算机中作为一个数字单元,一般为 8 位二进制数
千
K(Kibibyte)
1 KB = 1024 B,千字节 (1024 = 2 ** 10)
兆
M(Mebibyte)
1 MB = 1024 KB,百万字节
千兆
G(Gigabyte)
1 GB = 1024 MB,十亿字节,千兆字节
太
T(Terabyte)
1 TB = 1024 GB,万亿字节,太字节
拍
P(Petabyte)
1 PB = 1024 TB,千万亿字节,拍字节
艾
E(Exabyte)
1 EB = 1024 PB,百亿亿字节,艾字节
泽
Z(Zettabyte)
1 ZB = 1024 EB,十万亿亿字节,泽字节
尧
Y(Yottabyte)
1 YB = 1024 ZB,一亿亿亿字节,尧字节
1.4 ls 通配符的使用
通配符
含义
*
代表任意个数的字符
?
代表任意一个字符,必须是 1 个
[]
表示可以匹配字符组中的任意一个
[abc]
匹配 a、b、c 中的任意一个
[a-f]
匹配从 a 到 f 范围内的的任意一个字符
ls 1*
ls *1
ls *1*
ls [12345]23.txt
ls [1-5]23.txt
二、切换目录(重点)
2.1 cd
cd
是英文单词 change directory 的简写,其功能为更改当前的工作目录,也是用户最常用的命令之一
注意:Linux 所有的 目录 和 文件名 都是大小写敏感的
命令
含义
cd
切换到当前用户的主目录(/home/用户目录)
cd ~
切换到当前用户的主目录(/home/用户目录)
cd .
保持在当前目录不变
cd …
切换到上级目录
cd -
可以在最近两次工作目录之间来回切换
2.2 相对路径和绝对路径
相对路径 在输入路径时,最前面不是 / 或者 ~ ,表示相对 当前目录 所在的目录位置
绝对路径 在输入路径时,最前面是 / 或者 ~ ,表示从 根目录/家目录 开始的具体目录位置
三、创建和删除操作
3.1 mkdir
(创建目录)
新建目录的名称 不能与当前目录中 已有的目录或文件 同名
python@ubuntu:~/Desktop$ mkdir -p a/b/c/d # 递归创建目录
python@ubuntu:~/Desktop$ cd a/b/c/d/ # 进入到d文件中
# 在桌面文件夹下创建test目录
python@ubuntu:~$ mkdir ~/Desktop/test
3.2 touch
(创建文件)
创建文件或修改文件时间
如果文件 不存在 ,可以创建一个空白文件
如果文件 已经存在 ,可以修改文件的末次修改日期
python@ubuntu:~/Desktop$ touch a/b/c/d/123.txt # 在d目录中创建123.txt文件
# 注意:只有先创建了递归目录,才能使用上述命令
3.3 rm
(删除目录或文件)
删除文件或目录
rm并不能直接删除目录,如果要删除目录,必须带上 -r
使用 rm
命令要小心,因为文件删除后不能恢复
选项
含义
-f
强制删除,忽略不存在的文件,无需提示
-r
递归地删除目录下的内容,删除文件夹 时必须加此参数
python@ubuntu:~/Desktop$ rm abc
rm: 无法删除'abc': 没有那个文件或目录
python@ubuntu:~/Desktop$ rm -f abc #如果有此文件则直接删除,没有也不会有提示信息
python@ubuntu:~/Desktop$ rm -r a # 删除创建的递归文件夹
python@ubuntu:~/Desktop$ rm -r * # 把桌面目录和文件都删除
四、拷贝和移动文件
序号
命令
对应英文
作用
01
tree [目录名]
tree
以树状图列出文件目录结构
02
cp 源文件 目标文件
copy
复制文件或者目录
03
mv 源文件 目标文件
move
移动文件或者目录/文件或者目录重命名
4.1 tree
(显示目录和文件)
python@ubuntu:~/Desktop$ tree -d # 只显示目录,不显示文件
python@ubuntu:~/Desktop$ tree ~ # 查 家目录结构
4.2 cp
(复制目录或文件)
注意:本地文件拷贝
4.2.1 用法
cp [选项] 需要拷贝的文件 拷贝到那里去
4.2.2 常用选项
cp
命令的功能是将给出的 文件 或 目录 复制到另一个 文件 或 目录 中,相当于 DOS 下的 copy
命令
cp并不能直接复制目录,如果复制目录,必须带上-r
选项
含义
-i
覆盖文件前提示
-r
若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
-v
显示拷贝过程信息
-p
文件属性信息一起拷贝
-a
递归拷贝文件,包括目录及文件属性信息
python@ubuntu:~/Desktop$ cp a test
cp: 略过目录'a'
python@ubuntu:~/Desktop$ cp -r a test
4.3 mv
(移动或重命名目录或文件)
4.3.1 用法
# 1、移动文件用法(不同路径下),注意:文件的路径不一样
mv 需要移动的文件 移动到新的路径下
# 2、重命名用法(相同路径下),注意老文件和新文件的路径一样
mv 原来文件的名字 新文件的名字
4.3.2 常用选项
mv
命令可以用来 移动 文件 或 目录 ,也可以给 文件或目录重命名
python@ubuntu:~/Desktop$ mv a/b/c/d/123.txt .
#把递归目录中123.txt文件移动到桌面
五、查看文件内容
序号
命令
对应英文
作用
01
cat 文件名
concatenate
查看文件内容、创建文件、文件合并、追加文件内容等功能
02
more 文件名
more
分屏显示文件内容
03
grep 搜索文本 文件名
grep
搜索文本文件内容
5.1 cat
cat
命令可以用来 查看文件内容 、创建文件 、文件合并 、追加文件内容 等功能
cat
会一次显示所有的内容,适合 查看内容较少 的文本文件
选项
含义
-b
对非空输出行编号
-n
对输出的所有行编号
Linux 中还有一个 nl
的命令和 cat -b
的效果等价
5.2 more
more
命令可以用于分屏显示文件内容,每次只显示一页内容
适合于 查看内容较多 的文本文件
使用 more
的操作键:
操作键
功能
空格键
显示手册页的下一屏
Enter 键
一次滚动手册页的一行
b
回滚一屏
f
前滚一屏
q
退出
/word
搜索 word 字符串
5.3 grep
Linux 系统中 grep
命令是一种强大的文本搜索工具
grep
允许对文本文件进行 模式 查找,所谓模式查找,又被称为正则表达式。
选项
含义
-n
显示匹配行及行号
-v
显示不包含匹配文本的所有行(相当于求反)
-i
忽略大小写
#搜索123.txt文件是否包含as的单词
python@ubuntu:~/Desktop$ grep as 123.txt
#搜索123.txt文件中不包含as单词的文本行的行号
python@ubuntu:~/Desktop$ grep -vn as 123.txt
#搜索123.txt文件中包含"Hello word"的行内容
python@ubuntu:~/Desktop$ grep -i "Hello word" 123.txt
参数
含义
^a
行首,搜寻以 a 开头的行
ke$
行尾,搜寻以 ke 结束的行
#在123.txt文件搜索以字母a开头的行
python@ubuntu:~/Desktop$ grep ^a 123.txt
#在123.txt文件搜索以字母a开头的行,并显示行号
python@ubuntu:~/Desktop$ grep -n ^a 123.txt
六、判断文件类型(file)
文件类型
描述
字符设备(c)
所有输入输出的设备,如:键盘、鼠标、显示器、打印机等
块设备(b)
所有存储设备称之为块设备文件,如:软盘、磁盘、光盘、U盘、磁带、光驱等
软连接文件(l)
类似于Windows下的快捷方式
目录文件(d)
相当于Windows下的文件
普通文件(f或-)
类似于Windows下记事本、word等,可以使用相关命令进行编辑、查看文件内容
管道文件(p)
简单理解为程序或进行之间通讯的一种方式
套接字文件(s)
简单理解为程序或进行之间通讯的一种方式
python@ubuntu:~$ file /root
/root: directory # 目录
python@ubuntu:~$ file /dev/tty1
/dev/tty1: character special (4/1) # 字符设备
python@ubuntu:~$ file /bin/sh
/bin/sh: symbolic link to dash # 软连接文件
七、其他
7.1 echo 文字内容
echo
会在终端中显示参数指定的文字,通常会和 重定向 联合使用
python@ubuntu:~/Desktop$ echo Hello
Hello
7.2 重定向 >
和 >>
Linux 允许将命令执行结果 重定向 到一个 文件
将本应显示在终端上的内容 输出/追加 到指定文件中
其中
>
表示输出,会覆盖文件原有的内容
>>
表示追加,会将内容追加到已有文件的末尾
# 1、重定向:把在终端中显示的"Hello",输出到一个a文件中
python@ubuntu:~/Desktop$ echo hello > a
# 2、将ls 查看当前文件夹的信息内容直接输出到文件a里面,并且原来a里面的"Hello"已经被覆盖。
python@ubuntu:~/Desktop$ ls -lh > a
python@ubuntu:~/Desktop$ cat a # 查看a文件的内容
7.3 管道 |
Linux 允许将 一个命令的输出 可以通过管道 做为 另一个命令的输入
可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里 |
的左右分为两端,左端塞东西(写),右端取东西(读)
常用的管道命令有:
more
:分屏显示内容
grep
:在命令执行结果的基础上查询指定的文本
python@ubuntu:~/Desktop$ ls -lha ~ | more
# 查询有关于vi内容的
python@ubuntu:~/Desktop$ ls -lha ~ | grep vi