Bootstrap

linux 面试题


1. 文件与目录操作

ls

功能:列出目录内容
常用参数

  • -l:长格式显示(权限、大小、时间等)
  • -a:显示隐藏文件(以.开头的文件)
  • -h:以易读格式显示文件大小(如KB/MB)
    示例
ls -lah /home  # 查看/home目录下所有文件的详细信息
cd

功能:切换当前工作目录
示例

cd /var/log  # 进入/var/log目录
cd ..        # 返回上一级目录
cd ~         # 进入当前用户的家目录
cp

功能:复制文件或目录
参数

  • -r:递归复制目录
  • -i:覆盖前提示确认
    示例
cp file1.txt /backup/     # 复制文件
cp -r dir1/ /backup/     # 复制目录
mv

功能:移动文件或目录,也可用于重命名
示例

mv old.txt new.txt       # 重命名文件
mv file1.txt /tmp/       # 移动文件到/tmp目录
rm

功能:删除文件或目录
参数

  • -r:递归删除目录
  • -f:强制删除(不提示)
    示例
rm file.txt             # 删除文件
rm -rf old_dir/         # 强制递归删除目录(慎用!)
mkdir

功能:创建目录
参数

  • -p:递归创建多级目录
    示例
mkdir new_folder
mkdir -p dir1/dir2/dir3  # 创建嵌套目录
touch

功能:创建空文件或更新文件时间戳
示例

touch newfile.txt  # 创建新文件

2. 文件内容查看与编辑

cat

功能:显示文件内容
示例

cat file.txt        # 查看文件内容
cat file1.txt file2.txt > combined.txt  # 合并文件
more / less

功能:分页查看文件内容(less支持上下翻页)
示例

less large_file.log  # 分页查看日志文件(按`q`退出)
head / tail

功能:查看文件头部或尾部内容
参数

  • -n 10:显示前/后10行
  • tail -f:实时追踪文件变化(常用于日志监控)
    示例
head -n 5 file.txt    # 显示前5行
tail -f /var/log/syslog  # 实时监控系统日志
grep

功能:文本搜索工具
参数

  • -i:忽略大小写
  • -v:反向匹配(显示不包含关键字的行)
  • -r:递归目录搜索
    示例
grep "error" /var/log/syslog      # 查找包含"error"的行
grep -r "TODO" /home/user/code/  # 递归搜索代码目录中的"TODO"
find

功能:查找文件或目录
参数

  • -name:按名称搜索
  • -type:按类型搜索(f为文件,d为目录)
  • -exec:对搜索结果执行命令
    示例
find /home -name "*.txt"        # 查找所有.txt文件
find /var/log -type f -mtime +7  # 查找7天前修改过的文件

3. 系统管理与监控

top

功能:实时显示系统进程和资源占用(CPU、内存等)
交互命令

  • k:终止进程
  • M:按内存排序
  • P:按CPU排序
ps

功能:显示当前进程状态
常用参数

  • aux:查看所有进程详细信息
    示例
ps aux | grep nginx  # 查找nginx进程
kill

功能:终止进程
参数

  • -9:强制终止
    示例
kill 1234         # 终止PID为1234的进程
kill -9 1234      # 强制终止
df

功能:查看磁盘空间使用情况
参数

  • -h:以易读格式显示
    示例
df -h  # 查看所有挂载点的磁盘使用情况
du

功能:查看目录或文件占用的磁盘空间
参数

  • -sh:汇总显示总大小
    示例
du -sh /var/log/  # 查看/var/log目录的总大小
free

功能:查看内存使用情况
参数

  • -h:以易读格式显示
    示例
free -h  # 查看内存和Swap使用情况

4. 网络工具

ping

功能:测试网络连通性
示例

ping google.com  # 检查与Google的网络连接(按Ctrl+C停止)
ifconfig / ip

功能:查看或配置网络接口
示例

ifconfig eth0      # 查看eth0网卡信息(旧版命令)
ip addr show       # 查看所有网络接口(新版命令)
netstat

功能:显示网络连接、路由表、接口统计等信息
参数

  • -tuln:查看所有监听端口
    示例
netstat -tuln | grep 80  # 检查80端口是否被监听
curl

功能:命令行HTTP请求工具
参数

  • -I:仅显示响应头
  • -O:下载文件
    示例
curl -I https://example.com       # 查看HTTP响应头
curl -O https://example.com/file.zip  # 下载文件
wget

功能:下载文件
示例

wget https://example.com/file.tar.gz  # 下载文件

5. 权限管理

chmod

功能:修改文件权限
参数

  • 数字模式:chmod 755 file.sh
  • 符号模式:chmod u+x file.sh
    示例
chmod 644 file.txt    # 设置权限为rw-r--r--
chmod +x script.sh   # 添加可执行权限
chown

功能:修改文件所有者
示例

chown user:group file.txt  # 修改所有者和所属组

6. 压缩与解压

tar

功能:打包和解压文件
参数

  • -c:创建压缩包
  • -x:解压
  • -z:使用gzip压缩
  • -v:显示过程
    示例
tar -czvf archive.tar.gz dir1/   # 压缩目录为gzip格式
tar -xzvf archive.tar.gz        # 解压gzip文件
gzip / gunzip

功能:压缩或解压文件(生成.gz文件)
示例

gzip file.txt       # 压缩为file.txt.gz
gunzip file.txt.gz  # 解压

7. 其他高频命令

命令功能示例
history查看命令历史记录history | grep "ssh"
man查看命令手册man ls
echo输出文本或变量echo $PATH
date显示或设置系统时间date "+%Y-%m-%d %H:%M:%S"
ssh远程登录服务器ssh [email protected]
scp安全复制文件(基于SSH)scp file.txt user@remote:/tmp/
crontab定时任务管理crontab -e
alias创建命令别名alias ll='ls -alh'
uname显示系统信息uname -a
which查找命令的安装路径which python
whereis查找命令的二进制、源码和手册位置whereis nginx
ln创建链接文件ln -s /path/to/file link_name
systemctl管理系统服务(systemd)systemctl start nginx
journalctl查看系统日志(systemd)journalctl -u nginx
useradd添加用户useradd -m new_user
passwd修改用户密码passwd username
su切换用户身份su - root
sudo以管理员权限执行命令sudo apt update
apt / yum包管理工具(Debian/RedHat系)apt install nginx
rsync高效文件同步工具rsync -avz src/ user@remote:/dest/
nohup后台运行命令(终端关闭不终止)nohup python app.py &

总结

掌握这些命令可覆盖 80% 的日常 Linux 操作需求,建议结合实践练习加深理解!

;