文件和目录常用命令
在Linux中,这里的命令共有6个,如下表:
命令 | 功能 |
---|
ls | 列出当前路径的文件夹和文件 | pwd | 打印当前路径 | cd [目录] | 切换到指定路径 | touch [文件名] | 创建新文件 | mkdir [目录名] | 创建目录(文件夹) | rm [文件名] | 删除指定文件 |
ls
在这里,我们做简单叙述:在Linux中,以 . 开头的文件是隐藏文件,若是我们只使用ls,无法将其打印,因此需要加入更多命令。
选项 | 功能 |
---|
-a | 显示隐藏文件 | -l | 以列表方式显示文件的详细信息 | -h | 与-l配合使用,以个性化的方式显示文件的大小 |
实例用法:
从上面可以看出来,-lh后的显示,使我们正常显示的文件大小,-l显示的是字节数。前者更符合我们的认知习惯。
cd [目录]
目录 | 功能 |
---|
~ | 切换到用户的主目录 | . . | 返回上级目录 | - | 两个目录来回切换 | . | 当前路径 |
touch [文件名]
- 若文件不存在,则创建一个空白文件;
- 若文件存在,则修改文件的最后一次修改日期。
mkdir [目录]
mkdir -p a/b/c
则会在当前路径创建3个文件夹,分别为a、b、c。而且路径关系是a/b/c。
rm [文件名]
特别注意,rm删除文件后,不能恢复!!! 而且,rm不能直接删除文件夹。
rm -r 123
上面的命令是删除 123 这个文件夹。注意到,加入 -r 的选项后,就能够删除文件夹了。
拷贝和移动文件
这里介绍三个命令。
命令 | 功能 |
---|
tree [目录名] | 树状图显示目录结构 | cp 源文件 目标文件 | 复制文件或目录 | rm 源文件 目标文件 | 移动文件或者目录 |
tree
tree有一个选项功能,-d 功能是只显示目录,不显示具体文件。
cp 源文件 目标文件
源文件:操作前的文件; 目标文件:操作后的文件。 选项:
-i 覆盖文件前提示。 -r 复制目录。
mv 源文件 目标文件
-i 覆盖文件前提示。 该命令可以直接移动目录。
文件内容命令
命令 | 功能 |
---|
cat 文件名 | 查看文件内容、创建文件等 | more 文件名 | 分屏显示文件内容 | grep 搜索文本 文件名 | 在文件中搜索文本内容 |
grep
搜索时的规则,同“正则表达式”。 其包含的选项功能:
-n 显示匹配行及行号 -v 显示不包含匹配文本的所有行,相当于求反 -i 忽略大小写
打包压缩命令
在Linux中,打包和压缩是两个操作。因为我们在windows下,打包和压缩是同时进行的,我们在这里就直接将打包和压缩当成一个整体讲解。 在Linux下,我们常见的压缩文件格式有两种:
其中,tar是打包,gz/bz2是压缩。
下面我们分别介绍两种的压缩和解压。
gzip格式
- 压缩:tar -zcvf xxx.tar.gz 文件或者路径
- 解压1:tar -zxvf xxx.tar.gz
(当前路径) - 解压2:tar -zcvf xxx.tar.gz -C 目标路径 (
指定路径)
bzip2格式
- 压缩:tar -zcvf xxx.tar.gz 文件或者路径
- 解压1:tar -jxvf xxx.tar.gz
(当前路径) - 解压2:tar -jcvf xxx.tar.gz -C 目标路径 (
指定路径)
软件安装
- 安装:sudo apt install 软件包
- 卸载:sudo apt remove 软件包
在这里解释一下 sudo 命令的作用
在Linux系统,一般情况下,我们的操作是在当前用户下操作的。但是,我们希望我们安装的软件对所有的用户都起作用,这时就需要开启root权限。sudo的作用就是这样。
Vi和Vim的使用
Vi是编辑器,仅需键盘就可以完成各种编辑操作,不需要借助鼠标。而Vim是Vi的发展,现如今Vi已经嵌入到Vim中。 首先是在终端打开Vi,进入编辑模式
打开后:
光标移动命令
- h 向左移动一个光标
- j 向下移动一个光标
- k 向上移动一个光标
- l 向后移动一个光标
(没错,键盘上这四个键挨着)
- w 向后移动一个单词
- b 向前移动一个单词
- 0 移动到行首
- $ 移动到行尾
- ^ 移动到有缩进的行首字母
- 数字gg 跳转到该行
- 数字G 跳转到该行
- ctrl b 向上翻页
- ctrl f 向下翻页
撤销和恢复
删除
复制和粘贴
- yy 复制该行
- nyy 从当前行开始,复制n行
- p 粘贴
插入(编辑)
- i 从光标处插入
- o 在当前行后面插入一个空行
- O 在当前行前面插入一个空行
保存和退出
友情提示:
上述命令为Linux的常用命令,更多地命令和更深入的功能需要大家(尤其是有需求的同学)自己去深入学习,最好是系统学习。希望跟大家一起努力!
|