Linux 新手入门 :基础命令笔记

说明:本文对Linux基础命令进行了系统化整理和扩展,补充了 Linux 学习中核心且实用的知识点。每个知识点均配有代码示例,便于理解和实践。


一、 文件传输与路径

1.1 FTP/SFTP 工具

用于在本地与远程服务器之间传输文件。

  • 推荐工具:Xterminal、FileZilla、WinSCP,或直接使用命令行工具 scp/sftp
  • 命令行示例 (scp)
    # 从本地上传文件到远程服务器
    scp /path/to/local/file username@remote_host:/path/to/remote/directory
    
    # 从远程服务器下载文件到本地
    scp username@remote_host:/path/to/remote/file /path/to/local/directory

1.2 绝对路径与相对路径

  • Linux 根目录/。第一个 / 代表根,路径中的 / 是目录分隔符。
  • 绝对路径:一定从根目录 / 开始写起。例如:/home/user/documents/report.txt
  • 相对路径:从当前目录开始描述。
    • ../:代表当前目录(可省略)。
      ls ./ # 等同于 ls . 
    • ..../:代表上级目录。
      cd ..   # 切换到上一级目录
      cd ../../  # 切换到上两级目录

二、 Linux 使用技巧

  • Tab 键:自动补全命令、文件名或目录名。按一次补全唯一项,按两次显示所有候选。
  • 上下箭头:切换历史命令。
  • history 命令:查看历史命令列表。
    history
    history | grep ‘关键词’ # 过滤历史命令
    

三、 Linux 常用命令

3.1 命令基本结构

命令 [选项] [参数]。选项通常以 -(短选项)或 --(长选项)开头。

3.2 文件与目录操作

命令 作用 常用选项与示例
pwd 显示当前工作目录的绝对路径 pwd
ls 列出目录内容 -a:显示所有文件(含隐藏文件,以.开头)
-l:以长格式显示详细信息
-h:与-l配合,以易读格式(K/M/G)显示文件大小
ls -lah
cd 切换目录 cd /path:切换到绝对路径
cd ..:返回上一级
cd ~cd:切换到当前用户家目录
cd -:切换到上一个所在目录
mkdir 创建新目录 -p:递归创建多级目录
mkdir -p project/src/main
touch 创建空文件或更新文件时间戳 touch file.txt
cp 复制文件或目录 -r:递归复制目录
cp file.txt /backup/
cp -r dir1/ dir2/
mv 移动(剪切)或重命名文件/目录 mv file.txt /new/path/ (移动)
mv oldname.txt newname.txt (重命名)
rm 删除文件或目录 -f:强制删除,不提示
-r:递归删除目录
rm file.txt
rm -rf directory/(危险操作,务必确认路径!)
find 在指定目录下查找文件 find [范围] [条件]
按名称:find /home -name “*.log”
按大小:find / -size +100M
按类型:find . -type f (文件) / -type d (目录)
组合条件:find . -name “*.txt” -o -name “*.md” (或)
ln 创建链接 硬链接ln source_file hard_link
软链接(符号链接)ln -s source_file soft_link
区别:删除原文件后,硬链接仍可访问数据,软链接则失效。
tar 打包与压缩/解压缩 解压 .tar.gztar -zxvf archive.tar.gz -C /target/dir
压缩为 .tar.gztar -zcvf archive.tar.gz file1 dir1

3.3 文本查看与处理

命令 作用 常用选项与示例
echo 打印文本或将文本写入文件 echo “Hello Linux” (打印到屏幕)
echo “content” > file.txt (覆盖写入)
echo “more” >> file.txt (追加写入)
cat 查看文件全部内容(适合小文件) cat file.txt
cat -n file.txt (显示行号)
more / less 分页查看文件内容(适合大文件) less /var/log/syslog
快捷键:空格(下一页),b(上一页),Enter(下一行),q(退出),/关键词(搜索)
head 查看文件开头内容 默认前10行。head -n 20 file.log (查看前20行)
tail 查看文件末尾内容 默认后10行。tail -n 50 file.log (查看后50行)
-f:实时追踪文件末尾的新增内容(常用于看日志)
`tail -f app.log
grep 强大的文本过滤工具 grep “pattern” file (在文件中搜索模式)
`cat file
wc 统计文件的行数、字数、字节数 wc -l file.txt (统计行数)
`ls

3.4 系统信息与管理

命令 作用 示例
whoami 显示当前用户名 whoami
which 查找命令的完整路径(在PATH中搜索) which python3
which ls
ps 查看进程状态 ps -ef (显示所有进程的全格式)
ps aux (BSD风格,显示所有进程)
`ps -ef
top / htop 实时动态显示系统进程和资源占用 top (交互式,按q退出)
htop (更强大的版本,需要安装)
kill 终止进程 kill [信号] PID
kill 1234 (发送TERM信号终止进程)
kill -9 1234 (发送KILL信号强制终止)
df 查看磁盘空间使用情况 df -h (以易读格式显示)
du 查看文件或目录的磁盘占用空间 du -sh /path/to/dir (查看目录总大小)
du -h --max-depth=1 (查看当前目录下各子目录大小)
free 查看内存使用情况 free -h (以易读格式显示)
uname 显示系统信息 uname -a (显示所有信息)

3.5 用户与权限管理

这是 Linux 安全的核心。

  • 查看权限:使用 ls -l,输出首字符表示类型(-文件,d目录,l链接),后9位分三组(rwx)表示所有者所属组其他用户的权限。
    -rwxr-xr-- 1 user group 4096 Jan 1 10:00 script.sh
    # 解释:所有者(user)有rwx权限,组(group)有r-x权限,其他用户只有r--权限。
    
  • 修改权限 (chmod)
    # 字母法
    chmod u+x script.sh   # 给所有者(u)添加(x)执行权限
    chmod g-w file.txt    # 移除组(g)的写(w)权限
    chmod o=r file.txt    # 设置其他用户(o)权限为只读(r)
    
    # 数字法 (r=4, w=2, x=1)
    chmod 755 script.sh   # rwxr-xr-x (7=4+2+1, 5=4+1, 5=4+1)
    chmod 644 file.txt    # rw-r--r--
    
  • 修改所有者 (chown)
    chown user:group file.txt   # 同时修改所有者和所属组
    chown user file.txt         # 只修改所有者
    
  • 切换用户 (su)
    su - username   # 切换用户并加载其环境变量
    sudo command    # 以超级用户(root)权限执行命令
    

3.6 网络相关

命令 作用 示例
ping 测试网络连通性 ping www.baidu.com
ifconfig / ip 查看或配置网络接口 ifconfig (旧)
ip addr show (新)
netstat / ss 显示网络连接、路由表、接口统计 netstat -tulpn (查看所有监听端口和对应的进程)
ss -tulpn (功能类似,更现代)
curl / wget 从网络下载文件或发送请求 curl -O http://example.com/file.zip (下载文件)
wget http://example.com/file.zip (下载文件)
curl http://api.example.com (测试API)
ssh 安全远程登录 ssh username@remote_host

3.7 软件包管理 (以 Debian/Ubuntu 的 apt 为例)

# 更新软件包列表
sudo apt update

# 升级所有已安装的包
sudo apt upgrade

# 安装软件包
sudo apt install package_name

# 移除软件包
sudo apt remove package_name

# 搜索软件包
apt search keyword

(CentOS/RHEL 系统使用 yumdnf 命令)

3.8 vi/vim 编辑器

用户笔记已涵盖基础,以下是补充的高效操作:

  • 命令模式常用操作:
    • gg:跳转到文件首行。
    • G:跳转到文件末行。
    • 0 (数字零):跳转到行首。
    • $:跳转到行尾。
    • dw:删除一个单词。
    • yy:复制当前行,nyy复制n行。
    • .:重复上一次操作。
  • 底线模式补充:
    • :set paste:进入粘贴模式(避免自动缩进干扰)。
    • :noh:取消搜索高亮。
    • :w !sudo tee %:在忘记用 sudo 打开文件时,保存需要权限的文件。

四、 重要概念与技巧补充

4.1 重定向与管道

  • 重定向:改变命令输入/输出的默认方向。
    • >:输出重定向(覆盖)。
    • >>:输出重定向(追加)。
    • <:输入重定向。
    ls -l > file_list.txt    # 将ls结果保存到文件(覆盖)
    cat < input.txt > output.txt # 将输入文件内容复制到输出文件
    
  • 管道 (|):将前一个命令的输出作为后一个命令的输入。
    cat long_file.log | grep “error” | wc -l  # 统计文件中包含“error”的行数
    

4.2 环境变量

  • echo $PATH:查看命令搜索路径。
  • export VAR_NAME=value:设置临时环境变量。
  • 永久设置需将 export 命令写入 ~/.bashrc~/.profile 文件,然后执行 source ~/.bashrc 使其生效。

4.3 别名 (alias)

为常用复杂命令创建简短别名。

alias ll=’ls -alh’
alias gs=’git status’
# 将别名添加到 ~/.bashrc 可永久生效

4.4 帮助命令

  • man command:查看命令的详细手册页(按q退出)。
  • command --help:查看命令的简要用法帮助。
  • info command:查看更详细的说明文档。

五、 快照与备份

  • VMware/VirtualBox 快照:在虚拟机设置中创建系统状态的还原点,是进行危险操作(如 rm -rf)前的最佳实践。
  • 重要数据备份:使用 cprsynctar 定期备份重要数据到其他位置。
    rsync -avz /source/path /backup/path   # 高效同步备份
    

学习建议:Linux 命令繁多,无需死记硬背。掌握核心命令和 man/--help 的使用方法,在实践中遇到问题时主动查阅,是更快的学习路径。多用,多练,多尝试。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐