初级运维4

重定向命令的输出,将命令的输出结果,写入到文本文件中
 
    >: 覆盖重定向
    >>: 追加重定向

[root@server0 ~]# head -2 /etc/passwd   #显示文件的头两行

[root@server0 ~]# head -2 /etc/passwd > /opt/pass.txt
[root@server0 ~]# cat /opt/pass.txt 

[root@server0 ~]# hostname
[root@server0 ~]# hostname > /opt/pass.txt
[root@server0 ~]# cat /opt/pass.txt 

[root@server0 ~]# head -2 /etc/passwd >> /opt/pass.txt
[root@server0 ~]# cat /opt/pass.txt

######################################################
管道操作   |   :  将前面命令的输出结果作为参数,交由后面命令在处理一次 

   请显示  /etc/passwd 文件内容的8~12行?

[root@server0 ~]# head -12 /etc/passwd   |  tail -5 


[root@server0 ~]# cat -n /etc/passwd | head -12  | tail -5


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

   请显示  ifconfig命令输出结果的第二行 内容?
[root@server0 ~]# ifconfig | head -2 | tail -1

#######################################################
计算器:   bc    %:取余数运算  ,  所有的 余数   都 小于  被除数

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

# echo server0.example.com 

# echo server0.example.com > /etc/hostname
# cat /etc/hostname

# echo nameserver 172.25.254.254 > /etc/resolv.conf 
# cat /etc/resolv.conf

# echo 1+1 | bc

# echo 2*3 | bc

########################################################
有效信息:  去除注释以#开头  去除 空行

         '^$'    匹配空行
 
# grep -v '^#' /etc/login.defs

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

# grep -v '^#' /etc/login.defs | grep -v '^$'   >  /opt/1.txt

# cat  -n /opt/1.txt

######################################################
管理用户和组

   用户: 1.登陆操作系统  2.访问控制(不同的用户 权限不同)
   组:方便对用户的管理

   唯一标识:  UID  GID 

   管理员root: UID为0

   组: 基本组(私有组)     附加组(从属组  公共组)

   一个用户至少要属于一个组

#####################################################
用户基本信息存放在 /etc/passwd 文件

[root@server0 ~]# grep 'nsd01' /etc/passwd
 nsd01:x:1002:1002::/home/nsd01:/bin/bash

 用户名:密码占位符号 :UID:GID:用户的描述信息:家目录所在位置:解释器

• 使用 useradd 命令
– useradd [选项]... 用户名

• 常用命令选项
– -u 用户id、-d 家目录路径、-s 登录Shell
– -g 基本组、-G 附加组

 /sbin/nologin:阻止用户登陆系统(没有可以交互的shell)

[root@server0 ~]# useradd nsd01
[root@server0 ~]# id nsd01 
[root@server0 ~]# grep 'nsd' /etc/passwd

[root@server0 ~]# useradd -u 1500 nsd02     #指定UID创建
[root@server0 ~]# id nsd02 
[root@server0 ~]# grep 'nsd' /etc/passwd

[root@server0 ~]# useradd -d /opt/abc  nsd03  #指定家目录创建
[root@server0 ~]# grep 'nsd' /etc/passwd
[root@server0 ~]# ls /opt


[root@server0 ~]# useradd -s /sbin/nologin nsd08
[root@server0 ~]# grep 'nsd08' /etc/passwd
 nsd08:x:1503:1503::/home/nsd08:/sbin/nologin


[root@server0 ~]# groupadd tarena          #创建组
[root@server0 ~]# useradd -G tarena nsd09  #创建用户加入tarena组
[root@server0 ~]# id nsd09                 #查看用户信息

##########################################################
• 使用 passwd 命令
  – passwd [用户名]
  – echo '密码'  |  passwd --stdin 用户名

[root@server0 ~]# passwd nsd01

非交互式 设置密码

[root@server0 ~]# echo redhat  |  passwd  --stdin  nsd01

##########################################################
 存放密码信息的文件/etc/shadow

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


• 使用 usermod 命令
– usermod [选项]... 用户名

• 常用命令选项
– -u 用户id、-d 家目录路径、-s 登录Shell
– -G 附加组

 # useradd tom
 # grep 'tom' /etc/passwd

 # usermod -u 1600 -d /mnt/test  -s  /sbin/nologin  tom

 # grep 'tom' /etc/passwd


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

删除用户
• 使用 userdel 命令
– userdel [-r] 用户名

[root@server0 ~]# userdel nsd01
[root@server0 ~]# ls /home/

[root@server0 ~]# id nsd01
id: nsd01: no such user

[root@server0 ~]# userdel -r nsd02
[root@server0 ~]# id nsd02
id: nsd02: no such user
[root@server0 ~]# ls /home/

#####################################################
补充: su  命令行临时切换身份
[root@server0 ~]# useradd nsd10     
[root@server0 ~]# echo 123 | passwd --stdin nsd10

[root@server0 ~]# su - nsd10

[nsd10@server0 ~]$ passwd 
Changing password for user nsd10.
Changing password for nsd10.
(current) UNIX password:      #先输入旧密码
New password:                 #新密码
Retype new password:          #确认新密码
passwd: all authentication tokens updated successfully.
[nsd10@server0 ~]$ exit

#####################################################
管理组账号

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

[root@server0 ~]# groupadd stugrp
[root@server0 ~]# grep 'stugrp'  /etc/group
  stugrp:x:1702:

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

[root@server0 ~]# useradd  dc
[root@server0 ~]# useradd  jack
[root@server0 ~]# useradd  kenji
[root@server0 ~]# useradd  kaka

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

• 使用 gpasswd 命令
– gpasswd -a 用户名    组名
– gpasswd -d 用户名    组名
– gpasswd -M 用户名列表   组名

[root@server0 ~]# grep 'stugrp' /etc/group
[root@server0 ~]# gpasswd -a dc stugrp      #添加用户到组

[root@server0 ~]# grep 'stugrp' /etc/group
[root@server0 ~]# gpasswd -a kaka stugrp

[root@server0 ~]# grep 'stugrp' /etc/group
[root@server0 ~]# gpasswd -d dc stugrp     #将用户dc从组中删除

[root@server0 ~]# grep 'stugrp' /etc/group

[root@server0 ~]# gpasswd -M 'dc,jack,kenji' stugrp  #定义组列表
[root@server0 ~]# grep 'stugrp' /etc/group

[root@server0 ~]# gpasswd -M  ''  stugrp      #清空组内所有成员
[root@server0 ~]# grep 'stugrp'  /etc/group

########################################################
删除组
• 使用 groupdel 命令
– groupdel 组名

#####################################################
tar备份与恢复    

• 归档的含义
– 将许多零散的文件整理为一个文件
– 文件总的大小基本不变


• 压缩的含义
– 按某种算法减小文件所占用空间的大小
– 恢复时按对应的逆向算法解压

  
  Linux独有的压缩工具: 
              gzip  ----->  *.gz
              bzip2 ----->  *.bz2
              xz    ----->  *.xz

红色:压缩包
[root@server0 ~]# rm  -rf /opt/*
[root@server0 ~]# cp /etc/passwd  /opt/a.txt
[root@server0 ~]# cp /etc/passwd  /opt/b.txt
[root@server0 ~]# cp /etc/passwd  /opt/c.txt

[root@server0 ~]# cd /opt/
[root@server0 opt]# ls

[root@server0 opt]# gzip a.txt 
[root@server0 opt]# ls

[root@server0 opt]# bzip2 b.txt 
[root@server0 opt]# ls

[root@server0 opt]# xz c.txt 
[root@server0 opt]# ls


################################################
  tar 是归档工具, 打包

[root@server0 /]# tar -cf   归档文件的名字   被归档文件或目录

[root@server0 /]# rm -rf /opt/*
[root@server0 /]# rm -rf /mnt/*
[root@server0 /]# tar -cf /opt/file.tar  /etc/passwd   /home/

[root@server0 /]# ls /opt/

[root@server0 /]# tar -xf /opt/file.tar -C /mnt/
[root@server0 /]# ls /mnt/

[root@server0 /]# ls /mnt/etc/

[root@server0 /]# ls /mnt/home/

• tar 集成备份工具
– -c:创建归档
– -x:释放归档
– -f:指定归档文件名称


– -z、-j、-J:调用 .gz、.bz2、.xz 格式的工具进行处理
– -t:显示归档中的文件清单
– -P:保持归档内文件的绝对路径


[root@server0 /]# rm -rf /opt/*
[root@server0 /]# rm -rf /mnt/*
[root@server0 /]# tar -zcf /opt/home.tar.gz  /home
tar: 从成员名中删除开头的“/”
[root@server0 /]# ls /opt/

[root@server0 /]# tar -jcf /opt/home01.tar.bz2 /home/
tar: 从成员名中删除开头的“/”
[root@server0 /]# ls /opt/
    
[root@server0 /]# tar -Jcf /opt/home02.tar.xz /home/
tar: 从成员名中删除开头的“/”
[root@server0 /]# ls /opt/

[root@server0 /]# tar -xf /opt/home02.tar.xz -C /mnt/
[root@server0 /]# ls /mnt/

 查看包里面有什么内容
[root@server0 /]# tar -tf /opt/home.tar.gz 

[root@server0 /]# tar -zcPf /opt/file.tar.gz /home/ 


使用 tar 工具完成以下备份任务:
– 创建一个名为 /root/backup.tar.bz2 的归档文件
– 其中包含 /usr/local 目录中的内容

[root@server0 /]# tar -jcf /root/backup.tar.bz2 /usr/local/
tar: 从成员名中删除开头的“/”

[root@server0 /]# ls /root/

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

#######################################################
 find 查找文档所在位置 

   -type  类型   f(文本文件)  d(目录)  l(快捷方式)
   -name  名字
   -size  大小 + | -
   -user  按照文档所属用户
 

[root@server0 /]# find /boot/ -type d        #目录
 
[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 /]#  


[root@server0 /]# touch /root/stu01.txt
[root@server0 /]# touch /root/stu02.txt
[root@server0 /]# mkdir /root/student

[root@server0 /]# find /root -name "stu*"
/root/stu01.txt
/root/stu02.txt
/root/student
[root@server0 /]# find /root -name "stu*"  -type f
/root/stu01.txt
/root/stu02.txt
[root@server0 /]# find /root -name "stu*"  -type d
/root/student

#########################################################
[root@server0 /]# find /boot/ -size +10M

[root@server0 /]# find /boot/ -size -10M

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

• 使用find命令完成以下任务
– 找出所有用户 student 拥有的文件


[root@server0 /]# find /   -user student  -type f

[root@server0 /]# find /home   -user student

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


#########################################################
  – 优势:以 {} 代替每一个结果,逐个处理,遇 \; 结束

[root@server0 /]# find /boot/ -size +10M 

[root@server0 /]# ls /opt/

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

[root@server0 /]# ls /opt/


  


 

猜你喜欢

转载自blog.csdn.net/Rio520/article/details/81097370