玄子Share-Linux常用命令精讲
操作系统概述
- 一种计算机软件
- 与办公、游戏软件不同
- 为应用软件提供访问计算机硬件的服务
- 提供有效的硬件、软件管理
常见的操作系统
- Windows
- UNIX
- IBM公司的AIX
- HP公司的HP-UX
- Oracle公司的Solaris
- Linux
- 红帽公司的Redhat Linux
- CentOS
- Ubuntu
- Mac OS
- Mac OS基于UNIX开发的只能在苹果电 脑上运行的操作系统
- MS-DOS
- Microsoft-Disk Operating System 微软-磁盘操作系统
企业级开源操作系统
- RHEL(Red Hat Enterprise Linux)收取一定服务费用
- CentOS 7.9(完全开源免费)
- Rocky Linux(替代CentOS)
- Ubuntu(适用于个人用户)
- Windows Server 2003/2016/2019/2022 (不开源操作系统)
常见版本 | 发布时间 | 核心架构 | 桌面版本 | 服务器版本 |
---|---|---|---|---|
Windows 8 /10/11 | 2012 | Windows NT | 全部 | 无 |
Windows Server 2012 /2016 | 2012 | Windows NT | 无 | 全部 |
Windows 7 | 2009 | Windows NT | 全部 | 无 |
Windows Server 2008 | 2008 | Windows NT | 无 | 全部 |
Windows Vista | 2007 | Windows NT | 全部 | 无 |
Windows Server 2003 | 2003 | Windows NT | 无 | 全部 |
Windows XP | 2001 | Windows NT | 全部 | 无 |
Windows ME | 2000 | MS-DOS | 全部 | 无 |
Windows 2000 | 2000 | Windows NT | Windows 2000 Professionol | Windows 2000 Server |
Windows 98 | 1998 | MS-DOS | 全部 | 无 |
Windows 95 | 1995 | MS-DOS | 全部 | 无 |
Windows NT | 1993 | Windows NT | Windows NT Workstation | Windows NT Server |
Windows 1.0 ~Windows 3.2 | 1985~1994 | MS-DOS | 全部 | 无 |
操作系统组成
计算机=硬件+软件
-
计算机软件大致可分为两类
- 系统软件
- 应用软件
-
操作系统(Operating System,简称OS)
-
个人桌面操作系统
-
服务器操作系统
-
一个完整的Linux操作系统的组成
系统内核+外围各种应用程序(软件)
-
举例:重启系统(reboot–shell解释–内核执行)
-
用户张三:reboot (重启系统)
-
shell:解释内核能识别的二进制指令
-
内核:根据二进制指令进行系统重启操作(内核驱动硬件,先关机,再开机)
-
Windows 市场占比
Windows垄断个人桌面操作系统
- 易用性
- 丰富的软件
- 硬件兼容性
Windows 很完美么吗
- 病毒、漏洞、木马
- 费用
- 操作系统需要付费
- 应用软件还需要付费
- 不开放源代码
Linux 介绍
- Unix
- 1969年,AT&T贝尔实验室,Ken Thompson
- Minix
- 1987年,Andrew Tanenbaum
- 能在个人电脑使用的 Unix-like
- Linux
- 1991年,芬兰赫尔辛基大学,Linus Torvalds
Linux 内核项目
- 主要作者:芬兰赫尔辛基大学的 Linus Torvalds
- 1991年10月,发布Linux 0.02版(第一个公开版)
- 1994年3月,Linux 1.0版发布
- Linux内核的标志——企鹅Tux,取自芬兰的吉祥物
- 官方网站:http://www.kernel.org
Linux 内核版本
由Linux内核项目团体统一进行发布
Linux 发行版可以自由选择使用某个版本的内核
Linux 优点
- 免费、开源、自由使用
- 稳定性
- 较低的硬件需求
- 很少有病毒和间谍软件
- 强大的网络功能
- 服务器市场占有率45%以上
- 智能手机市场占有率75%以上
Linux 应用
- Google用数十万台Linux主机提供搜索服务
- 新浪、赛迪、京东等大量网站使用Linux服务器
- Android智能手机系统采用的是Linux内核
- 腾讯的QQ通讯也依赖于庞大的Linux服务群
- 全球最大的网上书店亚马逊使用的是Linux平台
- SONY的PS2游戏机其实骨子里就是 Linux
- 中国国家邮政局全面信赖Linux系统平台
- 德国慕尼黑政府的一万多台计算机全采用Linux
- 美国的天气预报系统也运行在Linux平台上
Linux 已经上火星了
2003年6月11日,一台采用Linux实时操作系统和JAVA语言的火星探测器在旧金山Moscone中心举行的2003 JavaOne会议上被展出。这是第一台采用Linux实时操作系统和JAVA应用程序运作的太阳系探测器
Linux 应用的机器人
美国国家航空航天局Ames研究中心制造出了一种采用Linux操作系统和奔腾Ⅲ微处理器的个人卫星辅助设备(Personal Satellite Assistant),即一种机器人装置,未来将用来帮助航空器和在国际空间站上执行任务的宇航员
Linux 常见发行版本
- Linux 发行版本构成
- 基于Linux内核的类Unix操作系统
- Linux内核 + 各种自由软件 = 完整的操作系统
- 发行版的名称、版本由发行厂商决定
- Red Hat Enterprise Linux 5/6,由Red Hat公司发布
- Suse Linux Enterprise 11,由Novell公司发布
- Debian Linux 6.0,由Debian社区发布
- Ubuntu Linux 11.10,由Ubuntu社区发布
-
Red Hat 企业版
- Red Hat Enterprise Linux (简称RHEL)
- 目前最新版本是RHEL7.x
- http://www.redhat.com
-
Fedora 社区版
- 由Red Hat资助的社区维护,定位于个人桌面用户
- 目前最新版本是Fedora 21
- http://fedoraproject.org
-
CentOS 社区版
- Community Enterprise Operating System(社区企业操作系统)
- 目前最新版本为CentOS 8.x
- http://www.centos.org
开放源代码软件
开放源代码软件(Open Source Software)
- Firefox 网页浏览器
- OpenOffice 办公套件
- Apache 网站服务器软件
磁盘分区表示
Linux 中将硬盘、分区等设备均表示为文件
硬盘中的主分区数目只有 4 个,因此主分区和扩展分区的序号也就限制在1~4,而逻辑分区的序号将始终从 5 开始
文件系统类型
- Linux中默认使用的文件系统类型
- EXT3, 第3代扩展(Extended)文件系统
- EXT4,第3代扩展(Extended)文件系统
- XFS,一种高性能的日志文件系统
- SWAP,交换文件系统
- Linux支持的其它文件系统类型
- FAT16、FAT32、NTFS
- XFS、JFS
Linux 命令
Linux 系统常用命令
命令 | 描述 | 备注 |
---|---|---|
systemctl stop firewalld.service | 关闭 Linux 系统防火墙服务 | |
systemctl disable firewalld.service | 开机禁用 Linux 系统防火墙服务 | |
service iptables stop | 关闭 iptables 服务 | |
setenforce 0 | 临时禁用 Linux 系统内核安全机制 | 修改/etc/sysconfig/selinux/SELINUX=disabled |
inti 0,shutdown -h now,poweroff,halt -p | 关闭 Linux 系统使用 | |
shutdown -h +15 ‘the system will be shutdown’ | 延迟15分钟进行关机 | |
shutdown -r +15 ‘the system will be rebooted’ | 延迟15分钟进行重启 | |
shutdown -c | 取消关机或重启操作 | |
inti 6,shutdown -r now,reboot | 重启 Linux 系统使用 | |
hostname,hostnamectl | 查看 Linux 系统主机名 | hostname:主机名,hostnamectl:详细信息 |
ifconfig,ip address,ifconfig eth0 | 查看 Linux 系统网卡配置信息 | |
uname -r | 查看 Linux 系统内核版本信息 | -r :内核版本,-p :版本架构,-a :详细信息 |
history | 查看 Linux 系统历史命令记录 | |
pwd | 查看当前所在活动目录 | |
ls | 查看当前目录下的所有文件 | -hl :显示文件详细信息 |
exit | 退出当前命令操作环境 | |
cat /proc/cpuinfo | 查看CPU信息 | |
cat /proc/meminfo | 查看内存 | |
useradd xuanzi | 新建用户 | |
passwd | 设置密码 | |
su - xuanzi | 切换用户 | |
clear | 清屏 | Ctrl + L |
type | 判断命令类型 | type pwd |
Linux 管理员账号
-
Linux 操作系统超级用户:root 拥有系统的最高权限
-
Linux 系统普通用户:使用 root 用户创建而成
-
Linux 系统程序用户:在系统安装应用软件创建而成
-
root 切换普通用户,直接切换无需提供密码
-
普通用户切换 root,需提供 root 密码
-
普通用户切换普通用户,需提供切换普通用户密码
Linux 操作方法
- 命令方式:不直观体验不好
- 执行效率高,消耗资源少,比价安全
- 初级工程师:60/条
- 中级工程师:80~120/条
- 高级工程师:200/条
- 执行效率高,消耗资源少,比价安全
- 图形界面:傻瓜式操作
- 适用于新手,初学者
- 直观,可视化,友好
- 执行效率不高
Linux 终端类型
- 伪字符终端:桌面环境打开的终端,称为伪字符终端:
gonme-terminal
,post0、post1
- 使用
init 3,inti 5
切换终端类型 init 3
:纯字符终端init 5
:伪终端
- 使用
- 纯字符终端:最小化安装环境使用的终端,称为纯字符终端:
tty1~tty6
Linux Shell
Shell 是 Linux 系统中运行的一种特殊程序,接收用户输入的命令,解释命令,传递给系统内核执行
- 在用户和内核之间充当
翻译官
- 用户登录 Linux 系统时,自动加载一个 Shell 程序
- Bash 是 Ubuntu 系统中默认使用的 Shell 程序,文件位于
/bin/bash
Linux 命令分类
使用type 命令判断命令类型
,type ls
内部命令 | 外部命令 |
---|---|
集成于 Shell 解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于 Shell 的一部分 | 属于 Shell 解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由 Shell 加载后才能执行 |
Linux 系统将存放外部命令、程序的目录默认添加到
搜索路径
中当使用位于这些目录中的外部命令时,用户不需要指定具体的位置
Linux 命令格式
通用的命令行使用格式命令字 [选项] [参数]
-
命令字
-
是整条命令中最关键的一部分
-
唯一确定一条命令
-
-
选项
- 调节命令的具体功能,决定这条命令如何执行
- 不同的命令字使用的选项会不同
- 多个选项之间使用空格分隔
- 选项无严格顺序要求
- 若不使用选项,执行命令字的默认功能
- 短格式选项:一般在选项前使用
-
符号引导,结构简单、输入快捷,多个单字符选项可以组合在一起使用 - 长格式选项:一般在选项前使用
--
符号引导,意义明确,容易记忆
-
参数
- 是命令字的处理对象
- 个数可以是零到多个
- 通常情况下,可以是文件名、目录(路径)名或用户名等内容
-
按 Enter 键表示命令输入结束并提交给系统执
-
行没有按 Enter 键前,可编辑命令行中的字符内容
- Linux命令环境中,对英文字符的处理是区分大小写的
- 一些 Linux 命令字对于同一功能会同时提供长、短两种格式的选项两种格式可以混用
- 在实际使用Linux命令行的过程中,
选项
和参数
的称谓经常混淆,甚至前后顺序也允许颠倒,但一般不会影响到命令的执行效果
Linux 命令快捷键
按键 | 备注 |
---|---|
Tab | 自动补齐,不行就按两次 |
\ | 强制换行 |
Ctrl + A | 定位命令行首 |
Ctrl + E | 定位命令行末 |
Ctrl+U | 清空至行首 |
Ctrl+K | 清空至行尾 |
Ctrl+L | 清屏 |
Ctrl+C | 取消本次命令编辑 |
Linux 命令帮助
Linux 系统的命令数量繁多,具体选项也各不相同,格式也有细微差别,如何能快速、正确使用命令完成操作?
-
使用 help 命令:查看各Shell内部命令的帮助信息
help ls
-
使用 --help 选项:显示对应的外部命令格式及选项等帮助信息
ls --help
-
使用 man 手册页:最常用的一种在线帮助形式
man ls
- 以全屏的文本方式显示帮助信息,并提供交互式的操作环境,可使用的快捷键
↑,↓
Page Up,Page Down
q,Q
/
n,N
- 将 man 手册页的内容保存到文本文件
man ls | col -b > lshelp.txt
- 以全屏的文本方式显示帮助信息,并提供交互式的操作环境,可使用的快捷键
Linux 目录
在 Linux 系统中,目录可以理解为文件夹,所有文件均在根目录下,有且只有一个根目录
- 根目录简称为
根
- 表现形式为
/
Linux 目录结构
树型目录结构:最顶层:根目录
- root:存放 root 用户
- home:存放普通用户
- 区分用户身份:通过字符终端中的标识符号
#:管理员用户
,$:普通用户
Linux 文件分类
Linux 系统中,都统称为文件,不做严格区分
- 通过文件颜色区分
黑色
:普通文件绿色
:可执行文件红色
:压缩文件黄色
:设备文件蓝色
:目录文件青色
:链接文件
- 通过文件属性区分
f
:普通文件(黑,红,绿)d
:目录文件l
:链接文件b
:块设备文件c
:字符设备文件
绝对路径和相对路径
- 绝对路径
- 以根目录“/”作为起点
- 准确表示一个目录(或文件)所在的位置
- 表示Linux中目录结构相对稳定的目录(或文件)位置
- 较繁琐
- 相对路径
- 当前工作目录作为起点
- 目录的起始字符不使用“/”符号
- 表示当前目录“附近”的目录(文件)位置
- 简短、便捷
相对路径的表现形式
表现形式 | 说明 | 示例 |
---|---|---|
以一个点号“.”开头 | 表示以当前的工作目录作为起点 | ./grub.conf |
以两个点号“…”开头 | 表示以当前目录的上一级目录(父目录)作为起点 | …/vmlinuz |
以“~用户名”形式开头 | 表示以指定用户的宿主目录作为起点 | ~teacher |
Linux 文件指令
命令 | 描述 | 备注 |
---|---|---|
cd | 切换用户工作目录 | Change Directory |
pwd | 显示用户当前所在的工作目录位置 | Print Working Directory |
ls | 显示目录中内容,包括子目录和文件相关属性信息 | List |
alias/unalias | 通过别名机制简化常用的、比较长的命令alias myls = ‘ls – alh’ | |
du | 统计指定目录(或文件)所占用磁盘空间的大小 | |
mkdir | 创建新的空目录,创建同级目录{d1,d2} | |
touch | 创建新的空文件,多个使用空格隔开 | 创建两个空文件,文件名分别为 aa和bbtouch aa bb |
ln | 为文件或目录建立链接文件,类似于Windows系统的快捷方式 | Link;软链接:符号连接,硬链接 |
cp | 将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录 | Copy;复制文件cp /from /to |
rm | 删除文件rm /kgc | |
mv | 移动指定的文件或目录如果目标位置与源位置相同,则相当于执行重命名操作 | |
which | 查找命令所在位置which ls | |
find | 查找文件所在位置 |
cd-选项 | 说明 |
---|---|
cd 目标位置 | 切换到目标位置 |
cd ~ cd | 若不指定目标位置,切换到当前用户的宿主目录(家目录) |
cd - | 切换到上一次执行 cd 命令之前所在的目录 |
ls-选项 | 说明 |
---|---|
-l | 以长格式显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息 |
-a | 显示所有子目录和文件的信息,包括名称以点号“.”开头的隐藏目录和隐藏文件 |
-A | 与-a选项的作用基本类似,但不会显示“.”目录和“…”目录 |
-d | 显示目录本身的属性,而不显示目录中的内容 |
-h | 人性化显示出目录或文件的大小(KB、MB),默认的大小单位为字节(B) |
-r | 按照倒序方式排序 |
-R | 递归方式显示指定目录及其子目录中的所有内容 |
-t | 按修改时间对文件进行排序(最新在上面) |
–color | 在字符模式中以颜色区分不同的文件 auto表示自动显示颜色 |
–full-time | 以完整的时间格式输出信息 |
? | 匹配文件名中的一个未知字符 |
* | 匹配文件名中的任意多个字符 |
ls | 显示当前目录中包含的子目录、文件列表信息(不包括隐藏目录、文件) |
ls -ld | 只显示当前目录的详细属性,而不显示目录下的内容 |
ls -lh /etc/hosts /usr/bin | 查看两个文件的信息 |
ls -lh /etc/ns*.conf | 以长格式人性化的方式列出 /etc/ 目录下以“ns”开头“.conf”结尾的文件信息 |
du-选项 | 说明 |
---|---|
-a | 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录 |
-h | 显示出目录或文件的大小(K、M),默认的大小单位为字节(KB) |
-s | 只统计每个参数所占用空间总的大小,而不是统计每个子目录、文件的大小 |
mkdir-选项 | 说明 |
---|---|
-p | 一次性创建嵌套的多层目录mkdir -p /aa/bb/cc |
ln-选项 | 说明 |
---|---|
-s | 创建软链接 |
ln -s | 软链接:ln -s 源文件或者目录位置 |
ln | 硬链接:ln 源文件 目标位置 不能是目录 |
cp-选项 | 说明 |
---|---|
-f | 覆盖目标同名文件或目录时不进行提醒,直接强制复制 |
-i | 覆盖目标同名文件或目录时提醒用户确认 |
-p | 复制时保持源文件的权限、属主及时间标记等属性不变 |
-r | 复制目录时必须使用此选项,表示递归复制所有文件及子目录 |
rm-选项 | 说明 |
---|---|
-f | 强制删除时不提醒用户 |
-i | 删除时提醒用户 |
-r | 删除目录 |
rm /kgc/ | 删除整个 kgc 目录 |
rm /kgc/* | 删除 kgc 目录下所有文件,包含隐藏文件 |
find-查找类型 | 关键字 | 说明 |
---|---|---|
按名称查找 | -name | 根据目标文件的名称进行查找,允许使用“*”及“?”通配符,+ 大于,- 小于 |
按文件大小查找 | -size | 根据目标文件的大小进行查找 一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件 常用的容量单位包括 kB(注意 k 是小写)、MB、GB |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件的类型进行查找 |
表示而且 | -a | (and) |
表示或者 | -o | (or) |
软链接与硬链接的区别
区别 | 软链接 | 硬链接 |
---|---|---|
语法格式 | ln -s 源文件或目录位置 | ln 源文件位置 |
创建对象 | 基于源文件或目录创建 | 基于源文件进行创建 |
所在位置 | 源文件和创建的软链接文件可以 位于相同或不同文件系统 | 源文件和创建的软链接文件必须 位于相同或不同文件系统 |
删除源文件 | 无法正常使用 | 可以正常使用 |
iNode节点号 | 相同 | 不同 |
Linux 学习
Linux 学习方法论
学习Linux 操作形态的方法论(学习宗旨)
- 先跑通,在变通(先动手实操完成实验,在深入理解)
- Linux 中一切皆为文件
- 应用学科,一切以解决实际问题为出发点
- 常思考,勤总结(纲目化,表格化,图形化)
玄子Share-Linux常用命令精讲 2024-03-07