Bash 命令
Linux怎么给一个文件修改属性:属主拥有一切权限,同组和其他用户拥有可读可写的权限?
1 | chmod u=rwx,go=rw 文件名 |
这个命令将文件的权限设置为:
- 属主(u)具有读、写和执行权限 (rwx)
- 同组用户(g)具有读和写权限 (rw)
- 其他用户(o)具有读和写权限 (rw)
怎么打包两个文件
要将两个文件打包到一个压缩文件中,您可以使用 tar
命令。以下是一个示例,演示如何将两个文件打包成一个.tar文件:
1 | tar -cvf 打包文件名.tar 文件1 文件2 |
在上面的命令中:
-c
选项表示创建新的归档文件。-v
选项表示在打包过程中显示详细信息(可选)。-f
选项后面跟着要创建的打包文件的名称。打包文件名.tar
是您要创建的.tar文件的名称。文件1
和文件2
是您要打包的文件的名称。您可以列出任意数量的文件,以将它们全部打包到.tar文件中。
例如,要将名为 file1.txt
和 file2.txt
的两个文本文件打包到一个名为 myarchive.tar
的.tar文件中,您可以运行以下命令:
1 | tar -cvf myarchive.tar file1.txt file2.txt |
这将创建一个名为 myarchive.tar
的压缩文件,其中包含了 file1.txt
和 file2.txt
两个文件。
怎么复制文件到指定目录
要将文件复制到指定目录,您可以使用 cp
命令。以下是一般的命令格式:
1 | cp 源文件 目标目录 |
其中:
源文件
是要复制的文件的路径和名称。目标目录
是您要将文件复制到的目标目录的路径。
例如,如果您要将文件 file.txt
复制到目录 /目标目录
并重命名,您可以运行以下命令:
1 | cp file.txt /目标目录/文件名 |
如果您希望在复制文件时保留文件的元数据(如权限、所有者等),可以使用 -p
选项,例如:
1 | cp -p file.txt /目标目录/文件名 |
如果目标目录不存在,cp
命令将创建该目录并将文件复制到其中。
请确保您有足够的权限来复制文件到指定目录,否则可能需要使用 sudo
命令以管理员权限运行 cp
命令。
脚本:
写一个shell脚本,判断系统软件源是否是中科大源,如果不是,则修改为中科大源。判断系统是否已经安装tree命令,如果没有则安装。
1 |
|
脚本将执行两项任务:首先检查并修改软件源,然后检查并安装tree
命令。如果已经是中科大源或已经安装了tree
命令,它将提供相应的消息并退出。否则,它将执行必要的更改和安装步骤。
写程序统计系统中,全部用户的总数。
1 |
|
脚本会读取/etc/passwd
文件(该文件包含了系统中的用户信息),并使用wc -l
命令来统计文件中的行数,即用户总数。最后,它会输出统计结果。
请注意,这个脚本仅统计了系统中的用户总数,而不考虑用户的状态或其他详细信息。如果您需要更详细的用户信息,您可以使用其他命令和工具,例如getent passwd
,来获取更多的用户数据。
写程序统计/etc目录下,有多少个目录。不包含/etc子目录内的下一级目录。
1 |
|
脚本使用find
命令查找/etc
目录下的直接子目录,并使用wc
命令统计找到的目录数量。最后,它将结果输出到终端。
请注意,脚本中的-maxdepth 1
选项确保只查找/etc
目录的一级子目录。如果您要查找其他目录的直接子目录,请将/etc
替换为目标目录的路径。
写程序,找出/etc目录中容量最大的三个子目录,显示名称和占用的磁盘量
1 |
|
这个脚本使用du
命令列出了/etc
目录下的所有子目录,并按磁盘使用量从高到低排序。然后,它使用head
命令获取前三个目录(最大的三个),最后使用awk
命令格式化输出以显示目录名称和大小。
批量创建5个普通用户,stu1~5,创建成功后依次显示成功提示信息到屏幕上,如果发现已经存在用户,则显示用户已存在的信息,继续完成创建
1 |
|
脚本会循环创建名为stu1
到stu5
的5个用户。在每次循环中,它会首先检查用户是否已经存在,如果存在就显示用户已存在的信息,否则就创建用户并显示创建成功的信息。
请注意,创建用户需要管理员权限,所以可能需要使用sudo
命令以管理员身份运行脚本。
统计磁盘的分区,仅将磁盘分区sda,sdb,sdc三个磁盘的分区信息和容量占比,写到disk.txt中
1 |
|
脚本会使用df -h
命令获取磁盘分区信息,然后使用grep
命令筛选出包含sda
、sdb
和sdc
的分区信息,并将结果写入到disk.txt
文件中。最后,它会显示一个消息来确认信息已写入文件中。
请确保脚本以管理员权限运行,以确保能够访问磁盘分区信息。
查找192.168.40.1~80范围内,所有ping不通的ip,将这些ip写入address.txt文件中
1 |
|
脚本会循环从192.168.40.1
到192.168.40.80
的IP地址,并使用ping
命令测试每个IP是否可达。如果ping测试不成功,脚本会将IP地址添加到address.txt
文件中。最后,脚本会显示一个消息来确认不可达的IP地址已写入文件中。
请注意,ping测试需要一定时间,因此脚本的运行时间可能会较长,具体取决于网络条件和可达性。
写程序统计系统中,系统用户的总数。结果显示到屏幕上
1 |
|
这个脚本使用grep
命令过滤/etc/passwd
文件,只保留包含系统用户(通常其UID为0到6之间)的行,并通过-c
选项统计匹配的行数。最后,它将系统用户总数显示在屏幕上。
写程序统计/etc目录下(不含子目录),有多少个文件名结尾是conf的文件
1 |
|
脚本会使用find
命令查找/etc
目录下的文件,然后通过-name "*.conf"
选项筛选出以”.conf”结尾的文件,并使用wc -l
命令统计它们的数量。最后,它将结果显示在屏幕上。
写程序,找出/var目录下,名称最长的子目录。不包含var目录子目录的下一级目录
1 |
|
脚本会使用 find
命令查找 /var
目录下的直接子目录(不包括下一级子目录),然后遍历这些子目录,找到名称最长的子目录并将其输出到屏幕上。