文章目录
一、什么是Shell?
二、Linux命令的分类
内部命令 | 外部命令 |
---|---|
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动加载内存,可以直接使用 | 必须知道其对应的文件位置,由Shell加载后才能执行 |
三、Linux命令行格式
-
通用的命令行使用格式
命令字 [选项] [参数]
命令字:是整条命令中最关键的一部分
唯一确定的命令
选项:1、短格式选项:使用“-”符号引导
2、长格式选项:使用“–”符号引导
四、Linux命令行常用操作快捷键
快捷键 | 含义 |
---|---|
TAB | 自动补齐命令 |
\ | 反斜杠:强制换行 |
Ctrl+U | 清空至行首 |
Ctrl+K | 清空至行尾 |
Ctrl+L | 清屏 |
Ctrl+C | 取消本次命令编辑 |
五、Linux常用命令
pwd 查看当前所在的工作目录位置
[root@localhost log]# pwd
/var/log
cd 切换工作目录
命令 | 说明 |
---|---|
cd 目标位置 | 切换到目标位置 |
cd ~ 或 cd | 若不指定目标位置,切换到当前用户的宿主目录 |
cd - | 切换到上一次执行cd命令之前所在的目录 |
相对路径与相对路径
-
绝对路径:绝对路径一定是由根目录 / 开始写起
-
相对路径:相对路径不是从根目录 / 开始写起,而是从当前所在的工作目录开始写起
相对路径的表现形式
表现形式 | 说明 | 示例 |
---|---|---|
直接使用目录名或文件名 | 表示当前工作目录中的子目录、文件位置 | grub.conf |
以一个点号“.”开头 | 表示以当前的工作目录作为起点 | ./grub.conf |
以两个点号“…”开头 | 表示以当前目录的上一级目录(父目录)作为起点 | …/vmlinuz |
以“~用户名”形式开头 | 表示以指定用户的宿主目录作为起点 | ~teacher |
ls 列表显示目录内容
语法:ls [选项] [文件或目录..]
选项: -l 长格式显示详细信息
-a 显示所有文件,包括所有隐藏文件
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-d 显示当前目录属性信息(一般与d选项配合使用)
-h 类似于-l,以人容易理解的格式列出文件大小
-R 递归列出目录下及子目录中所有文件
--color 不带颜色打印输出结果,使用–color=never参数
alias 别名(通过别名机制简化常用较长的命令)
语法:alias 命令别名=命令
示例:alias myls="ls -alh"
【补充】:该修改仅为临时生效,重启后失效,若想永久设置alias,则需要编辑/root/.bashrc文件,将alias写入该文件即可
du 统计目录及文件空间占用情况
语法:du [选你] [文件或目录...]
常用选项:
选项 | 说明 |
---|---|
-a | 统计磁盘空间占用时包括所有的文件,而不是仅仅只统计目录 |
-h | 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果 |
-s | 只统计所占用空间的(Summary)大小,而不是统计每个子目录、文件的大小 |
例: 统计出/var/log目录所占用空间的大小
du -sh /var/log/
mkdir 创建新目录
语法:mkdir [选项] 目录位置及名称
参数: -p 一次性创建嵌套的多层目录
例:创建目录/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc
mkdir -p /aa/bb/cc
创建空文件-touch
语法:touch 文件..
例:创建两个文件,文件名分别为cc dd
touch cc dd
【补充】:创建一个文件有多种方式
1、创建空白文件:touch
2、vi或者vim,可以创建一个文本文件
3、重定向符号 > (例:创建一个空白文件cdk,那么就可以输入 “> cdk”,回车即可
ln 创建连接文件
软连接:ln [-s] 源文件或目录..链接文件或目标位置 ##类似于windows中的快捷方式
例:ln -s /bin/bzip2 /bin/wx/
硬链接:ln
【区别】:如果用于创建软连接的源文件删除,则软连接立即失效;而硬链接则不会受任何影响,删除源文件后仍旧可以访问
cp 复制文件或目录
语法:cp [选项]...源文件或目录...目标文件或目录
选项 | 说明 |
---|---|
-f | 覆盖目标同名文件或目录时候不进行提醒,直接强制复制 |
-i | 覆盖目标同名或目录时提醒用户确认 |
-p | 复制时保持源文件的权限,属主及时间标记等不变 |
-r | 复制目录时必须使用此选项,表示递归复制所有文件及子目录 |
rm 删除文件或目录(高危命令!)
rm [选项] 要删除的文件或目录...
例: rm -rf abc/test.txt
选项 | 说明 |
---|---|
-f | 强制删除,无需交互确认 |
-i | 删除前逐一询问确认(默认情况下选项就是i) |
-r | 递归删除,将目录及其中包含的所有文件全部删除 |
mv 移动文件或目录
语法:mv [选项]...源文件或目录...目标文件或目录
例:mv 1.txt
【补充】:1、mv命令还可以用于对文件进行重命名
例:mv 1.txt 2.txt ##将当前目录下的1.txt文件重命名为2.txt
2、另一种重命名命令:rename 使用方法与mv类似,这里不再赘述
which 查找命令/文件存放目录
用法:which 命令名|程序名
例:which rm ##查找rm这个命令的存放路径
find 查找文件或目录
语法:find [查找范围] [查找条件表达式]
常用查找条件类型
查找类型 | 关键字 | 说明 |
---|---|---|
按名称查找 | -name | 根据目录文件的名称进行查找,允许使用“*”及“?”通配符 |
按文件大小查找 | -size | 根据目标文件的大小进行查找;一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件;常用的容量单位包括kb(注意k是小写)、MB、GB |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件类型查找,包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等 |
使用find命令实现多个查找条件
-
各表达式之间使用逻辑运算符
“-a" 表示而且(and)
"-o"表示或者(or)
-
例
find /root -size +1024k -a -name "2.txt"