Linux 简介
- Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。
- Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,Linux既可以当作服务器,又可以当作网络防火墙是Linux的
一大亮点。 - Linux 具有开放源码、没有版权、技术社区用户多等特点
,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议栈
,经过适当的配置就可实现路由器的功能。这些特点使得Linux成为开发路由交换设备的理想开发平台。
前言
- Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。
- Linux命令在系统中有两种类型:内置Shell命令和Linux命令。
Linux命令基础
Shell
- Windows中有cmd,Linux中有Shell。
- 所有系统的内核都是C语言开发出来的。C语言面向过程,C++面向对象。C语言和C++同时存在。
- 所有语言的特性:源码文件–》编译器–》执行文件
语言 | 编译器 |
---|
Java | jdk |
Python | Python2/3 |
Linux | Shell |
Linux命令的分类
- 内部命令:集成在Shell解释器内的,属于Shell的一部分。
- 外部命令:独立文件的存在。
内部命令 | 外部命令 |
---|
集成与shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令r | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于ShelI的一部分 | 属于Shel解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shell加载后才能执行 |
Linux命令行的格式
通用的命令行使用格式
命令字 [选项] [参数]
- 命令字
- 选项
- 短格式选项:使用-符号引导
- 长格式选项:使用--符号引导
- 参数
- 命令字的处理对象
- 可以是文件名、目录(路径)名或用户名等内容
- 个数可以是零到多个
基本Linux名词解释
- [root@localhost ~]# :{当前用户@主机名 所在位置目录}身份权限
- root:当前登录系统用户
- @ :分隔符
- localhost:主机名
- ~ :当前所在目录位置
- #:管理员
- $:普通用户
编辑Linux命令行
- 编辑Linux命令行的辅助操作
- Tab键:自动补齐
- 反斜杠"”:强制换行
- Ctrl + U组合键:清空至行首
- Ctr| + K组合键:清空至行尾
- Ctrl+ L组合键:清屏
- Ctrl + C组合键:取消本次命令编辑
获得命令帮助的方法
- 内部命令help
- 命令的“–help”选项
- 使用man命令阅读手册页
- 使用Page Up和Page Down键翻页
- 按Q或q键退出阅读环境
- 按 \ 键查找内容,
命令讲解
查看当前的工作目录-pwd
查看当前的工作目录
[root@localhost~]
/root(当前工作目录)
切换工作目录-cd
格式 | 说明 |
---|
cd 目标位置 | 切换到目标位置 |
cd~ (家目录) | 若不指定目标位置,切换到当前用户的宿主目录(家目录) |
cd - | 切换为上一次所在位置 |
相对路径的表现形式
. 当前工作目录
.. 当前目录的上一级目录
cd.. 返回上一层目录
cd../../ 返回上上一层目录
- 绝对路径:从/ 根目录开始的
- 相对路径:相对路径参照路径(当前所在位置)
- 家目录=宿主目录
- 家目录有两种
表现形式 | 说明 | 示例 |
---|
直接使用目录名或文件名 | 表示当前工作目录中的子目录、文件的位置 | grub.conf |
以一个点号 "."开头 | 表示以当前的工作目录作为起点 | ./grub.conf |
以两个点号". ." 开头 | 表示以当前目录的上一级目录(父目录)作为起点 | …/mlinuz |
以"~用户名”形式开头 | 表示以指定用户的宿主目录作为起点 | ~teacher |
列表显示目录内容-ls
常用选项
-l:以长格式(Long) 显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息。不使用-l 选项时,ls命令默认以短格式显示目录名或文件名信息。
-a:显示所有(AII)子目录和文件的信息,包括名称以点号“.”开头的隐藏目录和隐藏文件。
-A:与-a 选项的作用基本类似,但有两个特殊隐藏目录不会显示,即表示当前目录的“.”和表示父目录的".."。
-d:显示目录(Directory) 本身的属性,而不是显示目录中的内容。
-h:以更人性化(Human) 的方式显示目录或文件的大小,默认的大小单位为字节(B),使用-h选项后将显示为KB、MB等单位。此选项需要结合-4选项一起使用。
-R:以递归(Recursive) 的方式显示指定目录及其子目录中的所有内容。
统计目录及文件空间占用情况-du
- 统计指定目录(或文件)所占用磁盘空间的大小
du [选项] [文件或目录 ] - 常用选项
选项 | 说明 |
---|
-a | 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录 |
-h | 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果 |
-S | 只统计所占用空间总的(Summary) 大小,而不是统计每个子目录、文件的大小 |
创建新目录-mkdir
- 创建新的空目录
mkdir [选项] [目录位置及名称]
-p:一次性创建嵌套的多层目录 - 示例
- 在当前目录下创建名为public_ html 的子目录
mkdir public_html
- 创建目录/aa, 在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc
mkdir -p /aa/bb/cc
创建空文件-touch命令
touch 文件名
touch aa bb
创建链接文件-In
- 为文件或目录建立链接文件,类似于Windows系统的快捷方式
- 链接文件类型
In [-s] 源文件或目录...链接文件或目标位置
In -S /bin/bzip2 /bin/wx/
cp- 复制(Copy) 文件或目录
- cp命令用于复制文件或目录,将需要复制的文件或目录(源)重建一份并保存为新的文件或目录(可保存到其他目录中)。
cp [选项] 源文件或目录 目标文件或目录
- 需要复制多个文件或目录时,目标位置必须是目录,且目标目录必须已经存在。cp命 令较常用到的几个选项如下。
-f:覆盖目标同名文件或目录时不进行提醒,而直接强制(Force) 复制。
-i:覆盖目标同名文件或目录时提醒用户确认(Interactive, 交互式)。
-p:复制时保持(Preserve) 源文件的权限、属主及时间标记等属性不变。
-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录。
mv命令一移动 (Move)文件或目录
- 需要移动多个文件或目录时,目标位置必须是目录,且目标目录必须已经存在。如果在同一个目录下移动文件或目录,则相当于执行重命名操作。
- 例如,以下操作将把当前目录中的mytouch程序文件改名为mkfile.
[root@localhost ~]
[root@localhost ~]
Is:无法访间mytouch:没有那个文件或目录
-NWXr-Xr-X 1 root root 62K 9月16 14:09 mkfile
查找目录和文件
- which命令——查找用户所执行的命令 文件存放的目录
- which命令用于查找Linux命令程序并显示所在的具体位置,其搜索范围主要由用户的环境变量PATH决定(可以执行"echo $PATH"命令查看),这个范围也是Linux操作系统在执行命令或程序时的默认搜索路径。
- which命令使用要查找的命令或程序名作为参数,默认当找到第-一个目标后即不再继续查找,若希望在所有搜索路径中查找,可以添加"-a”选项。
- 例如:执行"which Is"命令后,可以找到名为Is的、位于/usr/bin/Is 的命令程序文件
[root@localhost ~
/usrlocalsbin:/usr/local/bin:/usr/sbin:/usr/bin:/rootbin
[root@localhost ~
alias Is="ls --color=auto'
/usr/bin/s
- 注意:由于Shell内置的命令并没有对应的程序文件,因此使用which查找内部命令时,
将找不到对应的程序。例如,查找内部命令history的位置时,会提示在搜索路径中没有这个 程序文件。
[root@localhost ~
/usr/bin/which: no history in (usrlocal/sbin:/usr/local/bin:/usr/sbin/usr
/bin:/root/bin)
find命令 – 查找和搜索文件
find [参数] [路径] [查找和搜索范围]
-name | 按名称查找 |
---|
-size | 按大小查找 |
–user | 按属性查找 |
– | – |
-type | 按大小查找 |
-iname | 忽略大小写 |