【知识点详解】
1. **Linux 文件与目录管理**
- **查看根目录内容**:使用`ls /`命令可以查看根目录(/)下的所有文件和目录。
- **创建目录**:`mkdir`命令用于创建目录,如`mkdir 12345`创建名为12345的新目录。
- **查看当前目录**:`pwd`命令显示当前工作目录。
- **创建带权限的目录**:`mkdir -m 741 test1`创建权限为741的目录test1,741代表所有者有读写执行权限,同组用户只有执行权限,其他用户无任何权限。
- **进入目录**:使用`cd`命令,如`cd test1`。
- **删除目录**:`rm -rf test3/test4`递归删除test3/test4目录。
- **复制文件**:`cp -p /root/.bashrc /tmp/bashrc`保持源文件的属性不变地复制。
- **重命名**:`mv /tmp/bashrc /tmp/bashrc_new`。
- **复制目录内容**:`cp -r /etc/* /tmp/`将/etc/目录下的所有内容复制到/tmp/。
- **创建文件**:`touch aaa`创建空文件aaa。
- **查看文件信息**:`ls -l`显示文件权限、大小和时间戳。
- **强制删除文件**:`rm -f aaa`不询问直接删除文件。
- **移动文件和目录**:`mv`命令可用于移动文件或目录,例如`mv /tmp/bashrc /tmp/test1/test2/`。
2. **文件内容查阅、权限与文件查找**
- **显示文件内容**:`cat -n /etc/issue`加上行号显示文件内容。
- **反向显示**:`tac /etc/issue`反向显示文件内容。
- **nl命令**:`nl /etc/issue`按行号列出文件内容。
- **more命令**:`more /etc/man.config`分页查看文件。
- **less命令**:`less /etc/man.config`上下翻动查看文件内容。
- **head命令**:`head -20 /etc/man.config`查看前20行。
- **查看文件部分内容**:`less +25 /etc/man.config`从第25行开始查看。
- **ASCII输出**:`od -c /usr/bin/passwd`以ASCII方式显示文件内容。
- **复制文件属性**:`cp -p /root/.bashrc /tmp/bashrc`保持源文件的时间戳和其他属性。
- **修改文件时间**:`touch bashrc`将文件时间改为当前时间。
- **查看权限**:`ls -l`显示文件或目录的权限。
3. **文件权限**
- **追加写入并查看权限变化**:`echo pwd >> pwd.sh`后用`ls -al`查看,文件变为可执行。
- **查看默认权限**:新文件默认权限为`umask`值的补码,`umask`通常为022,意味着新文件默认权限为644,新目录为755。
- **修改权限**:`chmod 741 pwd.sh`。
- **执行脚本**:`./pwd.sh`执行当前目录下的脚本。
- **创建用户和改密码**:`useradd stu && passwd stu`添加用户stu并设置密码123。
- **改变属主和组**:`chown stu:stu test1`改变文件test1的所有者和组。
- **增加执行权限**:`chmod u+x test1`为属主增加执行权限。
4. **文件查找**
- **查看文件类型**:`file /root/.bashrc`。
- **查找命令所在文件**:`which ifconfig`和`which cd`。
- **查找指定类型文件**:`find / -name "*passwd*" -type man`。
- **查找所有关联文件**:`find / -name "*passwd*"`。
- **查找最近修改的文件**:`find . -mtime -3`查找3天内修改过的文件。
- **查找较新的文件**:`find . -newer /etc/man.config -not -newer /etc/man.config.new > man.config.new`。
- **比较文件新旧**:`find /etc -newer /etc/man.config`。
- **查找属主root的文件**:`find / -user root`。
- **查找无主文件**:`find / -nouser`。
- **查找特定名字文件**:`find / -name "man.config"`。
- **locate命令**:`locate man.config`快速定位文件,但可能需要先更新数据库(`updatedb`)。
- **find与locate区别**:`find`实时搜索,`locate`依赖预构建的数据库,速度更快,但不精确。
5. **命令使用技巧**
- **覆盖前询问**:`cp -i /root/.bashrc /tmp/bashrc`。
- **复制目录内容**:`cp -r /etc/* /tmp/`。
这些实验涵盖了Linux操作系统中关于文件与目录管理、文件内容查阅、权限设置以及文件查找的基本操作,是理解和熟练运用Linux系统的重要实践。通过这些实验,学习者能够更好地掌握Linux的日常操作和管理。