Linux基础03

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基础03相关的知识,希望对你有一定的参考价值。

  


  开始学习之前 将三台虚拟机按顺序全部重置一次 以免昨天输入的内容对今天的学习产生影响

  

   rht-vmctl reset classroom        #昨天的博客 vmctl写成了vmclt

   rht-vmctl reset server              更正一下~

   rht-vmctl reset desktop

 

   为虚拟机server配置以下静态参数

    

    – 主机名:server0.example.com

– IP地址:172.25.0.11

– 子网掩码:255.255.255.0

– 默认网关:172.25.0.254

– DNS服务器:172.25.254.254


   vim /etc/resolv.conf

====>vim 中   nameserver 172.25.254.254 

    退出vim


    测试DNS解析命令 

    [[email protected] ~]# nslookup server0.example.com

#####################################################


  搭建YUM仓库 


[[email protected] ~]# rm -rf /etc/yum.repos.d/*


[[email protected] ~]# vim /etc/yum.repos.d/abc.repo


   http://172.25.254.254/content/rhel7.0/x86_64/dvd/



[[email protected] ~]# yum clean all


[[email protected] ~]# yum repolist


#################################################



   查看文本文件内容


  cat  :  适合查看内容较少的文件

  less :  适合查看内容较多的文件


   看文本文件部分内容

    

      head  -n   :  头几行

      tail  -n    : 尾几行


   查看时间

   date


   计算器

   bc


######################################################


 管道 : 将前面命令的输出结果,交由后面命令处理,当作后面命令的参数


    显示/etc/passwd文本内容8--12行?


[[email protected] /]# head -12 /etc/passwd | tail -5

[[email protected] /]# cat -n /etc/passwd | head -12 | tail -5


[[email protected] /]# cat -n /etc/passwd | less


[[email protected] /]# echo 1+1 | bc

[[email protected] /]# echo 8*8 | bc


[[email protected] /]# ifconfig  | head -2


######################################################

   grep:查看文本文件内容, 显示包含指定“字符串”的行


      – grep  [选项]   ‘匹配字符串‘     文本文件...

  

[[email protected] /]# grep ‘root‘  /etc/passwd


[[email protected] /]# grep ‘man‘ /etc/man_db.conf 


[[email protected] /]# grep ‘Root‘ /etc/passwd

[[email protected] /]# grep -i ‘Root‘  /etc/passwd  #忽略大小写


[[email protected] /]# grep ‘root‘  /etc/passwd

[[email protected] /]# grep -v ‘root‘ /etc/passwd  #取反,不包含


#################################################



 – ^word   以字符串word开头

 – word$  以字符串word结尾


[[email protected] /]# grep ‘^root‘ /etc/passwd


[[email protected] /]# grep ‘root$‘  /etc/passwd

[[email protected] /]# grep ‘bash$‘  /etc/passwd


     匹配空行

[[email protected] /]# grep ‘^$‘  /etc/default/useradd


    去除空行,显示

[[email protected] /]# grep -v ‘^$‘  /etc/default/useradd



    正则表达式 :  用描述的语言去表达心中所想


 去除注释与空行,显示有效数据:


  # grep -v ‘^#‘ /etc/login.defs  |  grep -v ‘^$‘


#####################################################      



find 按条件查找文件

根据预设的条件递归查找对应的文件


– find  [目录]    [条件1] 


– 常用条件表示:

-type 类型(f 文件、d 目录、l 快捷方式)

-name  "文档名称"


-size +|-文件大小(k、M、G)

-user  用户名



[[email protected] /]# find /boot/  -type l

[[email protected] /]# ls /boot/grub/menu.lst 

[[email protected] /]# ls -l /boot/grub/menu.lst


[[email protected] /]# find   /boot/   -type   f

[[email protected] /]# find   /boot/   -type   d


[[email protected] /]# find /etc/  -name "passwd"

[[email protected] /]# find /etc/  -name "*tab*"


[[email protected] /]# mkdir /root/install

[[email protected] /]# touch /root/install.log

[[email protected] /]# touch /root/install.bak

[[email protected] /]# find  /root -name "install*"


[[email protected] /]# find  /root -name "install*"  -type d

[[email protected] /]# find  /root -name "install*"  -type f



[[email protected] /]# find /boot/ -size +10M

[[email protected] /]# find /boot/ -size -10M



使用find命令的 --exec 操作

– find .. .. -exec 处理命令 {} \;


# find /boot/ -size +10M

# find /boot/ -size +10M   -exec  cp -r  {}  /opt/   \;

# ls  /opt 


# find /etc/  -name "*tab"

# find /etc/  -name "*tab"  -exec cp -r  {}  /mnt/   \;

# ls  -A /mnt


##################################################


# mkdir /root/findfiles


# find / -user student -type f -exec cp -r {} /root/findfiles/  \;



###################################################

 用户与组管理

 

  用户账户: 

                 1.可以登陆操作系统   

                 2.可以进行访问控制(不同的用户权限不同)  

 

  组账户: 方便管理用户账户(权限)

  用户账户 与 组账户 唯一标识:   UID   GID   

  管理员 UID为:0


   组账户:  基本组     附加组(公共组  从属组)


##################################################


使用 useradd 命令

– useradd [选项]... 用户名


常用命令选项

– -u 用户id、-d 家目录路径、-s 登录Shell

– -g 基本组、-G 附加组



[[email protected] /]# id nsd01


[[email protected] /]# grep ‘nsd01‘ /etc/passwd  #用户基本信息

nsd01:x:1002:1002::/home/nsd01:/bin/bash


用户名:密码占为符:UID:GID:用户的描述信息:家目录:解释器


[[email protected] /]#  useradd  nsd01

[[email protected] /]#  id  nsd01 

[[email protected] /]#  grep  ‘nsd‘  /etc/passwd 


[[email protected] /]#  useradd -u 1100 nsd02     #指定UID

[[email protected] /]#  grep  ‘nsd‘  /etc/passwd 


[[email protected] /]#  useradd -d /op/haha nsd03  #指定家目录

[[email protected] /]#  grep  ‘nsd‘  /etc/passwd 

   指定登陆的解释器程序

[[email protected] /]#  useradd -s /sbin/nologin nsd04 

[[email protected] /]#  grep  ‘nsd‘  /etc/passwd

 

  如果用户的解释器程序为/sbin/nologin则不能登陆操作系统


[[email protected] /]# useradd -g nsd01 nsd09

[[email protected] /]# id nsd09


[[email protected] /]# useradd -G nsd01  nsd10

[[email protected] /]# id nsd10



#############################################


  用户密码信息存放在 /etc/shadow 文件


使用 passwd 命令

– passwd [用户名]

– echo ‘密码‘    |   passwd  --stdin  用户名


  补充命令:命令临时切换用户身份

[[email protected] /]# su  -  用户名


[[email protected] /]# echo 123 | passwd --stdin nsd01

[[email protected] /]# echo 123 | passwd --stdin nsd02


[[email protected] /]# su  -  nsd01

[[email protected] ~]$ passwd  

[[email protected] ~]$ exit             #退回到root


[[email protected] /]#


####################################################


修改用户属性

使用 usermod 命令

– usermod [选项]... 用户名


常用命令选项

– -u 用户id、-d 家目录路径、-s 登录Shell

– -g 基本组、

– -G 附加组



[[email protected] /]# useradd nsd11

[[email protected] /]# grep ‘nsd11‘ /etc/passwd


# usermod -u 1200 -d /opt/test  -s /sbin/nologin nsd11


[[email protected] /]# grep ‘nsd11‘ /etc/passwd


#####################################################

删除用户

使用 userdel 命令

– userdel [-r]  用户名   #并且删除家目录


 常见提示:权限不足

 Permission denied



#####################################################


组账户管理


添加组

       组基本信息存放在 /etc/group 文件

[[email protected] ~]# head -1 /etc/group

root:x:0:

 

  组名:密码占位符:GID:组成员列表


使用 groupadd 命令

– groupadd [-g 组ID]  组名


[[email protected] ~]# useradd kenji

[[email protected] ~]# useradd tom

[[email protected] ~]# useradd kaka

[[email protected] ~]# useradd henter


[[email protected] ~]# groupadd   tarena


[[email protected] ~]# grep ‘tarena‘ /etc/group

tarena:x:1110:


 

使用 gpasswd 命令


– gpasswd -a 用户名  组名

– gpasswd -d 用户名  组名

– gpasswd -M ‘用户名,用户名‘  组名   #可以添加多个


[[email protected] ~]# grep ‘tarena‘ /etc/group  #查看组信息

[[email protected] ~]# gpasswd -a kenji tarena   #加入组成员

[[email protected] ~]# id kenji 


[[email protected] ~]# gpasswd -a tom tarena

[[email protected] ~]# grep ‘tarena‘ /etc/group


[[email protected] ~]# gpasswd -a kaka tarena

[[email protected] ~]# grep ‘tarena‘ /etc/group


[[email protected] ~]# gpasswd -d kenji tarena   #删除组成员

[[email protected] ~]# grep ‘tarena‘ /etc/group


[[email protected] ~]# gpasswd -M ‘kenji,henter‘ tarena

[[email protected] ~]# grep ‘tarena‘ /etc/group


[[email protected] ~]# gpasswd -M ‘kenji,kaka,tom,henter‘ tarena

[[email protected] ~]# grep ‘tarena‘ /etc/group

[[email protected] ~]# gpasswd -M  ‘‘ tarena

[[email protected] ~]# grep ‘tarena‘ /etc/group


删除组

使用 groupdel 命令

– groupdel 组名

#########################################################

  归档及压缩


    1.节约空间

    2.方便对零散文档的管理


tar 集成备份工具

– -c:创建归档

– -x:释放归档

– -f:指定归档文件名称

– -z、-j、-J:调用 .gz、.bz2、.xz 格式的工具进行处理

– -C(大写) :指定释放位置


– -t:显示归档中的文件清单

– -P(大写) :保持归档内文件的绝对路径


[[email protected] ~]# rm -rf /opt/*

[[email protected] ~]# rm -rf /mnt/*


# tar -zcf /opt/file.tar.gz /boot/ /etc/passwd


[[email protected] ~]# ls /opt


[[email protected] ~]# tar -xf /opt/file.tar.gz  -C  /mnt


[[email protected] ~]# ls /mnt


[[email protected] ~]# ls /mnt/etc

[[email protected] ~]# ls /mnt/boot



使用 tar -c ... 命令

– tar -zcf  备份文件.tar.gz  被备份的文档....

– tar -jcf  备份文件.tar.bz2  被备份的文档....

– tar -Jcf  备份文件.tar.xz  被备份的文档....


[[email protected] ~]# tar -tf /opt/file.tar.gz   


以绝对路径方式,利用bzip2压缩方式,打包并压缩


# tar -Pjcf    /root/backup.tar.bz2        /usr/local/

# ls  /root/

# tar -tf    /root/backup.tar.bz2         #查看包里面内容


    -z  代表gzip压缩格式

    -j  代表bzip2压缩格式

    -J  代表xz压缩格式

###################################################

NTP网络时间协议

Network Time Protocol

– NTP服务器为客户机提供标准时间

– NTP客户机需要与NTP服务器保持沟通  


       装包、配置、起服务  


 一、服务端,Linux系统上一款软件


    NTP时间同步服务器,classroom

   


 二、客户端server,安装客户端软件

 

RHEL7客户端的校时服务

– 软件包 : chrony

– 配置文件 : /etc/chrony.conf

– 系统服务 : chronyd


[[email protected] ~]# rpm -q chrony

chrony-1.29.1-1.el7.x86_64


[[email protected] ~]# vim  /etc/chrony.conf

 #server 0.rhel.pool.ntp.org iburst    #注释

 #server 1.rhel.pool.ntp.org iburst    #注释

 #server 2.rhel.pool.ntp.org iburst    #注释

 server  172.25.254.254  iburst    #指定服务端IP地址

.......


[[email protected] ~]# systemctl  restart  chronyd  #重起服务

[[email protected] ~]# systemctl  enable  chronyd   #设置开机自起


  验证:


[[email protected] ~]# date


[[email protected] ~]# date -s "2008-09-08 11:11:11"  #修改时间


[[email protected] ~]# date

[[email protected] ~]# systemctl restart chronyd #重起服务,同步


[[email protected] ~]# date        #此处大概需要10秒才会成功

[[email protected] ~]# date  

[[email protected] ~]# date      


以上是关于Linux基础03的主要内容,如果未能解决你的问题,请参考以下文章

Linux基础03

linux基础day07:linux文件管理03

Linux基础知识-03

03.风哥Oracle数据库入门必备Linux基础系列视频教程(Oracle零基础教程)

Linux 基础 - 磁盘管理 -03

Linux基础03