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