Linux基础命令
Linux基础命令
复习定位
Linux没有图形界面的时候——命令行是唯一的交互方式。掌握ls/grep/chmod/find/ps等命令对于开发、排障和安全审计都是必须的。即使有了桌面——这些命令在处理自动化、批量操作、排故障、查看日志的强力程度上是GUI替代不了的。这一节覆盖最常用的那些——后面每节再扩展。
Shell与命令行
Shell是用户和Linux内核交互的命令行解释器。用户输入命令名和参数——Shell找到对应的可执行程序并创建子进程执行。常用Shell包括Bash(默认)/Zsh/Fish。Shell提示符$是普通用户、#是root。
绝对路径从根目录/开始——/home/user/file.txt。相对路径从当前工作目录开始——./file.txt(当前目录)、../file.txt(父目录)。
文件和目录操作
| 命令 | 用法 | 说明 |
|---|---|---|
ls | ls -la /etc | 列出目录内容—l详细格式—a包含隐藏文件 |
cd | cd /home/user | 切换当前目录 |
pwd | pwd | 显示当前工作目录路径 |
mkdir | mkdir -p dir/subdir | 创建目录—p创建父目录 |
cp | cp -r /src /dst | 复制文件/目录—r递归 |
mv | mv file1 file2 | 移动/重命名文件 |
rm | rm -rf /tmp | 删除文件/目录—r递归—f强制 |
touch | touch file.txt | 创建空文件/更新文件修改时间 |
查看文件内容:cat(全量)、less(分页——上下翻)、head -n 20(前20行)、tail -f(实时跟踪日志追加)。
文本处理
grep——按行匹配文本。grep -rn "error" /var/log——递归查找包含"error"的所有行、显示行号。grep -v反向匹配。
wc -l统计行数、wc -w字数、wc -c字节。
sort——按行排序文本。sort -t ':' -k 3 -n /etc/passwd——以冒号分割的第三字段按数字排序。
uniq——去重连续重复的行——通常与sort配合使用sort file | uniq -c统计各行的重复次数。
文件权限
ls -l输出-rwxr-xr-x——第一个字符表示文件类型(-普通文件, d目录, l软链接)。接下来9位每3位一组——所有者r/w/x——组r/w/x——其他人r/w/x。
chmod u+x file.sh——给文件所有者添加执行权限。chmod 755 file——777是全开放——755是rwxr-xr-x(所有者全部权限——组和其他只读+执行)。chown user:group file——更改文件所有者和组。
进程管理
ps -aux——显示所有进程(CPU/内存/STAT)。top——实时动态显示进程信息。kill -9 PID——强制结束进程(发送SIGKILL不可捕获)。kill -15 PID——请求进程正常退出(SIGTERM)。pkill process_name按名字杀进程。
复习检查
绝对路径和相对路径的区别——
/etc/passwd和./passwd在当前目录为/etc时是否指向同一个文件?ls -la输出中第一列drwxr-x---的含义——d代表目录、后面的9位哪个角色是什么权限?tail -f /var/log/syslog——-f选项做了什么——它是如何"不退出"实时跟踪日志文件写入内容而不必人工重新打开?ps aux的STAT栏——S代表睡眠、R代表运行、Z代表僵尸——为什么不能简单把所有未运行的进程都显示为睡眠?文件删除
rm命令——在Linux中删除了一个正在被程序打开的日志文件——磁盘空间是否立刻释放?在什么时候才释放?