LINUX系统管理员技术(Admin)-------第四天

简介:

  

 /etc : Linux系统配置文件


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

– 主机名:server0.example.com

    – IP地址:172.25.0.11

       – 子网掩码:255.255.255.0

– 默认网关:172.25.0.254

[root@server0 ~]#nmcli connection modify 'System eth0'  

                ipv4.method manual                     #手动配置参数               

                ipv4.addresses '172.25.0.11/24   172.25.0.254'

                connection.autoconnect yes            #每次开机自动启用


3.激活网络配置

[root@s ~]# nmcli connection up 'System eth0'


– DNS服务器:172.25.254.254


[root@server0 ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth0------查看网卡信息

[root@server0 ~]#cat /etc/resolv.conf-------查看DNS服务信息


测试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

      【abc】

       name=abc

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

       enbaled=1

       gpgcheck=0

[root@server0 ~]# yum clean all


[root@server0 ~]# yum repolist


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



   查看文本文件内容


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

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


   看文本文件部分内容

    

      head  -n   :  头几行

      tail  -n    : 尾几行


   查看时间

   date


   计算器

   bc


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


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


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

[root@server0 /]#nl /etc/passwd或者 cat -n /etc/passwd-----表示显示行数

[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----echo打印

[root@server0 /]# echo 8*8 | bc


[root@server0 /]# ifconfig  | head -2


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

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


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

  

[root@server0 /]# grep 'root'  /etc/passwd------“grep”代表过滤的意思,把其中关键字段拿出来查看

[root@server0 /]# grep 'man' /etc/man_db.conf 

[root@server0 /]# grep 'Root' /etc/passwd 把包含Root的都显示出来

[root@server0 /]# grep -i 'Root'  /etc/passwd  #忽略大小写

[root@server0 /]# grep 'root'  /etc/passwd

[root@server0 /]# grep -v 'root' /etc/passwd  #把不包含Root的行都显示出来


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



 – ^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------去除空行,让空行不再显示


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


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


                         [root@server0 /]#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查找boot中的所有文件

[root@server0 /]# find   /boot/   -ty

pe   d



[root@server0 /]# find /etc/  -name "passwd"查找etc里面的passwd

[root@server0 /]# find /etc/  -name "*tab*"


[root@server0 /]# mkdir /root/install----mkdir创建目录

[root@server0 /]# touch /root/install.log---touch创建文件 

[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 操作-----(-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/  \;-----查找student这个用户文件,然后复制到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时间同步服务器,classroom

   


 二、客户端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






     本文转自hj_1314wgn 51CTO博客,原文链接:http://blog.51cto.com/13513556/2048471,如需转载请自行联系原作者


相关文章
|
2月前
|
缓存 监控 安全
Linux技术基础(3)——系统管理
实验包括echo命令,用于输出字符串或变量值,例如显示变量`name`的值;date命令,展示和设置时间日期,如 `%Y-%m-%d %H:%M:%S` 格式;wget用于下载文件;ps命令查看进程状态,如`ps -ef | grep sshd`;top命令动态监控系统性能;pidof查找服务进程PID;kill和killall终止进程;ifconfig查看网络状态;uname获取系统信息;uptime显示系统负载;free查看内存使用;who显示登录用户信息;last查看登录历史;history列出命令历史。实验提供了丰富的命令示例和截图教程。
|
2月前
|
Linux 数据安全/隐私保护 虚拟化
Linux技术基础(1)——操作系统的安装
本文是龙蜥操作系统(Anolis OS) 8.4 的安装指南,用户可以从[龙蜥社区下载页面](https://openanolis.cn/download)获取ISO镜像。安装方法包括物理机的光驱和USB闪存方式,以及虚拟机中的VMware Workstation Pro设置。安装过程涉及选择语言、配置安装目标、选择软件集合和内核,设置Root密码及创建新用户。安装完成后,可通过文本模式或图形化界面验证系统版本,如Anolis OS 8.4,标志着安装成功。
|
2月前
|
Linux 数据处理 C++
Linux系统编程 C/C++ 以及Qt 中的零拷贝技术: 从底层原理到高级应用(一)
Linux系统编程 C/C++ 以及Qt 中的零拷贝技术: 从底层原理到高级应用
81 0
|
2月前
|
存储 Linux API
Linux系统编程 C/C++ 以及Qt 中的零拷贝技术: 从底层原理到高级应用(三)
Linux系统编程 C/C++ 以及Qt 中的零拷贝技术: 从底层原理到高级应用
35 1
|
2月前
|
消息中间件 Linux 数据处理
Linux系统编程 C/C++ 以及Qt 中的零拷贝技术: 从底层原理到高级应用(二)
Linux系统编程 C/C++ 以及Qt 中的零拷贝技术: 从底层原理到高级应用
37 1
|
13天前
|
机器学习/深度学习 自然语言处理 Linux
【专栏】Linux 中的机器学习:Whisper适用于语音助手、翻译等领域,随着技术发展,其应用前景广阔
【4月更文挑战第28天】本文探讨了在Linux环境下,先进自动语音识别系统Whisper的运用与实现高效ASR。Whisper基于PyTorch,支持多语言识别,具有高准确性和实时性。文中介绍了安装配置Whisper的步骤,包括安装依赖、下载代码、配置环境变量及编译安装。通过数据准备、模型训练和识别,可实现语音识别功能。Whisper适用于语音助手、翻译等领域,随着技术发展,其应用前景广阔。
|
14天前
|
Cloud Native Linux 开发者
【Docker】Docker:解析容器化技术的利器与在Linux中的关键作用
【Docker】Docker:解析容器化技术的利器与在Linux中的关键作用
|
2月前
|
Linux Shell 文件存储
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(深入df和dh的区别和探索)
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(深入df和dh的区别和探索)
47 1
|
4月前
|
监控 Linux Shell
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(排查问题指令 - 下)
在线上排查问题时,查询日志、查看系统配置和分析操作系统信息是至关重要的。这些操作可以帮助我们深入了解软件和服务的兼容性,并解决潜在的问题。在本次学习中,我们将介绍并深入学习一些我在处理类似问题时常用的指令。通过掌握这些指令,你将能够更加高效地定位和解决线上问题,提高系统的稳定性和性能。让我们一同进入这个学习过程吧!
47 0
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(排查问题指令 - 下)
|
11天前
|
前端开发 Linux iOS开发
【Flutter前端技术开发专栏】Flutter在桌面应用(Windows/macOS/Linux)的开发实践
【4月更文挑战第30天】Flutter扩展至桌面应用开发,允许开发者用同一代码库构建Windows、macOS和Linux应用,提高效率并保持平台一致性。创建桌面应用需指定目标平台,如`flutter create -t windows my_desktop_app`。开发中注意UI适配、性能优化、系统交互及测试部署。UI适配利用布局组件和`MediaQuery`,性能优化借助`PerformanceLogging`、`Isolate`和`compute`。
【Flutter前端技术开发专栏】Flutter在桌面应用(Windows/macOS/Linux)的开发实践