目录
压缩和解压缩
zip:既归档又压缩的工具,可以压缩目录
例如:
[root@localhost ~]# zip 11.zip 11.txt
adding: 11.txt (stored 0%)
zip -9 zipname file
#最大压缩比的压缩
zip -r zipname directory
#-r: 压缩目录,将目录中的子目录及文件也一起压缩
zip -m zipname file:
#-m: 将文件加入到已压缩的压缩包中
zip zipname filelist -x file
#-x: 在压缩的时候将file排除在外,不压缩
unzip zipname -d directory
#-d:指定解压的目录
unzip -v zipname
#-v:查看压缩包中的内容,不解压
gzip和gunzip命令
[root@localhost test]# gzip test1.txt
[root@localhost test]# ls test1*
test1.txt.gz test1.zip
参数:-r 压缩过后,原文件删除
bzip2和bunzip2命令
bzip2压缩,原文件压缩之后消失
# bzip2 -z man.config //将man.config以bzip2压缩,此时man.config变成 man.config.bz2
# bzip2 -9 -c man.config > man.config.bz2 //将man.config用最佳的压缩比压缩,并保留原本的档案
# bzip2 -d man.config.bz2 //将man.config.bz2解压缩,可用bunzip2取代bzip2 -d
# bunzip2 man.config.bz2 //将man.config.bz2解压缩
xz、unxz命令
#压缩文件后,源文件消失
[root@localhost test]# xz test1.txt
[root@localhost test]# ls test1.txt.xz
test1.txt.xz
实例2:
[root@localhost test]# xz dir1/*
[root@localhost test]# ls dir1
fstab.xz test3.txt.xz test4.txt.xz test5.txt.xz
tar归档命令
选项 功能
c 创建.tar格式的包文件
x 释放.tar格式的包文件
t 查看包中的文件列表
v 表示在命令执行时显示详细的提示信息
f 用于指定包文件名。当与-c选项一起使用时,创建的tar包文件使用该选项指定的文件名;
当与-x选项一起使用时,则释放该选项指定的tar包文件。
p 打包时保留文件及目录的权限。
C 释放包时指定释放的目标的位置。
A 新增压缩文件到已存在的压缩,catenate
k 保留源文件
t 查看包中文件列表
z 调用gzip程序,以gzip格式压缩或解压缩文件。
j 调用bzip2程序,以bzip2格式压缩或解压缩文件。
J 使用xz压缩(.tar.xz)。xz的压缩率通常比bzip2更高。
--exclude=PATTERN 排除以 PATTERN 指定的文件
-X, --exclude-from=FILE 排除 FILE 中列出的模式串
文件上传下载
sftp命令
sftp root@192.168.233.131, sftp去登录进行文件传输
get: 获取,从远端获取到本地
put: 推送,从本地推送到远端
示例:
sftp> get /var/www/renwole.txt /home/
sftp> put /home/renwole.txt /mnt/
scp命令
# scp /renwole/mariadb.tar.gz root@223.6.6.6:/renwole123/
root@223.6.6.6’s password:【输入密码回车】
mariadb.tar.gz 8% 37MB 1.3MB/s 05:29 ETA
# scp root@223.6.6.6:/renwole123/mariadb.tar.gz /renwole
rz命令与sz命令
-+, --append: 将文件内容追加到已存在的同名文件
-a,--ascii: 以文本方式传输
-b, --binary: 以二进制方式传输,推荐使用
--delay-startup N: 等待N秒
-e, --escape: 对所有控制字符转义,建议使用
-E, --rename: 已存在同名文件则重命名新上传的文件,以点和数字作为后缀
-p, --protect: 对ZMODEM协议有效,如果目标文件已存在则跳过 -
q, --quiet: 安静执行,不输出提示信息
-v, --verbose: 输出传输过程中的提示信息
-y, --overwrite: 存在同名文件则替换
-X, --xmodem: 使用XMODEM协议
--ymodem: 使用YMODEM协议
-Z, --zmodem: 使用ZMODEM协议
--version: 显示版本信息
--h, --help: 显示帮助信息
sz命令
yum install lrzsz -y
环境变量
export 变量名=value
设置环境变量(永久生效)
[root@www ~]$ ls /root/.bashrc # 推荐再此文件中优先设置
/root/.bashrc
[root@www ~]$ ls /root/.bash_profile
/root/.bash_profile
全局:
[root@www ~]$ /etc/profile
[root@www ~]$ /etc/bashrc
[root@www ~]$ /etc/profile.d/
普通变量
name=value
name1='value'
name2="value"
name3=`cmd`
name4=$(cmd)
命令别名
通配符
字符 含义
* 匹符配任意字
? 匹配单个字符
[] 匹配方括号中的任意一个,不能用于创建目录和文件
[^] 匹配方括号中的任意一个字符或数字后进行取反,等同于[! ],表示范围可以
用".."或"—”,用于查找和删除目录和文件,不用于创建目录和文件
[!] 匹配方括号中的任意一个字符或数字后进行取反, 等同于[^ ],表示范围可以
用".."或"—", 用于查找和删除目录和文件,不用于创建目录和文件
[?-?] 匹配方括号范围内任意一个,用于查询、删除,但不能用于创建目录和文件
{string,string} 匹配括号中的任意一个字符串,表示一个范围时,字符串之间个".."
引号的使用
符号 作用
无引号,
' 单引号,输出时,将单引号内的所有内容都原样输出,这称为强引用
" 双引号,输出双引号内的所有内容,如果内容中有变量,特殊转义符等,会先把变量,转移
符等解析出结果,然后再输出最终内容,这成为强引用
` 反引号,一般用于引用命令,执行的时候命令会被执行,与$()作用相同,
$() 与`作用相同
用户和组的分类
文件功能 文件名称
用户账号文件 /etc/passwd
用户密码文件 /etc/shadow
用户组账号文件 /etc/group
用户组密码文件 /etc/gshadow
用户账号文件——/etc/passwd
用户密码文件——/etc/shadow
字段 含义
登录名 字面意思自己理解
加密口令 使用SHA-512/SHA-256/MD5算法加密后的密码,若为空,表示该用户无需密码即可登录,
若为“*”表示该账号不能用于登录系统,若为“!!”表示该账号密码已被锁定
最后一 最近一次更改密码的日期,以距离1970年1月1日的天数表示
次修改
时间
最小时 密码在多少天内不能被修改。默认值为0,表示不限制
间间隔
最大时 密码在多少天后必须被修改。默认值为99999,表示不进行限制
间间隔
警告时间 提前多少天警告用户密码将过期,默认值为7天,0表示不提供警告
不活动 密码过期多少天后禁用此用户
时间
失效时 密码失效日期,以距离1970年1月1日的天数表示,默认为空,表示永久可用
间
标志 保留未用,以便以后发展之用
用户组账号文件——/etc/group
字段 说明
Groupname 组的名字
Passwd 组的加密口令
GID 是系统区分不同组的ID,在/etc/passwd域中的GID字段是用这个数来指定用户的基本组
Userlist 是用“,”分开的用户名,列出的是附加组的成员。
用户管理
1、useradd
添加新用户
-c 注释信息——设定与用户相关的说明信息(如,真实姓名、邮箱地址等)。
-d 目录——设定用户的家目录(默认为/home/用户名)。
-e YYYY-MM-DD——设置用户的失效日期,此日期后将不能使用该账号。
-f 天数——指定密码到期后多少天账号被禁用,若指定为0,则表示账号到期后被立即禁用;若指定为-1,则表
示账号过期后不被禁用(即密码永不过期)。
-g 组名或GID号——为用户指定所属的基本组,该组在指定时必须已存在。
-G 组名或GID号列表——为用户指定所属的附加组,各组在指定时已存在,附加组可以有多个,组之间用“,”
分隔。
-M 不创建用户家目录。
-N 不创建与用户名同名的基本组。
-p 密码——指定用户的登录密码。
-s shell名——指定用户登录后使用的Shell,默认是bash。
-u 用户号——设置账号的UID,默认是已有用户的最大UID加1。如果同时有-o选项,则可以重复使用其他
用户的标识号。
示例
为用户账号设置密码——passwd命令
-d 清空指定用户的口令。这与未设置口令的账户不同,未设置口令的账户无法登录系统,而口令为空的
账户可以。
-f 强迫用户下次登录时必须修改口令。
-i 口令过期后多少天停用账户。
-l 锁定(停用)用户账户。
-n 指定口令的最短存活期。
-S 显示账户口令的简短状态信息(是否被锁定)。
-u 解锁用户账户。
修改用户属性——usermod命令
-c:改个人信息
-d:改用户家目录
-m:移动家目录
-g:改gid(基本组)
-G:改gid(附加组)
-u:改uid
-s:修改shell类型
-o:可以修改用户id为不唯一的值
-l:newlogin,改变用户登录名,且在不登录的情况下才可以更改
-L:lock,锁定用户
-U:unlock,解锁用户
删除用户账号——userdel命令
用户间切换——su(substitute user)命令
控制用户对系统命令的使用权限--sudo命令
用户组管理
创建用户组——groupadd命令
创建组:
[root@rhcsa ~]# groupadd testgroup
添加/删除组成员——gpasswd命令
[root@rhcsa ~]# gpasswd -a testuser1 testgroup2
Adding user testuser1 to group testgroup2
修改用户组属性——groupmod命令
-g GID——为用户组指定新的组标识号。
-n 新用户组——将用户组的名字改为新名字修改用户组的名称和用户组的GID值。
示例:将组group1的GID修改为2000,组名修改为group11
删除组账户——groupdel命令
[root@rhcsa ~]# gpasswd -d testuser1 testgroup2
Removing user testuser1 from group testgroup2
用户和组账户的信息显示
命令格式 作用
users|w|who 显示当前用户信息(三条命令)
id [用户名] 显示当前用户或指定用户的ID,以及所属组的ID
groups [用户名] 显示当前用户或指定用户所属组账号的信息