`
wx1569488408
  • 浏览: 75059 次
文章分类
社区版块
存档分类
最新评论

随堂记录1--硬件-安装系统-重定向-cp-mv-rm-find-alias-显示20-30行-替换find+sed-selinux-iptables-LANG...

 
阅读更多

####################################
###在线班-随堂记录-第1周############
####################################

笔记本-台式机
1.CPU
2.内存
3.硬盘
4.电源
5.显示器
6.鼠标键盘

服务器
1.稳定
2.方便拆卸-模块化

运维职责:运行和维护服务器
1.数据不能丢
2.保证网站7*24小时运行--一直要运行
jd.com  taobao.com 
3.用户体验要好----打开网站速度

机架式服务器


服务器核心之电源
双电源 AB路
联通-电信

服务器核心之CPU-计算
central Processing Unit
服务器的尺寸-U 2U
多个物理cpu
CPU的个数---几路
2个物理CPU===2路/双路

1cpu有4个核心 

查询服务器的配置-官网查询
购买:销售

服务器核心之内存
作用:CPU(大脑)与硬盘(胃硬盘) 内存 
特点:临时存放数据的地方,断电之后内存中的信息消失

程序 进程 守护进程
程序          片             存放在硬盘上面
进程          看片           运行起来的程序
守护进程/服务 持续看片住院   一直运行的进程


如何提高用户体验:

高并发--同一时间段访问网站的人数
核心:让用户的数据尽量放入到内存中

中小企业:

直接写入到磁盘中
读取 从内存中读取内容

上课的时候:   保持一个输入
练习-讨论 :   保持一个输出-说

找工作--面试/笔试-让面试官相信你会了。


高并发写入

缺点:
如何让你数据不丢

1.两个电源 AB路
2.UPS-不间断供电系统(蓄电池) 30分钟  1一个小时
3.柴油发电机+油罐
4.与附近的加油站签订一些 紧急供油协议

buffer cache 

buffer--观看视频的时候 转圈 数据放在你的内存 存放这些数据的空间buffer区域 缓冲区
        buffering

cache   提高观看速度  主要是用来给用户读取 在内存中的区域cache   缓存区        

写buffer 读cache
写缓冲   读缓存


服务器核心之磁盘 
接口:磁盘与服务器连接方式  接口种类
      水壶的壶嘴
sata:家用  服务器对于速度要求不高 
sas :服务器标配       

转速:rpm  每分钟转多少圈
      5.4K  7.2K  10K 15K 

1s=1000ms=1000000us=1000000000ns
      
      
      尽量让用户的数据往内存中存放。
      缓存无处不在。
      
服务器核心之阵列卡(raid卡)
1个非常大的文件10000G 1000G      
#1.买个一10000G (10T)硬盘
#2.买20个1000G的硬盘
      
统一管理硬盘      
你可以获得更高的容量;变得更加安全;速度更高      
      
服务器核心之光驱 
700M cd 
4.7G dvd

可以通过U盘安装。      
批量安装系统kickstart cobbler
      
服务器核心之远程控制卡      
      
      
物理服务器    
  
云服务器-按需分配
阿里云(淘宝 天猫) aws(亚马逊)

第2章
什么是操作系统
人与计算机硬件直接的中介

组成?
蛋-人-人-人

unix诞生
unix 贝尔实验室

人-谭教授 谭宁邦
minix mini unix 
主要用于教学

人-斯托曼 stallman
我要开发出一个系统:自由 开源 替代你unix
公司:自由软件基金会 FSF
项目:GNU
守则:GPL

人-托瓦兹
91 开发出了linux内核。

自由软件
不是免费软件
推荐所有人可以自由使用 自由传播

项目:GNU 发明出一个替代unix系统。
GNU=GNU is not unix.

gnu.org
优秀软件:gawk,bash,gcc,emacs

规则:GPL 通用公共许可
1.所有人可以自由传播开源的软件
2.虽有人可以任意修改开源软件,但是必须把修改后的内容发出来。


RedHat 红帽()
Red Hat linux 9.0 之后 收费 保持自由 免费下载
Red Hat Enterprise Linux === RHEL 6.9

CentOS 做到与红帽一模一样
1.去掉红帽中的收费软件
2.去掉红帽里面的logo

RedHat红帽与CentOS什么区别?

Fedora===>RedHat====>CentOS

CentOS 5.x

CentOS 6.x 50% 6.9 

CentOS 7.x 50% 7.2

centos 6.9  centos 7.  最新版
https://wiki.centos.org/Download


http://mirrors.aliyun.com/
http://mirrors.aliyun.com/centos/6.9/isos/x86_64/

CentOS-6.9-x86_64-LiveDVD.iso  
##体验版-写入到光盘中,刻录到U盘中。                     
!!!!CentOS-6.9-x86_64-bin-DVD1.iso ##真的安装包   √                
CentOS-6.9-x86_64-bin-DVD2.iso                    
CentOS-6.9-x86_64-minimal.iso  ##最小化安装包  

!!!!CentOS-6.9-x86_64-bin-DVD1to2.torrent ##种子 只选择DVD1即可。

##下载CentOS旧版本
http://vault.centos.org/ 

刚开学的几周-稳定你的环境
准备好环境

06-【32位系统低配-必备】VMware-8.0
05-【必备】vmware12-5A02H-AU243-TZJ49-GTC7K-3C61N
09-【必备】远程连接工具-Xshell5

#vmware出问题
可以使用vmware软件的修复功能

#创建一个虚拟机-----百脑汇-中关村-购买一台电脑

#如何安装虚拟机系统
##从光驱
##从文件中(镜像文件-压缩包)
##稍后选择

##虚拟机的名字和位置

###d:\vmware\在线班-模板机01
###d:\vmware\在线班-模板机02
###d:\vmware\在线班-模板机03
运行虚拟机软件的时候 右键单击 --选择以管理员权限运行

vmware运行了一个64为centos 系统。
需要 虚拟化vt-x.
去重启计算机笔记本(开机的时候(黑屏 + logo) F2 F1  F12 F10 enter

vmware相关windows服务没有运行
1)windows + r 
2)输入services.msc
3)VMware 开头的5个正在运行/已启动 自动

主机名:

/boot 200M 引导系统启动 
swap  如果内存<8G swap是内存的1.5倍  如果内存>=8G  swap是8G  

交换分区  临时作为内存使用 防止内存不够用导致系统故障
/     剩余多少给多少  根分区    linux一切从根开始

4G 以后虚拟机要给512M的内存  768


#你要选择什么样的方式安装系统
##desktop 自己使用
##minimal 最小化 

配置虚拟机网络
1.在办公室控制和使用服务器(机房)
2.远程连接

###配置虚拟机网络
#vmware软件 编辑->虚拟网络编辑器

#Linux里面的网络的配置
##1.setup命令进行设置

##2.网络的配置生效
#重启网卡(eth0)
ifdown eth0 #关闭网卡
ifup eth0   #开启网卡

ifconfig    #显示/查看网卡信息-ip地址


#远程连接linux 
##远程连接工具-Xshell/SecureCRT/Putty
#商业版本(收费)
#家庭/学校(免费)

###对xshell软件进行优化
awk
sed 
ls 
pwd
#洗浴中心之路(远程连接排错过程)
###预备姿势
#ip地址 
服务器的位置

公网ip地址----------全世界任何一个地方都可以通过这个ip地址访问你的服务器、网站

私网ip地址(内网 局域网)--只有你当前环境的人
192.168.0.???
10.0.0.???

#端口号码
洗浴中心服务  搓澡 按摩 推拿 拔罐 刮痧 特殊服务(特叔)
暗号          21    25  80    443  23  22
暗号是用来区分不同的服务
端口是用来区分下面不同的服务

远程连接服务---sshd----22

核心:弄清楚ip地址和端口号码

#了解:vmware网络方式NAT-桥接-仅主机模式(host only)
##角色:
###1.电脑PC-----皇帝 
###2.虚拟机-----贫民百姓
贫民百姓只关注谁给我分配房子(IP)

###NAT模式
###1.电脑PC-----皇帝 
###2.NAT--------宰相
###3.虚拟机-----贫民百姓
贫民百姓的房子是宰相分配的。与皇帝无关。
虚拟机的ip是NAT分配的,电脑环境无论怎么变化 都不会影响虚拟机。

好处:在家 在学校 在公司 连接虚拟机都可以使用相同的ip地址

###桥接
###1.电脑PC-----皇帝 
###1.虚拟机-----贫民百姓

只要更换了环境 电脑和虚拟机的ip地址 都会变化。

###仅主机模式
###1.电脑PC-----皇帝 
###2.虚拟机-----贫民百姓

虚拟机贫民百姓被控制了,无法与外界联系,无法上网。


远程连接排错-去洗浴中心之路(windows)
1.查看道路是否通畅
ping 服务器ip地址
ping 10.0.0.200 
2.是否有人打劫
3.查看是否提供服务


1.查看道路是否通畅
ping 服务器ip地址
ping 10.0.0.200 

[e:\~]$ 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,最长 = 0ms,平均 = 0ms

[e:\~]$ ping 10.0.0.202

正在 Ping 10.0.0.202 具有 32 字节的数据:
来自 10.0.0.1 的回复: 无法访问目标主机。
连接失败
连接超时

10.0.0.202 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),

3.查看是否提供服务
telnet 服务器ip地址 22
[e:\~]$ 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_5.3

Protocol mismatch.

Connection closed by foreign host.

Disconnected from remote host(10.0.0.200:22) at 15:47:46.

Type `help' to learn how to use Xshell prompt.
[e:\~]$ telnet 10.0.0.200 25


Connecting to 10.0.0.200:25...
Could not connect to '10.0.0.200' (port 25): Connection failed.

Type `help' to learn how to use Xshell prompt.


复习-学习了什么内容
lidao996


1.3 linux下面进行分区的几种方法?

通用方法
/boot    引导分区 200M      
swap     交换分区 内存的1.5倍(内存小于8G)  大于8G 给8G
/        根分区   剩下多少给多少

数据非常重要
/boot 
swap 
/        50-200G
/data    剩下多少给多少 

不知道数据是否重要
/boot 
swap 
/        50-200G
剩余的空间 不分配留着。

1.vmware服务是否允许
win+r 
services.msc
2.虚拟网络编辑器

空格和tab键


[root@oldboyedu-01 ~]# #创建目录 make directory mkdir
[root@oldboyedu-01 ~]# mkdir /data
[root@oldboyedu-01 ~]# #查看目录里面的内容
[root@oldboyedu-01 ~]# ls /data
[root@oldboyedu-01 ~]# 
[root@oldboyedu-01 ~]# #查看目录里面的详细信息 
[root@oldboyedu-01 ~]# ls -l /data
total 0
[root@oldboyedu-01 ~]# ls -l /tmp
total 0
-rw-------. 1 root root 0 Sep 18 15:40 yum.log

[root@oldboyedu-01 ~]# #进入到某一个目录 
[root@oldboyedu-01 ~]# cd /data
[root@oldboyedu-01 data]# 
[root@oldboyedu-01 data]# #我在哪里?定位
[root@oldboyedu-01 data]# pwd
/data

绝对路径,相对路径
绝对路径  从根开始的路径 -精确定位
        /data 
        /etc/hosts
        
相对路径  不从根开始的路径
           迷路

#导航
pwd


[root@oldboyedu-01 data]# touch  /data/oldboy.txt
[root@oldboyedu-01 data]# ls -l /data/
total 0
-rw-r--r--. 1 root root 0 Sep 19 11:50 oldboy.txt
[root@oldboyedu-01 data]# ls /data/
oldboy.txt


###第3题 

vi---记事本

##第一个里程碑-打开文件
vi /data/oldboy.txt

##第二个里程碑-进入编辑模式并增加内容
按i,进入到编辑模式(插入)

书写内容
##第三个里程碑-退出编辑模式
esc 退出编辑模式

##第四个里程碑-保持并退出
:wq #保持并退出

##第五个里程碑-查看文件的内容
[root@oldboyedu-01 data]# cat /data/oldboy.txt 
I am studying linux.

:wq   保持并退出
:q    退出
:q!   强制退出不保存
:wq!  强制退出并保存


vi---记事本
vim--notepad++ emeditor word wps 

##方法2 
[root@oldboyedu-01 ~]# echo hello oldboylinux
hello oldboylinux
[root@oldboyedu-01 ~]# echo hello oldboylinux >>/data/oldboy.txt 
[root@oldboyedu-01 ~]# cat /data/oldboy.txt 
I am studying linux.
hello oldboylinux
[root@oldboyedu-01 ~]# #漏斗-----重定向符号
[root@oldboyedu-01 ~]# #>>-------追加重定向 把内容放在文件的最后一行
[root@oldboyedu-01 ~]# echo hello oldboylinux >>/data/oldboy.txt 
[root@oldboyedu-01 ~]# cat /data/oldboy.txt 
I am studying linux.
hello oldboylinux
hello oldboylinux


##方法3-想向这个文件中放入多行
cat >>/data/oldboy.txt<<EOF
I
am 
studying 
linux 
EOF

end of file

##漏斗家族  重定向符号 

#>   1>    标准输出重定向  先把文件的内容清空   把内容放在文件的最后一行
#>>  1>>   追加重定向      把内容放在文件的最后一行

1 标准输出 执行正确的内容才会通过漏斗 

#2>        标准错误重定向 
#2>>       错误追加重定向


[root@oldboyedu-01 ~]# eho hello 2>>/data/oldboy.txt 
[root@oldboyedu-01 ~]# cat /data/oldboy.txt 
hello oldboy
错误
-bash: eho: command not found
[root@oldboyedu-01 ~]# eho hello 2>>/data/oldboy.txt 
[root@oldboyedu-01 ~]# cat /data/oldboy.txt 
hello oldboy
错误
-bash: eho: command not found
-bash: eho: command not found


eho hello >>/data/oldboy.txt  2>>/data/oldboy.txt 
eho hello >>/data/oldboy.txt  2>&1
                              把错误的信息放入到对的信息中 对的错误在一起


<     输入重定向
echo 1 2 3 4 5 >/data/num.txt 
[root@oldboyedu-01 ~]# cat /data/num.txt 
1 2 3 4 5
[root@oldboyedu-01 ~]# xargs -n2 </data/num.txt 
1 2
3 4
5


<<    追加输入重定向
cat >>/data/oldboy.txt<<EOF
I
am 
studying 
linux 
EOF
 


###3.4 把oldboy.txt拷贝(复制)到/tmp下。

#copy ----cp
[root@oldboyedu-01 ~]# cp /data/oldboy.txt /tmp/
[root@oldboyedu-01 ~]# ls -l /tmp/
total 4
-rw-r--r--. 1 root root 140 Sep 20 01:29 oldboy.txt
-rw-------. 1 root root   0 Sep 18 15:40 yum.log

#操作前备份 操作后检查
[root@oldboyedu-01 ~]# cp /data/oldboy.txt /data/oldboy.txt.bak
[root@oldboyedu-01 ~]# ls -l /data/oldboy.txt
-rw-r--r--. 1 root root 140 Sep 20 01:12 /data/oldboy.txt
[root@oldboyedu-01 ~]# ls -l /data/
total 12
-rw-r--r--. 1 root root  10 Sep 20 01:15 num.txt
-rw-r--r--. 1 root root 140 Sep 20 01:12 oldboy.txt
-rw-r--r--. 1 root root 140 Sep 20 01:31 oldboy.txt.bak

[root@oldboyedu-01 ~]# cp /data/   /tmp/
cp: omitting directory `/data/'

[root@oldboyedu-01 ~]# cp -r /data/ /tmp/
[root@oldboyedu-01 ~]# ls -l /tmp/
total 8
drwxr-xr-x. 2 root root 4096 Sep 20 01:35 data
-rw-r--r--. 1 root root  140 Sep 20 01:29 oldboy.txt
-rw-------. 1 root root    0 Sep 18 15:40 yum.log

1.排版哥
2.ppt哥
3.三剑客 三哥
4.演讲哥
5.画图哥


###3.5 把 /data 移动到 /root目录下面
#移动----搬家---move-mv
[root@oldboyedu-01 ~]# mv /data/ /root/
[root@oldboyedu-01 ~]# ls -l /root/
total 40
-rw-------. 1 root root  1052 Sep 18 15:44 anaconda-ks.cfg
drwxr-xr-x. 2 root root  4096 Sep 20 01:31 data
-rw-r--r--. 1 root root 21736 Sep 18 15:44 install.log
-rw-r--r--. 1 root root  5890 Sep 18 15:43 install.log.syslog
 
[root@oldboyedu-01 ~]# ls -l /data 
ls: cannot access /data: No such file or directory


vmware 给你虚拟机拍摄快照

###3.6 进入/root目录下的data目录,删除oldboy.txt文件

[root@oldboyedu-01 tmp]# rm data/
rm: cannot remove `data/': Is a directory
[root@oldboyedu-01 tmp]# rm -r data
rm: descend into directory `data'? y
rm: remove regular file `data/oldboy.txt'? n
rm: remove regular file `data/.oldboy.txt.swp'? n
rm: remove regular file `data/num.txt'? n
rm: remove regular file `data/oldboy.txt.bak'? n
rm: remove directory `data'? n
[root@oldboyedu-01 tmp]# rm -rf data/
[root@oldboyedu-01 tmp]# ls -l
total 4
-rw-r--r--. 1 root root 140 Sep 20 01:29 oldboy.txt
-rw-------. 1 root root   0 Sep 18 15:40 yum.log

##find命令
[root@oldboyedu-01 tmp]# find /root/ -type f -name "oldboy.txt"
/root/data/oldboy.txt
[root@oldboyedu-01 tmp]# #find /root/ -type f -name "oldboy.txt"
[root@oldboyedu-01 tmp]# #find 在哪里找 找什么类型的  找什么名字

-type  找什么类型的 
       f file 文件 
       d directory 目录 

##管道 |


[root@oldboyedu-01 tmp]# find /root/ -type f -name "oldboy.txt"
/root/data/oldboy.txt
[root@oldboyedu-01 tmp]# 
[root@oldboyedu-01 tmp]# 
[root@oldboyedu-01 tmp]# find /root/ -type f -name "oldboy.txt"|xargs ls -l
-rw-r--r--. 1 root root 0 Sep 20 02:27 /root/data/oldboy.txt


找出以.txt结尾的文件 
[root@oldboyedu-01 tmp]# find /root/  -type f  -name "*.txt"
/root/data/oldboy.txt
/root/data/num.txt


###3.7 接第6题,退出到上一级目录删除data目录。(原来在/root/data)
[root@oldboyedu-01 ~]# cd /root/data/
[root@oldboyedu-01 data]# pwd
/root/data
[root@oldboyedu-01 data]# cd ..
[root@oldboyedu-01 ~]# pwd
/root
[root@oldboyedu-01 ~]# #进入当前目录的上一级目录 
[root@oldboyedu-01 ~]# cd ..
[root@oldboyedu-01 /]# cd ../../../

[root@oldboyedu-01 ~]# rm data/  -fr 
[root@oldboyedu-01 ~]# ls data 
ls: cannot access data: No such file or directory


###3.8 已知文件test.txt内容
oldboy
test
lidao
请给出输出test.txt文件内容时,不包含oldboy字符串的命令。


创建测试文件:
mkdir /data
cat >/data/test.txt<<EOF
test
liyao
oldboy
EOF

#方法1-grep
[root@oldboyedu-01 ~]# cd /data/
[root@oldboyedu-01 data]# cat test.txt 
test
liyao
oldboy
[root@oldboyedu-01 data]# #过滤 在文件中找到你想要的内容
[root@oldboyedu-01 data]# grep   "oldboy"      test.txt 
oldboy
[root@oldboyedu-01 data]# grep   "ol"      test.txt 
oldboy
[root@oldboyedu-01 data]# #排除
[root@oldboyedu-01 data]# grep -v   "oldboy"      test.txt 
test
liyao

#方法2-head
[root@oldboyedu-01 data]# head test.txt 
test
liyao
oldboy
[root@oldboyedu-01 data]# head -n2 test.txt 
test
liyao
[root@oldboyedu-01 data]# head -2 test.txt 
test
liyao

[root@oldboyedu-01 data]# tail test.txt 
test
liyao
oldboy
[root@oldboyedu-01 data]# tail -2 test.txt 
liyao
oldboy
[root@oldboyedu-01 data]# tail -1 test.txt 
oldboy

#方法3-awk 
[root@oldboyedu-01 data]# awk '/oldboy/' test.txt 
oldboy
[root@oldboyedu-01 data]# grep "oldboy" test.txt 
oldboy
[root@oldboyedu-01 data]# grep -v "oldboy" test.txt 
test
liyao
[root@oldboyedu-01 data]# awk '!/oldboy/' test.txt 
test
liyao
[root@oldboyedu-01 data]# #awk中 !表示取反 非 

#方法4-sed 
[root@oldboyedu-01 data]# sed '/oldboy/d' test.txt 
test
liyao

小结:
1.grep 过滤 ******
2.head tail ******
3.sed awk 了解


##3.9 请用一条命令完成创建目录/oldboy/test,即创建/oldboy目录及/oldboy/test

[root@oldboyedu-01 data]# mkdir /oldboy/test
mkdir: cannot create directory `/oldboy/test': No such file or directory

No such file or directory错误排查过程
1.ls 命令一层一层查看 
2.查看每一层目录/文件是否存在


[root@oldboyedu-01 data]# mkdir -p /oldboy/test 
[root@oldboyedu-01 data]# ls /oldboy/
test
[root@oldboyedu-01 data]# ls -l /oldboy/
total 4
drwxr-xr-x. 2 root root 4096 Sep 25 10:28 test


##3.10 已知/tmp下已经存在test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到/tmp下覆盖掉/tmp/test.txt,而让系统不提示是否覆盖(root权限下)。


[root@oldboyedu-01 data]# cp /mnt/test.txt  /tmp/
cp: overwrite `/tmp/test.txt'? ^C
#方法1 撬棍
[root@oldboyedu-01 data]# \cp /mnt/test.txt  /tmp/

#方法2 使用命令的绝对路径 全路径

[root@oldboyedu-01 data]# which cp
alias cp='cp -i'
    /bin/cp
[root@oldboyedu-01 data]# which mkdir 
/bin/mkdir

[root@oldboyedu-01 data]# ls -l /bin/cp 
-rwxr-xr-x. 1 root root 122896 Mar 23  2017 /bin/cp
[root@oldboyedu-01 data]# /bin/cp /mnt/test.txt /tmp/

#提示你是否覆盖?   是否删除?

#为何我们执行cp的时候就相当于cp -i 
#为何我们执行rm的时候就相当于rm -i 

###linux别名
##小名 昵称 爱称 外号

##目标
###1.防止运行危险命令******
###2.省事 简化命令

##如何设置一个别名 

###第一个里程碑-查看系统中的别名

[root@oldboyedu-01 data]# alias rm cp mv
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
###第二个里程碑-模仿
#执行rm命令的时候提示 do not use rm 
root@oldboyedu-01 data]# echo do not use rm
do not use rm
[root@oldboyedu-01 data]# alias rm='echo do not use rm'
[root@oldboyedu-01 data]# alias rm
alias rm='echo do not use rm'
[root@oldboyedu-01 data]# rm /tmp/test.txt 
do not use rm /tmp/test.txt
[root@oldboyedu-01 data]# rm -f /tmp/test.txt 
do not use rm -f /tmp/test.txt
[root@oldboyedu-01 data]# rm -fr /tmp/test.txt 
do not use rm -fr /tmp/test.txt
###第三个里程碑-永久生效
#/etc/profile
#vim 快捷键
##移动光标到文件的最后一行                             G
##移动光标到文件的  第一行                             gg
##在光标所在位置的下一行插入一个空行 并进入编辑模式    o(小写字母)
[root@oldboyedu-01 ~]# tail -1 /etc/profile
alias rm='echo do not use rm'

[root@oldboyedu-01 ~]# source /etc/profile
[root@oldboyedu-01 ~]# alias rm
alias rm='echo do not use rm'

###第四个里程碑-填坑
编辑 /root/.bashrc
把 alias rm='rm -i'这一行前面加上一个注释#

小结:
1.配置别名
2.临时取消别名 cp rm 

##3.11 只查看ett.txt文件(共100行)内第20到第30行的内容

seq 100 >/oldboy/ett.txt

###方法1-sed
[root@oldboyedu-01 ~]# #sed 默认输出 sed命令会把文件的内容 默认都显示出来
[root@oldboyedu-01 ~]# sed -n '20p' /oldboy/ett.txt 
20
[root@oldboyedu-01 ~]# sed -n '20,30p' /oldboy/ett.txt 
20
21
22
23
24
25
26
27
28
29
30

###方法2-head + tail 
[root@oldboyedu-01 ~]# head -30 /oldboy/ett.txt |tail -11
20
21
22
23
24
25
26
27
28
29
30

###方法3-awk 
[root@oldboyedu-01 ~]# awk 'NR==20' /oldboy/ett.txt 
20
#NR表示行号
#== 表示等于
[root@oldboyedu-01 ~]# awk 'NR==20,NR==30' /oldboy/ett.txt 
[root@oldboyedu-01 ~]# sed -n '20,30p' /oldboy/ett.txt 

###方法4-grep
[root@oldboyedu-01 ~]# grep "20" /oldboy/ett.txt 
20
[root@oldboyedu-01 ~]# #文件的内容 ====等于这一行的行号
[root@oldboyedu-01 ~]# grep -A10 "20" /oldboy/ett.txt 
20
21
22
23
24
25
26
27
28
29
30

小结:
1.取出文件中的某一行,或者连续的几行
2.sed,head+tail 
3.awk-了解

##3.12 把/oldboy目录及其子目录下所有以扩展名 .sh结尾的文件中,文件包含oldboy的字符串全部替换为oldgirl 
创建测试环境:
mkdir -p /oldboy/test
cd /oldboy
echo "oldboy">test/del.sh
echo "oldboy">test.sh
echo "oldboy">t.sh
touch oldboy.txt
touch alex.txt

#第一个里程碑-找出你要的文件
[root@oldboyedu-01 oldboy]# find /oldboy/ -type f 
/oldboy/t.sh
/oldboy/oldboy.txt
/oldboy/test.sh
/oldboy/test/del.sh
/oldboy/ett.txt
/oldboy/alex.txt
[root@oldboyedu-01 oldboy]# find /oldboy/ -type f -name "*.sh"
/oldboy/t.sh
/oldboy/test.sh
/oldboy/test/del.sh

#第二个里程碑-oldboy替换为oldgirl 处理一个文件
[root@oldboyedu-01 oldboy]# cat /oldboy/t.sh 
oldboy
[root@oldboyedu-01 oldboy]# #sed 's#找谁#替换为什么#g'   /oldboy/t.sh 
[root@oldboyedu-01 oldboy]# #替换
[root@oldboyedu-01 oldboy]# sed  's#oldboy#oldgirl#g'   /oldboy/t.sh 
oldgirl
[root@oldboyedu-01 oldboy]# cat /oldboy/t.sh 
oldboy
[root@oldboyedu-01 oldboy]# #sed修改文件的内容
[root@oldboyedu-01 oldboy]# sed -i 's#oldboy#oldgirl#g'   /oldboy/t.sh  
[root@oldboyedu-01 oldboy]# cat /oldboy/t.sh 
oldgirl

#第三个里程碑-把find命令找到的文件交给sed命令处理
[root@oldboyedu-01 oldboy]# find /oldboy/ -type f -name "*.sh"
/oldboy/t.sh
/oldboy/test.sh
/oldboy/test/del.sh
[root@oldboyedu-01 oldboy]# find /oldboy/ -type f -name "*.sh"|xargs ls -l
-rw-r--r--. 1 root root 7 Sep 25 11:59 /oldboy/test/del.sh
-rw-r--r--. 1 root root 7 Sep 25 11:59 /oldboy/test.sh
-rw-r--r--. 1 root root 8 Sep 25 12:08 /oldboy/t.sh
[root@oldboyedu-01 oldboy]# find /oldboy/ -type f -name "*.sh"|xargs sed 's#oldboy#oldgirl#g'
oldgirl
oldgirl
oldgirl
[root@oldboyedu-01 oldboy]# find /oldboy/ -type f -name "*.sh"|xargs sed 's#oldboy#oldgirl#g' -i
[root@oldboyedu-01 oldboy]# find /oldboy/ -type f -name "*.sh"|xargs cat 
oldgirl
oldgirl
oldgirl

小结:
1.find 与|xargs 
2.ls -l rm sed 
3.sed名进行替换 修改文件内容


第一关练习题-命令与征服
1.一大波命令
2.三剑客 grep sed使用
3.别名
4.find命令查找出文件 与 其他命令配合

#####第5章
###添加用户
######linux用户分类
1.root 用户 linux皇帝 

2.普通用户  贫民百姓 


[root@oldboyedu-01 oldboy]# useradd   oldboy
[root@oldboyedu-01 oldboy]# id  oldboy
uid=500(oldboy) gid=500(oldboy) groups=500(oldboy)
[root@oldboyedu-01 oldboy]# id lilaoshi
id: lilaoshi: No such user
[root@oldboyedu-01 oldboy]# passwd    oldboy
Changing password for user oldboy.
New password: 
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple
Retype new password: 
passwd: all authentication tokens updated successfully.

 #切换用户
[root@oldboyedu-01 oldboy]# whoami 
root
[root@oldboyedu-01 oldboy]# su  -  oldboy
[oldboy@oldboyedu-01 ~]$ whoami 
oldboy

#切换回root
[oldboy@oldboyedu-01 ~]$ su - root
Password: 
#退出当前用户 注销
[oldboy@oldboyedu-01 ~]$ #ctrl + d 
[oldboy@oldboyedu-01 ~]$ logout

课后题目:
#su 与su -区别


#面试题:你的系统什么版本的?
[root@oldboyedu-01 ~]# cat /etc/redhat-release 
CentOS release 6.9 (Final)
[root@oldboyedu-01 ~]# uname -r
2.6.32-696.el6.x86_64
[root@oldboyedu-01 ~]# uname -m
x86_64


#PS1是什么鬼?

               变量名字      -------藏经阁武功秘籍------葵花宝典
echo $PS1      查看变量的内容-------      阅读秘籍------手书
PS1=新的内容向 变量中放入内容-----    写心得体会------书名字=欲练此功,必先自宫;
                                                                     若不自宫,也能成功.
#PS1 系统环境变量
##一般都是大写的,在系统中任何的地方都可以使用。

[root@oldboyedu-01 ~]# echo $PS1
[\u@\h \W]\$
[root@oldboyedu-01 ~]# #\u=====当前用户名 whoami
[root@oldboyedu-01 ~]# #\h     当前主机名 hostname 
[root@oldboyedu-01 ~]# #\W     当前的位置 pwd
[root@oldboyedu-01 ~]# PS1='[\u@\h \W \t]\$'


###SElinux关闭 

#####临时关闭-重启服务器失效
[root@oldboyedu-01 ~]# #查询selinux状态
[root@oldboyedu-01 ~]# getenforce 
Enforcing
[root@oldboyedu-01 ~]# #enforcing   selinux正在运行
[root@oldboyedu-01 ~]# #permissive  selinux临时关闭 还是提示警告
[root@oldboyedu-01 ~]# #disabled    selinux彻底关闭
[root@oldboyedu-01 ~]# setenforce 
usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]
[root@oldboyedu-01 ~]# setenforce 0
[root@oldboyedu-01 ~]# getenforce 
Permissive
[root@oldboyedu-01 ~]# 

#####永久关闭-重启服务器生效
 vim /etc/selinux/config

[root@oldboyedu-01 ~]# grep "=disabled" /etc/selinux/config 
SELINUX=disabled
[root@oldboyedu-01 ~]# grep "disabled" /etc/selinux/config 
#     disabled - No SELinux policy is loaded.
SELINUX=disabled

小结:
1.临时关闭-setenforce 
2.永久关闭-修改配置文件


##关闭Iptables
####服务器对外使用,有外网,开启防火墙
####服务器内网,            关闭

#######关闭防火墙 

#####临时关闭 
#查询防火墙是否在运行 
/etc/init.d/iptables  status

[root@oldboyedu-01 ~]# /etc/init.d/iptables  stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]
[root@oldboyedu-01 ~]# /etc/init.d/iptables  stop
[root@oldboyedu-01 ~]# /etc/init.d/iptables  status 
iptables: Firewall is not running.

#####永久关闭

开机自动启动
#让iptables在开机的时候 不自动启动
chkconfig 


[root@oldboyedu-01 ~]# chkconfig |grep ipt
iptables           0:off    1:off    2:on    3:on    4:on    5:on    6:off
[root@oldboyedu-01 ~]# chkconfig iptables off
[root@oldboyedu-01 ~]# chkconfig |grep ipt
iptables           0:off    1:off    2:off    3:off    4:off    5:off    6:off


小结:
1.临时关闭 xxxx stop 
2.永久   chkconfig  xx  off 


##显示中文乱码

####1.什么是字符集?
######表示字符 文字的方法
UTF-8      万国码 系统默认的字符集
GBK GB2312 


####2.如何查看系统的字符集

[root@oldboyedu-01 ~]# echo $LANG
en_US.UTF-8
[root@oldboyedu-01 ~]# #语言.字符集


####3.如何修改字符集-临时
[root@oldboyedu-01 ~]# export   LANG=zh_CN.UTF-8
[root@oldboyedu-01 ~]# echo $LANG
zh_CN.UTF-8

####4.如何修改字符集-永久
[root@oldboyedu-01 ~]# cat /etc/sysconfig/i18n 
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"

####5.生效 
[root@oldboyedu-01 ~]# source  /etc/sysconfig/i18n 
[root@oldboyedu-01 ~]# echo $LANG
en_US.UTF-8

#####1.查看中文乱码的原因******
####1)linux使用的字符集
####2)远程连接工具使用的字符集
####1) 与 2) 不同 就会导致乱码 

#####2.排查
####1)linux使用的字符集
####2)远程连接工具使用的字符集

#####3.解决 
####方法1 修改远程连接工具字符集 
####方法2 修改linux系统的字符集
####1.如何修改字符集-临时
####2.如何修改字符集-永久
####3.生效 

 

 

 

 

 

转载于:https://my.oschina.net/u/4005625/blog/2252648

分享到:
评论

相关推荐

    Linux 命令全集 - - Linux 命令全集

    Linux是世界上最广泛使用的开源操作系统之一,其核心在于命令行界面,通过各种命令来管理系统、文件和进程。本文将深入探讨Linux命令全集中的关键知识点,帮助用户更好地理解和使用Linux。 1. **基础命令** - `ls`...

    linux 命令大全!!!

    Linux操作系统以其开源、稳定和强大的特性,被广泛应用于服务器、嵌入式系统和开发者桌面环境。在Linux中,用户通过命令行界面与系统交互,执行各种任务。本篇将详细介绍Linux命令大全中的重要命令和使用场景,帮助...

    Linux系统常用命令

    Linux系统是开源操作系统的一种,广泛应用于服务器和各种设备中。对于Linux用户来说,熟练掌握一些基本的命令行操作是至关重要的。以下是一些常见的Linux命令及其用途: 1. **用户管理**: - `userdel`: 用于删除...

    linux完全命令手册

    《Linux完全命令手册》是为Linux用户和系统管理员提供的一份详尽的参考资料,它包含了广泛使用的命令,这些命令在日常的系统管理、文件操作、网络通信等方面都发挥着重要作用。Linux是一种开源操作系统,它的核心...

    Linux命令大全(修改版)

    在IT领域,Linux操作系统是开发者、系统管理员以及技术爱好者广泛使用的平台。它的强大之处在于其命令行工具,这些工具简洁高效,提供了丰富的功能。本文将深入探讨“Linux命令大全(修改版)”中涵盖的一些关键命令,...

    linux命令大全各种格式的有

    - **cp**: 复制文件或目录,如 `cp file1.txt file2.txt` 或 `cp -r sourcedir targetdir`。 - **find**: 在指定目录下查找文件,如 `find /home -name myfile.txt`。 - **du**: 查看文件或目录占用的磁盘空间,...

    linux命令集合-手册

    Linux命令是Linux操作系统中进行系统管理、文件操作和任务执行的基本工具。这个“Linux命令集合-手册”包含了一份详尽的Linux命令大全,是开发者和学习者的宝贵资源。以下是手册中可能涵盖的一些重要知识点: 1. **...

    Linux常用命令全集.zip

    以上只是Linux常用命令的一部分,实际上还有更多如管道(`|`)、重定向(`&gt;`和`)、历史记录(`history`)、别名(`alias`)等高级用法。学习并熟练运用这些命令,将使你在Linux环境下更加得心应手。通过深入理解和实践,你...

    2009 达内Unix学习笔记

    显示文件的权限、硬链接数(即包含文件数,普通文件是1,目录1+)、用户、组名、大小、修改日期、文件名。 ls -t (time)按修改时间排序,显示目录和文件。 ls -lt 是“-l”和“-t”的组合,按时间顺序显示列表。 ls...

    各类unix操作总结

    以上只是Unix/Linux系统操作的一小部分,实际使用中还有更多高级命令和技巧,如管道符(`|`)用于连接命令,重定向(`&gt;`、`)改变输入输出流,以及`alias`创建命令别名等。熟练掌握这些基本命令将极大提高你在Unix...

    华为内部培训资料linux 基础

    Linux操作系统是全球最广泛使用的开源操作系统之一,尤其在服务器领域占据主导地位。华为作为全球知名的IT企业,其内部培训资料通常会深入浅出地讲解Linux的基础知识,以便员工能够更好地理解和掌握这一强大的工具。...

    linux常用命令以及vim编辑器的使用_Linux相关命令_

    - **cp**:复制文件或目录,`cp file1 file2`将file1复制为file2。 - **mv**:移动或重命名文件,`mv file1 file2`将file1改名为file2。 - **cat**:查看文件内容,`cat filename`。 - **more/less**:分页查看...

    java需要掌握的linux命令.pdf

    在IT行业中,尤其是对于Java开发者来说,熟悉Linux操作系统是必不可少的技能。Linux不仅在服务器端广泛使用,而且许多开发工具和框架也在Linux环境下运行良好。以下是一些Java程序员需要掌握的Linux基础知识: 1. *...

    Linux常用命令全集_集中所有linux命令

    在IT领域,Linux操作系统是许多专业技术人员不可或缺的工具,尤其对于服务器管理、系统运维和软件开发人员来说。本文将深入探讨“Linux常用命令全集”,旨在帮助初学者和经验丰富的用户更好地理解和掌握Linux命令行...

    linux操作系统实验报告(2).doc

    "Linux操作系统实验报告" 在本实验报告中,我们将探索Linux操作系统的基本操作命令、Shell实用功能、文件和目录操作命令、vi编辑器使用、文件显示和处理命令、Linux常用操作命令等方面的知识点。 Linux基本操作...

    Linux常用命令大全

    Linux操作系统以其开源、稳定和强大的特性,被广泛应用于服务器、云计算和嵌入式系统等领域。对于运维人员来说,熟练掌握Linux命令行操作是至关重要的。本资料“Linux常用命令大全”详细汇总了Linux环境中最常用的...

    Linux命令速查手册,linux指令速查手册,Unix_Linux源码.zip

    在IT领域,Linux操作系统是开发者、系统管理员和程序员不可或缺的工具。Linux命令行界面提供了强大的功能,通过一系列命令,用户可以高效地管理文件、进程、网络等。本速查手册旨在帮助用户熟悉并掌握常见的Linux...

    ubuntu_linux命令行简明教程

    在Ubuntu Linux系统中,命令行界面(CLI)是强大的工具,它允许用户通过文本指令来执行各种操作,而无需图形用户界面(GUI)。这个“ubuntu_linux命令行简明教程”将帮助你掌握Ubuntu Linux下的基本和高级命令,提升...

    UNIX shell命令

    例如,`cp file1 file2` 或 `cp -r dir1 dir2`。 - `mv`: 移动或重命名文件或目录。例如,`mv oldfile newfile` 或 `mv folder1 folder2`。 - `cat`: 查看文件内容。如 `cat filename`。 - `more`/`less`: 分页...

    linux基本命令大全.pdf

    Linux 基本命令大全 本文档旨在总结 Linux 系统中常用的基本命令,涵盖用户管理、文件管理、目录管理、权限管理、磁盘管理、进程管理、网络管理等...* find -mtime n 查找系统中最后 n*24 小时被改变文件数据的文件

Global site tag (gtag.js) - Google Analytics