一、shell解释器
Linux系统中运行的一种特殊的程序
在用户和内核之间充当“翻译官"
用户登录Linux系统时,自动加载一个shell程序
Bash是Linux系统中默认使用的shell程序
注:
命令:用户输入的,自然的语句
解释命令的工具--》shell(解释器)
指令--》内核:管理硬件、用户、文件系统、进程、网
络
二、操作系统的架构
用户--》命令
核外程序--》shell解释器
内核
硬件
三、内部命令与外部命令的区别(是否shell自带)
内部命令(快) | 外部命令(慢) |
集成于shell解释器程序内部的一些特殊指令,也成为(Buit-in)指令 | Linux系统中能够完成特殊功能的脚本文件或二进制程序 |
属于shell的一部分 | 属于shell解释器程序之外的明林 |
没有单独对应的系统文件 | 每个外部命令对应一个系统中的文件 |
自动载入内存 | 必须知道其对应的位置,由shell加载后才能执行 |
查看Linux命令类型
type [root@localhost ~]# type ls
ls 是 `ls --color=auto' 的别名
[root@localhost ~]# type cd
cd 是 shell 内嵌
hash:看是否能够命中,命中代表是外部命令
[root@localhost ~]# ls
[root@localhost ~]# hash
命中 命令
enable:直接查询出操作系统内部有哪些命令
四、通用命令的使用格式
命令字、选项、参数
命令字:是整条命令最关键的部分,命令执行功能
选项:命令输入的方式
短格式选项:使用“-”符号引导
长格式选项:使用“--”符号引导
参数:命令执行的对象
1、编辑Linux命令行的辅助操作
Ctrl+U :快速删除当前光标处之前的所有字符内容。
Ctrl+K :快速删除从当前光标处到行尾的所有字符内容。
Ctrl+L :快速清空当前屏幕中的显示内容,只在左上角显示命令提示符。
Ctrl+C :取消当前命令行的编辑,并切换为新的一行命令提示符。
tab:可以将输入的不完整命令字或文件、目录名自动补齐
反斜杠“\”:如“\”符号强制换行,在下一行出现的“>”提示符后可以继续输入内容
上下键:可以调历史命令
history:之前敲的命令都列出来
Home:可以把光标从后面移动到前面
end:可以把光标从前面移动到后面
2、获得命令帮助
help命令
--help选项
man手册:(manual)通过man手册,查询命令的解释
“上下键”可以翻
“回车键”可以翻
“pageup、pagedown”翻一整页
“q”退出
五、目录和文件的基本操作
1、路径
(1)windows每个分区都是一个独立的根,Linux只有一个根
(2)根目录:/ 它是一切文件的起始位置
(3)绝对路径:从根开始输入路径
相对路径 :从当前位置开始输入路径
注:
. ./ 当前所在目录
绝对路径绝对不错,相对路径要参考当前所在的位置
cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上,它的主要作用是用于查看和连接文件
cat [选项] [文件]
参数说明:
-n
:显示行号,会在输出的每一行前加上行号。-b
:显示行号,但只对非空行进行编号。-s
:压缩连续的空行,只显示一个空行。-E
:在每一行的末尾显示$
符号。-T
:将 Tab 字符显示为^I
。-v
:显示一些非打印字符。
使用说明:
-
显示文件内容:
cat filename
会将指定文件的内容输出到终端上。 -
连接文件:
cat file1 file2 > combined_file
可以将 file1 和 file2 的内容连接起来,并将结果输出到 combined_file 中。 -
创建文件:可以使用
cat
命令来创建文件,例如cat > filename
,然后你可以输入文本,按Ctrl+D
来保存并退出。 -
在终端显示文件:可以将
cat
与管道(|
)结合使用,用来显示其他命令的输出,例如ls -l | cat
会将ls -l
的输出通过cat
打印到终端上。
2、查看目录
(1)pwd 命令 ——查看当前的工作目录(Print Working Directory)
(2)cd 命令 —— 切换工作目录(Change Directory)
注:cd空格..切换到上级目录
cd../..切换到上上级目录
cd /切换回根目录
cd enter切换到登录目录
cd与cd ~等效,回到家目录
cd - 和上一次所在的目录进行切换
. 当前
.. 上一级目录
(3)ls 命令——列表(List)显示目录内容
-l:以长格式(Long)显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息。不使用-l 选项时,ls 命令默认以短格式显示目录名或文件名信息。
-a:显示所有(All)子目录和文件的信息,包括名称以点号“.”开头的隐藏目录和隐藏文件。
-A:与-a 选项的作用基本类似,但有两个特殊隐藏目录不会显示,即表示当前目录的“.”和表示父目录的“..”。
-d:显示目录(Directory)本身的属性,而不是显示目录中的内容。
-h:以更人性化(Human)的方式显示目录或文件的大小,默认的大小单位为字节(B),使用-h 选项后将显示为 KB、MB 等单位。此选项需要结合-l 选项一起使用。
-R:以递归(Recursive)的方式显示指定目录及其子目录中的所有内容。
注:
d:目录 -:普通文件 l:连接文件 b:块文件 c:字符文件(键盘)
r:read读 w:write写 x:excute执行
rwx r-x r-x (属主 属组 其它)
属主:我是谁的
属组:我是哪个组(包含多个用户)的
其它:既不是属主,也不是属组
. 安全上下文,ACL,setenforce 0临时关闭
(4)du 命令——统计目录及文件的空间占用情况(Disk Usage)
-a:统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h:以更人性化的方式(默认以 KB 计数,但不显示单位)显示出统计结果,使用-h 选项后将显示出 KB、MB 等单位。
-s:只统计每个参数所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小。
(4)du 命令——统计目录及文件的空间占用情况(Disk Usage)
-a:统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h:以更人性化的方式(默认以 KB 计数,但不显示单位)显示出统计结果,使用-h 选项后将显示出 KB、MB 等单位。
-s:只统计每个参数所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小
3、创建目录和文件
(1)mkdir 命令——创建新的目录(Make Directory)
-p选项
(2)touch ——创建空文件
注:touch 如果创建的文件存在, 更新文件时间戳
如果不存在,创建空文件
(3)ln 命令——创建链接(Link)文件
注:创建链接文件都用绝对路径
链接:
软链接:针对文件、目录、可跨分区
硬链接:只针对文件,不可跨分区
4、复制、删除、移动目录和文件
(1)cp——复制(Copy)文件或目录
-f:覆盖目标同名文件或目录时不进行提醒,而直接强制(Force)复制。
-i:覆盖目标同名文件或目录时提醒用户确认(Interactive,交互式)。
-p:复制时保持(Preserve)源文件的权限、属主及时间标记等属性不变。
-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录。
扩展:
Linux cp(英文全拼:copy file)命令主要用于复制文件或目录。
语法
cp [options] source dest
或
cp [选项] 源文件 目标文件
其中,source(源文件)表示要复制的文件或目录的路径,dest(目标文件)表示复制后的文件或目录的路径。
或
cp [options] source... directory
选项说明:
- -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于 dpR 参数组合。
- -d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
-r
或--recursive
:用于复制目录及其所有的子目录和文件,如果要复制目录,需要使用该选项。-i
或--interactive
:在复制前提示确认,如果目标文件已存在,则会询问是否覆盖,回答 y 时目标文件将被覆盖。。-u
或--update
:仅复制源文件中更新时间较新的文件。-v
或--verbose
:显示详细的复制过程。-p
或--preserve
:保留源文件的权限、所有者和时间戳信息。-f
或--force
:强制复制,即使目标文件已存在也会覆盖,而且不给出提示。- -l:不复制文件,只是生成链接文件。
实例
将文件 file.txt 复制到目录 /path/to/destination/ 中:
cp file.txt /path/to/destination/
使用指令 cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下,输入如下命令:
cp –r test/ newtest
注意:用户使用该指令复制目录时,必须使用参数 -r 或者 -R 。
复制文件,并在目标文件已存在时进行确认:
cp -i file.txt /path/to/destination/
(2)rm 命令——删除(Remove)文件或目录
-f:删除文件或目录时不进行提醒,而直接强制删除。
-i:删除文件或目录时提醒用户确认。
-r:删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)。
(3)mv 命令——移动(Move)文件或目录
5、查找目录和文件
(1)which 命令——查找用户所执行的命令文件存放的目录
[root@localhost ~]# whichls
(2)find 命令——查找文件或目录
[root@localhost ~]# find/etc -name "resol*.conf"
[root@localhost ~]# find/boot -type d
[root@localhost ~]# find/boot -size +1024k -a -name "vmlinuz*"
[root@localhost ~]# find/boot -size +1024k -o -name "vmlinuz*"
6、退出
exit 表示退出当前的shell