Featured image of post linux学习笔记1-基础命令

linux学习笔记1-基础命令

Linux是程序员必备技能,我已经工作几天了,目前的工作就是在服务器上部署脚本,但是Linux命令不熟悉,导致我有一些吃力,还是得学习一下,最重要的还是掌握常用命令。

核心概念

命令结构: command [选项] [参数]

  • 选项 (Options): 通常以 --- 开头,用于修改命令的行为。例如 -l, --all
  • 参数 (Arguments): 命令操作的对象,如文件名、目录名。

提示符: [用户名@主机名 当前目录]$

  • $ 表示普通用户,# 表示超级用户(root)。

绝对路径与相对路径:

  • 绝对路径: 从根目录 / 开始的完整路径,如 /home/user/file.txt
  • 相对路径: 从当前目录开始的路径,如 ./file.txt (当前目录) 或 ../otherdir (上级目录)。

好习惯

  • --help: 任何命令后加 --help 或 -h 查看内置帮助。 (ls --help)
  • man: 查看命令的详细手册页,是终极权威文档。 (man ls) - 按 q 退出。
  • 善用Tab: 自动补全命令和文件名,防止拼写错误,提高效率。

命令详解(按功能分类)

1. 文件与目录操作 (最核心)

命令功能描述常用示例说明
pwd显示当前工作目录pwdPrint Working Directory
ls列出目录内容ls -la-l 详情,-a 显示隐藏文件
cd切换目录cd /tmp cd .. cd ~.. 上级,~ 家目录,- 上一个目录
mkdir创建新目录mkdir new_dir mkdir -p a/b/c-p 创建多级父目录
touch创建空文件或更新文件时间戳touch file.txt
cp复制文件或目录cp file1 file2 cp -r dir1 dir2-r 递归复制目录
mv移动或重命名文件/目录mv old.txt new.txt mv file /tmp/
rm删除文件或目录rm file.txt rm -rf dir小心! -r 递归,-f 强制,无法轻易恢复
rmdir删除空目录rmdir empty_dir

2. 文件查看与编辑

命令功能描述常用示例说明
cat连接文件并打印到标准输出cat file.txt查看整个小文件内容
more / less分页查看文件内容less long_file.logless 更强大,支持上下翻页 /搜索
head显示文件开头部分head -n 20 file.log查看前20行
tail显示文件结尾部分tail -n 50 file.log tail -f log.txt-f 实时追踪日志文件更新
nano / vim文本编辑器nano file.txt vim file.txtnano 简单,vim 强大但学习曲线陡峭

3. 权限管理(重要!)

Linux权限分为:读(r)写(w)执行(x),对应用户(u)组(g)其他(o)

命令功能描述常用示例说明
chmod修改文件权限chmod +x script.sh chmod 755 file+x 添加执行权,755 是数字表示法 (rwxr-xr-x)
chown修改文件所有者chown user:group file更改属主和属组
sudo以超级用户权限执行命令sudo apt update执行需要root权限的命令

4. 系统管理与进程监控

命令功能描述常用示例说明
ps查看进程状态ps aux ps -efgrep nginx
top / htop动态、交互式查看进程(系统资源监控)top htophtop 是 top 的增强版,更直观
kill终止进程kill 1234 kill -9 1234-9 发送SIGKILL信号强制杀死
df查看磁盘空间使用情况df -h-h 以人类易读格式显示 (G/M)
du查看文件/目录的磁盘使用情况du -sh /home/-s 总计,-h 易读格式
free显示内存使用情况free -h
uname显示系统信息uname -a显示所有信息(内核版本、主机名等)
reboot / shutdown重启 / 关机sudo shutdown now sudo reboot需要root权限

5. 网络操作

命令功能描述常用示例说明
ping测试网络连通性ping http://google.com ping -c 4 8.8.8.8-c 指定发送包次数
curl / wget从网络下载文件curl -O http://example.com/file wget http://example.com/file
ssh安全远程登录ssh user@remote_host连接到远程服务器
scp安全地跨机复制文件scp file.txt user@host:/path/基于ssh的加密传输

6. 压缩与解压

命令功能描述常用示例说明
tar打包和解包文件tar -czvf archive.tar.gz dir/ tar -xzvf archive.tar.gz-c 创建,-x 解压,-z gzip,-v 显示过程,-f 指定文件名
gzip / gunzip压缩/解压 .gz 文件gzip file gunzip file.gz

7. 查找与过滤(威力强大)

命令功能描述常用示例说明
find在目录树中查找文件find /home -name “*.txt” find . -type f -mtime +7按名称、类型、时间等查找
grep在文件中搜索文本模式grep “error” log.txt ps auxgrep nginx
which查找命令的完整路径which python显示命令所在位置
whereis定位命令的二进制、源码和手册页whereis ls

高级技巧与组合拳

  • 输出重定向:

  • >: 覆盖输出到文件 (ls > list.txt)

  • >>: 追加输出到文件 (echo "new line" >> file.txt)

  • 2>: 重定向错误输出 (command 2> error.log)

  • 管道 |:

  • 将一个命令的输出作为另一个命令的输入。

  • 经典组合: ps aux | grep nginx (查找nginx进程), cat file.log | grep "error" | head -n 10 (查看日志中前10个错误)

  • 通配符:

  • *: 匹配任意数量字符 (rm *.tmp)

  • ?: 匹配一个任意字符 (ls file?.txt)

  • []: 匹配括号内任意一个字符 (ls file[123].txt)

使用 Hugo 构建
主题 StackJimmy 设计