RHCSA--命令(一)
一、常见快捷键命令
快捷键 | 作用 |
---|---|
tab | 单词补全 |
ctrl+c | 终止当前任务 |
ctrl+l | 清屏 |
ctrl+insert | 复制 |
shift+insert | 粘贴 |
ctrl+shift+= | 放大字号 |
ctrl+- | 缩小字号 |
ctrl+z | 终止进程 |
二、命令提示符
默认:[root@localhost ~]#
root:现已登录的账户名,可以通过su 普通账户 命令进行切换查看
@:分隔符
localhost:当前主机名
~:该位置表示当前工作目录, ~ 表示/root
# : 该位置有2种符号,# 表示以root身份登录,$表示以普通账户身份登录
三、常见命令
1.目录切换--cd
(1)作用:更改当前工作目录,即切换目录
(2)格式:cd -参数 路径
(3)路径:
绝对路径:从/根目录开始描述,推荐
相对路径:从当前工作目录开始描述
(4)示例
[root@server ~]# cd /
[root@server /]# cd /root
[root@server ~]# cd /home
[root@server home]# cd ~
[root@server ~]# cd /etc
[root@server etc]# cd ..
[root@server /]# cd .
[root@server ~]# cd /
[root@server /]# cd /root
[root@server ~]# cd /home
[root@server home]# cd ~
[root@server ~]# cd /etc
[root@server etc]# cd ..
[root@server /]# cd .
# 快速返回用户家目录
[root@server ~]# cd /media
[root@server media]# cd # 输入cd直接回车
[root@server ~]#
2.查看当前工作目录--pwd
[root@server /]# cd /etc
[root@server etc]# pwd
/etc
[root@server etc]# cd /etc/yum.repos.d
[root@server yum.repos.d]# pwd
/etc/yum.repos.d
[root@server yum.repos.d]# cd /etc/NetworkManager/system-connections
[root@server system-connections]# pwd
/etc/NetworkManager/system-connections
3.浏览目录内文件--ls
格式
ls -参数 路径
参数
参数 | 作用 |
---|---|
-l | 以列表的形式显示目录内的文件详细信息 =ll |
-d | 显示指定目录本身的信息 |
-c | 按文件的修改时间排序后显示 |
-h | 以易于理解的方式显示目录或文件的大小,如:kB MB GB |
-R | 以递归形式显示指定目录内的所有信息 |
-a | 显示目录内容所有文件,一般用于显示隐藏文件 |
-A | 同-a,不显示点和点点目录 |
-i | 显示文件的索引节点号(inode) |
-dl | 显示当前路径的详细信息 |
-Z | 显示每个文件的标签,一般配合l一起使用 |
ls浏览后的颜色表示
蓝色:目录文件
白色:普通文件
黄色:设备文件
绿色:可执行文件,脚本
浅蓝色:链接文件
红色:压缩文件
示例
[root@server system-connections]# cd /
[root@server /]# ls
afs bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@server /]# ls /dev
[root@server /]# ls -ld(dl) / 查看某个目录自己的ls -l <==> ll
4.修改用户密码--passwd
# 修改root账户的密码,前提已进入系统
[root@server ~]# passwd
更改用户 root 的密码 。
新的密码: # 输入密码654321,注意不回显
无效的密码: 密码少于 8 个字符 # 不用理会
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
# 在root账户下修改普通账户的密码
[root@server ~]# passwd fox
更改用户 fox 的密码 。
新的密码:
无效的密码: 密码少于 8 个字符
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
5.查看命令帮助
5.1man
man命令用来提供在线帮助,使用权限是所有用户。
使用man命令可以调阅其中的帮助信息,非常方便实用。
[root@server ~]# man ls
常用操作按键如下:
按键 | 作用 |
---|---|
空格键,PaGe down | 向下翻一页 |
PaGe up,b | 向上翻一页 |
home | 直接前往首页 |
end | 直接前往尾页 |
/ | 从上至下搜索某个关键词,如“/linux” |
? | 从下至上搜索某个关键词,如“?linux” |
n | 定位到下一个搜索到的关键词 |
N | 定位到上一个搜索到的关键词 |
q | 退出帮助文档 |
帮助信息的结构如下:
结构名称 | 代表意义 |
---|---|
NAME | 命令的名称 |
SYNOPSIS | 参数的大致使用方法 |
DESCRIPTION | 介绍说明 |
EXAMPLES | 演示(附带简单说明) |
OVERVIEW | 概述 |
DEFAULTS | 默认的功能 |
OPTIONS | 具体的可用选项(带介绍) |
ENVIRONMENT | 环境变量 |
FILES | 用到的文件 |
SEE ALSO | 相关的资料 |
HISTORY | 维护历史与联系方式 |
man手册的几个部分
区段1:用户指令,查看命令的帮助
区段2:系统调用,查看可被内核调用的函数的帮助
区段3:程序库调用,查看函数和函数库的帮助
区段4:设备,查看特殊文件的帮助(主要是/dev目录下的文件)
区段5:文件格式,查看配置文件的帮助
区段6:游戏,查看游戏的帮助
区段7:杂项,惯例与协议等,例如Linux文件系统、网络协议、ASCII code等等的说明
区段8:系统指令,查看系统管理员可用的命令的帮助
区段9:内核内部指令,查看内核相关文件的帮助使用如下命令可以知道某个命令在man的哪个区段有相关帮助文档:
[root@server ~]# whatis man
man (7) - macros to format man pages
man (1) - an interface to the on-line reference manuals
man (1p) - display system documentation
[root@server ~]# man -f man
man (7) - macros to format man pages
man (1) - an interface to the on-line reference manuals
man (1p) - display system documentation[root@server ~]# man 1 man
[root@server ~]# man 7 man
5.2info
info与man的用途其实差不多,都是用来查询命令的用法或者是文件的格式。
但是与man page不同的是,info page则是将文件数据拆成一个一个的段落,每个段落用自己的页面来撰写, 并且在各个页面中还有类似网页的『超链接』来跳到各不同的页面中,每个独立的页面也被称为一个节点(node)。
不过你要查询的目标数据的说明文件必须要以info的格式来写成才能够使用info的特殊功能(例如超链接)。 而这个支持info命令的文件默认是放置在/usr/share/info/这个目录当中的。
[root@server info]# info info
可以使用的按键:
快 捷 键 | 作 用 |
---|---|
上箭头 | 向上移动一行 |
下箭头 | 向下移动一行 |
PgUp | 向上翻一页 |
PgDn | 向下翻一页 |
Tab | 在有“*”符号的节点间进行切换 |
回车 | 进入有“*”符号的子页面,查看详细帮助信息 |
u | 进入上一层信息 |
n | 进入下一小节信息 |
p | 回到上一小节信息 |
s或者/ | 在info page中使用关键字搜索 |
? | 查看帮助信息 |
q | 退出 info 信息 |
5.3--help
6.date命令
用于显示或设置系统的时间与日期
格式
date -参数 +显示的日期时间格式
常见日期时间格式
日期时间格式 | 作用 |
---|---|
%Y | 完整年份(如:2023) |
%m | 月份(1-12) |
%d | 本月中第几天 |
%H %I | 小时(00-23) 小时(00-12) |
%M | 分钟(00-59) |
%S | 秒(00-59) |
%j | 今年中第几天 |
%X | 相当于%H:%M:%S |
%Z %z | 显示时区 |
%A %a | 星期几 几 |
%p | 显示本地AM或PM |
%F | 完整的年月日,等于%Y-%m-%d |
%T | 时间,等于%H:%M:%S |
%U | 一年中的第几周 |
示例
[root@server ~]# date
2023年 04月 27日 星期四 14:51:22 CST[root@server ~]# date "+%j"
117
# %j表示今天为本年度第几天,一般用于备份文件,当查看时数字越大文件越新[root@server ~]# date "+%Y-%m-%d"[root@server ~]# date "+%H:%M:%S"[root@server ~]# date +%Y-%m-%d %H:%M:%S # 报错,需要加双引号
date: 额外的操作数 “%H:%M:%S”
请尝试执行 "date --help" 来获取更多信息。[root@server ~]# date "+%Y-%m-%d %H:%M:%S" # 参数中有空格需要加双引号
2023-04-27 15:03:57[root@server ~]# date "+%Y年%m月%d日" # %Y等参数为单独个体,相互之间无直接联系
2023年04月27日
[root@server ~]# date "+ %Y年%m月%d日"2023年04月27日[root@server ~]# date "+%Y-%m-%d %p %H:%M:%S %A %Z"
2023-04-27 下午 15:05:28 星期四 CST[root@server ~]# date "+%Y-%m-%d %p %H:%M:%S %A %Z 今天为今年第%j天"
2023-04-27 下午 15:05:50 星期四 CST 今天为今年第117天
修改日期时间
手动修改
格式
date -s 日期时间
示例
[root@server ~]# date
2023年 04月 27日 星期四 15:27:10 CST
[root@server ~]# date -s 20230501
2023年 05月 01日 星期一 00:00:00 CST[root@server ~]# date -s 15:28:50
2023年 04月 27日 星期四 15:28:50 CST[root@server ~]# date -s "20230427 15:44:30"
2023年 04月 27日 星期四 15:44:30 CST
自动修改
[root@server ~]# systemctl status chronyd
#时间同步服务查询
[root@server ~]# vim /etc/chrony.conf
#打开后删除pool 2.rhel.pool.ntp.org iburst(因为这个是国外的同步时间),输入sever ntp.aliyun.com iburst
[root@server ~]# systemctl restart chronyd #重启服务
[root@server ~]# chronyc sources -v
#开启时间同步(当看到*说明同步成功)
7.timedatectl命令
作用
设置系统时间、时区
格式
timedatectl -参数 命令
timedatectl的命令作用
show:给出所有信息
status :显示状态信息
list-timezones :列出已知时区
set-timezone:设置生效时区
set-time:设置系统时间
示例
查询系统时间与时区
[root@server ~]# timedatectl statusLocal time: 四 2023-04-27 15:48:55 CSTUniversal time: 四 2023-04-27 07:48:55 UTCRTC time: 四 2023-04-27 07:48:38Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: noNTP service: activeRTC in local TZ: no
设置时区
[root@server ~]# timedatectl set-timezone Asia/Shanghai
手动设置时间
[root@server ~]# timedatectl set-time 18:00
Failed to set time: Automatic time synchronization is enabled
[root@server ~]# timedatectl set-ntp no # 注意:必须先关闭ntp时间同步
[root@server ~]# timedatectl set-time 18:00# 可以开启ntp时间同步协议
[root@server ~]# timedatectl set-ntp yes
[root@server ~]# date
2023年 04月 27日 星期四 15:53:50 CST
8.查看日历--cal
格式
cal 月份 年份
示例
[root@server ~]# cal
[root@server ~]# cal 2023
[root@server ~]# cal 5 2023
[root@server ~]# cal -3 2025-8-25 #显示包括它的前后三个月
[root@server ~]# cal -n 2 2025-8-15
#显示包括它的后2个月
9.建立硬连接
格式
ln -参数 源文件 目标文件
示例
[root@server ~]# touch temp1 # 新建文件
[root@server ~]# stat temp1 # 查看硬连接数文件:temp1大小:0 块:0 IO 块:4096 普通空文件
设备:fd00h/64768d Inode:9252678 硬链接:1 # 注意
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2023-05-04 11:12:25.590646655 +0800
最近更改:2023-05-04 11:12:25.590646655 +0800
最近改动:2023-05-04 11:12:25.590646655 +0800
创建时间:2023-05-04 11:12:25.590646655 +0800
[root@server ~]# ln temp1 temp2 # 新建硬连接,temp2指向temp1所对应的数据
[root@server ~]# stat temp1文件:temp1大小:0 块:0 IO 块:4096 普通空文件
设备:fd00h/64768d Inode:9252678 硬链接:2
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2023-05-04 11:12:25.590646655 +0800
最近更改:2023-05-04 11:12:25.590646655 +0800
最近改动:2023-05-04 11:13:12.586641253 +0800
创建时间:2023-05-04 11:12:25.590646655 +0800
[root@server ~]# echo "china" > temp1
[root@server ~]# cat temp1
china
[root@server ~]# cat temp2
china
注意
硬连接建立后,删除源文件数据依然可以访问,只有硬连接为0时则数据无法访问
10.建立软连接
原理
软连接本质是一种符号连接,类似于Windows的快捷方式,存储对应文件的路径
格式
ln -s 源文件 软连接名称
示例
硬连接不能给目录建立
目录自带2个硬连接,即目录中的". 和 目录名本身"
不可以在不同的文件系统中建立硬连接,由于inode是当前文件所在本文件系统的索引值即只能在本分区使用,则硬连接不能跨越文件系统
用途:硬连接一般用于数据的备份
[root@server /]# cd ~
[root@server ~]# echo "china" > h1.txt
[root@server ~]# ln -s h1.txt h2.txt
[root@server ~]# ll h2.txt # 查看软连接的指向
lrwxrwxrwx. 1 root root 6 5月 4 11:31 h2.txt -> h1.txt[root@server ~]# ll /dev/cdrom
lrwxrwxrwx. 1 root root 3 5月 4 09:39 /dev/cdrom -> sr0# 给网卡配置文件建立软连接
[root@server ~]# cd /etc/NetworkManager/system-connections/
[root@server system-connections]# ls
ens160.nmconnection
[root@server system-connections]# cd ~
[root@server ~]# ln -s /etc/NetworkManager/system-connections/ens160.nmconnection nic
[root@server ~]# cat nic
注意
软连接中删除了源文件则连接不可用
软连接数不能查看,只能通过ll 或 ls -l 命令查看指向关系
删除软连接,只要源文件存在则数据依然可以访问
修改软连接
格式
ln -snf 新文件名 软连接名
示例
[root@server ~]# echo "hello" > h1
[root@server ~]# echo "world" > w1
[root@server ~]# ln -s h1 temp
[root@server ~]# cat temp
hello
[root@server ~]# ll temp
lrwxrwxrwx. 1 root root 2 5月 4 11:46 temp -> h1
[root@server ~]# ln -snf w1 temp # 修改指向关系
[root@server ~]# ll temp
lrwxrwxrwx. 1 root root 2 5月 4 11:47 temp -> w1
软硬连接的区别
硬连接中源文件与连接文件公用一个inode号,是同一个文件
[root@server ~]# echo "china" > k1
[root@server ~]# ln k1 k2 # 新建硬连接
[root@server ~]# stat k1文件:k1大小:6 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:9252682 # 注意 硬链接:2
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2023-05-04 11:50:36.980179787 +0800
最近更改:2023-05-04 11:50:38.612178450 +0800
最近改动:2023-05-04 11:50:47.468171190 +0800
创建时间:2023-05-04 11:50:36.980179787 +0800
[root@server ~]# stat k2文件:k2大小:6 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:9252682 # 注意 硬链接:2
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2023-05-04 11:50:36.980179787 +0800
最近更改:2023-05-04 11:50:38.612178450 +0800
最近改动:2023-05-04 11:50:47.468171190 +0800
创建时间:2023-05-04 11:50:36.980179787 +0800
软连接中源文件与连接文件拥有不同的inode号,是2个不同的文件
[root@server ~]# ln -s k1 k3
[root@server ~]# stat k1文件:k1大小:6 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:9252682 硬链接:2
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2023-05-04 11:50:36.980179787 +0800
最近更改:2023-05-04 11:50:38.612178450 +0800
最近改动:2023-05-04 11:50:47.468171190 +0800
创建时间:2023-05-04 11:50:36.980179787 +0800
[root@server ~]# stat k3文件:k3 -> k1大小:2 块:0 IO 块:4096 符号链接
设备:fd00h/64768d Inode:9252684 硬链接:1
权限:(0777/lrwxrwxrwx) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2023-05-04 11:52:17.757097177 +0800
最近更改:2023-05-04 11:52:11.953101931 +0800
最近改动:2023-05-04 11:52:11.953101931 +0800
创建时间:2023-05-04 11:52:11.953101931 +0800
软连接的指向关系可以通过命令查看,硬连接不可以查看执行关系,只能查看连接硬连接数
软连接数不会增加,硬连接数会增加
文件大小不一样,硬连接文件容量相同是同一个文件,软连接只是一个快捷方式,容量较小
软连接可以跨越文件系统(分区),任何用户都可以建立指向目录的软连接