## 更改主机名 hostname
[root@localhost ~]# hostname
localhost.localdomain
[root@localhost ~]# hostname A 当前运行状态下临时生效
[root@localhost ~]# exit
注销
Connection closed.
Disconnected from remote host(192.168.220.128:22) at 10:01:32.
Type `help' to learn how to use Xshell prompt.
[C:\~]$ ssh 192.168.220.128
Connecting to 192.168.220.128:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
Activate the web console with: systemctl enable --now cockpit.socket
This system is not registered to Red Hat Insights. See https://cloud.redhat.com/
To register this system, run: insights-client --register
Last login: Tue Nov 16 20:57:31 2021 from 192.168.220.1
[root@A ~]# hostname
A
[root@A ~]# reboot
[root@localhost ~]# hostnamectl set-hostname A 永久生效(重启主机后也生效)
[root@localhost ~]# reboot
```
## cd 切换目录
~ 当前用户家目录的通用符
-返回上一次切换的目录
.当前目录
..上一目录
/根目录
../.. 路径分隔符
绝对路径:从根目录开始查找 cd /home/redhat
相对路径:从当前路径开始查找
## ls 查看目录下的文件
-l 长格式列出文件详细信息 ls -l == ll
-d 显示指定目录的属性
-h 人性化显示文件的大小
-a 显示目录所有文件(. .. .开头的文件隐藏文件 )
-A
-R 递归列出当前目录以及子目录下的所有文件
-i inode索引节点号
-s 查看每个文件占用的块大小
```
### 7种文件类型
- -普通文件,类似于Windows的记事本
- d 目录文件,类似于文件夹
- l link,链接文件
- c 字符设备文件,串行端口设备,顺序读写,键盘
- b 块设备文件,可供存储的接口设备,随机读写,硬盘
- p 管道文件,用于进程间的通信
- s 套接字文件,通常用于网络上的通信。可以启动一个程序来监听客户端的要求,客户端可以通过套接字来进行数据通信
创建文件
touch FIELNAME
mkdir DIRNAME 创建目录文件
ln -s 源文件名 目标文件名 创建软链接文件
nano FILENAME 编辑文件
ctrl+x y enter
cat FILENAME 查看文本文件内容
rm FILENAME 删除文件
### 软链接
符号链接又叫软链接,和原文件不是一个文件。例如Windows的快捷方式
作用特点:在指定路径查找某个文件访问快速便捷,删除源文件快捷方式不能访问
创建对象:文本文件目录文件都可以创建,并且可以跨文件系统
创建链接文件:ln -s 原文件 链接文件
如何判断是否是链接文件: l
ln -s 源文件名 目标文件名 创建软链接文件
[root@A ~]# #ln -s file /fff == ln -s /file /fff
#注意创建软链接文件如果链接文件和源文件不在统一路径,命令路径必须要用绝对路径
[root@A ~]# #ln -s /root/file /fff
```
### 硬链接****
概念:多个文件名指向同一个Inode
作用特点:防止用户误删除,备份(仅对文件名备份)节省存储空间
创建对象:对目录文件不能创建,并且不可以跨文件系统
创建硬链接: ln 原文件 新文件
ln 源文件名 目标文件名 创建硬链接文件
[root@A ~]# touch aaa
[root@A ~]# ln aaa a.txt
[root@A ~]# ll
-rw-r--r--. 2 root root 0 11月 17 01:08 aaa
-rw-r--r--. 2 root root 0 11月 17 01:08 a.txt
##通过硬链接次数 以及文件inode编号
注意:默认创建一个目录硬链接次数为2;原因是每个目录都有一个. 标识当前目录
/ ----
bin sbin etc dev boot mnt media lib lib64 sys srv usr var
bin sbin lib lib64 log spool
## date时间命令
按照默认格式查看当前系统时间的date命令如下所示:
```shell
[root@kongd ~]# date
Sat Sep 5 09:13:45 CST 2020
按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间的date命令如下所示:
```shell
[root@kongd ~]# date "+%Y-%m-%d %H:%M:%S"
2020-09-05 09:14:35
```
将系统的当前时间设置为2020年11月1日8点30分的date命令如下所示:
```shell
[root@A /]# #date 月日时分年点秒
[root@A /]# date 121210102021.10
[root@kongd ~]# date -s "20201101 8:30:00"
Sun Nov 1 08:30:00 CST 2020
```
## clock 查看硬件时间
## hwclock 查看硬件时间
hwclock -s 系统时间向硬件时间同步
hwclock -w 硬件向系统时间同步
## timedatectl 时区命令
| 参数 | 作用 |
| -------------- | ------------ |
| status | 显示状态信息 |
| list-timezones | 列出已知时区 |
| set-time | 设置系统时间 |
| set-timezone | 设置生效时区 |
查看系统时间与时区:
```shell
[root@kongd ~]# timedatectl status
Local time: Sun 2020-09-06 19:51:22 CST
Universal time: Sun 2020-09-06 11:51:22 UTC
RTC time: Sun 2020-09-06 19:51:21
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
```
如果您查到的时区不是上海(Asia/Shanghai),可以手动进行设置:
```shell
[root@kongd ~]# timedatectl set-timezone Asia/Shanghai
[root@kongd ~]# timedatectl list-timezone
```
如果时间还是不正确,我们可以手动的修改系统日期:
```shell
[root@kongd ~]# timedatectl set-time 2021-05-18
```
而如果想修改时间的话,也很简单:
```shell
[root@kongd ~]# timedatectl set-time 9:30
[root@kongd ~]# date
Tue May 18 09:30:01 CST 2021
```
练习题:
根据要求创建软硬链接文件
在/home创建文件为aaa,并在/目录下创建软链接文件a.txt; /root下创建硬链接文件为A
#touch /home/aaa
#ln -s /home/aaa /a.txt
#ll /
#ln /home/aaa /root/A
#ll -i /home/aaa
#ll -i /root/A
## 文件管理命令
### touch 创建文本文件
touch FILE1 FILE2 FILE3 ...
touch file{1..10}
touch /home/{a,file,fff}
### mkdir 创建目录
mkdir d1 d2 d3
-p 创建父目录
-v 显示详细信息
mkdir d{1..10}
mkdir /home/{mulu1,mulu2}
[root@A ~]# mkdir -p 111/2/3/4
[root@A ~]# ll -R 111
111:
总用量 0
drwxr-xr-x. 3 root root 15 12月 12 11:08 2
111/2:
总用量 0
drwxr-xr-x. 3 root root 15 12月 12 11:08 3
111/2/3:
总用量 0
drwxr-xr-x. 2 root root 6 12月 12 11:08 4
111/2/3/4:
总用量 0
[root@A ~]# mkdir -pv test1/test2/test3
mkdir: 已创建目录 'test1'
mkdir: 已创建目录 'test1/test2'
mkdir: 已创建目录 'test1/test2/test3'
touch file1 file2 file3 ...file100 touch file{1..100}
练习题
1、#创建目录 mkdir
在/mnt下创建boot和sysroot目
在/mnt/boot下创建grub目录
在/mnt/sysroot下创建proc,sys,bin,sbin,lib,usr,var,etc,dev,home,root,tmp
在/mnt/sysroot/usr下创建bin,sbin,lib
在/mnt/sysroot/lib下创建modules
在/mnt/sysroot/var下创建run,log,lock
在/mnt/sysroot/etc下创建init.d
mkdir -pv /mnt/{boot/grub,sysroot/{proc,sys,bin,sbin,lib/modules,usr/{bin,sbin,lib},var/{run,log,lock},etc/init.d ,dev,home,root,tmp}}
tree 树状显示目录
### rm 删除文件命令 (删除文本文件)
-r 递归 删除目录文件
-f 强制 强制删除文件
*通配符 (任意长度的任意字符)
### cp 复制文件
-p 复制文本文件并复制源文件的属性
-r 复制目录文件
-rp==-a 复制目录文件并复制目录原属性信息
[root@localhost test]# cp /test/c /dir/ccc 复制/test/c文件到/dir重名名为ccc
[root@localhost test]# ll /dir
总用量 12
-rw-r--r--. 1 root root 14 11月 17 03:24 a
-rw-r--r--. 1 root root 10 11月 17 03:20 b
-rw-r--r--. 1 root root 10 11月 17 03:27 ccc
drwxr-xr-x. 2 root root 6 11月 17 03:25 d1
[root@localhost test]# cat ccc
cat: ccc: 没有那个文件或目录
[root@localhost test]# cat /dir/ccc
this is c
### mv 移动文件
[root@localhost test]# mv a /dir 移动文本文件
mv:是否覆盖'/dir/a'? y
[root@localhost test]# ll
总用量 8
-rw-r--r--. 1 root root 10 11月 17 03:20 b
-rw-r--r--. 1 root root 10 11月 17 03:20 c
drwxr-xr-x. 2 root root 6 11月 17 03:19 d1
drwxr-xr-x. 2 root root 6 11月 17 03:19 d2
drwxr-xr-x. 2 root root 6 11月 17 03:19 d3
[root@localhost test]# mv d3 /dir 移动目录文件
[root@localhost test]# mv d2 /dir/dd2 移动d2目录到/dir并改名为dd2
[root@localhost test]# ll
总用量 8
-rw-r--r--. 1 root root 10 11月 17 03:20 b
-rw-r--r--. 1 root root 10 11月 17 03:20 c
drwxr-xr-x. 2 root root 6 11月 17 03:19 d1
[root@localhost test]# mv b b.txt 文件重命名
### du 估计文件空间使用情况(显示文件所占用的磁盘空间大小)
### wget 下载文件
-b在后台运行
-P 指定下载文件的目标路径
-r 下载目录
wget -r http://mirrors.163.com/centos/8/nfv/
### 查看文件
cat 正序查看
tac -n 逆序查看 显示文件行号 ----(文件内容较少)
more FILE 分屏显示,并将所有内容打印到终端
less FILE 分屏显示,打开阅读 /关键字 ?关键字 关键字匹配 n向下匹配 N 向上匹配 q 退出
head 显示前10行
head -n 5 == head -5
tail 显示后10行
-f 追加查看文件的内容 tail -f /var/log/messages日志文件