内部命令:集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in) 指令,属于Shell的一部分,没有单独对应的系统文件,自动载入内存,可以直接使用。
外部命令:Linux系统中能够完成特定功能的脚本文件或 进制程序, 属于ShelI解释器程序之外的命令,每个外部命令对应了系统中的一个文件,必须知道其对应的文件位置,由Shell加载后才 能执行。
##以管理员root身份登陆虚拟机内部
##查看IP地址
[root@localhost ~]# ifconfig
###修改自己的网卡信息,修改为静态地址
[root@localhost ~]# cd /etc/sysconfig/network-scripts/——切换
[root@localhost network-scripts]# ls——查看当前目录下的文件
[root@localhost network-scripts]# vim ifcfg-ens33 ——进入网卡配置
修改内容如下:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp #把DHCP 修改为static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=27bcb508-b3f8-4f8c-a551-fff3172bd740
DEVICE=ens33
ONBOOT=no #改为YES
IPADDR=192.168.226.140 #此行及以下添加,但是IP地址根据虚拟机的网段来修改
NETMASK=255.255.255.0
GATEWAY=192.168.226.2 #在虚拟网络配置的VMware的NAT设置中查看网关IP以及网段
操作方式:
① 按”i“ 进行修改/插入
② 修改完成后,同时按住ECS
③ 然后按shift 加 :
④ 输入wq!
⑤ 回车
PS:如果你们误删了里面的配置,首先按ESC ,然后按 u
[root@localhost network-scripts]# systemctl restart network###重新网络服务,识别更新信息
[root@localhost network-scripts]# ifconfig#查看有没有修改成功
命令字 【选项】【参数】
命令字:是整条命令中最关键的一部分,唯-确定一条命令
选项:短格式选项:使用"-" 符号引导,长格式选项:使用"–” 符号引导。
参数:命令字的处理对象,可以是文件名、目录(路径)名或用户名等内容,个数可以是零到多个。
[ root@localhost ~]#
[当前登录系统的用户@主机名称当前所在的目录]#
#表示为管理员登录
$表示为普通用户登录
切换用户.
su 用户名 #切换后所在目录不变
su - 用户名 #切换后所在目录变成用户家目录
查看当前主机的完整名称
hos tname
临时设置主机名
hos tname 主机名
永久设置主机名
hostnamectl set-hostname 主机名
bash/su #刷新/切换到新的环境或vi /etc/hostname (设置完后需重启系统才生效) #打开 /配置文件/hostname
按i键先删除旧主机名,再输入新主机名(只有第- - -行有效)
按ESC键,再按SHIFT和":”组合键,输入wq,再按回车键退出(只读文件需要wq!保存退出,q退出不保存。)
查看当前系统版本信息
cat /etc/ redhat-release
或cat /etc/ * release #正则表达式*表示匹配0个或多个字符
cat:可以看到文件内容
uname- r#查看当前内核版本
编辑Linux命令行的辅助操作
Tab键:自动补齐
反斜杠“\”:强制换行
Ctrl+ U组合键:清空至行首
Ctrl + K组合键:清空至行尾
Ctrl+L组合键:清屏(当前页,内容还在)
Ctrl + C组合键:取消本次命令编辑
内部命令help #查看Shell内部命令的帮助信息
命令的“-help"选项#用于大多数L inux外部命令
使用man命令阅读手册页
#用“1”、“1”方向键滚动一-行文本
#用Page Up和Page Down键翻页
#按Q或q键退出阅读环境
#按"”键查找内容,
显示当前用户所在工作目录:pwd
将用户的工作目录更改到其他位置
cd目标位置#切换到目标位置
cd ~/cd#若不指定目标位置,切换到当前用户的宿主目录
cd -#切换到上一次执行cd命令之前所在的目录
绝对路径 #以根/为起始
相对路径 #直接加目录名或文件名,表示当前工作目录中的子目录、文件的位置。不以根为开头。
#以一个点号"." 开头,表示以当前的工作目录作为起点
#以两个点号“…"开头,表示以当前目录的上一级目录(父目录)作为起点。
#以"~用户名”形式开头,表示以指定用户的宿主目录作为起点。
命令字 【选项】 【参数】
操作功能 要执行的对象
显示目录中内容,包括子目录和文件相关属性信息
Is [选项] [文件或目录… ]
常用选项:-l、-a、-A、-d、-h、 -R、 --color 1
-l
#将文件信息属性详细列出,通常直接使用ll(别名)
-R
#递归显示,比如一一个目录下还有文件,则把那个文件也一起列出
-d
#查看目录本身信息,不显示目录下的内容
-i
#显示inode值
-h
#友好显示文件大小
-a
#遍历所有文件及目录(ls内定将文件名或目录名称开头为". "的视为隐藏档,不会列出)
-A
#跟-a唯一的不同是不列出当前目录和上一-层目录
-coloer#显示颜色
颜色区别:
黑色数据文件TXT .
绿色可执行文件
黄色块设备文件
红色压缩包
蓝色文件夹
天蓝色链接文件(快捷方式)
结合通配符
“?”:匹配文件名中的一个未知字符
“*”:匹配文件名中的任意多个字符
ls:看目录,不能看到文件内容。
#通过别名机制简化常用的、比较长的命令
alias 命令别名=命令
示例:设置myls为ls-alh的别名
alias myls=‘ls -alh’
别名是myls
删除别名:unalias
统计指定目录(或文件)所占用磁盘空间的大小
du [选项] [文件或目录.…]
-a
统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h
以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
-S
只统计所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小
■示例:
●统计出var/log目录所占用空间的大小
du -sh /var/log/
15/28
mkdir /opt/si#创建目录,注意:父目录必须存在
-p:创建一个已有的目录会报错,加-P则不会报错/当父目录不存在时,递归创建
更新文件的时间标记
经常用于创建多个新的空文件
touch文件{…}
示例:创建两个空文件,文件名分别为aa和bb
touch aa bb
创建链接文件1n(软链接、硬链接)
ln命令用于为文件或目录建立链接文件(类似于Windows系统中的快捷方式),
链接文件包括软链接和硬链接两种类型,其中软链接又称为符号链接。无论是访问软链接还是硬链接,与直接访问原始文件的效果基本相同。
硬链接(hard link):
一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码对应一个文件名。但是Unix/Linux.系统允许多个文件名指向同一个iode号码。这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问。
In创建硬链接,相当于复制了一份副本
软链接:
除了硬链接以外,还有一种特殊情况。文件A和文件B的inode号码虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最终读取的都是文件B。这时,文件A就称为文件B的"软链接"(Soft1ink)或者"符号链接(symbolic1ink)。这意味着,文件A依赖于文件B而存在,如果删除了文件B,打开文件A就会报错:“No such fi1eordirectory”。这是软链接与硬链接最大的不同:文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode"链接数"不会因此发生变化。
软链接建立时原始文件可以不存在,如果删除源文件之后又重新建立源文件,那么软链接照样可以用,软链接文件的大小就是软链接文件本身的文件名字符长度(可以给目录做软链接,为了防止目录被删)!
1n-s创建软链接,相当于创建一个快捷方式
硬软区别
硬链接不能跨分区建立连接无法对文件夹创建,删除源文件可以继续访问硬链接。
软连接可以跨设备可以支持文件夹,软连接删除源文件不能访问硬链接。
1、软连接相当于快捷方式
查询过程:软连接指向的是原文件的文件名,然后在从原文件找到对应的iode值,最后找到数据,并读出出来
源文件删除软连接失效
源文件或者软连接文件修改会影响到所有文件内容
源文件与软连接文件的innode值不一致(软连接的inode值的内容仅指向原文件的文件名)
软连接可对文件或目录进行创建符号链接
2、硬链接
查询过程:访问硬链接文件,硬链接文件指向iode值(与源文件相同),再指向数据
源文件删除硬链接依然可用
源文件或者硬连接文件修改会影响到所有文件内容(相同点)
源文件与硬连接文件的innode值相同
硬链接仅能对文件进行创建(对目录不行)
将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录
cp[选项]…源文件或目录.目标文件或目录.…
常用选项
-f
覆盖目标同名文件或目录时不进行提醒,直接强制复制?
-i
覆盖目标同名文件或目录时提醒用户确认
-p
复制时保持源文件的权限、属主及时间标记等属性不变
-r
复制目录时必须使用此选项,表示递归复制所有文件及子目录
-i:删除文件或目录时提醒用户确认
-r:删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)。
-f:删除文件或目录时不进行提醒,而直接强制删除
常见用法:rm-rf
删除空目录:rmdir
用法:mv 文件名
-i:若指定目录已有同名文件,则先询问是否覆盖旧文件
-f:在操作要覆盖某已有的目标文件时不给任何指示
当在同一目录下用mv就是改名,如果是跨目录使用v的话就是移动,相当于剪切的操作
which命令用于查找Linux命令程序并显示所在的具体位置,其搜索范围主要由用户的环境变量PATH决定(可以执行"echo$PATH"命令查看),这个范围也是Liux操作系统在执行命令或程序时的默认搜索路径。
which命令,程序名
或which-a命令程序名
类似:which cd
采用递归方式,根据目标的名称、类型、大小等不同属
性进行精细查找
find 【查找范围】 【查找条件表达式】
查找文件或子目录的目录位置 查找条件类型
常用查找条件类型
按名称查找-name
#根据目标文件的名称进行查找,允许使用”*”及“?”通配符
按文件大小查找-size
#根据目标文件的大小进行查找一般使用“+”、””号设置超过或小于指定的大小作为查找条件,常用的容量单位包括kB(注意k是小写)、MB、GBI。
-size +4M#表示4M以上不包括4M >4
-size 4M#表示3M到4M且不包括3M 3
1G 1024代表1023M-1024M不包括1023M
按文件属主查找-user
#根据文件是否属于目标用户进行查找
按文件类型查找-type
#根据文件的类型进行查找,文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件©等
扩展:
xargs可以和管道|配合
find ./-maxdepth 1 -type f -printo I xargs -0 1s -lh
-atime#–访问时间
-mtime#–文件内容修改时间
-ctime#–文件属性修改时间,ctime##以天为单位,
cmin##以分钟为单位
在当前目录下(包含子目录),查找所有txt文件并找出含有字符串"bin"的行
find ./-name “*.txt”-exec grep “bin”{};
多条件查找
-a:并且
-O:或者
-not:表示非即反向选择
-perm:按权限查找