实训日志DAY2
接上集虚拟机的一些设置操作首先安装 Linux 命令自动补全工具让你按 Tab 就能自动补齐命令yum install -y bash-completionbash-completion Linux 命令「自动补全神器」就是你按 Tab 键 时自动补全命令自动补全文件名自动补全路径自动补全参数设置主机名hostnamectl set-hostname server1打开系统的 IP 别名配置表vim /etc/hosts第三行添加主机号加新名字ip server1 以后输入 server1系统自动知道是 192.168.**.*** 这台机器操作如下输入vim /etc/hosts→ 打开配置表按i→ 可以开始编辑打字编辑完按Esc→ 退出编辑输入:wq回车 → 保存并退出echo $SHELLecho $SHELL 命令作用是查看你当前终端正在使用的「Shell 解释器」是什么返回的 /bin/bash 就是结果。拆解开每一部分的意思命令本身echo $SHELLechoLinux 里的「打印命令」作用是把后面的内容输出到屏幕上类似编程语言里的 print$SHELL系统的环境变量专门用来存储「当前用户默认使用的 Shell 程序路径」执行结果/bin/bash/bin/bashBash 程序的绝对路径说明你当前用的是 Bash ShellLinux 最主流、最通用的默认 Shell一、重置root密码完整输入命令清单按执行顺序重启系统在界面按e键在屏幕上显示内核启动参数,找到下图linux这行末尾空格后 输入 rd.break然后按ctlx1. 查看/sysroot挂载状态mount | grep sysroot作用确认系统根分区/dev/mapper/centos-root挂载在/sysroot且当前是只读 (ro)状态2. 重新挂载/sysroot为可读写 (rw)mount -o remount,rw /sysroot作用把原本只读的根分区改成可读写为后面修改密码做准备3. 再次验证挂载状态mount | grep sysroot作用确认挂载权限已经变成rw可读写修改成功4. 切换到真实系统根目录chrootchroot /sysroot/作用从紧急模式的临时环境切换到你真正的 CentOS 系统环境提示符从switch_root:/#变成sh-4.2#5. 列出系统根目录文件验证 chroot 成功ls作用显示系统根目录的文件夹确认已经进入真实系统6. 重置 root 用户密码echo westos | passwd --stdin root作用一键修改 root 密码把新密码设为westos--stdin表示从标准输入读取密码不用手动输入两次执行结果passwd: all authentication tokens updated successfully.→ 密码修改成功7.密码改完后输入2次exit命令重启系统就可以用新密码westos登录 root 了exit二、 linux中执行命令1.命令格式命令分为两类内置命令由shell程序自带的命令外部命令有独立的可执行程序文件文件名即命令名格式主命令 参数 操作对象参数Linux 参数有两种写法短格式 vs 长格式短格式用 - 单个字母可合并比如 -rf -r -f日常操作首选长格式用 -- 完整单词可读性强适合写脚本 / 文档效果完全一样2.查看命令帮助[rootserver ~]# help cd查看bash内部的命令帮助查【内置命令 /Shell 自带功能cd、pwd、exit】的帮助[rootserver ~]# cat ——help查【外部命令 / 程序】的帮助用于独立程序cat、ls、rm、yum3.man命令man 是 manual手册 的缩写是 Linux 系统里最权威、最完整的命令帮助工具相当于给每个 Linux 命令配了一本「官方使用说明书」。- man命令用来提供在线帮助使用权限是所有用户。- 使用man命令可以调阅其中的帮助信息非常方便实用。[rootserver ~]# man lsman ls 打开 ls 命令的官方完整使用手册Linux 系统自带的权威说明书man 命令 打开这个命令的官方使用说明书q 退出说明书回到终端/关键词 在说明书里搜索你要的内容在man命令帮助信息的界面中所包含的常用操作按键如下4.date命令作用date命令用于显示或设置系统的时间与日期格式date -参数 显示日期时间格式参数在强大的date命令后输入以号开头的格式参数即可按照指定格式来输出系统的时间或日期这样在日常工作时便可以把备份数据的命令与指定格式输出的时间结合到一起。date命令中的参数%j可用来查看今天是当年中的第几天常见参数[rootserver ~]# date –s 20170303 修改为2017-03-03[rootserver ~]# date -s 15:03 修改时间为15:03[rootserver ~]# date -s “20180707 10:12” 合并修改[rootserver ~]# date -d “2 day” %d 显示2天后日期[rootserver ~]# date -d “-5 day” %d 显示5天前日期5.timedatectl命令参数作用status显示状态信息list-timezones列出已知时区set-timezone设置生效时区set-time设置系统时间查看系统时间与时区[rootserver ~]# timedatectl status设置时区:1.手动进行设置让查到的时区是上海Asia/Shanghai [rootserver ~]# timedatectl set-timezone Asia/Shanghai2.如果时间不正确我们可以手动的修改系统日期和时间[rootserver ~]# timedatectl set-ntp no # 先关闭ntp时间同步[rootserver ~]# timedatectl set-time 2021-05-18 #修改系统日期[rootserver ~]# timedatectl set-time 9:30 #手动改时间[rootserver ~]# date #看看改没改对Tue May 18 09:30:01 CST 2021[rootserver ~]# timedatectl set-ntp yes #打开网络自动对时手动改的时间会被覆盖ntp Network Time Protocol网络时间协议set-ntp yes 开启自动同步set-ntp no 关闭自动同步才能手动改时间如果你想手动固定时间必须先关 NTP[rootserver ~]# timedatectl set-ntp no [rootserver ~]# timedatectl set-time 2025-10-01 12:00:006.查看日历格式cal 月份 年份7.查看目录下的文件lslist作用是查看目录下的内容格式ls -参数 操作对象[rootserver ~]# ls / #查看系统根目录下的所有文件 / 目录了解 Linux 的目录结构[rootserver ~]# ls -dl /root #查看/root目录本身的详细属性权限、大小、修改时间等而不是列出目录里的文件三、 linux文件类型和根目录结构alias命令查看当前系统里所有已经生效的「命令别名」ls -a 主命令ls列出目录内容参数-a--all显示所有文件包括隐藏文件 操作对象当前目录~root 的家目录 /root.代表当前目录 /root..代表上级目录 /根目录这些都是 CentOS 系统默认给 root 用户配置好的别名不用你手动创建开箱即用下图用llls -l的别名命令以长格式查看 Linux 系统里不同类型文件 / 目录 / 设备的详细属性 **核心是搞懂 Linux 文件系统里「不同类型文件的标识」。路径以及工作目录路径由以“/”为分隔符的多个目录名构成 。绝对路径是指以根目录“/”为起点来表示系统中某个文件(或目录)的位置的方式相对路径是以当前目录为起点,表示系统中某个文件或目录在目录结构中的位置的方式工作目录用户当前所处的位置使用pwd命令查看更改当前的工作目录即切换目录cd 路径[rootlocalhost ~]# pwd/root[rootlocalhost ~]# cd /[rootlocalhost /]# pwd/# 回到当前用户的家主目录[rootlocalhost /]# cd ~[rootlocalhost ~]# pwd/root# 回到当前目录的上一级目录[rootlocalhost ~]# cd ..# 切换到之前的目录[rootlocalhost /]# cd -/root# 回到当前目录[rootlocalhost ~]# cd .四、从命令行管理文件1.cd命令 绝对路径 / 相对路径 实操cd切换目录:绝对路径 从 / 开始写永远不会错相对路径 从当前位置开始写位置不对就报错绝对路径以 / 开头能精准到达目标目录实操例子cd / # 回到根目录 cd /root # 进入 root 家目录 cd /etc # 进入系统配置目录 cd /home # 进入用户家目录 cd /proc # 进入系统状态目录 cd /etc/yum.repos.d # 进入 yum 配置目录✅永远不会报错✅写脚本必须用绝对路径✅新手推荐优先用绝对路径相对路径不以 / 开头只相对于你现在所在的目录必须当前在/根目录cd home # 成功 → 进入 /home cd etc # 成功 → 进入 /etc cd root # 成功 → 进入 /root最实用的 5 条 cd 命令cd / # 回到根目录 cd .. # 回到上一级 cd ~ # 回到自己家目录 cd - # 回到上一次所在目录 cd 绝对路径 # 最稳永远不报错2.Linux 文件名规则不能用 / 做文件名/ 是根目录也是路径分隔符系统会把它当成路径不能当名字。文件名长度不能超过 255 个字符太长系统不认。严格区分大小写file、File、FILE、Root、root 都是完全不同的名字。目录也是文件在同一个目录下面不能有两个同名文件也不能文件和目录同名只要名字一样不管是文件还是文件夹都不允许重复。3.硬连接原理linux系统允许多个文件指向同一个inode即允许一个文件拥有多个有效地路径名理解硬连接就是指向原始文件inode的指针查看方法ll 文件名stat 文件名格式ln -参数 源文件 目标连接文件实例下图links指连接数加1注意硬连接建立后删除源文件后数据依然可以访问只有硬连接为0时数据旧无法访问了硬连接不能给目录建立目录自带2个硬连接即目录中的 . .. 表示当前目录和上一级目录不可以在不同的文件系统内建立硬连接由于inode是当前文件在本文件系统的索引值即只能在本分区使用应以硬连接不能跨越文件系统 [rootserver ~]# mkdir n1[rootserver ~]# ln n1 n2ln: n1: 不允许将硬链接指向目录[rootserver ~]# cd n1[rootserver n1]# ls -a. ..[rootserver4 n1]# stat . # 查看. 的硬连接即当前目录的硬连接文件.大小6 块0 IO 块4096 目录设备fd00h/64768d Inode2777695 硬链接2权限(0755/drwxr-xr-x) Uid( 0/ root) Gid( 0/ root)环境unconfined_u:object_r:admin_home_t:s0[rootserver n1]# stat .. # 查看.. 的硬连接即上一级目录的硬连接文件..大小4096 块8 IO 块4096 目录设备fd00h/64768d Inode16797825 硬链接22权限(0550/dr-xr-x---) Uid( 0/ root) Gid( 0/ root)环境system_u:object_r:admin_home_t:s04.软连接原理软连接是一种符号连接类似于windows的“快捷方式”仅包含所连接的路径名格式 ln -s 源文件 目标连接名[rootserver ~]# echo china h1.txt # 新建文件[rootserver ~]# ln -s h1.txt h2.txt # 创建软连接指向h2.txt[rootserver ~]# ll h2.txtlrwxrwxrwx. 1 root root 6 12月 13 18:52 h2.txt - h1.txt # 查看连接关系[rootserver ~]# stat h1.txt文件h1.txt大小6 块8 IO 块4096 普通文件设备fd00h/64768d Inode2777696 硬链接1 # 硬连接还是1没有变化权限(0644/-rw-r--r--) Uid( 0/ root) Gid( 0/ root)环境unconfined_u:object_r:admin_home_t:s0软连接只是一种指向关系删除源文件则数据不可访问可以通过ll命令查看软连接实际执行文件及位置更改软连接方法ln -snf 新文件名 软连接名删除软连接只是删除指向关系源数据依然可以访问分析下图图里的这些带 -、第一列是 l的全是软链接是系统给目录做的「快捷方式」用来兼容旧程序不是硬链接。第一列是 l软链接的标志硬链接第一列是 -普通文件文件名有箭头 -箭头左边是链接名右边是指向的真实目录硬链接没有箭头第二列数字是 1没有变大软链接是独立的新文件硬链接数不会增加硬链接数 1 才是硬链接软硬连接的区别 5.目录操作命令及新建文件mkdir命令作用创建目录(make directory)格式mkdir [-p] [/路径/]目录名参数-p 可快速创建出目录结构中指定的每个目录对于已存在的目录不会被覆盖-v 显示创建目录的详细过程[rootserver ~]# mkdir t1[rootserver ~]# mkdir t2 t3 t4 # 批量一次性新建[rootserver ~]# mkdir -p n1/n2/n3 # 新建递归目录-p parent父目录作用自动创建不存在的父目录效果先创建 n1再创建 n1/n2最后创建 n1/n2/n3不加 -p 会报错 因为父目录不存在dd和du命令dd命令创建大容量文件格式dd if来源 of新文件名 count数据块个数 bs块容量全称disk dump磁盘转储Linux 里的「文件 / 磁盘读写工具」核心作用快速创建指定大小的空文件、测试磁盘读写速度、备份磁盘核心参数ifinput file输入文件/dev/zero是 Linux 「零字节流」设备专门用来生成空文件ofoutput file输出文件要创建的目标文件这里是/root/file1bsblock size每个块的大小1M 1MB100M 100MBcount块的数量写多少个bs大小的块文件大小公式总大小 bs × countdu命令全称disk usage磁盘使用情况核心作用查看文件 / 目录占用的磁盘空间核心参数-h--human-readable以「人类可读」的格式MB/GB显示大小命令格式 du [参数] [目录名]下图是dd命令快速创建指定大小的空文件并用du命令验证文件大小的实操第一条命令创建 1MB 大小的file1第二条命令把file1覆盖为 100MB 大小第三条命令验证file1的大小第四条命令把file1扩容为 200MB 大小第五条命令再次验证file1的大小总结dd if/dev/zero of文件 count块数 bs块大小快速创建指定大小的空文件du -h 文件看文件大小验证是否创建成功touch创建普通文件touch用法1如果文件已存在更新文件的三个时间stat可以查看文件的详细信息[rootserver ~]# stat /etc/hostnameFile: /etc/hostnameSize: 22 Blocks: 8 IO Block: 4096 regular fileDevice: 10302h/66306d Inode: 8608116 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Context: system_u:object_r:hostname_etc_t:s0Access: 2022-06-09 11:19:35.484027446 0800Modify: 2022-04-16 14:46:36.153011877 0800Change: 2022-04-16 14:46:36.153011877 0800[rootserver ~]# stat /etc/hostname文件/etc/hostname大小7 块8 IO 块4096 普通文件设备fd00h/64768d Inode17805263 硬链接1权限(0644/-rw-r--r--) Uid( 0/ root) Gid( 0/ root)最近访问2023-04-23 10:01:42.285018639 0800最近更改2023-03-22 11:20:57.098407291 0800最近改动2023-03-22 11:20:57.098407291 0800创建时间2023-03-22 11:20:57.097407349 0800# 分析# atime即access time访问文件的时间查看了一下文件内容cat文件的atime时间会更新# mtime即modify time修改内容的时间文件内容被改变了ctime会更新# ctime即change time修改文件元数据的时间[rootserver ~]# touch /etc/hostname[rootserver ~]# date2023年 04月 24日 星期一 09:37:38 CST[rootserver ~]# stat /etc/hostname文件/etc/hostname大小7 块8 IO 块4096 普通文件设备fd00h/64768d Inode17805263 硬链接1权限(0644/-rw-r--r--) Uid( 0/ root) Gid( 0/ root)最近访问2023-04-24 09:37:36.800493399 0800最近更改2023-04-24 09:37:36.800493399 0800最近改动2023-04-24 09:37:36.800493399 0800touch用法2如果文件不存在则表示创建文件格式touch 文件名1 文件名2 文件名3touch {文件名1,文件名2,文件名3}例子[rootserver ~]# touch p1.txt[rootserver ~]# touch p2.txt p3.txt p4.txt[rootserver ~]# touch {p5,p6,p7}.txt[rootserver ~]# touch {1,2}{3,4}[rootserver ~]# touch abc{1..100}示例tree命令首先安装treeyum install -y tree- 作用显示目录下文件的树形拓扑图及摘要会按照下面的结构新建文件及目录格式tree -参数 路径参数-a : 所有文件包含显示隐藏文件-f : 列出文件的完整路径内容-d 只显示目录-L : 设置显示最大深度如tree -f -L 26.删除文件格式rm -参数 文件名用法删除文件 rm 文件名删除目录rm -r 目录名强制删除不确认rm -f 文件名注意删除前必须确认路径及名称删除文件时必须将文件名及扩展名写全
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2523709.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!