Day5:Linux中关于文件归档及用户组管理的命令

1.使用tar命令对文件进行打包压缩与解压缩:
 使用gzip方式对文件进行压缩,并指定压缩名为 tar_gzip.tar.gz

[root@ww test]# tar cvzf tar_gzip.tar.gz data1.txt
data1.txt
[root@ww test]# ls
data1.txt  data3.txt  data.tar.gz  tar_gzip.tar.gz
data2.txt  data_dir   data.txt

 使用bzip2方式对文件夹进行压缩,并指定压缩名为 tar_bzip2.tar.bz2

[root@ww test]# tar cvjf tar_bzip2.tar.bz2 data2.txt 
data2.txt
[root@ww test]# ls
data1.txt  data_dir     tar_bzip2.tar.bz2
data2.txt  data.tar.gz  tar_gzip.tar.gz
data3.txt  data.txt

使用xz方式对文件进行压缩,并指定压缩名为 tar_xz.tar.xz

[root@ww test]# tar cvJf tar_xz.tar.xz data3.txt
data3.txt
[root@ww test]# ls
data1.txt  data_dir     tar_bzip2.tar.bz2
data2.txt  data.tar.gz  tar_gzip.tar.gz
data3.txt  data.txt     tar_xz.tar.xz

新建文件file1.txt,file2.txt,file3.txt
 对文件file1.txt和file2.txt,进行压缩(使用gzip方式),排除file3.txt(即不对file3进行压缩)
 并指定压缩名为tar_file.tar.gz

[root@ww test]# tar cvf tar_file.tar.gz file[!3].txt
file1.txt
file2.txt

 新建文件file4.txt,将file4.txt添加到tar_file.tar.gz中

[root@ww test]# touch file4.txt
[root@ww test]# tar rvf tar_file.tar.gz file4.txt
file4.txt

 查看压缩包tar_file.tar.gz有哪些文件及目录(不解压,只查看)

[root@ww test]# tar tf tar_file.tar.gz 
file1.txt
file2.txt
file4.txt

解压tar_gzip.tar.gz到指定目录tar_test(没有这个目录就创建)

[root@ww test]# mkdir tar_test
[root@ww test]# tar xzf tar_gzip.tar.gz -C tar_test

解压tar_xz.tar.xz

[root@ww test]# tar xJvf tar_xz.tar.xz
data3.txt

2.在Linux上的/root目录创建一个Linux.txt,在windows上创建windows.txt
 通过sftp的 get和put命令,将windows上的windows.txt推送到linux上

sftp> put windows.txt
Uploading windows.txt to /root/windows.txt
windows.txt                                                                           100%    0     0.0KB/s   00:00

 通过sftp的 get和put命令,将linux上的linux.txt推送到windows上

sftp> get Linux.txt
Fetching /root/Linux.txt to Linux.txt

使用rz上传文件windows.txt到linux上


 使用sz下载文件linux.txt到windows上


3.创建普通变量local_data=1并访问

[root@ww ~]# export local_data=1
[root@ww ~]# echo $local_data 
1

  创建环境变量ROOT_DATA=root, 只有root用户可以访问到

[root@ww ~]# vim /root/.bashrc

export ROOT_DATA=root
[root@ww ~]# source .bashrc
[root@ww ~]# echo $ROOT_DATA
root

  创建环境变量USER_DATA=user, 只有普通用户可以访问到

[ww@ww ~]$ vim .bashrc 
export USER_DATA=user
[ww@ww ~]$ source .bashrc
[ww@ww ~]$ echo $USER_DATA 
user

  创建环境变量DATA=all, root用户和普通用户都可以访问到

[root@ww ~]# vim /etc/bashrc
export DATA=all
[root@ww ~]# source /etc/bashrc 
[root@ww ~]# echo $DATA 
all
[root@ww ~]# su - ww
[ww@ww ~]$ echo $DATA 
all

4.创建3个文件test1.txt, test2.txt, test3.txt
  使用find查找test1.txt,test2.txt, test3.txt
  使用别名: 将上边命令命名为myfind
  取消别名

[root@ww test]# touch test{1..3}.txt
[root@ww test]# ls
data1.txt    file1.txt          tar_gzip.tar.gz
data2.txt    file2.txt          tar_test
data3.txt    file3.txt          tar_xz.tar.xz
data_dir     file4.txt          test1.txt
data.tar.gz  tar_bzip2.tar.bz2  test2.txt
data.txt     tar_file.tar.gz    test3.txt

[root@ww test]# find . -name "test*.txt"
./test1.txt
./test2.txt
./test3.txt

[root@ww test]# alias myfind=`find . -name "test*.txt
[root@ww test]# myfind
-bash: ./test1.txt: Permission denied
-bash: ./test2.txt: Permission denied
-bash: ./test3.txt: Permission denied

[root@ww test]# unalias myfind 


5.查看最近使用的10条历史命令

[root@ww test]# history 10
  543  find . -name test*.txt
  544  find . -name test?.txt
  545  find ./ -name test*.txt
  546  find . -name "test*.txt"
  547  alias myfind=`find . -name "test*.txt"`
  548  myfind
  549  alias
  550  unalias myfind 
  551  myfind
  552  history 10


6.在一行上执行两个命令,打印123和从root切换到普通用户

[root@ww test]# echo 123;su - ww
123
[ww@ww ~]$ 


7.通配符使用
  创建3个文件 file1, file2, file3
  1.* 去匹配3个文件
  2.? 匹配3个文件
  3.[]匹配file1和file3
  4.[^]匹配file2
  5.[!]匹配file2
  6.{}匹配file1和file3

[root@ww test]# touch file{1..3}

[root@ww test]# ls -l file*
-rw-r--r--. 1 root root 0 Apr  7 21:01 file1
-rw-r--r--. 1 root root 0 Apr  6 21:17 file1.txt
-rw-r--r--. 1 root root 0 Apr  7 21:01 file2
-rw-r--r--. 1 root root 0 Apr  6 21:17 file2.txt
-rw-r--r--. 1 root root 0 Apr  7 21:01 file3
-rw-r--r--. 1 root root 0 Apr  6 21:17 file3.txt
-rw-r--r--. 1 root root 0 Apr  6 22:02 file4.txt
[root@ww test]# ls -l file?
-rw-r--r--. 1 root root 0 Apr  7 21:01 file1
-rw-r--r--. 1 root root 0 Apr  7 21:01 file2
-rw-r--r--. 1 root root 0 Apr  7 21:01 file3
[root@ww test]# ls -l file[1,3]
-rw-r--r--. 1 root root 0 Apr  7 21:01 file1
-rw-r--r--. 1 root root 0 Apr  7 21:01 file3
[root@ww test]# ls -l file[^1,3]
-rw-r--r--. 1 root root 0 Apr  7 21:01 file2
[root@ww test]# ls -l file[!1,3]
-rw-r--r--. 1 root root 0 Apr  7 21:01 file2
[root@ww test]# ls -l file{1,3}
-rw-r--r--. 1 root root 0 Apr  7 21:01 file1
-rw-r--r--. 1 root root 0 Apr  7 21:01 file3


8.引号的使用举例: 无引号,单引号,双引号,反引号,$()

[root@ww test]# echo 123       456
123 456
[root@ww test]# echo '123       456'
123       456
[root@ww test]# echo "123       456"
123       456
[root@ww test]# echo "$PS1"
[\u@\h \W]\$ 
[root@ww test]# echo $PS1
[\u@\h \W]\$
[root@ww test]# echo '$PS1'
$PS1
[root@ww test]# echo `ls -l file1`
-rw-r--r--. 1 root root 0 Apr 7 21:01 file1
[root@ww test]# echo $(ls -l file1)
-rw-r--r--. 1 root root 0 Apr 7 21:01 file1


9.linux中用户的类型:

超级用户——用户名为root,它具有一切权限,只有进行系统维护(例如:建立用户等)或其他必要情形下 才用超级用户登录,以避免系统出现安全问题。

系统用户(伪用户)——是Linux系统正常工作所必需的内建的用户。 主要是为了满足相应的系统进程对文件属主的要求而建立的,例如:bin、daemon、adm、lp等用户。 系统用户不能用来登录。

普通用户——是为了让使用者能够使用Linux系统资源而建立的,我们的大多数用户属于此类。

linux中用户组的类型:

基本组(私有组):建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是基本组,基本组只容纳一个用户。当把其他用户加入到该组中,则基本组就变成了附加组。

附加组(公有组):可以容纳多个用户,组中的用户都具有组所拥有的权利。

系统组:一般加入一些系统用户。

linux中存储用户信息的文件是哪个?且其中的字段是什么意思?

/etc/passwd

共七个字段,各字段含义:        

        账号名称:密码:UID:GID:个人资料:主目录:Shell

linux中存储组信息的文件是哪个?且其中的字段是什么意思?

/etc/group

共四个字段,各字段含义:

        Groupname:组的名字

        Passwd:组的加密口令

        GID:是系统区分不同组的ID,在/etc/passwd域中的GID字段是用这个数来指定用户的基本组

        Userlist:是用“,”分开的用户名,列出的是附加组的成员。


10.创建下列用户、组和组成员资格:
 1.创建名为 sysmgrs 的组

[root@ww test]# groupadd sysmgrs


 2.创建用户 natasha 同时指定sysmgrs作为natasha的附加组

[root@ww test]# useradd natasha -G sysmgrs 


 3.创建用户 harry 同时指定 sysmgrs作为harry的附加组

[root@ww test]# useradd harry -G sysmgrs 


 4.创建用户 sarah 指定shell类型为/sbin/false(无权访问系统上的交互式 shell)
  且不是 sysmgrs 的成员

[root@ww test]# useradd sarah -s /sbin/false
[root@ww test]# tail -5 /etc/passwd
tcpdump:x:72:72::/:/sbin/nologin
ww:x:1000:1000:ww:/home/ww:/bin/bash
natasha:x:1001:1002::/home/natasha:/bin/bash
harry:x:1002:1003::/home/harry:/bin/bash
sarah:x:1003:1004::/home/sarah:/sbin/false


 5.设置natasha 、 harry 和 sarah 的密码都是 123

[root@ww ~]# passwd natasha
Changing password for user natasha.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@ww ~]# passwd harry 
Changing password for user harry.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@ww ~]# passwd sarah
Changing password for user sarah.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.


 6.创建用户lockuser, 并指定家目录为/home/lock, 然后锁定该用户

[root@ww ~]# useradd lockuser -d /home/lock
[root@ww ~]# usermod -L lockuser 


 7.创建用户limituser, gid为1555,userid为1666, 让其密码在10天后过期

[root@ww ~]# groupadd limit -g 1555
[root@ww ~]# tail -5 /etc/group
natasha:x:1002:
harry:x:1003:
sarah:x:1004:
lockuser:x:1005:
limit:x:1555:
[root@ww ~]# useradd limituser -u 1666 -g 1555
[root@ww ~]# tail -5 /etc/passwd
natasha:x:1001:1002::/home/natasha:/bin/bash
harry:x:1002:1003::/home/harry:/bin/bash
sarah:x:1003:1004::/home/sarah:/sbin/false
lockuser:x:1004:1005::/home/lock:/bin/bash
limituser:x:1666:1555::/home/limituser:/bin/bash

[root@ww ~]# passwd -n10 limituser
Adjusting aging data for user limituser.
passwd: Success
[root@ww ~]# tail -1 /etc/shadow
limituser:!!:19089:10:99999:7:::


 8.解锁lockuser, 并设定下次登录时必须修改密码

[root@ww ~]# passwd -u lockuser 
Unlocking password for user lockuser.
passwd: Warning: unlocked password would be empty.
passwd: Unsafe operation (use -f to force)
[root@ww ~]# passwd -e lockuser 
Expiring password for user lockuser.
passwd: Success


 9.让natasha具备修改 harry密码的权限(sudo)
   visudo
   Host_Alias RHCSA=lwz
   User_Alias USER11=natasha
   Cmnd_Alias CHPASS=/usr/bin/passwd harry
   USER11 RCHSA=(root)  CHPASS

[natasha@ww ~]$ sudo passwd harry
Changing password for user harry.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

 10.创建用户testuser并设置密码,修改用户名为normaluser

[root@ww ~]# useradd testuser -p 123
[root@ww ~]# tail -1 /etc/passwd
testuser:x:1667:1667::/home/testuser:/bin/bash
[root@ww ~]# usermod testuser -l normaluser
[root@ww ~]# tail -1 /etc/passwd
normaluser:x:1667:1667::/home/testuser:/bin/bash

 11.删除lockuser

[root@ww ~]# userdel lockuser 
[root@ww ~]# tail /etc/passwd
gnome-initial-setup:x:979:977::/run/gnome-initial-setup/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
ww:x:1000:1000:ww:/home/ww:/bin/bash
natasha:x:1001:1002::/home/natasha:/bin/bash
harry:x:1002:1003::/home/harry:/bin/bash
sarah:x:1003:1004::/home/sarah:/sbin/false
limituser:x:1666:1555::/home/limituser:/bin/bash
normaluser:x:1667:1667::/home/testuser:/bin/bash
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值