找回密码
 立即注册
首页 业界区 安全 linux基础指令练习第一弹

linux基础指令练习第一弹

嫁吱裨 2025-6-7 13:40:17
1.基础文件与目录操作
2.文件查找与内容处理
3.文本编辑与数据处理
4.系统相关命令
5.综合练习
1.基础文件与目录操作


  • 列出当前目录下所有文件(包括隐藏文件),并以长格式显示:
  1. ls -la
复制代码

  • 切换到用户家目录,再返回上一级目录:
  1. cd ~
  2. cd ..
复制代码

  • 创建一个名为test_dir的目录,再在其中创建一个名为file1.txt的文件:
  1. mkdir -p test_dir
  2. touch test_dir/file1.txt
复制代码

  • 拷贝file1.txt到当前目录,并重命名为file2.txt:
  1. cp test_dir/file1.txt file2.txt
复制代码

  • 将file2.txt移动到test_dir目录下,并改名为moved_file.txt:
  1. mv file2.txt test_dir/moved_file.txt
复制代码

  • 删除test_dir目录下的moved_file.txt文件:
  1. rm test_dir/moved_file.txt
复制代码

  • 批量创建10个以test_开头、数字结尾的文件(如test_01.txt到test_10.txt):
  1. for i in {01..10}; do touch test_$i.txt; done
复制代码

  • 查看test_dir目录的树状结构:
  1. tree test_dir
复制代码

  • 在/tmp目录下递归创建dir1/dir2/dir3三级目录,并在dir3中创建test.txt:
  1. mkdir -p /tmp/dir1/dir2/dir3 && touch /tmp/dir1/dir2/dir3/test.txt
复制代码

  • 将/etc/hosts文件拷贝到/tmp目录并改名为hosts_backup,同时保留属性:
  1. cp -a /etc/hosts /tmp/hosts_backup
复制代码

  • 移动/tmp/dir1目录到当前用户家目录,并查看移动后的路径:
  1. mv /tmp/dir1 ~/ && echo "移动后路径: $(realpath ~/dir1)"
复制代码

  • 删除/tmp目录下所有以tmp开头的文件(需确认提示):
  1. rm /tmp/tmp*
复制代码

  • 批量创建5个带空格文件名的文件(如file 01.txt):
  1. for i in {01..05}; do touch "file $i.txt"; done
复制代码

  • 用ls命令查看当前目录,按文件修改时间倒序排列并显示详细信息:
  1. ls -ltr
复制代码

  • 查看/usr/bin目录下文件数量(不包含子目录):
  1. ls -1 /usr/bin | wc -l
复制代码

  • 将~/.bashrc文件复制到当前目录,并重命名为bashrc_config:
  1. cp ~/.bashrc bashrc_config
复制代码
2.文件查找与内容处理


  • 在当前目录及子目录中查找名为*.txt的文件:
  1. find . -name "*.txt"
复制代码

  • 查找24小时内修改过的文件:
  1. find . -mtime -1
复制代码

  • 查找权限为644的文件:
  1. find . -perm 644
复制代码

  • 统计当前目录下所有.txt文件的行数:
  1. find . -name "*.txt" | xargs wc -l
复制代码

  • 查看/etc/passwd文件的前10行:
  1. head -10 /etc/passwd
复制代码

  • 实时查看/var/log/messages日志文件:
  1. tail -f /var/log/messages
复制代码

  • 查看/etc/hosts文件的内容,并显示行号:
  1. cat -n /etc/hosts
复制代码

  • 查看/usr/bin/python文件的属性信息:
  1. file /usr/bin/python
复制代码

  • 查找/usr/share目录下大小超过10MB的文件:
  1. find /usr/share -type f -size +10M
复制代码

  • 查找/etc目录下所有链接文件(软链接):
  1. find /etc -type l
复制代码

  • 统计当前目录下所有目录的数量:
  1. find . -type d | wc -l
复制代码

  • 查看/var/log/messages日志中近10分钟的内容(假设日志按时间排序):
  1. tail -n 100 /var/log/messages | grep "$(date +'%b %d %H:%M')" -A 10
复制代码

  • 用wc统计/usr/share/dict/words文件的单词数和字符数(若无该文件可跳过):
  1. wc -w -c /usr/share/dict/words
复制代码

  • 查看/bin/bash文件的inode号,并通过inode号查找相同文件:
  1. ls -i /bin/bash | awk '{print $1}' | xargs find / -inum
复制代码

  • 过滤/etc/passwd中以bash结尾的行(表示用户默认shell为bash):
  1. grep "bash$" /etc/passwd
复制代码

  • 查找/root目录下所有以.sh结尾且7天内未修改的文件:
  1. find /root -name "*.sh" -mtime +7
复制代码
3.文本编辑与数据处理


  • 使用vim编辑test_vim.txt文件,输入内容并保存:
  1. vim test_vim.txt
复制代码

  • 在test_vim.txt中查找包含test的行,并显示行号:
  1. grep -n "test" test_vim.txt
复制代码

  • 对test_vim.txt的内容进行排序并去重:
  1. sort test_vim.txt | uniq
复制代码

  • 提取/etc/passwd文件中每行的第一个字段(用户名):
  1. cut -d ':' -f 1 /etc/passwd
复制代码

  • 使用awk统计/etc/passwd文件中的用户数量:
  1. awk -F ':' '{print $1}' /etc/passwd | wc -l
复制代码

  • 在test_vim.txt中查找以L开头的行:
  1. grep "^L" test_vim.txt
复制代码

  • 排除test_vim.txt中包含test的行:
  1. grep -v "test" test_vim.txt
复制代码

  • 对test_vim.txt按字母顺序降序排序:
  1. sort -r test_vim.txt
复制代码

  • 用vim打开文件,在第10行后插入# 配置注释:
  1. vim /etc/nginx/nginx.conf
复制代码

  • 用sed将test_vim.txt中的Linux替换为CentOS:
  1. sed -i 's/Linux/CentOS/g' test_vim.txt
复制代码

  • 用awk提取/proc/meminfo中内存总量和空闲内存:
  1. awk '/MemTotal/ {print $2,$3} /MemFree/ {print $2,$3}' /proc/meminfo
复制代码

  • 对/etc/group文件按第三列(GID)升序排序:
  1. sort -k 3 /etc/group
复制代码

  • 统计/var/log/secure中失败登录的次数:
  1. grep "Failed password" /var/log/secure | wc -l
复制代码

  • 用cut提取ifconfig命令输出中的IPv4地址:
  1. ifconfig enp* | grep "inet " | cut -d ' ' -f 10
复制代码

  • 过滤test_vim.txt中包含Hello或World的行:
  1. grep -E "Hello|World" test_vim.txt
复制代码

  • 用tr将test_vim.txt中的小写字母转为大写:
  1. tr 'a-z' 'A-Z' < test_vim.txt
复制代码
4.系统相关命令


  • 查看系统内核版本信息:
  1. uname -a
复制代码

  • 查看系统负载和运行时间:
  1. uptime
复制代码

  • 查看当前主机名:
  1. hostname
复制代码

  • 查看磁盘使用情况:
  1. df -h
复制代码

  • 查看/usr目录的大小:
  1. du -sh /usr
复制代码

  • 实时查看系统资源占用情况:
  1. top
复制代码

  • 查看内存使用情况:
  1. free -h
复制代码

  • 查看/etc/fstab文件的状态信息:
  1. stat /etc/fstab
复制代码

  • 查看系统启动时间(以人类可读格式):
  1. who -b
复制代码

  • 查看当前系统中运行时间最长的进程:
  1. ps -eo pid,ppid,user,comm,etimes | sort -k 5 -r | head -1
复制代码

  • 查看/dev/sda磁盘的inode使用情况:
  1. df -i /dev/sda
复制代码

  • 模拟系统负载(用dd命令占用CPU,需Ctrl+C终止):
  1. dd if=/dev/zero of=/dev/null
复制代码

  • 查看系统中所有用户的登录历史(需last命令支持):
  1. last
复制代码

  • 查看当前系统中占用CPU最多的5个进程:
  1. top -b -n 1 | head -20 | grep -v "^top" | sort -k 9 -r | head -5
复制代码

  • 查看httpd服务(若存在)的PID和内存占用:
  1. ps -ef | grep httpd | grep -v grep | awk '{print $2,"-",$6/1024,"MB"}'
复制代码

  • 查看系统中所有监听的TCP端口:
  1. netstat -tuln | grep LISTEN
复制代码
5.综合练习


  • 查找/var/log目录下7天前修改过的、以.log结尾的文件,并显示其修改时间:
  1. find /var/log -mtime +7 -name "*.log" -ls
复制代码

  • 统计/usr/share/doc目录下所有文件的数量:
  1. find /usr/share/doc -type f | wc -l
复制代码

  • 使用vim打开文件,修改端口号:
  1. cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
  2. vim /etc/ssh/sshd_config
复制代码

  • 过滤/var/log/secure日志中包含Failed password的行,并显示行号:
  1. grep -n "Failed password" /var/log/secure
复制代码

  • 对/etc/services文件按端口号进行排序(端口号在第二列):
  1. sort -n -k 2 /etc/services
复制代码

  • 查看/proc/cpuinfo文件,提取CPU核心数:
  1. grep "cpu cores" /proc/cpuinfo | uniq
复制代码

  • 创建一个大小为100KB的文件,并计算其MD5值:
  1. dd if=/dev/zero of=100KB_file bs=1024 count=100
  2. md5sum 100KB_file
复制代码

  • 将/etc/issue文件的内容追加到test_append.txt文件中:
  1. cat /etc/issue >> test_append.txt
复制代码

  • 查找/var/log目录下所有日志文件,按大小降序排列并显示前5个:
  1. find /var/log -type f -name "*.log" -exec du -sh {} \; | sort -hr | head -5
复制代码

  • 备份/etc目录下所有配置文件(以.conf结尾)到/backup目录:
  1. mkdir -p /backup && find /etc -name "*.conf" -exec cp {} /backup \;
复制代码

  • 统计/usr/src目录下C语言文件(.c)的总行数(含空行):
  1. find /usr/src -name "*.c" | xargs wc -l
复制代码

  • 用vim批量注释test_vim.txt中所有以#开头的行:
  1. vim test_vim.txt
复制代码

  • 过滤/var/log/httpd/access_log中访问量最高的IP地址:
  1. grep -v "localhost" /var/log/httpd/access_log | awk '{print $1}' | sort | uniq -c | sort -nr | head -1
复制代码

  • 创建一个1GB的文件并查看其在磁盘上的实际占用:
  1. dd if=/dev/zero of=1GB_file bs=1M count=1024
  2. ls -lh 1GB_file
  3. du -sh 1GB_file
复制代码

  • 查看系统中所有用户的UID和GID是否一致:
  1. awk -F ':' '{if ($3 == $4) print $1,"UID=GID=",$3}' /etc/passwd
复制代码

  • 用chattr给/etc/fstab文件添加不可修改属性,尝试修改并观察提示:
  1. chattr +i /etc/fstab
  2. echo "test" >> /etc/fstab
  3. chattr -i /etc/fstab
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册