Linux概述与系统部署

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系统。

远程连接工具

系统工具
windowsXshell/SecureCRT/Putty/FinalShell .... MobaXterm
maciTrem2 / 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)端口

端口号用于区分不同服务:

常见服务端口号(默认)
远程连接服务 sshd22
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 + eend 把光标移动到行尾
ctrl + u把光标到行首的内容剪切(删除)
ctrl + ccancel 取消当前操作
上 ↑上一个命令
下 ↓下一个命令
下面了解。
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 -llong 长格式(显示详细信息)
ls -hhuman-readable 人类可读形式展示大小
ls -ttime 按照文件修改时间排序
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) 复制文件或目录

选项介绍
-rrecursive 递归复制,复制目录及目录内容
-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) 删除文件或目录

未来工作环境尽量避免使用删除命令或类似工具。

选项介绍
-fforce 强制删除不提示。
-r极其凶险,递归删除目录。
# 案例01 删除文件 /oldboy/lidao996.txt
rm -f /oldboy/lidao996.txt
# 案例02 删除目录(极其凶险)
/tmp
rm -rf /oldboy/
# 企业生产建议: -fr选项可以放在最后再加。rm /oldboy/ -rf

转载自老男孩教育

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值