bash作业2

张开发
2026/4/19 1:20:56 15 分钟阅读

分享文章

bash作业2
一、系统信息与基础操作查看本机内核版本、主机名并永久修改主机名为 rhcsa-study[rootlocalhost~]# uname-r [rootlocalhost ~]# hostname -s [rootlocalhost ~]# hostnamectl hostname rhcsa-study查看系统所有可用 S6hell并确认当前正在使用的 Shell[rootlocalhost ~]# cat /etc/shells [rootlocalhost ~]# echo $shell把系统时区设为 Asia/Shanghai并将系统时间手动改为 2026-04-07 09:00:00[rootlocalhost ~]# timedatectl set-timezone Asia/Shanghai [rootserver ~]# timedatectl set-ntp no [rootlocalhost ~]# timedatectl set-time 2026-04-07 09:00:00用一条命令显示当前时间格式为年 - 月 - 日 时分: 秒[rootlocalhost ~]# date %Y-%m-%d %T二、目录与文件4管理在 /root 下创建目7录 test并在其中递归创建 a/b/c/d 四级目录[rootlocalhost ~]# mkdir -p /root/test/a/b/c/d在 /root/test 下批量创建 file1 到 file50 共 50 个普通文件[rootlocalhost ~]# touch /root/test/file{1..50}查看 /root 目录本身的详细信息不显示里面内容[rootlocalhost ~]# ls -l /root递归显示 /root/test/a 下所有层级文件[rootlocalhost ~]# ls -R /root/test/a把 /root/test/file10 复制到 /root/test/a/b/ 并改名为 test.txt[rootlocalhost ~]# cp /root/test/file10 /root/test/a/b/test.txt强制删除 /root/test/file30 到 file40[rootlocalhost ~]# rm -f /root/test/file{30..40}三、软硬链接实操在 /root 创建文件 note.txt写入内容 I love Linux[rootlocalhost ~]# touch /root/note.txt |echo I love Linux note.txt为 note.txt 在 / 下创建软链接 note.lnk[rootlocalhost ~]# ln -s note.txt /note.lnk为 note.txt 在 /tmp 下创建硬链接 note.bak[rootlocalhost ~]# ln note.txt /tmp/note.bak查看三个文件的 inode 号说明软硬链接区别[rootlocalhost ~]# stat note.txt 文件note.txt 大小13 块8 IO 块大小4096 普通文件 设备253,0 Inode: 67640805 硬链接2 权限(0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) 上下文unconfined_u:object_r:admin_home_t:s0 访问时间2026-04-08 19:51:29.684821140 0800 修改时间2026-04-08 19:51:16.394692578 0800 变更时间2026-04-08 20:00:29.834046154 0800 创建时间2026-04-08 19:51:16.392692559 0800 [rootlocalhost ~]# stat /note.lnk 文件/note.lnk - note.txt 大小8 块0 IO 块大小4096 符号链接 设备253,0 Inode: 2123345 硬链接1 权限(0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root) 上下文unconfined_u:object_r:root_t:s0 访问时间2026-04-08 19:59:35.839523849 0800 修改时间2026-04-08 19:59:35.839523849 0800 变更时间2026-04-08 19:59:35.839523849 0800 创建时间2026-04-08 19:59:35.839523849 0800 [rootlocalhost ~]# stat /tmp/note.bak 文件/tmp/note.bak 大小13 块8 IO 块大小4096 普通文件 设备253,0 Inode: 67640805 硬链接2 权限(0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) 上下文unconfined_u:object_r:admin_home_t:s0 访问时间2026-04-08 19:51:29.684821140 0800 修改时间2026-04-08 19:51:16.394692578 0800 变更时间2026-04-08 20:00:29.834046154 0800 创建时间2026-04-08 19:51:16.392692559 0800硬链接中源文件与连接文件公用一个inode号是同一个文件软链接中源文件与连接文件拥有不同inode号是2个不同的文件软链接的指向关系可以查看硬链接不可以查看连接数不同软链接数不会增加文件大小不同硬链接文件大小与源文件一样软链接不受任何文件系统的影响任何用户都可以创建指向目录的软链接四、文本查看与 Vim 操作查看 /etc/passwd 的前 8 行、后 5 行[rootlocalhost ~]# tail -n 5 /etc/passwd sshd:x:74:74:Privilege-separated SSH:/usr/share/empty.sshd:/usr/sbin/nologin chrony:x:982:981:chrony system user:/var/lib/chrony:/sbin/nologin dnsmasq:x:981:980:Dnsmasq DHCP and DNS server:/var/lib/dnsmasq:/usr/sbin/nologin tcpdump:x:72:72:tcpdump:/:/usr/sbin/nologin redhat:x:1000:1000:redhat:/home/redhat:/bin/bash [rootlocalhost ~]# head -n 8 /etc/passwd root:x:0:0:Super User:/root:/bin/bash bin:x:1:1:bin:/bin:/usr/sbin/nologin daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin adm:x:3:4:adm:/var/adm:/usr/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/usr/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt用 cat 显示 /etc/passwd 并带行号[rootlocalhost ~]# cat -n /etc/passwd 1 root:x:0:0:Super User:/root:/bin/bash 2 bin:x:1:1:bin:/bin:/usr/sbin/nologin 3 daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin 4 adm:x:3:4:adm:/var/adm:/usr/sbin/nologin 5 lp:x:4:7:lp:/var/spool/lpd:/usr/sbin/nologin 6 sync:x:5:0:sync:/sbin:/bin/sync 7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown 8 halt:x:7:0:halt:/sbin:/sbin/halt 9 mail:x:8:12:mail:/var/spool/mail:/usr/sbin/nologin 10 operator:x:11:0:operator:/root:/usr/sbin/nologin 11 games:x:12:100:games:/usr/games:/usr/sbin/nologin 12 ftp:x:14:50:FTP User:/var/ftp:/usr/sbin/nologin 13 nobody:x:65534:65534:Kernel Overflow User:/:/usr/sbin/nologin 14 dbus:x:81:81:System Message Bus:/:/usr/sbin/nologin 15 yggdrasil:x:999:999:yggdrasil system user:/var/lib/yggdrasil:/usr/sbin/nologin 16 yggdrasil-worker:x:998:998:yggdrasil worker user:/:/usr/sbin/nologin 17 tss:x:59:59:Account used for TPM access:/:/usr/sbin/nologin 18 avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin 19 systemd-oom:x:997:996:systemd Userspace OOM Killer:/:/sbin/nologin 20 polkitd:x:114:114:User for polkitd:/:/sbin/nologin 21 rtkit:x:172:172:RealtimeKit:/:/sbin/nologin 22 pipewire:x:996:994:PipeWire System Daemon:/run/pipewire:/usr/sbin/nologin 23 geoclue:x:995:993:User for geoclue:/var/lib/geoclue:/sbin/nologin 24 clevis:x:994:992:Clevis Decryption Framework unprivileged user:/var/cache/clevis:/usr/sbin/nologin 25 sssd:x:993:991:User for sssd:/run/sssd/:/sbin/nologin 26 gnome-remote-desktop:x:990:990:GNOME Remote Desktop:/var/lib/gnome-remote-desktop:/usr/sbin/nologin 27 libstoragemgmt:x:989:989:daemon account for libstoragemgmt:/:/usr/sbin/nologin 28 systemd-coredump:x:988:988:systemd Core Dumper:/:/usr/sbin/nologin 29 wsdd:x:987:986:Web Services Dynamic Discovery host daemon:/:/sbin/nologin 30 colord:x:986:985:User for colord:/var/lib/colord:/sbin/nologin 31 setroubleshoot:x:985:984:SELinux troubleshoot server:/var/lib/setroubleshoot:/usr/sbin/nologin 32 flatpak:x:984:983:Flatpak system helper:/:/usr/sbin/nologin 33 gdm:x:42:42:GNOME Display Manager:/var/lib/gdm:/usr/sbin/nologin 34 gnome-initial-setup:x:983:982::/run/gnome-initial-setup/:/sbin/nologin 35 sshd:x:74:74:Privilege-separated SSH:/usr/share/empty.sshd:/usr/sbin/nologin 36 chrony:x:982:981:chrony system user:/var/lib/chrony:/sbin/nologin 37 dnsmasq:x:981:980:Dnsmasq DHCP and DNS server:/var/lib/dnsmasq:/usr/sbin/nologin 38 tcpdump:x:72:72:tcpdump:/:/usr/sbin/nologin 39 redhat:x:1000:1000:redhat:/home/redhat:/bin/bash用 Vim 打开 /root/note.txt完成复制全文到末尾:1,2 co 2给所有行加 # 注释:% s/^/#/删除所有空行:g /^$/ d保存退出:wq五、重定向、管道与文本处理把 ls / 的结果输出到 /root/list.txt[rootlocalhost ~]# ls / /root/list.txt把 echo RHCSA 2026 追加到 /root/list.txt[rootlocalhost ~]# echo RHCSA 2026 /root/list.txt统计 /etc/passwd 一共有多少行即多少用户[rootlocalhost ~]# wc -l /etc/passwd | cut -d -f 1截取 /etc/passwd 中 第一个字段用户名 并输出[rootlocalhost ~]# cut /etc/passwd -d : -f 1过滤出 /etc/passwd 中包含 root 的所有行[rootlocalhost ~]# grep -w root /etc/passwd六、查找、压缩与用户及别名查找系统中所有 .log 结尾且小于 100k 的文件[rootlocalhost ~]# find -name *.log -size -100k把 /root/test 打包压缩为 linux_test.tar.gz[rootlocalhost ~]# tar -czf linux_test.tar.gz test创建组 itgroup创建用户 tom 并加入该组为附加组[rootlocalhost ~]# groupadd itgroup |useradd -G itgroup tom编辑系统级别所有用户永久生效的别名 cclear[rootlocalhost ~]# source /etc/bashrc编辑仅对你其中一个普通用户永久生效的别名 pingping -c3[rootlocalhost ~]# echo alias pingping -c3 /home/tom/.bashrc

更多文章