Linux基本命令
一、初识Linux
1.1 Linux命令
- 用于实现某一类功能的指令或程序
- 命令的执行依赖于解释器程序(例如:/bin/bash )
1.2 Linux命令的分类
- 内部命令∶属于Shell 解释器的一部分
- 外部命令∶独立于Shell解释器之外的程序
1.3 Shell
- Linux系统中运行的一种特殊程序也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。
- 在用户和内核之间充当“翻译官”去通知操作系统需要进行什么样的操作(相当于解释层)
- 内核相当于操作系统去指挥硬件,硬件才能工作,否则无法交互
- 用户登录Linux系统时,自动加载一个Shell程序
- Bash是Linux系统中默认使用的Shell程序
- 文件位于/bin/bash
1.4 shell与内、外部命令
- 内部命令在系统启动时调入在内存,常驻内存,所以执行效率高
- 外部命令是系统软件的功能,用户需要时从硬盘中调入指定的文件,运行完放在内存当中
(1) shell 分为内部命令和外部命令,一般先执行内部命令,再执行外部命令(别名最大)
内部命令 | 外部命令 |
---|---|
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shell加载后才能执行 |
1.5 Linux命令的通用格式
命令字 [选项] [参数]
-
选项:用于调节命令的具体功能
-
”-”引导短格式选项,例如“Is -a"
-
“--”引导长格式选项,例如“Is --help”
-
参数:命令的对象,如文件、目录名等
1.6 命令的操作技巧
- Tab键:自动补齐(1、命令补齐;2、文件名补齐【前提是唯一】);按两次Tab键,系统将输出可用的名称列表
- 反斜杠“\”:强制换行
- Ctrl + U:快速删除当前光标处之前的所有字符
- Ctrl + K:快速删除从当前光标处到行尾的所有字符
- Ctrl + L:快速清空当前屏幕中的显示内容
- Ctrl + C:取消当前命令行的编辑
1.7 获取命令的帮助
1.内部命令help
- 查看Basn内部命令的帮助信息
2.命令的“--help”选项
- 适用于大多数外部命令
3.使用man命令阅读手册页
- 使用“ ↑ ”、“↓”方向键滚动文本
- 使用Page Up和 Page Down键翻页
- 按Q或q键退出阅读环境、按“”键查找内容
二、Linux 基本命令
2.1 ls(list)命令详解
- -l∶以长格式(Long)显示文件和目录的列表
-
-a:显示所有(AlI )子目录和文件的信息
-
-A:与-a选项的作用基本类似,但有两个特殊隐藏目录不会显示,“.”和".."
-
-d :显示目录(Directory )本身的属性,而不是显示目录中的内容
-
-h:以更人性化(Human)的方式显示出目录或文件的大小,此选项需要结合-I选项一起使用(显示文件大小的单位)
-
-R:以递归( Recursive )的方式显示指定目录及其子目录中的所有内容
2.2 du ( disk usage)命令详解
用于统计指定目录(或文件)所占用磁盘空间的大小,du命令常用的几个选项如下:
- -a:统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录(包括文件的总和大小)
- -h :以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
- -S:只统计所占用空间总的( Summary )大小,而不是统计每个子目录、文件的大小
应用举例:
du -sh /var/log/统计所有文件总共占用的空间大小
2.3 touch命令
创建空文件,用于测试
- touch test
当目标文件已存在时,将更新该文件的时间标
- 记touch test
2.4mkdir ( make directory )命令
作用:创建新目录
格式 mkdir [选项] 目录位置及名称..
[选项]中填入 -p(parent):一次性创建嵌套的多层目录
目录位置及名称:一般是相对地址
示例:
- 在当前目录下创建名为public_html的子
目录
- mkdir public_html
- 创建目录/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc
- mkdir -p /aa/bb/cc
2.5 cp ( copy )
-
作用
复制文件或目录
-
格式
cp [选项] 源文件或目录 目标文件或目录 (目的目录后跟名字,相当于重命名)
-
需要复制多个文件或目录时,目标位置必须是目录,而且目标目录必须已经存在。cp命令较常用到的几个选项如下:
-
-f:覆盖目标同名文件或目录时不进行提醒,而直接强制( Force )复制(直接覆盖掉)
-
-i:覆盖目标同名文件或目录时提醒用户确认(Interactive,交互式)
-
-p:复制时保持( Preserve)源文件的权限、属主及时间标记等属性不变
-
-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录
2.6 rm ( remove )
-
作用:删除指定的文件或目录
-
格式
rm [选项] 要删除的文件或目录…
-
常用选项
-
-f:不提醒,直接强制删除
-
-i:提醒用户确认
-
-r:递归删除整个目录树
4.示例
直接删除root目录中test1目录树
- -rm -rf test1(实操中极度危险命令)
以提示确认方式删除public_html目录中apg.conf 文件
- -rm -i public_html/apg.conf
2.7 mv ( move )
1、作用
- 将指定的文件或目录转移位置
- 如果目标位置与源位置相同,则相当于执行重命名操作
2、格式
- mv [选项] 源文件或目录 目标文件或目录
3、例子
1、把当前目录中mytouch程序文件改名为mkfile
- mv mytouch mkfile
2、将mkfile文件移动到已存在的目录public_html中,文件名保持不变
-
mv mkfile public_html/
区分:若在目录的文件;cp 需要递归;MV不需要。
3、移动时也可以重命名,前提是该目录下没有要重命名的名字,否则会移动到该目录下。
2.8 which
1、作用:查找Linux命令程序所在的位置
2、格式
- which 命令 | 程序名 (命令或者程序名)
3、示例
- which ls
4、注意
- 默认当找到第一个目标后不再继续查找
- 若在所有搜索路径中查找,加“-a”选项
- 无法查找内部命令所对应的程序文件
例如: which cd
which is(没有该命令)
2.9 find
1、作用︰精细查找文件或目录
2、格式
- find [查找范围] [查找条件表达式] [处理动作](一般隐藏,默认为print)
3、常用查找条件
- 按名称查找:“-name"
- 按文件大小查找:“-size"
- 按文件属主查找:“-user"
- 按文件类型查找:“-type"
例1、name的使用
1、-name :根据目标文件的名称进行查找,允许使用“*”、“?”通配符
2、示例
- 递归查找/etc目录中名称以“resol”开头、以“.conf”结尾的文件
find /etc -name "resol*.conf"
例2、size的使用
1、-size:根据目标文件的大小进行查找,一般使用“+”、“”号设置超过或小于指定的大小作为查找条件。常用的容量单位包括kB(注意k是小写)、MB、GB
2、示例
查找/boot目录中超过10MB的文件
- find /boot -size +10M
例3、type的使用
1、-type:根据文件的类型进行查找,类型指的是普通文件(f:file)、目录(d:directory)、块设备文件(b:block )、字符设备文件(c:character)等
- 块设备指的是成块读取数据的设备(如硬盘、内存等)
- 而字符设备指的是按单个字符读取数据的设备(如键盘、鼠标等)
2、示例
- 查找/boot目录中所有的子目录
find /boot -type d
4、多条件查找
1、同时使用多个查找条件时,各表达式之间可以使用逻辑运算符“-a”、“-o”,分别表示而且( and )、或者(or )
2、示例
查找/boot目录中超过1MB和(或)名称以vm开头的所有文件
- find /boot -size +1M -a -name "vm“
- find /boot -size +1M -o -name "vm"