2.1 用户相关命令
id 命令
id 命令用于显示用户的详细信息,语法格式为id 用户名
useradd 命令
useradd 命令用于创建新的用户账户,语法格式为useradd [参数] 用户名
使用该命令创建用户账户时,默认的用户家目录会被存放在/home 目录中,默认的 Shell 解释器为/bin/bash,而且默认会创建一个与该用户同名的基本用户组。这些默认设置可以根据表 中的 useradd 命令参数自行修改。
参数 | 作用 |
---|---|
-d | 指定用户的家目录(默认为/home/username) |
-e | 账户的到期时间,格式为 YYYY-MM-DD. |
-u | 指定该用户的默认 UID |
-g | 指定一个初始的用户基本组(必须已存在) |
-G | 指定一个或多个扩展用户组 |
-N | 不创建与用户同名的基本用户组 |
-s | 指定该用户的默认 Shell 解释器 |
-m | 自动建立用户的登入目录 |
-n | 取消建立以用户名称为名的群组 |
groupadd 命令
groupadd 命令用于创建新的用户组,语法格式为groupadd [参数] 群组名
usermod 命令
usermod 命令用于修改用户的属性,英文全称为“user modify”,语法格式为usermod [参数] 用户名
Linux 系统中的一切都是文件,因此在系统中创建用户也就是修改配置文件的过程。用户的信息保存在/etc/passwd 文件中,可以直接用文本编辑器来修改其中的用户参数项目,也可以用 usermod 命令修改已经创建的用户信息,比如用户的 UID、基本/扩展用户组、默认终端等。
参数 | 作用 |
---|---|
-c | 填写用户账户的备注信息 |
-d -m | 参数-m 与参数-d 连用,可重新指定用户的家目录并自动把旧的数据转移过去 |
-e | 账户的到期时间,格式为 YYYY-MM-DD |
-g | 变更所属用户组 |
-G | 变更扩展用户组 |
-L | 锁定用户禁止其登录系统 |
-U | 解锁用户,允许其登录系统 |
-s | 变更默认终端 |
-u | 修改用户的 UID |
passwd 命令
passwd 命令用于修改用户的密码、过期时间等信息,英文全称为“password”,语法格式为passwd [参数] 用户名
普通用户只能使用 passwd 命令修改自己的系统密码,而 root 管理员则有权限修改其他所有人的密码。
参数 | 作用 |
---|---|
-l | 锁定用户,禁止其登录 |
-u | 解除锁定,允许用户登录 |
–stdin | 通过标准输入修改用户密码,如 echo “NewPassWord” | passwd --stdin Username |
-d | 使该用户可用空密码登录系统 |
-e | 强制用户在下次登录时修改密码 |
-S | 显示用户的密码是否被锁定,以及密码所采用的加密算法名称 |
passwd #修改自己的密码
passwd vainx #修改别人的密码
userdel 命令
userdel 命令用于删除已有的用户账户,英文全称为“user delete”,语法格式为userdel [参数] 用户名
在删除一个用户时,一般会建议保留它的家目录数据,以免有重要的数据被误删除。
su命令
用于变更为其他使用者身份,需要输入相应的用户密码,语法格式为su [选项] [使用者]
常用参数如下:
选项 | 参数含义 |
---|---|
-,-l | 为该使用者重新登陆,大部分环境变量(如HOME、SHELL和USER等)和工作目录都是以该使用者(USER)为主 |
-m,-p | 执行su时不改变环境变量 |
-c | 变更账号为USER的使用者,执行指令后再变回原来的使用者 |
sudo 命令
sudo 命令用于给普通用户提供额外的权限,语法格式为sudo [参数] 用户名
使用sudo命令可以给普通用户提供额外的权限来完成原本只有root管理员才能完成的任务,可以限制用户执行指定的命令,记录用户执行过的每一条命令,集中管理用户与权限(/etc/sudoers),以及可以在验证密码后的一段时间无须让用户再次验证密码。参数如下:
参数 | 作用 |
---|---|
-h | 列出帮助信息 |
-l | 列出当前用户可执行的命令 |
-u 用户名或 UID 值 | 以指定的用户身份执行命令 |
-k | 清空密码的有效时间,下次执行 sudo 时需要再次进行密码验证 |
-b | 在后台执行指定的命令 |
-p | 更改询问密码的提示语 |
2.2 常用系统工作命令
echo命令
用于在终端设备上输出字符串或变量提取后的值:echo [字符串] [$变量]
其中$符号的意思是提取变量的实际值
echo $SHELL
/bin/bash
date命令
用于显示或设置系统的时间与日期,语法格式为date [+指定的格式]
参数 | 作用 |
---|---|
%S | 秒(00~59) |
%M | 分钟(00~59) |
%H | 小时(00~23) |
%I | 小时(00~12) |
%m | 月份(1~12) |
%p | 显示出 AM 或 PM |
%a | 缩写的工作日名称(例如,Sun) |
%A | 完整的工作日名称(例如,Sunday) |
%b | 缩写的月份名称(例如,Jan) |
%B | 完整的月份名称(例如,January) |
%q | 季度(1~4) |
%y | 简写年份(例如,20) |
%Y | 完整年份(例如,2020) |
%d | 本月中的第几天 |
%j | 今年中的第几天 |
%n | 换行符(相当于按下回车键) |
%t | 跳格(相当于按下 Tab 键) |
按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间的date 命令如下所示:
date "+%Y-%m-%d %H:%M:%S"
2020-09-05 09:14:35
按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间的date 命令如下所示:
date -s "20201101 8:30:00"
Sun Nov 1 08:30:00 CST 2020
timedatectl命令
用于设置系统的时间,英文全称为“time date control”,语法格式为 timedatectl [参数]
参数 | 作用 |
---|---|
status | 显示状态信息 |
list-timezones | 列出已知时区 |
set-time | 设置系统时间 |
set-timezone | 设置生效时区 |
reboot命令
用于重启系统
poweroff命令
关闭系统
wget命令
用于终端命令行中下载网络文件,英文全称为“web get”,语法格式为wget [参数] 网址
参数 | 作用 |
---|---|
-b | 后台下载模式 |
-P | 下载到指定目录 |
-t | 最大尝试次数 |
-c | 断点续传 |
-p | 下载页面内所有资源,包括图片、视频等 |
-r | 递归下载 |
ps命令
用于查看系统中的进程状态,英文全称为“processes”,语法格式为ps [参数]
参数 | 作用 |
---|---|
-a | 显示所有进程(包括其他用户的进程) |
-u | 用户以及其他详细信息 |
-x | 显示没有控制终端的进程 |
linux系统中的五种常见状态:
- R 运行进程正在运行或在运行队列中等待。
- S 中断 进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该 状态
- D 不可中断。进程不响应系统异步信号,即便用 kill 命令也不能将其中断。
- Z 僵死。进程已经终止,但进程描述符依然存在, 直到父进程调用 wait4()系统函数 后将进程释放。
- T 停止。进程收到停止信号后停止运行。
除了上面 5 种常见的进程状态,还有可能是高优先级(<)、低优先级(N)、被锁进内存(L)、包含子进程(s)以及多线程(l)这 5 种补充形式。
pstree命令
pstree 命令用于以树状图的形式展示进程之间的关系,英文全称为“process tree”
top命令
动态地监视进程活动及系统负载等信息
nice命令
用于调整进程的优先级。语法格式为nice 优先级数字 服务名称
在 top 命令输出的结果中,PR 和 NI 值代表的是进程的优先级,数字越低(取值范围是 -20~19),优先级越高
nice -n -20 bash
pidof命令
pidof 命令用于查询某个指定服务进程的 PID 号码值,语法格式为pidof [参数] 服务名称
每个进程的进程号码值(PID)是唯一的,可以用于区分不同的进程。例如,执行如下命令来查询本机上 sshd 服务程序的 PID:
pidof sshd
2156
kill命令
kill 命令用于终止某个指定 PID 值的服务进程,语法格式为kill [参数] 进程的PID
kill -9 2156 #有时进程无法被终止,可使用-9表示最高级别的强制杀死
killall命令
killall 命令用于终止某个指定名称的服务所对应的全部进程,语法格式为killall [参数] 服务名称
2.3 系统状态检测命令
ifconfig命令
命令用于获取网卡配置与网络状态等信息,英文全称为“interface config”,语法 格式为ifconfig [参数] [网络设备]
unname命令
用于查看系统内核版本与系统架构等信息,英文全称为“unix name”,语法格 式为uname [-a]
uptime命令
uptime 命令用于查看系统的负载信息,输入该命令后按回车键执行即可。 uptime 命令真的很棒,它可以显示当前系统时间、系统已运行时间、启用终端数量以及 平均负载值等信息。平均负载值指的是系统在最近 1 分钟、5 分钟、15 分钟内的压力情况,负载值越低越好
free命令
用于显示当前系统中内存的使用量信息,语法格式为free [-h]
(易读模式)
who命令
who 命令用于查看当前登入主机的用户终端信息
last命令
last 命令用于调取主机的被访记录
ping命令
ping 命令用于测试主机之间的网络连通性,语法格式为ping [参数] 主机地址
parameter | function |
---|---|
-c | 发送次数 |
-l | 指定网卡名称 |
-I | 每次间隔时间(s) |
-W | 最长等待时间(s) |
tracepath命令
tracepath 命令用于显示数据包到达目的主机时途中经过的所有路由信息,语法格式为 tracepath [参数] 域名
当两台主机之间无法正常 ping 通时,要考虑两台主机之间是否有错误的路由信息,导致 数据被某一台设备错误地丢弃。这时便可以使用 tracepath 命令追踪数据包到达目的主机时途中的所有路由信息。
netstat命令
netstat 命令用于显示如网络连接、路由表、接口状态等的网络相关信息,英文全称为 “network status”,语法格式为netstat [参数]
parameter | function |
---|---|
-a | 显示所有连接中的 Socket |
-p | 显示正在使用的 Socket 信息 |
-t | 显示 TCP 协议的连接状态 |
-u | 显示 UDP 协议的连接状态 |
-n | 使用 IP 地址,不使用域名 |
-l | 仅列出正在监听的服务状态 |
-i | 现在网卡列表信息 |
-r | 显示路由表信息 |
history命令
history 命令用于显示执行过的命令历史,语法格式为history [-c]
执行 history 命令能显示出当前用户在本地计算机中执行过的最近 1000 条命令记录。如果觉得 1000 不够用,可以自定义/etc/profile 文件中的 HISTSIZE 变量值。
sosreport命令
sosreport 命令用于收集系统配置及架构信息并输出诊断文档
2.4查找定位文件命令
pwd命令
用于显示用户当前所处的工作目录,英文全称为“print working directory”
cd命令
英文全称 change directory,语法格式为cd [参数] [目录]
cd -”命令返回到上一次所处的目录,使用“cd…”命令进入上级目录,以及使用“cd~”命令切换到当前用户的家目录,或使用“cd~username”命令切换到其他用户的家目录
ls命令
用于显示目录中的文件信息,英文全称为“list”,语法格式为ls [参数] [文件名称]
使用 ls 命令的-a 参数 可以看到全部文件(包括隐藏文件),使用-l 参数可以查看文件的属性、大小等详细信息
tree命令
tree 命令用于以树状图的形式列出目录内容及结构。
find命令
find 命令用于按照指定条件来查找文件所对应的位置,语法格式为find [查找范围(目录)] 寻找条件
Linux 系统中的一切都是文件,搜索工作一般都是通过 find 命令来完成的,它可以使用不同的文件特性作为寻找条件(如文件名、大小、修改时间、权限等信息),一旦匹配成功则默认将信息显示到屏幕上。
parameter | function |
---|---|
-name | 匹配名称 |
-perm | 匹配权限(mode 为完全匹配,-mode 为包含即可) |
-user | 匹配所有者 |
-group | 匹配所属组 |
-mtime -n +n | 匹配修改内容的时间(-n 指 n 天以内,+n 指 n 天以前) |
-atime -n +n | 匹配访问文件的时间(-n 指 n 天以内,+n 指 n 天以前) |
-ctime -n +n | 匹配修改文件权限的时间(-n 指 n 天以内,+n 指 n 天以前) |
-nouser | 匹配无所有者的文件 |
-nogroup | 匹配无所属组的文件 |
-newer f1 !f2 | 匹配比文件 f1 新但比 f2 旧的文件 |
–type b/d/c/p/l/f | 匹配文件类型(后面的字母依次表示块设备、目录、字符设备、管道、链接 文件、文本文件 |
-size | 匹配文件的大小(+50KB 为查找超过 50KB 的文件,而-50KB 为查找小于 50KB 的文件) |
-prune | 忽略某个目录 |
-exec… {}; | 后面可跟用于进一步处理搜索结果的命令 |
这里需要重点讲解-exec 参数的重要作用。这个参数用于把 find 命令搜索到的结果交由紧 随其后的命令作进一步处理。它十分类似于管道符技术,并且由于 find 命 令对参数有特殊要求,因此虽然 exec 是长格式形式,但它的前面依然只需要一个减号(-)。
如果要想获取该目录中所有以 host 开头的文件列表,可以执行如下命令:
find /etc -name "host*"
如果要在整个系统中搜索权限中包括 SUID 权限的所有文件,只需使用 -4000 即可
find / -perm -4000 -print
locate命令
locate 命令用于按照名称快速搜索文件所对应的位置,语法格式为locate 文件名称
使用 find 命令进行全盘搜索虽然更准确,但是效率有点低。如果仅仅是想找一些常见的且又知道大概名称的文件,不如试试 locate 命令。在使用 locate 命令时,先使用 updateddb 命 令生成一个索引库文件,这个库文件的名字是/var/lib/mlocate/mlocate.db,后续在使用 locate 命令搜索文件时就是在该库中进行查找操作,速度会快很多。
whereis命令
whereis 命令用于按照名称快速搜索二进制程序(命令)、源代码以及帮助文件所对应的位置,语法格式为whereis 命令名称
简单来说,whereis 命令也是基于 updatedb 命令所生成的索引库文件进行搜索,它与 locate 命令的区别是不关心那些相同名称的文件,仅仅是快速找到对应的命令文件及其帮助文件所在的位置。
which命令
which 命令用于按照指定名称快速搜索二进制程序(命令)所对应的位置,语法格式为 which 命令名称
which 命令是在 PATH 变量所指定的路径中,按照指定条件搜索命令所在的路径。也就是 说,如果我们既不关心同名文件(find 与 locate),也不关心命令所对应的源代码和帮助文件 (whereis),仅仅是想找到命令本身所在的路径,那么这个 which 命令就太合适了。
2.5 文本文件编辑命令
cat命令
cat 命令用于查看纯文本文件(内容较少的),英文全称为“concatenate”,语法格式为cat [参数] 文件名称
如果在查看文本内容时还想顺便显示行号的话,不妨在 cat 命令后面追加一个-n
参数。
more命令
more 命令用于查看纯文本文件(内容较多的),语法格式为more [参数] 文件名称
more 命令会在最下面使用百分比的形式来提示已经阅读了多少内容,还可以使用空格键或回车键向下翻页。
head命令
head 命令用于查看纯文本文件的前 N 行,语法格式为head [参数] 文件名称
如果只想 查看文本中前 10 行的内容
head -n 10 filename
tail命令
tail 命令用于查看纯文本文件的后 N 行或持续刷新文件的最新内容,语法格式为tail [参数] 文件名称
。操作方法与head类似
tail 命令最强悍的功能是能够持续刷新一个文件的内容,当想要实时查看最新的日志文件 时,这特别有用,此时的命令格式为tail -f 文件名称
:
tail -f filename
tr命令
tr 命令用于替换文本内容中的字符,英文全称为“translate”,语法格式为tr [原始字符] [目标字符]
在很多时候,我们想要快速地替换文本中的一些词汇,又或者想把整个文本内容都进行替换。如果进行手工替换,难免工作量太大,尤其是需要处理大批量的内容时,进行手工替换更是不现实。这时,就可以先使用 cat 命令读取待处理的文本,然后通过管道符把这些文本内容传递给 tr 命令进行替换操作即可。例如,把某个文本内容中的英文全部 替换为大写:
cat filename | tr [a-z] [A-Z]
wc命令
wc 命令用于统计指定文本文件的行数、字数或字节数,英文全称为“word counts”,语 法格式为wc [参数] 文件名称
parameter | function |
---|---|
-l | 只显示行数 |
-w | 只显示单词数 |
-c | 只显示字节数 |
在 Linux 系统中,/etc/passwd 是用于保存所有用户信息的文件,要统计当前系统中有多少个用户,可以使用下面的命令来进行查询:
wc -l /etc/passwd
stat命令
stat 命令用于查看文件的具体存储细节和时间等信息,英文全称为“status”,语法格式为 stat 文件名称
。
大家都知道,文件有一个修改时间。其实,除了修改时间之外,Linux 系统中的文件包含 3 种时间状态,分别是 Access Time(内容最后一次被访问的时间,简称为 Atime),Modify Time(内容最后一次被修改的时间,简称为 Mtime)以及 Change Time(文件属性最后一次被修改的时间,简称为 Ctime)
grep命令
grep 命令用于按行提取文本内容,语法格式为grep [参数] 文件名称
grep 命令是用途最广泛的文本搜索匹配工具
parameter | function |
---|---|
-n | 显示搜索到的信息的行号 |
-v | 反选信息(即没有包含关键词的所有信息行) |
-b | 将可执行文件(binary)当作文本文件(text)来搜索 |
-c | 仅显示找到的行数 |
-I | 忽略大小写 |
在 Linux 系统中,/etc/passwd 文件保存着所有的用户信息,而一旦用户的登录终端被设置成/sbin/nologin,则不再允许登录系统,因此可以使用 grep 命令查找出当前系统中不允许登录系统的所有用户的信息:
grep /sbin/nologin /etc/passwd
cut命令
用于按“列”提取文本内容,语法格式为cut [参数]
文件名称”。系统文件在保存用户数据信息时,每一项值之间是采用冒号来间隔的,先查看一下:
head -n 2 /etc/passwd
一般而言,按基于“行”的方式来提取数据是比较简单的,只需要设置好要搜索的关键 词即可。但是如果按“列”搜索,不仅要使用-f 参数设置需要查看的列数,还需要使用-d 参 数来设置间隔符号。
接下来使用下述命令尝试提取出 passwd 文件中的用户名信息,即提取以冒号(:)为间 隔符号的第一列内容:
cut -d : -f 1 /etc/passwd
diff命令
diff 命令用于比较多个文件之间内容的差异,英文全称为“different”,语法格式为diff [参数] 文件名称A 文件名称B
在使用 diff 命令时,不仅可以使用–brief 参数来确认两个文件是否相同,还可以使用-c 参数来详细比较出多个文件的差异之处。这绝对是判断文件是否被篡改的有力神器。
接下来使用diff --brief
命令显示比较后的结果,判断文件是否相同
diff --brief diff_A.txt diff_B.txt
最后使用带有-c
参数的 diff 命令来描述文件内容具体的不同
diff -c diff_A.txt diff_B.txt
uniq命令
uniq 命令用于去除文本中连续的重复行,英文全称为“unique”,语法格式为uniq [参数] 文件名称
sort命令
sort 命令用于对文本内容进行再排序,语法格式为“sort [参数] 文件名称”。
有时文本中的内容顺序不正确,一行行地手动修改实在太麻烦了。此时使用 sort 命令就再合适不过了,它能够对文本内容进行再次排序。
parameter | function |
---|---|
-f | 忽略大小写 |
-b | 忽略缩进与空格 |
-n | 以数值型排序 |
-r | 反向排序 |
-u | 去除重复行 |
-t | 指定间隔符 |
-k | 设置字符段范围 |
在执行 sort 命令后默认会按照字母顺序进行排序sort test.txt
此外,与 uniq 命令不同,sort 命令是无论内容行之间是否夹杂有其他内容,只要有两个一模一样的内容行,立马就可以使用-u 参数进行去重操作。
2.6 文件目录管理命令
touch命令
touch 命令用于创建空白文件或设置文件的时间,语法格式为touch [参数] 文件名称
parameter | function |
---|---|
-a | 仅修改“访问时间”(Atime ) |
-m | 仅修改“修改时间”(Mtime ) |
-d | 同时修改上述两者 |
touch -d "2020-05-04 15:44" anaconda-ks.cfg
mkdir命令
mkdir 命令用于创建空白的目录,英文全称为“make directory”,语法格式为mkdir [参数] 目录名称
除了能创建单个空白目录外,mkdir 命令还可以结合-p 参数来递归创建出具有嵌套层叠关系的文件目录
cp命令
cp 命令用于复制文件或目录,英文全称为“copy”,语法格式为cp [参数] 源文件名称 目标文件名称
在 Linux 系统中,复制操作具体分为 3 种情况:
- 如果目标文件是目录,则会把源文件复制到该目录中;
- 如果目标文件也是普通文件,则会询问是否要覆盖它;
- 如果目标文件不存在,则执行正常的复制操作。
复制目录时要加上-r 参数
parameter | function |
---|---|
-p | 保留原始文件的属性 |
-d | 若对象为“链接文件”,则保留该“链接文件”的属性 |
-r | 递归持续复制(用于目录) |
-i | 若目标文件存在则询问是否覆盖 |
-a | 相当于-pdr(p、d、r 为上述参数) |
mv命令
mv 命令用于剪切或重命名文件,英文全称为“move”,语法格式为mv [参数] 源文件 名称 目标文件名称
rm命令
rm 命令用于删除文件或目录,英文全称为“remove”,语法格式为rm [参数] 文件 名称
在 Linux 系统中删除文件时,系统会默认向您询问是否要执行删除操作,如果不想总是 看到这种反复的确认信息,可在 rm 命令后跟上-f 参数来强制删除。另外,要想删除一个目录, 需要在 rm 命令后面加一个-r 参数才可以,否则删除不掉。
parameter | function |
---|---|
-f | 强制执行 |
-i | 删除前询问 |
-r | 删除目录 |
-v | 显示过程 |
dd命令
dd 命令用于按照指定大小和个数的数据块来复制文件或转换文件,语法格式为dd if=参数值 of=参数值 count=参数值 bs=参数值
dd 命令是一个比较重要而且比较有特色的命令,它能够让用户按照指定大小和个数的数 据块来复制文件的内容。当然,如果愿意的话,还可以在复制过程中转换其中的数据。Linux 系统中有一个名为/dev/zero 的设备文件,充满哲学理论的色彩。因 为这个文件不会占用系统存储空间,但却可以提供无穷无尽的数据,因此常常使用它作为 dd 命令的输入文件,来生成一个指定大小的文件。
Key | Value |
---|---|
if | 输入的文件名称 |
of | 输出的文件名称 |
bs | 设置每个“块”的大小 |
count | 设置要复制“块”的个数 |
例如,用 dd 命令从/dev/zero 设备文件中取出一个大小为 560MB 的数据块,然后保存成 名为 560_file 的文件。在理解了这个命令后,以后就能随意创建任意大小的文件了:
dd if=/dev/zero of=560_file count=1 bs=560M
1+0 records in
1+0 records out
587202560 bytes (587 MB, 560 MiB) copied, 1.28667 s, 456 MB/s
dd 命令的功能也绝不仅限于复制文件这么简单。如果想把光驱设备中的光盘制作成 iso 格式的镜像文件,在 Windows 系统中需要借助于第三方软件才能做到,但在 Linux 系统中可 以直接使用 dd 命令来压制出光盘镜像文件,将它变成一个可立即使用的 iso 镜像:
dd if=/dev/cdrom of=RHEL-server-8.0-x86_64-LinuxProbe.Com.iso
file命令
file 命令用于查看文件的类型,语法格式为file 文件名称
在 Linux 系统中,由于文本、目录、设备等所有这些一切都统称为文件,但是它们又不 像 Windows 系统那样都有后缀,因此很难通过文件名一眼判断出具体的文件类型,这时就需 要使用 file 命令来查看文件类型了。
在 Windows 系统中打开文件时,一般是通过用户双击鼠标完成的,系统会自行判 断用户双击的文件是什么类型,因此需要有后缀进行区别。而 Linux 系统则是根据用户 执行的命令来调用文件,例如执行 cat 命令查看文本,执行 bash 命令执行脚本等,所 以也就不需要强制让用户给文件设置后缀了。
tar命令
tar 命令用于对文件进行打包压缩或解压,语法格式为tar [参数] 文件名称
Key | Value |
---|---|
-c | 创建压缩文件 |
-x | 解开压缩文件 |
-t | 查看压缩包内有哪些文件 |
-z | 用 gzip 压缩或解压 |
-j | 用 bzip2 压缩或解压 |
-v | 显示压缩或解压的过程 |
-f | 目标文件名 |
-p | 保留原始的权限与属性 |
-P | 使用绝对路径来压缩 |
-C | 指定解压到的目录 |
- 首先,-c 参数用于创建压缩文件,-x 参数用于解压文件,因此这两个参数不能同时使用。
- 其次,-z 参数指定使用 gzip 格式来压缩或解压文件,-j 参数指定使用 bzip2 格式来压缩或解压文件。用户使用时则是根据文件的后缀来决定应使用何种格式的参数进行解压。在执行某 些压缩或解压操作时,可能需要花费数个小时,如果屏幕一直没有输出,您一方面不好判断 打包的进度情况,另一方面也会怀疑电脑死机了,因此非常推荐使用-v 参数向用户不断显示压缩或解压的过程。
- -C 参数用于指定要解压到哪个指定的目录。-f 参数特别重要,它必须放到参数的最后一位,代表要压缩或解压的软件包名称。
常用命令 tar -czvf 压缩包名称.tar.gz 要打包的目录
命令把指定的文件进行打包压缩;相应的解压命令为tar -xzvf 压缩包名称.tar.gz
chown命令
用于修改文件所有者和组别,语法格式为chown [选项] [文件所有者][所有者组名] 文件
,其中文件所有者为修改后的文件所有者。
选项 | 参数含义 |
---|---|
-c | 详尽地描述每个file实际该笔拿了哪些所有权 |
-f | 忽略错误信息 |
-R | 递归处理,将指定目录下的所有文件及子目录一并处理 |
-v | 显示详细的处理信息 |
chown root test.txt
chgrp命令
用于改变文件的组的所有权,语法格式为chgrp [选项] 文件所有组 文件
,其中文件所有组为改变后的文件组拥有者。
选项 | 参数含义 |
---|---|
-c | 详尽地描述每个file实际该笔拿了哪些所有权 |
-f | 忽略错误信息 |
-R | 递归处理,将指定目录下的所有文件及子目录一并处理 |
-v | 显示详细的处理信息 |
chgrp root test.txt
chmod命令
用于改变文件的访问权限
chmod可使用符号标记进行更改和八进制数指定更改两种方式,因此它的格式也有两种不同的形式。
- 符号标记语法格式:
chmod [选项] 符号权限[符号权限] 文件
,其中用户权限可以设定多个,也就是说可以指定多个用户级别的权限,它们中间要用逗号分开表示,若没有显式指出则表示不作更改。 - 八进制数语法格式:
chmod [选项] 八进制权限 文件
,其中八进制权限是指要更改后的文件权限。
选项 | 参数含义 |
---|---|
-c | 若该文件权限确实已经更改,才显式其更改动作 |
-f | 若该文件权限无法被更改也不要显示错误信息 |
-v | 显示权限变更的详细资料 |
chmod a+rx,u+w test.txt
chmod 765 test.txt