且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

linux系统学习第四天

更新时间:2022-09-12 14:37:02

/etc : Linux系统配置文件
 
为虚拟机 server 配置以下静态地址参数
    – 主机名:server0.example.com
 
    – IP地址:172.25.0.11
    – 子网掩码:255.255.255.0
    – 默认网关:172.25.0.254
 
    – DNS服务器:172.25.254.254
 
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# cat /etc/resolv.conf
 
测试DNS解析
[root@server0 ~]# nslookup server0.example.com   
 
 
###################################################
搭建Yum仓库
 
[root@server0 ~]# rm -rf /etc/yum.repos.d/*
 
[root@server0 ~]# vim /etc/yum.repos.d/abc.repo
 
   http://172.25.254.254/content/rhel7.0/x86_64/dvd/
 
 
[root@server0 ~]# yum clean all
 
[root@server0 ~]# yum repolist
 
#################################################
 
 
   查看文本文件内容
 
  cat  :  适合查看内容较少的文件
  less :  适合查看内容较多的文件
 
   看文本文件部分内容
     
      head  -n   :  头几行
      tail  -n    : 尾几行
 
   查看时间
   date
 
   计算器
   bc
 
######################################################
 
 管道 : 将前面命令的输出结果,交由后面命令处理,当作后面命令的参数
 
    显示/etc/passwd文本内容8--12行?
 
[root@server0 /]# head -12 /etc/passwd | tail -5
[root@server0 /]# cat -n /etc/passwd | head -12 | tail -5
 
[root@server0 /]# cat -n /etc/passwd | less
 
[root@server0 /]# echo 1+1 | bc
[root@server0 /]# echo 8*8 | bc
 
[root@server0 /]# ifconfig  | head -2
 
######################################################
   grep:查看文本文件内容, 显示包含指定“字符串”的行
 
      – grep  [选项]   '匹配字符串'     文本文件...
   
[root@server0 /]# grep 'root'  /etc/passwd
 
[root@server0 /]# grep 'man' /etc/man_db.conf  
 
[root@server0 /]# grep 'Root' /etc/passwd
[root@server0 /]# grep -i 'Root'  /etc/passwd  #忽略大小写
 
[root@server0 /]# grep 'root'  /etc/passwd
[root@server0 /]# grep -v 'root' /etc/passwd  #取反,不包含
 
#################################################
 
 
 – ^word   以字符串word开头
 – word$  以字符串word结尾
 
[root@server0 /]# grep '^root' /etc/passwd
 
[root@server0 /]# grep 'root$'  /etc/passwd
[root@server0 /]# grep 'bash$'  /etc/passwd
 
     匹配空行
[root@server0 /]# grep '^$'  /etc/default/useradd
 
    去除空行,显示
[root@server0 /]# 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  用户名
 
 
[root@server0 /]# find /boot/  -type l
[root@server0 /]# ls /boot/grub/menu.lst  
[root@server0 /]# ls -l /boot/grub/menu.lst
 
[root@server0 /]# find   /boot/   -type   f
[root@server0 /]# find   /boot/   -type   d
 
[root@server0 /]# find /etc/  -name "passwd"
[root@server0 /]# find /etc/  -name "*tab*"
 
[root@server0 /]# mkdir /root/install
[root@server0 /]# touch /root/install.log
[root@server0 /]# touch /root/install.bak
[root@server0 /]# find  /root -name "install*"
 
[root@server0 /]# find  /root -name "install*"  -type d
[root@server0 /]# find  /root -name "install*"  -type f
 
 
[root@server0 /]# find /boot/ -size +10M
[root@server0 /]# 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 附加组
 
 
[root@server0 /]# id nsd01
 
 
[root@server0 /]# grep 'nsd01' /etc/passwd  #用户基本信息
nsd01:x:1002:1002::/home/nsd01:/bin/bash
 
用户名:密码占为符:UID:GID:用户的描述信息:家目录:解释器
 
[root@server0 /]#  useradd  nsd01
[root@server0 /]#  id  nsd01  
[root@server0 /]#  grep  'nsd'  /etc/passwd  
 
[root@server0 /]#  useradd -u 1100 nsd02     #指定UID
[root@server0 /]#  grep  'nsd'  /etc/passwd  
 
[root@server0 /]#  useradd -d /op/haha nsd03  #指定家目录
[root@server0 /]#  grep  'nsd'  /etc/passwd  
   指定登陆的解释器程序
[root@server0 /]#  useradd -s /sbin/nologin nsd04  
[root@server0 /]#  grep  'nsd'  /etc/passwd
 
  如果用户的解释器程序为/sbin/nologin则不能登陆操作系统
 
 
 
[root@server0 /]# useradd -g nsd01 nsd09
[root@server0 /]# id nsd09
 
[root@server0 /]# useradd -G nsd01  nsd10
[root@server0 /]# id nsd10
 
 
#############################################
 
  用户密码信息存放在 /etc/shadow 文件
 
使用 passwd 命令
– passwd [用户名]
– echo '密码'    |   passwd  --stdin  用户名
 
  补充命令:命令临时切换用户身份
[root@server0 /]# su  -  用户名
 
[root@server0 /]# echo 123 | passwd --stdin nsd01
[root@server0 /]# echo 123 | passwd --stdin nsd02
 
[root@server0 /]# su  -  nsd01
[nsd01@server0 ~]$ passwd   
[nsd01@server0 ~]$ exit             #退回到root
 
[root@server0 /]#
 
####################################################
 
修改用户属性
• 使用 usermod 命令
– usermod [选项]... 用户名
 
• 常用命令选项
    – -u 用户id、-d 家目录路径、-s 登录Shell
    – -g 基本组、
    – -G 附加组
 
 
[root@server0 /]# useradd nsd11
[root@server0 /]# grep 'nsd11' /etc/passwd
 
# usermod -u 1200 -d /opt/test  -s /sbin/nologin nsd11
 
[root@server0 /]# grep 'nsd11' /etc/passwd
 
#####################################################
删除用户
• 使用 userdel 命令
    – userdel [-r]  用户名   #并且删除家目录
 
 常见提示:权限不足
 Permission denied
 
 
#####################################################
 
组账户管理
 
添加组
       组基本信息存放在 /etc/group 文件
[root@server0 ~]# head -1 /etc/group
root:x:0:
 
  组名:密码占位符:GID:组成员列表
 
• 使用 groupadd 命令
– groupadd [-g 组ID]  组名
 
[root@server0 ~]# useradd kenji
[root@server0 ~]# useradd tom
[root@server0 ~]# useradd kaka
[root@server0 ~]# useradd henter
 
[root@server0 ~]# groupadd   tarena
 
[root@server0 ~]# grep 'tarena' /etc/group
tarena:x:1110:
 
 
使用 gpasswd 命令
 
    – gpasswd -a 用户名  组名
    – gpasswd -d 用户名  组名
    – gpasswd -M '用户名,用户名'  组名   #可以添加多个
 
[root@server0 ~]# grep 'tarena' /etc/group  #查看组信息
[root@server0 ~]# gpasswd -a kenji tarena   #加入组成员
[root@server0 ~]# id kenji  
 
[root@server0 ~]# gpasswd -a tom tarena
[root@server0 ~]# grep 'tarena' /etc/group
 
[root@server0 ~]# gpasswd -a kaka tarena
[root@server0 ~]# grep 'tarena' /etc/group
 
[root@server0 ~]# gpasswd -d kenji tarena   #删除组成员
[root@server0 ~]# grep 'tarena' /etc/group
 
[root@server0 ~]# gpasswd -M 'kenji,henter' tarena
[root@server0 ~]# grep 'tarena' /etc/group
 
[root@server0 ~]# gpasswd -M 'kenji,kaka,tom,henter' tarena
[root@server0 ~]# grep 'tarena' /etc/group
[root@server0 ~]# gpasswd -M  '' tarena
[root@server0 ~]# grep 'tarena' /etc/group
 
删除组
• 使用 groupdel 命令
– groupdel 组名
#########################################################
  归档及压缩
 
    1.节约空间
    2.方便对零散文档的管理
 
• tar 集成备份工具
    – -c:创建归档
    – -x:释放归档
    – -f:指定归档文件名称
    – -z、-j、-J:调用 .gz、.bz2、.xz 格式的工具进行处理
    – -C(大写) :指定释放位置
 
    – -t:显示归档中的文件清单
    – -P(大写) :保持归档内文件的绝对路径
 
[root@server0 ~]# rm -rf /opt/*
[root@server0 ~]# rm -rf /mnt/*
 
# tar -zcf /opt/file.tar.gz /boot/ /etc/passwd
 
[root@server0 ~]# ls /opt
 
[root@server0 ~]# tar -xf /opt/file.tar.gz  -C  /mnt
 
[root@server0 ~]# ls /mnt
 
[root@server0 ~]# ls /mnt/etc
[root@server0 ~]# ls /mnt/boot
 
 
• 使用 tar -c ... 命令
    – tar -zcf  备份文件.tar.gz  被备份的文档....
    – tar -jcf  备份文件.tar.bz2  被备份的文档....
    – tar -Jcf  备份文件.tar.xz  被备份的文档....
 
[root@server0 ~]# 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时间同步服务器,clas-s-room
    
 
 二、客户端server,安装客户端软件
 
• RHEL7客户端的校时服务
    – 软件包 : chrony
    – 配置文件 : /etc/chrony.conf
    – 系统服务 : chronyd
 
[root@server0 ~]# rpm -q chrony
chrony-1.29.1-1.el7.x86_64
 
[root@server0 ~]# 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地址
.......
 
[root@server0 ~]# systemctl  restart  chronyd  #重起服务
[root@server0 ~]# systemctl  enable  chronyd   #设置开机自起
 
  验证:
 
[root@server0 ~]# date
 
[root@server0 ~]# date -s "2008-09-08 11:11:11"  #修改时间
 
[root@server0 ~]# date
[root@server0 ~]# systemctl restart chronyd #重起服务,同步
 
[root@server0 ~]# date
[root@server0 ~]# date
[root@server0 ~]# date
 

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






      本文转自云计算王森 51CTO博客,原文链接:http://blog.51cto.com/13426941/2044599,如需转载请自行联系原作者