目录
1. 操作目录的命令
1.1 ls
功能:
ls 就是 list 的缩写, 用于列出当前目录下, 所包含的目录和文件都有哪些.
常用选项:
- -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
- -d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
- -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
- -l 列出文件的详细信息。
- -r 对目录反向排序。
- -t 以时间排序。
- -R 列出所有子目录下的文件。(递归)
ls 相关命令演示:
上图中深蓝色的代表目录, 浅蓝色的代表快捷方式, 白色的代表普通文件, 这里是默认配置. (绿色代表可执行文件)
1. ls 后面还可以根上一个目录, 来指定查看哪个/些目录.
2. / 是 Linux 的特殊目录, 叫做 "根目录", 相当于 Windows 上的 "此电脑".
3. ls / 命令的显示结果, 就是 Linux 系统根目录下的内容.
4.ls -l 或者 ls -l / 是以列表的形式来展示每个目录/文件以及里面的一些信息. 类似于Windows 的文件资源管理器, ls - l 可以简写成 ll.
5. [root@VM-12-2-centos ~]# 的含义:
- root 代表用户名;
- @ 没啥意义;
- VM-12-2-centos 代表系统主机名, 每个人的系统主机名不一样, 且可以修改;
- ~ 是 Linux 上一个特殊的目录, 称为 home 目录, 是每个用户登录之后默认进去的目录. 可以把 Linux 想象成一个写字楼, 每个用户都有自己的办公室, 使用 ~ 表示自己的办公室;
- # 表示当前用户是个超级用户(管理员), 而 $ 则表示是个普通用户.
1.2 cd
功能:
cd 是 change directory 的缩写, 用于切换目录, 切换的是工作目录.
语法: cd 目录名
常用选项:
cd .. : 返回上级目录
cd ~ :进入用户家目
cd - :返回最近访问目录
1. / 称为根目录
2. . 称为当前目录
3. .. 称为当前目录的上级目录
1.3 pwd
功能:
显示用户当前所在的目录. 防止你迷路
命令演示:
绝对路径 vs 相对路径
形如: /usr/share/tomcat/logs/ 以根目录开头的, 称为绝对路径.
形如: ./logs 以 . 或者 .. 开头的, 称为相对路径.
使用 tab 键补全
我们敲的所有的 Linux 命令, 都可以使用 tab 键来尝试补全, 加快效率.
如果命令或者目录敲错了, 可以 ctrl + c 取消当前的命令.
使用 Ctrl + l 清屏
当屏幕上敲满了命令时, 可以使用 Ctrl + l 来清屏.
2. 操作文件的常用命令
2.1 touch
touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的空
文件, 此处演示创建文件
演示命令:
2.2 cat
语法: cat 文件
功能: cat 是单词 concatenate 的缩写, 用于查看目标文件内容
常用选项:
-n 对输出的所有行编号
2.3 echo
功能:
echo 用来写文件, 但是并不是方便, 后面会介绍更方便的命令
echo 本身的效果是显示内容到控制台, 但是可以通过重定向, 输出到文件中
演示命令:
2.4 mkdir
语法: mkdir 目录名
功能:
mkdir 是 make directory 的缩写, 用来在当前目录下创建一个名为 “dirname”的目录
常用选项:
-p , 当我们想要创建多个层级的目录时, 需要加上 -p.
演示命令:
2.5 rm
-f 即使文件属性为只读(即写保护),亦直接删除 (force,强制)
-i 删除前逐一询问确认
-r 删除目录及其下所有文件 (recursion, 递归)
删除文件命令演示:
删除多个文件时, 逐一确认太过麻烦, 所以可以使用加上 -f 选项, 如下:
还可以通过通配符的方式删除, 如下:
删除目录命令演示:
通过上述演示发现, 使用 rm 命令不搭配选项是不能删除命令的, 想要删除目录, 需要搭配 -r 递归删除来做到. 删除目录时,也是可以搭配通配符来使用的, 来批量删除一系列的目录的.
我们学会 rm 命令之后, 千万要注意的事情: 千万不要运行 rm -rf / 或者 rm -rf /* 命令, 尤其是在公司的生产服务器上, 如果运行了,后果会非常严重.rm -rf / : 把整个根目录都端了;rm -rf /* : 只留一个根目录, 把其他内容全端了.
2.6 cp
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录
或符号链接,则一律视为普通文件处理
复制文件命令演示:
复制文件的时候, 还可以重命名.
复制目录命令演示:
使用 cp 命令复制目录的时候, 需要带上 -r 选项,否则不能复制. 复制目录的时候也可以重命名.
2.7 mv
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
移动文件命令演示:
移动文件的时候, 可以边移动边重命名, 还可以直接在当前目录将文件重命名, 如下:
移动目录命令演示:
mv 命令的移动文件和移动目录区别不大, 也是可以重命名的.
如果操作的目标文件比较大:
mv , 整体速度极快, 不会涉及到数据的搬运, 只是把文件路径做出修改 O(1).
cp , 整体速度会较慢, 需要进行数据的搬运, 大量读写磁盘. O(n)
在 xshell 控制台复制粘贴:
复制: ctrl + insert 或者 ctrl + Fn + insert
粘贴: shift + insert 或者 shift + Fn + insert
2.8 man
-k 根据关键字搜索联机帮助
num 只在第num章节找
man man 能够看到 man 手册中的若干个章节及其含义
例如输入 man mv , 查看 mv 的所有选项, 可以通过上下键进行查看, q 键退出.
2.9 grep
语法:grep [参数]... [文件]...
功能:用于查找文件中是否包含指定字符串, 并显示对应的行.
命令演示:
2.10 ps
a 显示一个终端的所有进程
u 以用户为主的格式来显示程序状况
x 显示所有程序,不以终端机来区分
命令演示:
ps aux # 显示系统上所有的进程, 相当于 Windows 的任务管理器
ps aux | grep "进程名"ps aux | grep "进程id"| 的意思是管道, 把前一个命令的输出, 作为后一个命令的输入.
2.11 netstat
-a 显示所有正在或不在侦听的套接字
-n 显示数字形式地址而不是去解析主机、端口或用户名
-p 显示套接字所属进程的PID和名称
命令演示:
3. vim 的基本操作
3.1 打开文件
语法: vim 文件名
3.2 编辑文件
vim 里支持大量的快捷键, 默认情况下, 输入键盘的按键, 都是一些编辑用的快捷键, 不是
真正的在输入内容.
默认情况下是普通模式(normal mode), 需要切换到插入模式(insert into)
切换到插入模式有很多方式, 最典型的就是通过 i .看到以下标志, 就说明进入插入模式了.
进入插入模式后, 基本上和记事本差不多了, 只不过不能使用鼠标来选中.
3.3 保存 & 退出
我们编辑好文件时, 需要从插入模式切换回普通模式, 按 esc 就可以切换回来了.
切换回普通模式时, 按下 :wq 就可以保存退出了.
输入冒号: 就进入了 vim 的底行模式(last line mode) , 此时输入的内容是 Linux 的控制命令.
w: write 的缩写, 用于保存.
q: quit 的缩写, 用于退出.