目录
引言:在生产环境中,我们需要了解用户、shell、内核之间的关系并且熟悉掌握简单的操作命令,从而达到满足linux的基本需求。
一:Shell
Linux系统中运行的一种特殊程序
在用户和内核之间充当“翻译官”
用户登录Linux系统时,自动加载一个Shell程序
Bash是Linux系统中默认使用的Shell程序
运行的过程是接受用户输入的命令——解释命令——传递给系统内核执行
二:Linux命令的区别
2.1内部命令和外部命令的区别
内部命令 | 外部命令 |
集成与shell解释器程序内部的一些特殊指令,也称为内建指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于shell的一部分 | 属于shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由shell加载后才能执行 |
1.内部命令属于shell的一部分,外部命令属于shell程序之外的命令。
2.内部命令属于shell的一部分(/bin/bash)没有单独的文件,外部命令一般由脚本文件或者二 进制文件组成。
3.内部命令自动加载,可以直接使用,外部命令系统必须要知道对应的文件位置(命令的环境 变量),由shell进行加载后,系统才能识别该命令。
2.2查看内部命令
help命令
enable命令
type命令
2.3禁用内部命令
enable -n 命令 ——禁用该命令
enable 命令——启用该命令
2.4Linux命令行的格式
命令字 【选项】 【参数】
命令字:是整条命令中最关键的一部分、唯一确定一条命令
选线:短格式选项 “-” 长格式选项“--”
参数:命令字的处理对象;可以是文件名、目录(路径)名或用户名等内容、个数可以是0到多个
三:编辑Linux命令行的辅助操作
Tab 键:自动补齐
反斜杠\:强制换行
ctrl+u组合键:清空至行首
ctrl+k组合键:清空至行尾
ctel+l组合键:清屏
ctrl+c组合键:取消本次命令编辑
四:获得命令帮助的方法
4.1内部命令help
查看shell内部命令的帮助信息
4.2命令的“--help”选项
适用于大多数Linux外部命令
4.3使用man命令阅读手册页
使用 “↑”“↓”方向键滚动一行文本
使用page up和page down键翻页
按q或Q键退出阅读环境
按\键查找内容,n键向下查找,N键向上查找
五:常用的命令
5.1pwd——查看当前的工作目录
显示用户当前所在的工作目录位置
【root@localhost~】#pwd
/root
5.2cd——切换工作目录
将用户的工作目录更改到其他位置
格式 | 说明 |
cd目标位置 | 切换到目标位置 |
cd~ | 若不指定目标位置,切换到当前用户的宿主目录 |
cd | |
cd- | 切换到上一次执行cd命令之前所在的目录 |
cd /home | #后面跟绝对路径,切换到home目录 |
cd ./home | #后面跟相对路径,切换到home目录 |
cd~ | #切换到当前用户的家目录 |
cd | #切换到当前用户的家目录 |
cd~user | #切换到某一个用户的家目录,只有root才行,别的用户只能在自己家 |
cd- | #切换到上一次执行操作的目录 |
cd.. | #切换到上一层目录(父目录) |
绝对路径:以/开头,根目录为起点
相对路径:以当前目录为起点
5.3ls——列表显示目录内容
5.3.1显示目录中内容,包括子目录和文件相关属性信息
ls [选项] [文件或目录...]
5.3.2常用选项
-1 -a -A -d -h -R -color、
5.3.3结合通配符
“?”:匹配文件名中的一个未知字符
“*”:匹配文件名中的任意多个字符
5.3.4ls的常用选项
-l#将文件信息属性详细列出,通常直接使用ll,因为设置了别名
-R#递归显示,比如一个目录下还有文件,则把那个文件也一起列出
-d#查看目录本身信息,不显示目录下的内容
-i#显示inode值
-h#友好显示文件大小
-a#遍历所有文件及目录(ls内定将文件名或目录名称开头为". "的视为隐藏档,不会列出)
-A#跟-a 唯一的不同是不列出当前目录和上一层目录
5.3.5颜色区别
白色数据文件TxT
绿色可执行文件
黄色块设备文件
红色压缩包
蓝色文件夹
天蓝色连接文件(快捷方式)
5.4长格式
-:普通文件
d:目录文件
b:块设备文件
p:管道文件
s:套接字文件
1:符号链接文件
5.5alias——给命令设置别名
alias 查看系统当前所有可用别名
unalias 删除别名
vim /root/.bash 永久生效
临时修改
alisa 命令别名='命令‘
unalias 删除别名
修改
在/etc/bashrc 会影响全部
/root/。bashrc 只会影响当前命令
5.6du——统计目录及文件空间占用情况du
-a:统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h:显示出每一个文件以及大小,单位是KB,MB,GB
-s:显示文件或整个目录的大小,默认单位是KB,但不会显示出来
5.7mkdir——创建新目录
mkdir /opt/sj 创建目录
-p:创建一个已有目录会报错,加-p则不会报错。当父目录不存在时,递归创建
mkdir {1..7} 添加1到7的目录
mkdir l{1..7} 添加l1到l7的目录
5.8touch——创建空文件
文件存在:修改文件或目录的时间属性,包括存取的时间和更加的时间
touch 【文件名】
5.9ln——创建链接文件(软链接,硬链接)
链接文件包括软链接和硬链接俩种类型,其中软链接又称为符号链接,访问软链接或者硬链接与直接访问原始文件的效果基本相同
ln -s 创建软连接,相当于创建一个快捷方式
ln 创建硬连接,相当于复制了一个副本
区别:硬链接不能跨分区建立,无法对文件夹创建
删除硬件链接可以接着访问硬链接
软连接可以跨设备,可以支持文件夹 软连接删除源文件不能访问
5.10cp——复制文件或者目录
将需要复制的文件或者目录重新建立一份,并保存为新的文件或者目录
cp[选项]...原文件或目录...目标文件或目录
-f:覆盖目标同名的文件或目录时不进行提醒,直接强行复制
-i:覆盖目标同名的文件或目录时提醒用户确认
-p:复制时保存文件的权限,属主以及时间标记
-r:复制目录时必须使用此选项,表示递归复制所有文件以及子目录
-a:保留权限,复制软连接本身,递归复制
5.11rm——删除文件或目录
删除指定的文件或目录
rm -rf ./*
5.12mv——移动文件或目录
将指定文件或目录转移位置
如果目标位置与源位置相同,则相当于执行重命名操作
mv(选项)..源文件或目录..目标文件或目录
5.13which——查找命令文件存放目录
搜索范围由环境变量PATH决定(echo$PATH)
让系统能识别命令所在文件位置的环境变量PATH
which 命令/程序名//默认当查找的第一个目标后不再接着寻找
which -a 命令/程序名//在所在搜索路径中查找
5.14find——查找文件或目录
采用递归方式,根据目标的名称,类型,大小等不同属性进行精细查找
find【查找范围】 【查找条件表达式】
不设置任何参数,fing命令将会在当前目录下查找子目录和文件。并且将查找到的子目录和文件全部进行显示
按照名称查找:-name
按照大小查找:-size
按照文件属主:-user
使用find命令实现多个查找条件
各个表达式之间使用逻辑运算符
-a表示而且(and)
-0表示或者(or)
六:总结
我们在生产环境中离不开linux,所有我们需要知晓其原理:Shell在用户和内核之间充当翻译;Linux命令分为内部命令和外部命令,当我们不知道该使用什么命令的时候可以使用help查看获得Linux命令帮助的方法。知晓Linux常用命令的:查看以及切换目录(pwd,cd,ls,du);创建目录和文件(mkdir,touch,ln);复制,删除,移动目录和文件(cp,rm,mv);查找目录和文件(which,find)。