linux基础指令练习第一弹
2025-08-22 16:06:40,
1.基础文件与目录操作
2.文件查找与内容处理
3.文本编辑与数据处理
4.系统相关命令
5.综合练习
1.基础文件与目录操作
- 列出当前目录下所有文件(包括隐藏文件),并以长格式显示:
ls -la
- 切换到用户家目录,再返回上一级目录:
cd ~
cd ..
- 创建一个名为
test_dir
的目录,再在其中创建一个名为file1.txt
的文件:
mkdir -p test_dir
touch test_dir/file1.txt
- 拷贝
file1.txt
到当前目录,并重命名为file2.txt
:
cp test_dir/file1.txt file2.txt
- 将
file2.txt
移动到test_dir
目录下,并改名为moved_file.txt
:
mv file2.txt test_dir/moved_file.txt
- 删除
test_dir
目录下的moved_file.txt
文件:
rm test_dir/moved_file.txt
- 批量创建10个以
test_
开头、数字结尾的文件(如test_01.txt
到test_10.txt
):
for i in {01..10}; do touch test_$i.txt; done
- 查看
test_dir
目录的树状结构:
tree test_dir
- 在
/tmp
目录下递归创建dir1/dir2/dir3
三级目录,并在dir3
中创建test.txt
:
mkdir -p /tmp/dir1/dir2/dir3 && touch /tmp/dir1/dir2/dir3/test.txt
- 将
/etC++/hosts
文件拷贝到/tmp
目录并改名为hosts_backup
,同时保留属性:
cp -a /etc/hosts /tmp/hosts_backup
- 移动
/tmp/dir1
目录到当前用户家目录,并查看移动后的路径:
cd ~
cd ..
0
- 删除
/tmp
目录下所有以tmp
开头的文件(需确认提示):
cd ~
cd ..
1
- 批量创建5个带空格文件名的文件(如
file 01.txt
):
cd ~
cd ..
2
- 用
ls
命令查看当前目录,按文件修改时间倒序排列并显示详细信息:
cd ~
cd ..
3
- 查看
/usr/bin
目录下文件数量(不包含子目录):
cd ~
cd ..
4
- 将
~/.bashrc
文件复制到当前目录,并重命名为bashrc_config
:
cd ~
cd ..
5
2.文件查找与内容处理
- 在当前目录及子目录中查找名为
*.txt
的文件:
cd ~
cd ..
6
- 查找24小时内修改过的文件:
cd ~
cd ..
7
- 查找权限为644的文件:
cd ~
cd ..
8
- 统计当前目录下所有
.txt
文件的行数:
cd ~
cd ..
9
- 查看
/etc/passwd
文件的前10行:
mkdir -p test_dir
touch test_dir/file1.txt
0
- 实时查看
/var/log/messages
日志文件:
mkdir -p test_dir
touch test_dir/file1.txt
1
- 查看
/etc/hosts
文件的内容,并显示行号:
mkdir -p test_dir
touch test_dir/file1.txt
2
- 查看
/usr/bin/Python
文件的属性信息:
mkdir -p test_dir
touch test_dir/file1.txt
3
- 查找
/usr/share
目录下大小超过10MB的文件:
mkdir -p test_dir
touch test_dir/file1.txt
4
- 查找
/etc
目录下所有链接文件(软链接):
mkdir -p test_dir
touch test_dir/file1.txt
5
- 统计当前目录下所有目录的数量:
mkdir -p test_dir
touch test_dir/file1.txt
6
- 查看
/var/log/messages
日志中近10分钟的内容(假设日志按时间排序):
mkdir -p test_dir
touch test_dir/file1.txt
7
- 用
wc
统计/usr/share/dict/words
文件的单词数和字符数(若无该文件可跳过):
mkdir -p test_dir
touch test_dir/file1.txt
8
- 查看
/bin/bash
文件的inode号,并通过inode号查找相同文件:
mkdir -p test_dir
touch test_dir/file1.txt
9
- 过滤
/etc/passwd
中以bash
结尾的行(表示用户默认shell为bash):
cp test_dir/file1.txt file2.txt
0
- 查找
/root
目录下所有以.sh
结尾且7天内未修改的文件:
cp test_dir/file1.txt file2.txt
1
3.文本编辑与数据处理
- 使用
vim
编辑test_vim.txt
文件,输入内容并保存:
cp test_dir/file1.txt file2.txt
2
- 在
test_vim.txt
中查找包含test
的行,并显示行号:
cp test_dir/file1.txt file2.txt
3
- 对
test_vim.txt
的内容进行排序并去重:
cp test_dir/file1.txt file2.txt
4
- 提取
/etc/passwd
文件中每行的第一个字段(用户名):
cp test_dir/file1.txt file2.txt
5
- 使用
awk
统计/etc/passwd
文件中的用户数量:
cp test_dir/file1.txt file2.txt
6
- 在
test_vim.txt
中查找以L
开头的行:
cp test_dir/file1.txt file2.txt
7
- 排除
test_vim.txt
中包含test
的行:
cp test_dir/file1.txt file2.txt
8
- 对
test_vim.txt
按字母顺序降序排序:
cp test_dir/file1.txt file2.txt
9
- 用
vim
打开文件,在第10行后插入# 配置注释
:
mv file2.txt test_dir/moved_file.txt
0
- 用
sed
将test_vim.txt
中的Linux
替换为CentOS
:
mv file2.txt test_dir/moved_file.txt
1
- 用
awk
提取/proc/meminfo
中内存总量和空闲内存:
mv file2.txt test_dir/moved_file.txt
2
- 对
/etc/group
文件按第三列(GID)升序排序:
mv file2.txt test_dir/moved_file.txt
3
- 统计
/var/log/secure
中失败登录的次数:
mv file2.txt test_dir/moved_file.txt
4
- 用
cut
提取ifconfig
命令输出中的IPv4地址:
mv file2.txt test_dir/moved_file.txt
5
- 过滤
test_vim.txt
中包含Hello
或World
的行:
mv file2.txt test_dir/moved_file.txt
6
- 用
tr
将test_vim.txt
中的小写字母转为大写:
mv file2.txt test_dir/moved_file.txt
7
4.系统相关命令
- 查看系统内核版本信息:
mv file2.txt test_dir/moved_file.txt
8
- 查看系统负载和运行时间:
mv file2.txt test_dir/moved_file.txt
9
- 查看当前主机名:
rm test_dir/moved_file.txt
0
- 查看磁盘使用情况:
rm test_dir/moved_file.txt
1
- 查看
/usr
目录的大小:
rm test_dir/moved_file.txt
2
- 实时查看系统资源占用情况:
rm test_dir/moved_file.txt
3
- 查看内存使用情况:
rm test_dir/moved_file.txt
4
- 查看
/etc/fstab
文件的状态信息:
rm test_dir/moved_file.txt
5
- 查看系统启动时间(以人类可读格式):
rm test_dir/moved_file.txt
6
- 查看当前系统中运行时间最长的进程:
rm test_dir/moved_file.txt
7
- 查看
/dev/sda
磁盘的inode使用情况:
rm test_dir/moved_file.txt
8
- 模拟系统负载(用
dd
命令占用CPU,需Ctrl+C终止):
rm test_dir/moved_file.txt
9
- 查看系统中所有用户的登录历史(需
last
命令支持):
for i in {01..10}; do touch test_$i.txt; done
0
- 查看当前系统中占用CPU最多的5个进程:
for i in {01..10}; do touch test_$i.txt; done
1
- 查看
httpd
服务(若存在)的PID和内存占用:
for i in {01..10}; do touch test_$i.txt; done
2
- 查看系统中所有监听的TCP端口:
for i in {01..10}; do touch test_$i.txt; done
3
5.综合练习
- 查找
/var/log
目录下7天前修改过的、以.log
结尾的文件,并显示其修改时间:
for i in {01..10}; do touch test_$i.txt; done
4
- 统计
/usr/share/doc
目录下所有文件的数量:
for i in {01..10}; do touch test_$i.txt; done
5
- 使用
vim
打开文件,修改端口号:
for i in {01..10}; do touch test_$i.txt; done
6
- 过滤
/var/log/secure
日志中包含Failed password
的行,并显示行号:
for i in {01..10}; do touch test_$i.txt; done
7
- 对
/etc/services
文件按端口号进行排序(端口号在第二列):
for i in {01..10}; do touch test_$i.txt; done
8
- 查看
/proc/cpuinfo
文件,提取CPU核心数:
for i in {01..10}; do touch test_$i.txt; done
9
- 创建一个大小为100KB的文件,并计算其MD5值:
tree test_dir
0
- 将
/etc/issue
文件的内容追加到test_append.txt
文件中:
tree test_dir
1
- 查找
/var/log
目录下所有日志文件,按大小降序排列并显示前5个:
tree test_dir
2
- 备份
/etc
目录下所有配置文件(以.conf
结尾)到/backup
目录:
tree test_dir
3
- 统计
/usr/src
目录下C语言文件(.c
)的总行数(含空行):
tree test_dir
4
- 用
vim
批量注释test_vim.txt
中所有以#
开头的行:
cp test_dir/file1.txt file2.txt
2
- 过滤
/var/log/httpd/access_log
中访问量最高的IP地址:
tree test_dir
6
- 创建一个1GB的文件并查看其在磁盘上的实际占用:
tree test_dir
7
- 查看系统中所有用户的UID和GID是否一致:
tree test_dir
8
- 用
chattr
给/etc/fstab
文件添加不可修改属性,尝试修改并观察提示:
tree test_dir
9