Linux 教程(二):Linux 基础命令详解
Linux 命令基本格式
Linux 命令的基本格式如下:
命令 [选项] [参数]
- 命令:要执行的操作
- 选项:以 - 或 -- 开头,修改命令行为
- 参数:命令作用的对象
目录导航命令
1. pwd - 显示当前目录
$ pwd
/home/username
显示当前工作目录的完整路径。
2. cd - 切换目录
# 切换到家目录
cd
# 切换到指定目录
cd /var/log
# 切换到上一级目录
cd ..
# 切换到上上级目录
cd ../..
# 切换到上次所在的目录
cd -
3. ls - 列出目录内容
# 基本用法
ls
# 显示详细信息
ls -l
# 显示隐藏文件
ls -a
# 以人类可读格式显示大小
ls -lh
# 按时间排序
ls -lt
# 递归显示子目录
ls -R
常用选项说明:
| 选项 | 说明 |
|---|---|
| -l | 长格式显示(权限、所有者、大小、时间) |
| -a | 显示所有文件(包括隐藏文件) |
| -h | 人类可读的文件大小(K、M、G) |
| -t | 按修改时间排序 |
| -R | 递归显示子目录 |
| -i | 显示 inode 号 |
文件操作命令
1. touch - 创建空文件
# 创建空文件
touch file.txt
# 创建多个文件
touch file1.txt file2.txt file3.txt
# 更新文件时间戳
touch existing_file.txt
2. mkdir - 创建目录
# 创建单个目录
mkdir mydir
# 创建多个目录
mkdir dir1 dir2 dir3
# 递归创建目录(包括父目录)
mkdir -p parent/child/grandchild
3. cp - 复制文件
# 复制文件
cp source.txt destination.txt
# 复制到目录
cp file.txt /home/user/
# 递归复制目录
cp -r sourcedir/ destdir/
# 保留属性复制
cp -p source.txt dest.txt
# 显示复制过程
cp -v source.txt dest.txt
4. mv - 移动/重命名文件
# 移动文件
mv file.txt /home/user/
# 重命名文件
mv oldname.txt newname.txt
# 移动目录
mv dir1/ dir2/
# 强制覆盖(不提示)
mv -f source.txt dest.txt
# 交互式(覆盖前询问)
mv -i source.txt dest.txt
5. rm - 删除文件
# 删除文件
rm file.txt
# 删除多个文件
rm file1.txt file2.txt
# 删除目录(必须为空)
rmdir emptydir
# 递归删除目录及其内容
rm -r dirname/
# 强制删除(不提示)
rm -f file.txt
# 递归强制删除(危险!)
rm -rf dirname/
⚠️ 警告:rm -rf 是非常危险的命令,使用前务必确认路径!
文件查看命令
1. cat - 显示文件内容
# 显示整个文件
cat file.txt
# 显示行号
cat -n file.txt
# 显示非空行号
cat -b file.txt
# 合并多个文件
cat file1.txt file2.txt > combined.txt
2. less - 分页查看文件
less largefile.txt
常用快捷键:
- 空格键:向下翻一页
- b:向上翻一页
- G:跳到文件末尾
- g:跳到文件开头
- /pattern:搜索
- n:下一个匹配项
- q:退出
3. head - 查看文件开头
# 查看前 10 行
head file.txt
# 查看前 20 行
head -n 20 file.txt
# 查看前 5 字节
head -c 5 file.txt
4. tail - 查看文件末尾
# 查看最后 10 行
tail file.txt
# 查看最后 20 行
tail -n 20 file.txt
# 实时跟踪文件变化(查看日志必备)
tail -f /var/log/syslog
# 显示最后 10 行并跟踪
tail -f file.txt
5. wc - 统计文件信息
# 统计行数、单词数、字节数
wc file.txt
# 只统计行数
wc -l file.txt
# 只统计单词数
wc -w file.txt
# 只统计字节数
wc -c file.txt
# 统计多个文件
wc *.txt
查找命令
1. find - 查找文件
# 按名称查找
find /home -name "*.txt"
# 按类型查找(f=文件,d=目录)
find /home -type f
# 按大小查找(+100M=大于 100M)
find / -size +100M
# 按时间查找(-7=7 天内)
find /home -mtime -7
# 查找并删除
find /tmp -name "*.tmp" -delete
# 查找并执行命令
find . -name "*.log" -exec rm {} \;
2. grep - 文本搜索
# 基本搜索
grep "pattern" file.txt
# 忽略大小写
grep -i "pattern" file.txt
# 显示行号
grep -n "pattern" file.txt
# 递归搜索目录
grep -r "pattern" /path/
# 显示匹配行前后 3 行
grep -C 3 "pattern" file.txt
# 反向匹配(不包含)
grep -v "pattern" file.txt
# 使用正则表达式
grep -E "[0-9]+" file.txt
3. locate - 快速查找文件
# 查找文件
locate filename
# 更新数据库(需要先运行)
sudo updatedb
文件权限命令
1. chmod - 修改权限
# 数字模式
chmod 755 file.txt # rwxr-xr-x
chmod 644 file.txt # rw-r--r--
chmod 777 file.txt # rwxrwxrwx
# 字母模式
chmod u+x file.txt # 给所有者添加执行权限
chmod g-w file.txt # 给组删除写权限
chmod o=r file.txt # 设置其他人只读
chmod a+x file.txt # 给所有人添加执行权限
# 递归修改
chmod -R 755 dirname/
权限数字对照:
| 数字 | 权限 | 字母 |
|---|---|---|
| 7 | rwx | 读 + 写 + 执行 |
| 6 | rw- | 读 + 写 |
| 5 | r-x | 读 + 执行 |
| 4 | r-- | 只读 |
| 0 | --- | 无权限 |
2. chown - 修改所有者
# 修改文件所有者
chown user file.txt
# 修改所有者和组
chown user:group file.txt
# 递归修改目录
chown -R user:group dirname/
3. chgrp - 修改组
# 修改文件组
chgrp group file.txt
# 递归修改
chgrp -R group dirname/
链接命令
ln - 创建链接
# 创建硬链接
ln source.txt link.txt
# 创建软链接(符号链接)
ln -s source.txt link.txt
# 创建目录的软链接
ln -s /path/to/dir linkdir
实用技巧
1. 命令补全
按 Tab 键可以自动补全命令和文件名。
2. 命令历史
# 查看历史命令
history
# 执行历史命令
!100 # 执行第 100 条历史命令
!! # 执行上一条命令
!cd # 执行最近一条 cd 命令
3. 命令别名
# 查看别名
alias
# 创建别名
alias ll="ls -lh"
alias rm="rm -i"
# 删除别名
unalias ll
# 永久生效(添加到~/.bashrc)
echo "alias ll=\"ls -lh\"" >> ~/.bashrc
练习题
- 创建目录结构:test/dir1/dir2
- 在 dir2 中创建文件 file.txt
- 将 file.txt 复制到 dir1
- 将 dir1 中的 file.txt 重命名为 newfile.txt
- 查找 /home 目录下所有.txt 文件
- 查看 /var/log 目录下最新的日志文件
下一章预告
下一篇我们将学习 Linux 文本编辑神器——Vim 编辑器的使用。
勤加练习,熟能生巧!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。







