文件名:学号_10.sh,判断/etc/passwd文件是否大于20行,如果大于,则显示”/etc/passwd is a big file.”否者显示”/etc/passwd is a small file.”
时间: 2023-12-28 09:03:13 浏览: 88
好的,这是一个简单的 Shell 脚本,以下是脚本的内容:
```bash
#!/bin/bash
# 统计 /etc/passwd 文件的行数
file_lines=$(wc -l < /etc/passwd)
# 判断行数是否大于 20
if [ $file_lines -gt 20 ]
then
echo "/etc/passwd is a big file."
else
echo "/etc/passwd is a small file."
fi
```
这个脚本首先使用 `wc -l` 命令统计 `/etc/passwd` 文件的行数,并将结果保存在 `file_lines` 变量中。然后使用 if 语句判断 `file_lines` 是否大于 20,如果是,则输出 `/etc/passwd is a big file.`,否则输出 `/etc/passwd is a small file.`。
相关问题
cp /etc/pam.d/su /etc/pam.d/su.bak cp /etc/pam.d/password-auth-ac /etc/pam.d/password-auth-ac.bak cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak cp /etc/login.defs /etc/login.defs.bak cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak cp /etc/profile /etc/profile.bak cp /etc/motd /etc/motd.bak passwd -l adm passwd -l lp passwd -l sync passwd -l shutdown passwd -l halt passwd -l news passwd -l uucp passwd -l operator passwd -l games passwd -l listen passwd -l gdm passwd -l webservd passwd -l nobody passwd -l nobody4 passwd -l noaccess
以下是将这些命令承载业务使用Python实现的代码示例:
```python
import shutil
import subprocess
files_to_backup = [
('/etc/pam.d/su', '/etc/pam.d/su.bak'),
('/etc/pam.d/password-auth-ac', '/etc/pam.d/password-auth-ac.bak'),
('/etc/pam.d/system-auth', '/etc/pam.d/system-auth.bak'),
('/etc/login.defs', '/etc/login.defs.bak'),
('/etc/ssh/sshd_config', '/etc/ssh/sshd_config.bak'),
('/etc/vsftpd/vsftpd.conf', '/etc/vsftpd/vsftpd.conf.bak'),
('/etc/profile', '/etc/profile.bak'),
('/etc/motd', '/etc/motd.bak')
]
for source, destination in files_to_backup:
shutil.copy(source, destination)
users_to_lock = ['adm', 'lp', 'sync', 'shutdown', 'halt', 'news', 'uucp', 'operator', 'games', 'listen', 'gdm', 'webservd', 'nobody', 'nobody4', 'noaccess']
for user in users_to_lock:
subprocess.call(['passwd', '-l', user])
```
上述代码首先使用`shutil`模块中的`copy`函数将需要备份的文件复制到相应的备份文件中。将源文件和目标备份文件的路径作为元组存储在`files_to_backup`列表中,然后遍历列表,对每个文件执行备份操作。
接下来,通过遍历`users_to_lock`列表,使用`subprocess`模块中的`call`函数执行`passwd -l`命令来锁定用户。
请确保你的Python环境中已经安装了`shutil`模块,并将需要备份的文件路径和需要锁定的用户正确添加到`files_to_backup`和`users_to_lock`列表中。运行代码后,文件备份和用户锁定操作将会被执行。
用cat 、head命令1.显示/etc目录下所有以tab结尾的文件2.显示/etc/resolv.conf文件的详细属性并加上易读的单位3.显示/etc/passwd文件的详细属性并加上易读的单位4.显示/etc/passwd文件的头4行内容
1. 要显示/etc目录下所有以tab结尾的文件,可以使用以下命令:
```
ls /etc/*\t
```
这将列出/etc目录下所有以tab结尾的文件。
2. 要显示/etc/resolv.conf文件的详细属性并加上易读的单位,可以使用以下命令:
```
ls -lh /etc/resolv.conf
```
这将显示/etc/resolv.conf文件的详细属性,并以易读的单位(如KB,MB)显示文件大小。
3. 要显示/etc/passwd文件的详细属性并加上易读的单位,可以使用以下命令:
```
ls -lh /etc/passwd
```
这将显示/etc/passwd文件的详细属性,并以易读的单位显示文件大小。
4. 要显示/etc/passwd文件的头4行内容,可以使用以下命令:
```
head -n 4 /etc/passwd
```
这将显示/etc/passwd文件的前4行内容。
阅读全文