第2章 基本命令和文件系统
2.1Ubunt命令概述
2.1.1Ubuntu命令分类
Bash 是Ubuntu中默认的Shell
Shell位于操作系统内核与用户之间,负责接收用户输入的命令进行解释,将需要执行的命令传递给系统内核执行,当一个用户登录到Ubuntu时,会自动加载一个shell程序,以便给用户提供可以输入命令的操作环境。
u 内部命令 指的是集成于Shell解释程序内部的一些图书命令,又称内建命令,内部命令属于shell的一部分,没有独立的系统文件,只要shell解释器被运行,内部命令也就自动加载到内存,用户可以直接使用,执行效率高。
u 外部命令 指的是Ubuntu系统能够完成特定功能的脚本或二进制程序,每个外部命令对应了系统中的一个文件,是属于shell解释器程序之外的命令,Ubuntu系统必须知道外部命令对应的文件位置,才能由shell加载并执行。
Ubuntu 系统默认会将存放外部命令的路径(如/bin /sbin /usr/local/bin等)添加到用户搜索路径,其他位置的命令需要指定路径。
2.1.2Ubuntu命令行的格式
命令字 [选项] [参数]
命令字区分大小写
选项 多个选项使用空格分开
使用单个字符的选项 在选项前使用 – 多个单字符选项可以组合在一起 –al 等同于 -a –l
使用多个字符的选项 一般在字符前使用 -- 如 --help
2.1.3命令输入的快捷键
tab键
\可以使命令换行
Ctrl+U 删除单签光标之前的所有字符
Ctrl+K 删除光标后所有字符
Ctrl+L 清空当前屏幕中显示内容
Ctrl+C 取消当前命令行的编辑
2.1.4获得命令帮助
u 内部命令
Help 用来查看shell内部命令的帮助信息
Help pwd
u 外部命令
以下命令查看ls帮助
ls --help
使用man手册查看帮助,以下例子查看passwd命令的使用帮助
man passwd
| 为管道 前面的输出结果作为后面命令的操作对象,以下例子将ifconfig的输出使用grep过滤 只保留有‘eth0’的行。
ifconfig | grep 'eth0'
>重定向输出 ,以下命令将ifconfig的输出保存在ifconfig.txt文件中
Ifconfig > ifconfig.txt
2.2文件和目录管理
2.2.1目录操作命令
u pwd 查看当前的工作目录
u cd切换目录 绝对目录 相对路径
cd ~ 切换到用户的宿主目录
../上级目录
./当前目录
直接cd 切换到用户主目录
cd –显示上次执行cd前的目录
u ls 显示目录内容
-l 显示详细的
-a 显示隐藏的
-R递归显示
-d 显示目录本身属性
--color 以颜色区分不同的文件
Ls –la /etc/ns*.conf 通配符
u alias别名简化长命令
可以执行自己的命令
u mkdir 创建新目录
-p 用于创建嵌套的多层目录结构
Ls –R递归展示
同时创建多个目录
u du 统计目录及文件的磁盘空间占用情况
统计/目录下 所占空间大小
统计vmlin*开头的文件所占用的大小
2.2.2文件操作命令
1. touch 创建空文件
2. file查看文件类型
32位执行程序
文本格式的shell执行脚本
查看resolv.conf文件类型
ASCII格式的普通文本文件
3. cp 复制文件或目录
-r 递归拷贝目录
4. rm命令 remove删除文件或目录
rm –rf 递归删除目录 不提醒
5. mv 移动move文件或目录 同目录移动等于重命名
将media文件夹 移动到mediabackup 其实就是重命名
6. which 查找Ubuntu命令文件并显示所在的位置
查看 $PATH变量
查看ls所在的位置 which命令只能查看$PATH目录下的文件位置.
cd是内部命令
7. find 查找文件或目录
按文件名查找
查找boot目录下的所有目录
查找/var/log目录下属于 root用户的文件
查找/boot目录下大于1024k的文件
查找/boot目录下大于1024且名称以 vmlinuz 开头的文件
–a 代表 and
查找/boot目录下大于1024或名称以 vm* 开头的文件
-o 代表 or
8. ln 为文件或目录建立连接(Link)
软连接 对目录和文件创建的快捷方式
硬链接 不能对目录创建硬链接 不能跨越不同分区创建硬链接
为LinkTest文件创建软连接 查看命令连接的文件
以下命令将/mnt/mediabackup/file1.txt 文件创建一个软连接到当前目录
输入ls查看 红色为连接文件
输入ls –lh 查看 可以看到软件连接指向的文件
为文件夹/mnt/mediabackup创建创建软连接 /media1
并查看连接
-s :如果 ln 不加任何参数就进行连结,那就是 hard link,至于 -s 就是 symbolic link
-f :如果 目标文件 存在时,就主动的将目标文件直接移除后再建立
例1:将 /etc/passwd 制作 hard link 成为 passwd-new 档案
[root@localhost ~]# ln /etc/passwd ~/passwd-new
例2:软连接
创建软连接将etc/fstab 连接到fstab1 软连接
软连接可以 跨文件系统 ,硬连接不可以
关于 I节点的问题
软连接可以对一个不存在的文件名进行连接 。
软连接可以对目录进行连接。
硬链接可以修改文件 自动同步
示例:硬链接 自动同步
将/etc/network/interfaces 连接到当前目录下的interface文件
编辑当前目录下得interfaces
查看
删除硬链接文件 对源文件没有影响
2.3查看文件内容操作
2.3.1cat命令 显示并连接文件的内容
了解系统内核及开发环境软件等相关版本信息
查看CPU信息
2.3.2more和less命令—分页查看文件内容
less命令的用法与more命令完全相同,唯一不同点是less命令能够向上翻屏。可以通过上下箭头进行上下一行行滚动,也可以通过向上箭头或向下箭头进行一屏一屏滚动。
回车下翻一行 空格下翻一页 b上翻
按q推出 less
分页显示passwd内容
分页显示
2.3.3head和tail命令 查看文件开头或末尾的部分内容
查看前5行
查看前10行
查看最后3行
2.3.4wc命令 统计文件内容的单词数量(Word Count)
-c 统计字节数
-l 行数
-w 单词个数
分别为行数 单词数 字节数
只统计行数
结合管道符号统计/etc目录中文件个数以及.conf配置文件的个数
2.3.5grep命令 检索 过滤文件内容
^word表示word开头
Word$表示以word结尾
^$ 表示空行
-i 查找内容忽略大小写
-v 反转查找
过滤注释
去掉空行和注释行
过滤命令中的输出
2.4使用vi文本编辑器
命令模式
输入模式 按i 进入输入模式
末行模式 末尾出现:wq 退出 q!强制退出,不保存 set nu 出现行号 w 保存 w /etc/new.conf 保存为其他文件名
在命令模式下 连按ctrl+Z两次,退出
在编辑模式 ctrl+u 撤销编辑
在命令模式下 输入 u 撤销 输入 /IP 查找IP 字符