Linux概述与系统部署
Linux是一个类似于Windows的操作系统,大部分企业与公司会选择这种系统, 运行公司网站、app、小程序、游戏。
其原因在于:
-
Linux开源:社区活跃,通过命令即可实现配置与使用,比较直观,可定制化;
-
Windows Server收费,大量使用会有各种问题,需要定期重启。
Linux由四部分组成:
-
Linux系统内核:控制与操作硬件;
-
Linux命令解释器:运行命令、程序(shell);
-
Linux系统的程序软件;
-
GNU软件+Linux内核(GNU/Linux);
Linux常见发行版本
Debian系列:稳定安全、更新慢
-
Ubuntu乌班图:桌面好看,工具较多,也可以用于Ubuntu Server服务器;
-
Ubuntu kylin麒麟Linux:国产;
-
Kali:用于安全检测(渗透测试)Linux系统;
-
红旗Linux:国产,Red Flag;
Suse(商业版本)、OpenSUSE(开源)德国企业,高级数据库,邮件服务
Red Hat 红帽Linux
-
RHEL红帽企业版(商业);
-
CentOS系统,创建一个与RedHat二进制级别一样的系统。去掉红帽商业软件logo;
-
Rocky Linux CentOS作者新建系统;
-
Fedora红帽系统的测试版本;
-
原来流程:Fedora -> RHEL->CentOS
-
现在流程:Fedora->CentOS Stream -> RHEL->Rocky
FreeBSD类Unix系统
那么问题来了,Linux版本这么多,该如何选择合适自己的?
入职的时候公司用什么,我们使用什么即可,如果有选择权,优先熟悉、熟练的。
版本选择:尽量最新稳定版本或长期支持版本(LTS)。
工作环境准备
-
虚拟机概述
-
创建虚拟机
-
安装系统
-
连接与使用系统
1、虚拟机概述
好处:在同一个系统中可以创建多个互补影响的虚拟机,同时运行多个Linux系统;
缺点:依赖vmware软件,对宿主机的cpu和内存有更高的要求。
2、创建虚拟机
-
类似于购买没有系统的电脑
-
选择虚拟机基础配置
-
选择虚拟机的存放位置
win10/11 选择16版本;
win7 选择vmware12版本;
win xp 选择vmware8.x;
如果之前安装过vmware,使用之前版本即可。
3、故障案例
选择开启此虚拟机 win10/11 蓝屏 win 7提示
原因:
-
需要windows开启 虚拟化支持 vt-x;
-
windows坑hyper-v冲突导致,关闭即可;
虚拟化未开启导致蓝屏或报错:
第1次使用虚拟,需要在开机的时候进入Bios开启虚拟化的支持Vt-x,类似virtual
https://www.ldmnq.com/support/VTjiao/290.html
软件冲突:windows坑hyper-v冲突导致,关闭即可。
如果没有这个hyper-v需要运行命令生成,管理员权限运行并重启
工具xxx卫士,xxxx管家,把vmware的服务优化
4、安装系统
系统光盘没有放入电脑、U盘
放入光盘
输入用户名和密码
安装完成
5、安装后配置(仅1次)
配置虚拟网络编辑器-nat模式
远程连接
通过远程连接工具,连接管理Linux系统。
远程连接工具
系统 | 工具 |
---|---|
windows | Xshell/SecureCRT/Putty/FinalShell .... MobaXterm |
mac | iTrem2 / FinalShell/SecureCRT |
手机版本 | JuiceSSH(android) Termius(ios) |
ip地址(服务器位置)使用ip a命令查看
[root@oldboy-81-golden ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:e8:3a:6f brd ff:ff:ff:ff:ff:ff
inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::c2f1:7269:f1e:ed92/64 scope link noprefixroute
valid_lft forever preferred_lft forever [root@oldboy-81-golden ~]#
Xshell排障与Bash命令行
1、排错前预备姿势
1)ip地址
ip地址:类似于我们每个人的位置(住址),每个设备获取ip地址后,才可能连接互联网
ip地址简易分类 | 说明 |
---|---|
内网ip地址(局域网,私网) | ip地址只能在某范围内使用。192.168.xx.xx 10.0.0.200 |
公网ip地址(极其宝贵 ipv4 ) | 用公网ip的服务器(设备),可以被任何地方访问。 |
如何查询ip地址(linux)
ip a # ip address
2)端口
端口号用于区分不同服务:
常见服务 | 端口号(默认) |
---|---|
远程连接服务 sshd | 22 |
http协议(网站基本协议) | 80 |
https协议(加密) | 443 |
3、排错流程
1)道路是否畅通
ping ip
检查的命令及效果
##道路通了 只要有时间或time
[c:\~]$ ping 10.0.0.200
正在 Ping 10.0.0.200 具有 32 字节的数据:
来自 10.0.0.200 的回复: 字节=32 时间<1ms TTL=64
来自 10.0.0.200 的回复: 字节=32 时间=1ms TTL=64
来自 10.0.0.200 的回复: 字节=32 时间<1ms TTL=64
来自 10.0.0.200 的回复: 字节=32 时间<1ms TTL=64
10.0.0.200 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 1ms,平均 = 0ms
##道路断了 只要没有time或时间
[c:\~]$ ping 10.0.0.201
正在 Ping 10.0.0.201 具有 32 字节的数据:
来自 10.0.0.1 的回复: 无法访问目标主机。
请求超时。
请求超时。
请求超时。
10.0.0.201 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 1,丢失 = 3 (75% 丢失),
道路断了原因(主要windows的问题)
2)检查是否提供特殊服务
检查端口是否存在、运行,间接检查服务是否运行、可以使用
telnet ip 端口
实际检查
#连接成功
[c:\~]$ telnet 10.0.0.200 22
Connecting to 10.0.0.200:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
SSH-2.0-OpenSSH_7.4
Connection closed by foreign host.
Disconnected from remote host(10.0.0.200:22) at
10:30:38.
Type `help' to learn how to use Xshell prompt.
#连接失败
[c:\~]$ telnet 10.0.0.200 8080
Connecting to 10.0.0.200:8080...
Could not connect to '10.0.0.200' (port 8080):
Connection failed.
Type `help' to learn how to use Xshell prompt.
3)实战排查解决
老男孩教育81期 故障排查流程
0. 遇到故障
1. 翻译,知道是什么意思? 搞清楚发生什么问题了。 远程连
接失败。 命令执行失败。。
2. 定位下什么原因导致的。 拼写,格式不对,符号
3. 尝试找如何解决这个故障。
4. 仍无法解决,学会搜索故障及解决,询问边上的小伙伴。
5. 找李导解决。
6. 解决后一定要总结(记录)。
7. 未来有能力后,自己制造故障,试着解决故障。(快照)
排查与连接工具
-
todesk(走公网)安装使用的时候打开然后发送id和密码;
-
teamviewer(走公网或局域网);
遇到的问题:
1. 连接失败,命令失败 。。
2. 截图、文字
3. tv
192.168.17.xxx
密码:xxx
Bash命令行核心必备内容
1)命令行格式
[root@oldboy-81-golden ~]#
[root@oldboy-81-golden ~]#
[root@oldboy-81-golden ~]#
[root@oldboy-81-golden ~]#
root ->当前用户的用户名
oldboy-81-golden ->主机名,主机名反应出机器的作用
img video oldboyedu.com img.oldboyedu.com
~ -> 位置标示 当前所在的位置(你在Linux
的哪个目录下面) ~ Linux表示当前用户家目录的。
2)命令格式
-
命令:用于控制与操作Linux的指令;
-
选项:同一个命令的不同功能,类似于条件;
-
参数:命令处理的对象或目标。(一般是文件或目录...);
Linux核心命令-重启-关机
命令 | 详解 |
---|---|
关机命令 | |
shutdown | -h 时间、shutdown -h now、shutdown -h 10 #分钟 |
halt | 关机,还需要手动关闭电源。 |
poweroff | 关机 |
shutdown | -c取消将要进行的关机或重启操作 |
重启命令 | |
shutdown | -r 时间 |
reboot | 重启 |
关机或重启 | |
init 0 | 关机(c6里面常用) |
init 6 | 重启 (c6里面常用) |
systemctl halt | |
systemctl poweroff | |
systemctl reboot |
Linux核心命令-查询帮助
man manual 查询命令帮助
man shutdown
退出帮助 按 q (quit)
命令 --help 显示简易帮助
shutdown --help
help 命令 查询linux shell内置命令
info 命令 查询超级详细的帮助(没事别看)
中文命令帮助:http://cmd.oldboyedu.com
Linux核心命令-快捷键
必会快捷键 | 介绍 |
---|---|
ctrl + l(clear) | clear 清屏,清除屏幕的内容。 |
ctrl + a | 把光标移动到行首 |
ctrl + e | end 把光标移动到行尾 |
ctrl + u | 把光标到行首的内容剪切(删除) |
ctrl + c | cancel 取消当前操作 |
上 ↑ | 上一个命令 |
下 ↓ | 下一个命令 |
下面了解。 | |
ctrl + k | 把光标到行尾的内容剪切(删除) |
ctrl + y | 粘贴 |
ctrl + s | 锁定屏幕 |
ctrl + q | 解锁 |
ctrl + z | 让程序进入后台运行(重要但是现在不需要掌握) |
#练习
1. 输入 oldboyedu.com
2. 到行首 输入# 欢迎
3. 到行尾 把前面内容 剪切
4. 然后粘贴 3次
5. 结果截图发出来。
核心命令与目录结构概述
Linux核心命令
1)cd(change directory) 改变目录,进入到指定的目录。
cd命令 | 介绍 |
---|---|
cd 目录 | 进入指定目录中 |
cd ~ | 回到家目录,~ 当前用户家目录 |
cd | 回到家目录 |
cd .. | 进入当前目录的上级目录 |
cd . | 进入当前目录(一般不用, 一般.(点)与复制移动联合使用) |
cd - | 进入上一次所在的目录 |
#案例01 进入 /etc/sysconfig 目录下 ※※※※※
[root@oldboy-81-golden ~]# cd /etc/sysconfig/
[root@oldboy-81-golden sysconfig]#
#注意:输入命令和路径的时候 多用tab键 补全。
#注意:cd 空格 目录。
/
/tmp
/etc/sysconfig
#案例02 回到家目录 ※※※※※
[root@oldboy-81-golden sysconfig]# pwd
/etc/sysconfig
[root@oldboy-81-golden sysconfig]# cd
[root@oldboy-81-golden ~]# pwd
/root
#案例03 假设我们在一个比较深的目录中,想进入上级目录如何做? ※※※※※
当前目录在/etc/sysconfig/network-scripts/
[root@oldboy-81-golden ~]# cd /etc/sysconfig/network-scripts/
[root@oldboy-81-golden network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@oldboy-81-golden network-scripts]# cd ..
[root@oldboy-81-golden sysconfig]# pwd
/etc/sysconfig
[root@oldboy-81-golden sysconfig]# cd ../../
[root@oldboy-81-golden /]#
-bash: cd: ....: No such file or directory
#案例04 比如我当前目录是 /etc/sysconfig/network-scripts,然后我想临时去/tmp目录做事情,任务完成后还想回到 刚刚的目录。
cd -
[root@oldboy-81-golden /]# cd /etc/sysconfig/network-scripts/
[root@oldboy-81-golden network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@oldboy-81-golden network-scripts]# cd /tmp/
[root@oldboy-81-golden tmp]# cd -
/etc/sysconfig/network-scripts
[root@oldboy-81-golden network-scripts]# cd -
/tmp
2)pwd (print working directory) 显示当前所在目录(工作目录)
[root@oldboy-81-golden ~]# pwd
/root
[root@oldboy-81-golden ~]# cd /etc/sysconfig/
[root@oldboy-81-golden sysconfig]# pwd
/etc/sysconfig
3)mkdir (make directory) 创建目录(新建目录)
选项 | 介绍 |
---|---|
mkdir | 创建目录 |
-p | 递归创建目录(创建多级目录) |
#案例01 创建目录 /oldboy ※※※※※
[root@oldboy-81-golden ~]# mkdir /oldboy
[root@oldboy-81-golden ~]# ls /oldboy/
[root@oldboy-81-golden ~]# ls /
bin boot dev etc home lib lib64 media mnt oldboy opt proc root run sbin srv sys tmp usr var
[root@oldboy-81-golden ~]# ls /etc/
#注意: 操作前备份,操作后检查。
#案例02 创建多级目录 /oldboy/lidao/996/007/a/b/c ※※※※※
[root@oldboy-81-golden ~]# mkdir -pv /oldboy/lidao/a/b/d/d/dd/d/d/dd/ddd/
mkdir: created directory ‘/oldboy/lidao’
mkdir: created directory ‘/oldboy/lidao/a’
mkdir: created directory ‘/oldboy/lidao/a/b’
mkdir: created directory ‘/oldboy/lidao/a/b/d’
mkdir: created directory ‘/oldboy/lidao/a/b/d/d’
mkdir: created directory ‘/oldboy/lidao/a/b/d/d/dd’
mkdir: created directory ‘/oldboy/lidao/a/b/d/d/dd/d’
mkdir: created directory ‘/oldboy/lidao/a/b/d/d/dd/d/d’
mkdir: created directory ‘/oldboy/lidao/a/b/d/d/dd/d/d/dd’
mkdir: created directory ‘/oldboy/lidao/a/b/d/d/dd/d/d/dd/ddd/’
[root@oldboy-81-golden ~]#
[root@oldboy-81-golden ~]# mkdir -p /oldboy/lidao/a/b/d/d/dd/d/d/dd/ddd/
#案例03 创建多个目录
##方法01 推荐 先进入然后创建
[root@oldboy-81-golden ~]# cd /oldboy/
[root@oldboy-81-golden oldboy]# mkdir lidao996 lidao007 lidao12580
[root@oldboy-81-golden oldboy]#
[root@oldboy-81-golden oldboy]# ls /oldboy/
lidao lidao007 lidao12580 lidao996
[root@oldboy-81-golden oldboy]#
##方法02 绝对路径直接创建
[root@oldboy-81-golden oldboy]# cd
[root@oldboy-81-golden ~]# mkdir /oldboy/lidao991 /oldboy/lidao008 /oldboy/12306
4)ls(list) 查看/显示目录内容
选项 | 介绍 |
---|---|
ls -l | long 长格式(显示详细信息) |
ls -h | human-readable 人类可读形式展示大小 |
ls -t | time 按照文件修改时间排序 |
ls -r | 逆序排序 一般与-lrt一起使用 |
ls -d | 显示目录本身的信息而不是显示目录内容。(把目录当做文件看待) |
#案例01 显示当前目录的内容 ※※※※※
[root@oldboy-81-golden ~]# ls
anaconda-ks.cfg
[root@oldboy-81-golden ~]# pwd
/root
#案例02 显示目录内容并显示详细信息 ※※※※※
/
/etc/sysconfig/
/tmp/
[root@oldboy-81-golden ~]# ls -l /
total 16
lrwxrwxrwx. 1 root root 7 Feb 26 11:56 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Feb 26 12:01 boot
drwxr-xr-x. 20 root root 3260 Feb 28 15:07 dev
drwxr-xr-x. 80 root root 8192 Mar 1 08:32 etc
drwxr-xr-x. 2 root root 6 Apr 11 2018 home
lrwxrwxrwx. 1 root root 7 Feb 26 11:56 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Feb 26 11:56 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x. 6 root root 69 Mar 1 10:47 oldboy
drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
dr-xr-xr-x. 124 root root 0 Feb 28 15:06 proc
dr-xr-x---. 2 root root 151 Feb 28 15:09 root
drwxr-xr-x. 26 root root 740 Feb 28 15:07 run
lrwxrwxrwx. 1 root root 8 Feb 26 11:56 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
dr-xr-xr-x. 13 root root 0 Feb 28 15:06 sys
drwxrwxrwt. 9 root root 202 Mar 1 09:27 tmp
drwxr-xr-x. 13 root root 155 Feb 26 11:56 usr
drwxr-xr-x. 19 root root 267 Feb 26 12:04 var
#案例03 在查看目录详细信息的时候 想看文件目录的大小并以人类可读的形式展示出来。 ※※※※※
显示大小使用。
ls -lh /etc/
ls -l -h /etc/
位 bit
字节 byte
1字节=8位 了解
1个字节= 1个英文的字符
1kb=1024bytes
1Mb=1024kb=1024^2 bytes
1Gb=1024MB=1024^3 bytes
1TB=1024GB=1024^4 bytes
1PB=1024TB=1024^5 bytes
1EB=1024PB=1024^6 bytes
1ZB
#案例04 Linux /etc目录下被创建病毒目录,不知晓目录名字。只知道是最近创建的。 ※※※
##模拟
mkdir /etc/bingdu
##
ls -lt /etc/ #按照时间顺序排序 降序 新(上面)-->旧(下面)
##逆序排序
ls -lrt /etc/ # -r 逆序
##案例05 查看 根目录本身的详细信息 不看内容
ls -ld /
#应用场景:一般配合其他命令 批量查文件,目录信息的时候使用。 (了解)
[root@oldboy-81-golden ~]# ls -ld /etc/hosts /etc/ /tmp/
drwxr-xr-x. 81 root root 8192 Mar 1 11:26 /etc/
-rw-r--r--. 1 root root 158 Jun 7 2013 /etc/hosts
drwxrwxrwt. 9 root root 202 Mar 1 09:27 /tmp/
5)touch 创建文件(修改文件的时间戳)
#案例01 创建 /oldboy/oldboy.txt 文件 。
[root@oldboy-81-golden ~]# ls -l /oldboy/
total 0
drwxr-xr-x. 3 root root 15 Mar 1 10:30 lidao
drwxr-xr-x. 2 root root 6 Mar 1 10:47 lidao007
drwxr-xr-x. 2 root root 6 Mar 1 10:47 lidao12580
drwxr-xr-x. 2 root root 6 Mar 1 10:47 lidao996
[root@oldboy-81-golden ~]# touch /oldboy/oldboy.txt
[root@oldboy-81-golden ~]# ls -l /oldboy/
total 0
drwxr-xr-x. 3 root root 15 Mar 1 10:30 lidao
drwxr-xr-x. 2 root root 6 Mar 1 10:47 lidao007
drwxr-xr-x. 2 root root 6 Mar 1 10:47 lidao12580
drwxr-xr-x. 2 root root 6 Mar 1 10:47 lidao996
-rw-r--r--. 1 root root 0 Mar 1 11:49 oldboy.txt
#案例02 创建多个文件 /oldboy/lidao.txt /oldboy/gaoxiaoge-4k-blue-ray.avi
#先进入目录,然后创建
[root@oldboy-81-golden ~]# cd /oldboy/
[root@oldboy-81-golden oldboy]# touch lidao.txt gaoxiaoge-4k-blue-ray.avi
[root@oldboy-81-golden oldboy]# ls -l
total 0
-rw-r--r--. 1 root root 0 Mar 1 11:51 gaoxiaoge-4k-blue-ray.avi
drwxr-xr-x. 3 root root 15 Mar 1 10:30 lidao
drwxr-xr-x. 2 root root 6 Mar 1 10:47 lidao007
drwxr-xr-x. 2 root root 6 Mar 1 10:47 lidao12580
drwxr-xr-x. 2 root root 6 Mar 1 10:47 lidao996
-rw-r--r--. 1 root root 0 Mar 1 11:51 lidao.txt
-rw-r--r--. 1 root root 0 Mar 1 11:49 oldboy.txt
6)mv(move) 移动文件或改名
#案例01 把 /oldboy/oldboy.txt 移动到 /tmp 目录下。
#mv 源文件 文件 文件 文件 目标
#mv 从哪里来 到哪里去
[root@oldboy-81-golden oldboy]# ls -l /oldboy/
total 0
-rw-r--r--. 1 root root 0 Mar 1 11:51 gaoxiaoge-4k-blue-ray.avi
drwxr-xr-x. 3 root root 15 Mar 1 10:30 lidao
drwxr-xr-x. 2 root root 6 Mar 1 10:47 lidao007
drwxr-xr-x. 2 root root 6 Mar 1 10:47 lidao12580
drwxr-xr-x. 2 root root 6 Mar 1 10:47 lidao996
-rw-r--r--. 1 root root 0 Mar 1 11:51 lidao.txt
-rw-r--r--. 1 root root 0 Mar 1 11:49 oldboy.txt
[root@oldboy-81-golden oldboy]# ls -l /tmp/
total 4
-rwx------. 1 root root 836 Feb 26 12:01 ks-script-ZecsLb
drwx------. 2 root root 6 Feb 26 12:05 vmware-root_1007-4282171056
drwx------. 2 root root 6 Feb 28 15:06 vmware-root_1057-4282302107
-rw-------. 1 root root 0 Feb 26 11:56 yum.log
[root@oldboy-81-golden oldboy]# mv /oldboy/oldboy.txt /tmp/ #移动到 /tmp下面
[root@oldboy-81-golden oldboy]# ls -l /oldboy/
total 0
-rw-r--r--. 1 root root 0 Mar 1 11:51 gaoxiaoge-4k-blue-ray.avi
drwxr-xr-x. 3 root root 15 Mar 1 10:30 lidao
drwxr-xr-x. 2 root root 6 Mar 1 10:47 lidao007
drwxr-xr-x. 2 root root 6 Mar 1 10:47 lidao12580
drwxr-xr-x. 2 root root 6 Mar 1 10:47 lidao996
-rw-r--r--. 1 root root 0 Mar 1 11:51 lidao.txt
[root@oldboy-81-golden oldboy]# ls -l /tmp/
total 4
-rwx------. 1 root root 836 Feb 26 12:01 ks-script-ZecsLb
-rw-r--r--. 1 root root 0 Mar 1 11:49 oldboy.txt
drwx------. 2 root root 6 Feb 26 12:05 vmware-root_1007-4282171056
drwx------. 2 root root 6 Feb 28 15:06 vmware-root_1057-4282302107
-rw-------. 1 root root 0 Feb 26 11:56 yum.log
#案例02 重命名 /oldboy/lidao.txt 改名叫 /oldboy/lidao-new.txt
[root@oldboy-81-golden oldboy]# cd /oldboy/ #进入 目录
[root@oldboy-81-golden oldboy]# ls -l
total 0
-rw-r--r--. 1 root root 0 Mar 1 11:51 gaoxiaoge-4k-blue-ray.avi
drwxr-xr-x. 3 root root 15 Mar 1 10:30 lidao
drwxr-xr-x. 2 root root 6 Mar 1 10:47 lidao007
drwxr-xr-x. 2 root root 6 Mar 1 10:47 lidao12580
drwxr-xr-x. 2 root root 6 Mar 1 10:47 lidao996
-rw-r--r--. 1 root root 0 Mar 1 11:51 lidao.txt
[root@oldboy-81-golden oldboy]# mv lidao.txt lidao-new.txt #移动 改名下
[root@oldboy-81-golden oldboy]# ls -l
total 0
-rw-r--r--. 1 root root 0 Mar 1 11:51 gaoxiaoge-4k-blue-ray.avi
drwxr-xr-x. 3 root root 15 Mar 1 10:30 lidao
drwxr-xr-x. 2 root root 6 Mar 1 10:47 lidao007
drwxr-xr-x. 2 root root 6 Mar 1 10:47 lidao12580
drwxr-xr-x. 2 root root 6 Mar 1 10:47 lidao996
-rw-r--r--. 1 root root 0 Mar 1 11:51 lidao-new.txt
#企业应用场景及案例:
1. mv 移动或改名。
2. mv 隐藏的杀手,危险程度仅次于rm。
3. 可以使用mv替代rm。
7)cp(copy) 复制文件或目录
选项 | 介绍 |
---|---|
-r | recursive 递归复制,复制目录及目录内容 |
-p | 复制的时候,保持属性信息不变。(搭建网站中应用多,其他地方较少使用) |
-a | 相当于是-r -p -d -pdr |
-d | 与复制 符号连接(软连接,快捷方式)有关 |
#案例01 复制/etc/hosts文件到/tmp下面
[root@oldboy-81-golden oldboy]# cp /etc/hosts /tmp/
[root@oldboy-81-golden oldboy]# ls -l /etc/hosts /tmp/hosts
-rw-r--r--. 1 root root 158 Jun 7 2013 /etc/hosts
-rw-r--r--. 1 root root 158 Mar 1 14:36 /tmp/hosts
#案例02 复制目录 /oldboy 到 /opt下
## 环境准备
[root@oldboy-81-golden ~]# mkdir /oldboy
[root@oldboy-81-golden ~]# cd /oldboy/
[root@oldboy-81-golden oldboy]# touch oldboy.txt lidao.txt oldgirl.txt
[root@oldboy-81-golden oldboy]# pwd
/oldboy
[root@oldboy-81-golden oldboy]# ll
total 0
-rw-r--r--. 1 root root 0 Mar 1 14:39 lidao.txt
-rw-r--r--. 1 root root 0 Mar 1 14:39 oldboy.txt
-rw-r--r--. 1 root root 0 Mar 1 14:39 oldgirl.txt
[root@oldboy-81-golden oldboy]#
## 复制目录
[root@oldboy-81-golden oldboy]# cp -r /oldboy/ /opt/
[root@oldboy-81-golden oldboy]# ls -l /opt/
total 0
drwxr-xr-x. 2 root root 60 Mar 1 14:43 oldboy
[root@oldboy-81-golden oldboy]# ll /opt/oldboy/
total 0
-rw-r--r--. 1 root root 0 Mar 1 14:43 lidao.txt
-rw-r--r--. 1 root root 0 Mar 1 14:43 oldboy.txt
-rw-r--r--. 1 root root 0 Mar 1 14:43 oldgirl.txt
#注意事项: 企业应用案例:复制多种类型文件的时候,可以加上 cp -r ,不论文件或目录。
#案例03 备份
操作前备份,操作后检查。
## 备份
cp oldboy.txt oldboy.txt.bak
## 还原(恢复)
[root@oldboy-81-golden oldboy]# cp oldboy.txt.bak oldboy.txt
cp: overwrite ‘oldboy.txt’? y
8)echo 输出信息到屏幕
# 案例01 输出信息到屏幕
[root@oldboy-81-golden ~]# echo oldboy
oldboy
# 案例02 输出有规律的内容1 2 3 4 5 6 。。。100
[root@oldboy-81-golden ~]# echo oldboy
oldboy
[root@oldboy-81-golden ~]# echo {1..10}
1 2 3 4 5 6 7 8 9 10
[root@oldboy-81-golden ~]# echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
[root@oldboy-81-golden ~]#
[root@oldboy-81-golden ~]# echo oldboy{1..10}
oldboy1 oldboy2 oldboy3 oldboy4 oldboy5 oldboy6 oldboy7 oldboy8 oldboy9 oldboy10
# 案例03 {}进阶批量创建文件
[root@oldboy-81-golden oldboy]# echo oldboy{1..10}.txt
oldboy1.txt oldboy2.txt oldboy3.txt oldboy4.txt oldboy5.txt oldboy6.txt oldboy7.txt oldboy8.txt oldboy9.txt
oldboy10.txt
[root@oldboy-81-golden oldboy]# ll
total 0
-rw-r--r--. 1 root root 0 Mar 1 14:39 lidao.txt
-rw-r--r--. 1 root root 0 Mar 1 14:59 oldboy.txt
-rw-r--r--. 1 root root 0 Mar 1 14:57 oldboy.txt.bak
-rw-r--r--. 1 root root 0 Mar 1 14:39 oldgirl.txt
[root@oldboy-81-golden oldboy]# touch oldboy{1..10}.txt
[root@oldboy-81-golden oldboy]# ll
total 0
-rw-r--r--. 1 root root 0 Mar 1 14:39 lidao.txt
-rw-r--r--. 1 root root 0 Mar 1 15:16 oldboy10.txt
-rw-r--r--. 1 root root 0 Mar 1 15:16 oldboy1.txt
-rw-r--r--. 1 root root 0 Mar 1 15:16 oldboy2.txt
-rw-r--r--. 1 root root 0 Mar 1 15:16 oldboy3.txt
-rw-r--r--. 1 root root 0 Mar 1 15:16 oldboy4.txt
-rw-r--r--. 1 root root 0 Mar 1 15:16 oldboy5.txt
-rw-r--r--. 1 root root 0 Mar 1 15:16 oldboy6.txt
-rw-r--r--. 1 root root 0 Mar 1 15:16 oldboy7.txt
-rw-r--r--. 1 root root 0 Mar 1 15:16 oldboy8.txt
-rw-r--r--. 1 root root 0 Mar 1 15:16 oldboy9.txt
-rw-r--r--. 1 root root 0 Mar 1 14:59 oldboy.txt
-rw-r--r--. 1 root root 0 Mar 1 14:57 oldboy.txt.bak
-rw-r--r--. 1 root root 0 Mar 1 14:39 oldgirl.txt
[root@oldboy-81-golden oldboy]#
[root@oldboy-81-golden oldboy]#
[root@oldboy-81-golden oldboy]#
[root@oldboy-81-golden oldboy]# echo {1..5}
1 2 3 4 5
[root@oldboy-81-golden oldboy]# touch {1..5}
[root@oldboy-81-golden oldboy]# ll
total 0
-rw-r--r--. 1 root root 0 Mar 1 15:17 1
-rw-r--r--. 1 root root 0 Mar 1 15:17 2
-rw-r--r--. 1 root root 0 Mar 1 15:17 3
-rw-r--r--. 1 root root 0 Mar 1 15:17 4
-rw-r--r--. 1 root root 0 Mar 1 15:17 5
-rw-r--r--. 1 root root 0 Mar 1 14:39 lidao.txt
-rw-r--r--. 1 root root 0 Mar 1 15:16 oldboy10.txt
-rw-r--r--. 1 root root 0 Mar 1 15:16 oldboy1.txt
-rw-r--r--. 1 root root 0 Mar 1 15:16 oldboy2.txt
-rw-r--r--. 1 root root 0 Mar 1 15:16 oldboy3.txt
-rw-r--r--. 1 root root 0 Mar 1 15:16 oldboy4.txt
-rw-r--r--. 1 root root 0 Mar 1 15:16 oldboy5.txt
-rw-r--r--. 1 root root 0 Mar 1 15:16 oldboy6.txt
-rw-r--r--. 1 root root 0 Mar 1 15:16 oldboy7.txt
-rw-r--r--. 1 root root 0 Mar 1 15:16 oldboy8.txt
-rw-r--r--. 1 root root 0 Mar 1 15:16 oldboy9.txt
-rw-r--r--. 1 root root 0 Mar 1 14:59 oldboy.txt
-rw-r--r--. 1 root root 0 Mar 1 14:57 oldboy.txt.bak
-rw-r--r--. 1 root root 0 Mar 1 14:39 oldgirl.txt
# 案例04 {}备份
## 输出没有规律的内容
[root@oldboy-81-golden oldboy]# echo {1,9,10}
1 9 10
[root@oldboy-81-golden oldboy]# echo oldboy{1,9,10}
oldboy1 oldboy9 oldboy10
## 备份
[root@oldboy-81-golden oldboy]# echo A{B,C}
AB AC
[root@oldboy-81-golden oldboy]# echo A{,C}
A AC
[root@oldboy-81-golden oldboy]# echo oldboy.txt{,.backup}
oldboy.txt oldboy.txt.backup
[root@oldboy-81-golden oldboy]# echo cp oldboy.txt{,.backup}
cp oldboy.txt oldboy.txt.backup
[root@oldboy-81-golden oldboy]#
[root@oldboy-81-golden oldboy]# cp oldboy.txt{,.backup}
9)vi编辑器
目标:打开,编辑文件,保存。
# 案例01 使用vi 编辑 /oldboy/oldboy.txt文件 写入内容 oldboyedu.com
#第1个里程碑-打开文件-vi /oldboy/oldboy.txt
#第2个里程碑-编辑
## 按 i 进入编辑模式
屏幕下面提示: -- INSERT -- 编辑模式
## 输入内容,修改文件。。。。
#第3个里程碑-保存退出
## 按esc 退出编辑模式 屏幕下面 INSERT标记没了
## 保存与退出
:wq write(保存) quit(退出)
:q! 强制退出
:q 直接退出
# 企业使用建议: 编辑文件同时也可以创建文件。
10)rm(remove) 删除文件或目录
未来工作环境尽量避免使用删除命令或类似工具。
选项 | 介绍 |
---|---|
-f | force 强制删除不提示。 |
-r | 极其凶险,递归删除目录。 |
# 案例01 删除文件 /oldboy/lidao996.txt
rm -f /oldboy/lidao996.txt
# 案例02 删除目录(极其凶险)
/tmp
rm -rf /oldboy/
# 企业生产建议: -fr选项可以放在最后再加。rm /oldboy/ -rf
转载自老男孩教育