目录
一Shell
1、Linux系统中运行的—种特殊程序
2、在用户和内核之间充当"翻译官"
3、用户登录Linux系统时,自动加载一个Shell程序
4、Bash是Linux系统中默认使用的Shell程序
文件位于/bin/bash
二,Linux命令的分类
(一)内部命令于外部命令的区别
内部命令 | 外部命令 |
集成于Shel解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于Shell的一部分 | 属于Shel1解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shel1加载后才能执行 /bin,/usr/bin,/usr/local/bin等 |
三,Linux命令行
(一)通用的命令行格式
命令字 [选项] [ 参数 ] (英文字符区分大小写)
唯一确定一条命令
1、命令字
是整条命令中最关键的一部分
唯一确定一条命令
2、选项
短格式选项:使用 “-” 符号引导 (多个单字符选项可以组合在一起使用)
长格式选项:使用 “--” 符号引导
3、参数
命令字的处理对象
可以是文件名、目录(路径)名或用户名等内容
个数可以是零到多个
(二)编辑Linux命令行
编辑Linux命令行的辅助操作
Ctrl+ U组合键 | 清空至行首 |
Ctrl+K组合键 | 清空至行尾 |
Ctrl+ L组合键 | 清屏 |
Ctrl+ C组合键 | 取消本次命令编辑 |
Ctrl+ e组合键 | 切换到行尾 |
Ctrl+w组合键 | 撤回至空格前 |
Ctrl + a组合键 | 切换到行首 |
反斜杠"\" | 强制换行 |
Ctrl + S组合键 | 锁屏 |
Ctrl + Q组合键 | 退出锁屏 |
(三)获得命令帮助的方法
1.查看内部命令help
查看Shell内部命令的帮助信息
2、命令的"–help"选项
适用于大多数Linux外部命令
3、使用man命令阅读手册页
使用“上、下”(ENTER)方向键滚动一行文本,使用Page Up和 Page Down (空格) 键翻页,按Q或q键退出阅读环境,按"/"键查找内容, n键向下查找, N键向上查找。
四、基础命令
(一)、查看当前的工作目录:pwd
显示当前用户所在的工作位置
(二)、切换工作目录
将用户的工作目录更改到其他位置
格式 | 说明 |
cd目标位置 | 切换到目标位置 |
cd ~ | 若不指定目标位置,切换到当前用户的宿主目录 |
cd | |
cd - | 切换到上一次执行cd命令之前所在的目录 |
cd切换到目标位置:
(三)、相对路径的表现形式
表现形式 | 说明 | 示例 |
直接使用目录名或文件名 | 表示当前工作目录中的子目录、文件的位置 | rub.conf |
以一个点号"."开头 | 表示以当前的工作目录作为起点 | ./grub.conf |
以两个点号". ."开头 | 表示以当前目录的上一级目录(父目录)作为起点 | . . /mli |
以“~用户名”形式开头 | 表示以指定用户的宿主目录作为起点 | ~teac |
以"~" 形式开头 | 表示以当前用户的宿主目录作为起点 | ~ |
假如我所在的位置为home,,以绝对、相对两种路径方式进入/opt目录
相对路径:cd ../opt
cd / cd opt
绝对路径:cd /opt
(四)、列表显示目录类容-ls
1.显示目录中内容,包括子目录和和文件相关属性信息
ls[选项][文件或目录]
2.ls常用选项
-L:长格式显示文件和目录的列表,包括权限,大小,最后更新时间等详细信息。
-a:显示所有子目录和文件的信息,包括名称以点号开头的隐层目录和隐藏文件
-d:显示除隐藏目录的文件,与-a相似,即表示当前目录的“.”和表示父目录的“...”
-h:以有好的方式显示(带单位)默认的大小单位伟字节(B),此选项要结合-l选项一起使用。
-R:以递归的方式显示指定目录以及子目录中的所有类容
--color:在字符模式中以颜色区分不同的文件。默认是开启的。
3.通配符
符号 | 效果 |
? | 匹配一个字符 |
* | 匹配所有非隐藏的字符无论多少长短,但不匹配“.”开头的文件,即隐藏文件 |
{1-10} | 1到10 |
{a..z} | a b c ....z |
{A..Z} | A B C...Z |
[123] | 取其中之一有就显示没有也无所谓 |
\ | 转义符,表示原来的意思通常是alics后使用 |
[[:lower:]] | 小写字母表示a-z |
[[:upper:]] | 大写字母表示A-Z |
[^zhang] | 匹配列表中的所有字符以外的字符 |
[[:ditsd:]] | 任意数字,相当于0-9 |
(五)、设置别名-alias
1.通过别名机制简化日常用的、比较长的命令
alias命令别名=“命令”(“=”两边不能有空格)
alias+命令别名=“命令”
例如:alias vime=“vim /etc/sysconfig/network-scripts/ifcfg-ens33”
上述配置可以做到在打vime时,可以默认等于ens33。此配置为临时修改,重启后会失效,想永久生效需要更改配置文件。可以通过unalias取消别名。
(六)、统计目录及文件空间占用情况-du
1.统计指定目录(或文件)所占用磁盘空间的大小
du[选项][文件或目录]
2.常用选项
选项 | 说明 |
-a | 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录 |
-h | 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果 |
-s | 只统计所占用空间总的大小,而不是统计每个子目录、文件的大小 |
--max-depth=n | 统计所有小于等于第n层的目录的总大小 |
选项-a和-s不可同时使用
-a和-s不能同时使用因为都统计本目录的大小,同时使用会有冲突。
3.统计出/var/log目录中子目录的大小
(七)、创建新目录-mkdir
1.创建新的空目录
mkdir 选项 目录位置及名称 #-p:一次性创建嵌套的多层目录
2.示例
在当前目录下创建名为public-hrm的子目录
mkdir public.html
创建目录/aa,在/aa目录下创建子目录/bb,在/aa/bb目录下创建子目录cc
mkdir -p /aa/bb/cc
举例
[root@localhost abc]# mkdir -p aa/bb/cc
[root@localhost abc]# ls -R aa
aa:
bb
aa/bb:
cc
(八)、创建空文件-touch命令
1.更新文件的时间标记
2.经常用于创建多个新的空文件
touch 文件
示例
创建两个空文件,文件分别为aa.txt和bb.txt
touch aa.txt bb.txt
touch {aa,bb}.txt
(九),创建链接文件-ln
为文件或目录建立链接文件,类似于Windows的快捷方式
链接文件类型
软链接(又称为符号链接)
硬链接
ln -s 源文件或目录文件 链接文件或目标位置 #创建软链接
示例:
强调:创建源文件一定要使用绝对路径,否则目录中找不到。
3.软硬链接的区别
对比项 | 硬链接 | 软链接 |
本质 | 本质时同一个文件 | 本质不是同一个文件 |
inode | 相同 | 不同 |
链接数 | 创建新的硬链接,链接数会增加,删除硬链接链接数会减少 | 是删除新建不会改变 |
文件夹 | 不支持 | 支持 |
文件类型 | 和源文件相同 | 链接文件和源文件无关 |
删除源文件 | 只是链接数减一但链接文件的访问不受影响 | 无法访问链接文件 |
文件大小 | 和源文件相同 | 源文件的路径的长度 |
日常工作中几乎不会建立文件的硬链接。
(十),复制文件或目录-cp
1.将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录
cp 选项 源文件或目录 目标文件或目录
2.常用选项
-f:覆盖目标同名文件或目录,不进行提醒,直接强行复制
-i:覆盖同名文件或目录时提醒客户是否确认
-p:复制时保持源文件的权限,时间标记等属性不变
-a:可以带软链接复制和-p很像
-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录
注意:复制多个文件后面只能根文件夹 不能根文件,而且目录还要存在。
小技巧:rename 旧名字 新名字 源文件 批量改名
(十一)、删除文件或目录-rm 慎用!!!!
1、删除指定的文件或目录
rm 选项 要删除的文件或者目录
2,常用选项
-f:删除文件或目录时不进行提醒,而直接强制删除。
-i:删除文件或目录时提醒用户确认。
-r:删除目录时必须使用此选项,表示递归删除整个目录树
(十二)、移动文件或目录 -mv
1、将指定的文件或目录转移位置
2、如果目标位置与源位置相同,则相当于执行重命名操作
mv 选项 源文件或目录 目标文件目录
示例:
mv命令只能对单个的文件重命名,可以使用rename命令批量修改文件名
rename 旧字符 新字符 目标文件 批量改名
示例:
(十三)、查找命令文件存放目录 -which
1,搜索范围由环境变量PATH决定(echo $PATH)
which 命令或程序名 默认找到第一个目标后不再查找
which -a 命令或程序名 在所有搜索路径中查找
示例:
使用which查找内部命令时候,找不到对应的程序,type也可以用来查找
(十四)、查找文件或目录 -find
1、采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找
find 查找范围 匹配条件 文件名
示例:
2,常用的查找
查找类型 | 关键字 | 说明 |
按名称查找 | -name | 根据目标文件的名称进行查找,允许使用"*“及”?"通配符 |
按文件大小查找 | -size | 根据目标文件的大小进行查找;一般使用"+"、"-"号设置超过或小于指定的大小作为查找条件;常用的容量单位包括kB (注意k是小写) 、MB,GB |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件类型进行查找;文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件©等;块设备文件(b) :成块读取数据的设备(硬盘,内存,光驱);字符设备文件© :按单个字符读取数据的设备(键盘,鼠标) |
示例:
3,使用find命令实现多个查找条件
各表达式之间使用逻辑运算符
“-a”表示而且(and)
“-o”表示或者(or)
示例:
五,命令补充
提示符:
#表示管理员登陆
$表示普通用户登录
[当前登录系统的用户@主机名 当前所在的目录]
进行配置虚拟机:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改配置文件
systemctl restart network 重启网卡服务
按住i键可以进行编辑,编辑完成后按ESC,再按SHIFT+“:”,输入wq保存,回车键确认退出
查看当前系统版本信息:
cat /etc/centos-release或
cat /etc/redhat-release
永久修改网卡IP地址:
TYPE=Ethernet 设置网卡类型,“Ethernet”表示以太网
DEVICE=ens33 设置网卡的名称
ONBOOT=yes 设置网卡是否在 Linux 操作系统启动时激活
BOOTPROTO=static 设置网卡的配置方式,“static”表示使用静态IP地址,“dhcp”时表示动态获取地址
IPADDR=192.168.77.100 设置网卡的 IP 地址
NETMASK=255.255.255.0 设置网卡的子网掩码
GATEWAY=192.168.77.2 设置网卡的默认网关地址
DNS1=8.8.8.8 设置DNS服务器的 IP 地址
查看网卡地址:
ipconfig
六,总结
属组:该文件属于哪个组,组里成员拥有一样的权限。属主:谁是文件的主人。黑色为普通文件,绿色为可执行文件,红色为压缩包文件,蓝色为文件夹,天蓝色为链接文件。