Linux命令笔记是学习和掌握Linux系统操作的重要工具,涵盖了文件管理、权限控制、进程管理、网络配置等多个方面,以下从基础命令到高级操作,结合实例和表格进行详细梳理,帮助用户系统化理解Linux命令的使用场景和技巧。

文件与目录操作
文件管理是Linux日常操作的核心,常用命令包括ls
、cd
、cp
、mv
、rm
等。ls
命令用于列出目录内容,通过-l
选项显示详细信息(如权限、所有者、大小),-a
选项显示隐藏文件。ls -la /home
会列出/home
目录下的所有文件,包括以开头的隐藏文件。cd
命令用于切换目录,cd ..
返回上级目录,cd ~
进入用户主目录。cp
命令复制文件或目录,-r
选项用于递归复制目录,如cp -r /source /destination
。mv
命令可重命名文件或移动文件位置,如mv oldname.txt newname.txt
。rm
命令删除文件,-r
选项递归删除目录,-f
选项强制删除,需谨慎使用。
文件查找方面,find
命令功能强大,可通过文件名、大小、修改时间等条件搜索。find /home -name "*.txt" -size +1M
会在/home
目录下查找大于1MB的.txt
文件。locate
命令基于数据库快速查找文件,但需先通过updatedb
更新数据库。
权限与所有者管理
Linux通过权限位(读r、写w、执行x)控制文件访问,分为文件所有者、所属组和其他用户。chmod
命令修改权限,使用数字表示法(如chmod 755 file
,所有者拥有rwx权限,组和其他用户拥有r-x权限)或符号表示法(如chmod u+x file
,为所有者添加执行权限)。chown
命令修改文件所有者,如chown user:group file
将文件所有者改为user
,所属组改为group
。chgrp
命令仅修改所属组,如chgrp group file
。
文本处理
Linux提供了强大的文本处理工具。cat
命令查看文件内容,more
或less
支持分页查看,less
还可向前翻页。grep
用于文本搜索,-i
选项忽略大小写,-n
显示行号,如grep -n "error" log.txt
。sed
流编辑器用于文本替换,如sed 's/old/new/g' file
将文件中所有old
替换为new
。awk
用于文本分析,如awk '{print $1, $3}' file
打印每行的第1和第3列。

压缩与打包
Linux常用tar
命令打包文件,gzip
、bzip2
、xz
用于压缩。tar -czvf archive.tar.gz /path/to/dir
创建并打包目录为.tar.gz
文件;tar -xzvf archive.tar.gz
解压文件。zip
和unzip
命令处理.zip
格式,如zip -r archive.zip dir
递归压缩目录。
进程管理
ps
命令查看当前进程,aux
选项显示所有进程详细信息,grep
结合过滤特定进程,如ps aux | grep nginx
。top
和htop
实时监控系统资源,htop
以彩色界面和交互操作更直观。kill
命令终止进程,kill -9
强制终止,如kill -9 1234
(1234为进程ID)。nohup
命令让进程在后台运行并忽略挂断信号,如nohup command &
。
网络配置
网络相关命令中,ifconfig
或ip addr
查看网络接口信息,sudo ifconfig eth0 up/down
启用/禁用网卡。ping
测试网络连通性,如ping google.com
。netstat
或ss
查看网络连接状态,ss -tuln
显示所有监听端口。wget
或curl
下载文件,如wget https://example.com/file.zip
。
用户与组管理
useradd
和userdel
分别创建和删除用户,如sudo useradd -m newuser
创建用户并创建主目录。passwd
修改用户密码,su
切换用户,sudo
以管理员权限执行命令。groupadd
和groupdel
管理用户组。

系统信息与日志
uname -a
显示系统详细信息,df -h
查看磁盘使用情况,free -h
显示内存使用量,日志查看常用journalctl
(systemd系统)或/var/log/
目录下的日志文件,如journalctl -u nginx.service
查看nginx服务日志。
定时任务
crontab
管理定时任务,crontab -e
编辑任务列表,格式为“分 时 日 月 周 命令”,如0 2 * * * /backup/script.sh
表示每天凌晨2点执行备份脚本。
实用技巧
- 通配符:匹配任意字符,匹配单个字符,如
rm *.tmp
删除所有.tmp
文件。 - 管道与重定向:将前一个命令的输出作为后一个命令的输入,如
ls | grep txt
;>
覆盖输出,>>
追加输出,如echo "log" >> file.txt
。 - 别名:
alias ll='ls -la'
定义别名,简化常用命令。
常用命令速查表
命令 | 功能描述 | 常用选项 |
---|---|---|
ls |
列出目录内容 | -l (详细信息)、-a (隐藏文件) |
cp |
复制文件或目录 | -r (递归)、-i (覆盖提示) |
find |
查找文件 | -name (按名)、-size (按大小) |
grep |
文本搜索 | -i (忽略大小写)、-n (显示行号) |
tar |
打包/解包文件 | -c (创建)、-x (解压)、-v (显示过程) |
ps |
查看进程 | aux (所有进程) |
chmod |
修改权限 | 755 (数字法)、u+x (符号法) |
ssh |
远程登录 | -p (指定端口) |
相关问答FAQs
Q1: 如何查看某个命令的帮助文档?
A1: Linux命令通常内置帮助文档,可通过以下方式查看:
man 命令名
:显示完整的手册页,如man ls
。命令名 --help
:显示常用选项和简要说明,如ls --help
。- 部分命令支持
info 命令名
,提供更详细的交互式帮助。
Q2: 如何批量重命名文件?
A2: 可结合rename
命令(Perl版本)或for
循环实现。
- 使用
rename
:rename 's/old/new/' *.txt
将所有.txt
文件中的old
替换为new
。 - 使用
for
循环:for f in *.jpg; do mv "$f" "new_${f}"; done
,为所有.jpg
文件前添加new_
前缀。