linux 基础命令

Linux 基础命令

目录

  1. 文件系统导航
  2. 文件操作
  3. 目录操作
  4. 文件查看与编辑
  5. 系统信息
  6. 进程管理
  7. 网络相关
  8. 权限管理
  9. 包管理
  10. 其他实用命令

文件系统导航

pwd - 显示当前目录

pwd
# 输出: /home/username

ls - 列出目录内容

ls          # 列出当前目录内容
ls -l       # 详细列表格式
ls -a       # 显示所有文件(包括隐藏文件)
ls -la      # 详细列表显示所有文件
ls /home    # 列出指定目录内容
ls *.txt    # 通配符匹配

cd - 切换目录

cd          # 切换到用户主目录
cd /home    # 切换到绝对路径
cd ..       # 切换到上级目录
cd ../..    # 切换到上两级目录
cd ~        # 切换到用户主目录
cd -        # 切换到上一个目录

tree - 树状显示目录结构

tree        # 显示当前目录树状结构
tree -L 2   # 只显示2层深度
tree -d     # 只显示目录

文件操作

cp - 复制文件或目录

cp file1 file2           # 复制文件
cp file1 dir/            # 复制文件到目录
cp -r dir1 dir2          # 递归复制目录
cp -v file1 file2        # 显示复制过程
cp -i file1 file2        # 覆盖前确认

mv - 移动或重命名文件

mv file1 file2           # 重命名文件
mv file1 dir/            # 移动到目录
mv -i file1 file2        # 覆盖前确认
mv -v file1 dir/         # 显示移动过程

rm - 删除文件或目录

rm file1                 # 删除文件
rm -r dir1               # 递归删除目录
rm -f file1              # 强制删除,不提示
rm -i file1              # 删除前确认
rm -rf dir1              # 强制递归删除目录(危险!)

touch - 创建空文件或更新时间戳

touch file1              # 创建空文件
touch file1 file2        # 创建多个文件
touch -t 202312251200 file1  # 设置特定时间戳

find - 查找文件

find . -name "*.txt"     # 查找所有txt文件
find /home -name "file1" # 在指定目录查找
find . -type f -size +1M # 查找大于1MB的文件
find . -mtime -7         # 查找7天内修改的文件
find . -empty            # 查找空文件/目录

locate - 快速查找文件

locate filename          # 快速查找文件
sudo updatedb           # 更新文件数据库

目录操作

mkdir - 创建目录

mkdir dir1               # 创建目录
mkdir -p dir1/dir2/dir3  # 创建多级目录
mkdir dir1 dir2 dir3     # 创建多个目录

rmdir - 删除空目录

rmdir dir1               # 删除空目录
rmdir -p dir1/dir2       # 删除目录及其空父目录

文件查看与编辑

cat - 查看文件内容

cat file1                # 显示整个文件
cat file1 file2          # 显示多个文件
cat -n file1             # 显示行号
cat > newfile            # 创建新文件(输入内容后Ctrl+D保存)

less / more - 分页查看文件

less file1               # 分页查看(推荐)
more file1               # 分页查看
# 在 less 中: 空格翻页, q退出, /搜索, n下一个匹配

head / tail - 查看文件开头/结尾

head file1               # 查看前10行
head -n 20 file1         # 查看前20行
tail file1               # 查看后10行
tail -n 20 file1         # 查看后20行
tail -f logfile          # 实时查看日志文件

grep - 文本搜索

grep "pattern" file1     # 在文件中搜索文本
grep -r "pattern" dir/   # 递归搜索目录
grep -i "pattern" file1  # 忽略大小写
grep -v "pattern" file1  # 反向搜索(不匹配的行)
grep -n "pattern" file1  # 显示行号
grep -c "pattern" file1  # 统计匹配行数

nano - 简单文本编辑器

nano file1               # 编辑文件
nano -w file1            # 禁用自动换行
# 常用快捷键: Ctrl+O保存, Ctrl+X退出, Ctrl+W搜索

vim / vi - 高级文本编辑器

vim file1                # 用vim编辑文件
# 基本操作:
# i - 插入模式
# Esc - 返回命令模式
# :w - 保存
# :q - 退出
# :wq - 保存并退出
# :q! - 强制退出不保存

系统信息

uname - 系统信息

uname -a                 # 显示所有系统信息
uname -r                 # 显示内核版本
uname -m                 # 显示系统架构

df - 磁盘空间使用情况

df -h                    # 人类可读格式显示磁盘空间
df -i                    # 显示inode使用情况

du - 文件/目录磁盘使用情况

du -sh dir1              # 显示目录总大小
du -h file1              # 显示文件大小
du -sh *                 # 显示当前目录所有文件/目录大小

free - 内存使用情况

free -h                  # 人类可读格式显示内存
free -m                  # 以MB为单位显示

top / htop - 进程监控

top                      # 实时显示进程信息
htop                     # 增强版top(需要安装)
# 在top中: q退出, k杀死进程, M按内存排序, P按CPU排序

who / w - 登录用户信息

who                      # 显示当前登录用户
w                        # 显示登录用户及活动

date - 日期时间

date                     # 显示当前日期时间
date -R                  # 显示RFC格式时间
date "+%Y-%m-%d"         # 自定义格式显示

进程管理

ps - 显示进程状态

ps aux                   # 显示所有进程详细信息
ps -ef                   # 显示完整格式的所有进程
ps -u username           # 显示指定用户的进程

kill - 终止进程

kill 1234                # 终止PID为1234的进程
kill -9 1234             # 强制终止进程
killall process_name     # 终止指定名称的所有进程

bg / fg - 后台/前台进程控制

# 在命令后加 & 在后台运行
./script.sh &

# 将暂停的作业放到后台运行
bg

# 将后台作业调到前台
fg

jobs - 显示后台作业

jobs                     # 显示当前会话的后台作业

网络相关

ping - 测试网络连接

ping google.com          # 测试到google.com的连接
ping -c 4 google.com     # 发送4个包后停止

ifconfig / ip - 网络接口配置

ifconfig                 # 显示网络接口信息(较老)
ip addr                  # 显示IP地址(推荐)
ip route                # 显示路由表

netstat / ss - 网络统计

netstat -tulpn           # 显示监听端口和进程
ss -tulpn                # 更快的网络统计工具

wget / curl - 下载工具

wget http://example.com/file.zip    # 下载文件
curl -O http://example.com/file.zip # 下载文件
curl -I http://example.com          # 显示HTTP头信息

ssh - 远程登录

ssh username@hostname    # SSH远程登录
ssh -p 2222 user@host   # 指定端口登录

权限管理

chmod - 更改文件权限

chmod 755 file1          # 设置权限为rwxr-xr-x
chmod +x script.sh       # 添加执行权限
chmod -R 644 dir/        # 递归设置目录权限
chmod u=rwx,g=rx,o=r file1 # 使用符号设置权限

chown - 更改文件所有者

chown user file1         # 更改文件所有者
chown user:group file1   # 同时更改所有者和组
chown -R user:group dir/ # 递归更改目录

sudo - 以超级用户权限执行

sudo command             # 以root权限执行命令
sudo -i                  # 切换到root用户
sudo su -                # 切换到root用户

passwd - 更改密码

passwd                   # 更改当前用户密码
sudo passwd username     # 更改指定用户密码(需要root权限)

包管理

Ubuntu/Debian (apt)

sudo apt update          # 更新软件包列表
sudo apt upgrade         # 升级所有软件包
sudo apt install package # 安装软件包
sudo apt remove package  # 移除软件包
sudo apt search keyword  # 搜索软件包
apt list --installed     # 列出已安装的包

CentOS/RHEL (yum/dnf)

sudo yum update          # 更新软件包(yum)
sudo dnf update          # 更新软件包(dnf)
sudo yum install package # 安装软件包
sudo yum remove package  # 移除软件包

其他实用命令

tar - 归档工具

tar -czf archive.tar.gz dir/  # 创建gzip压缩包
tar -xzf archive.tar.gz       # 解压gzip压缩包
tar -cjf archive.tar.bz2 dir/ # 创建bzip2压缩包
tar -xjf archive.tar.bz2      # 解压bzip2压缩包

gzip / gunzip - 压缩/解压缩

gzip file1              # 压缩文件(生成file1.gz)
gunzip file1.gz         # 解压缩文件

history - 命令历史

history                 # 显示命令历史
history 10              # 显示最近10条命令
!123                    # 执行历史中第123条命令
!!                      # 执行上一条命令

alias - 命令别名

alias ll='ls -alF'      # 创建别名
alias                  # 显示所有别名
unalias ll             # 删除别名

which / whereis - 查找命令位置

which ls                # 显示命令的完整路径
whereis ls              # 显示命令的二进制、源码和手册页位置

man - 查看手册页

man ls                  # 查看ls命令的手册页
man 5 passwd            # 查看passwd文件格式(第5节)

echo - 显示文本

echo "Hello World"      # 输出文本
echo $PATH             # 输出环境变量
echo ~                 # 输出家目录路径

export - 设置环境变量

export PATH=$PATH:/new/path  # 添加路径到PATH
export VAR=value        # 设置环境变量

实用技巧和组合命令

管道和重定向

ls -l | grep ".txt"          # 管道:将前一个命令的输出作为后一个命令的输入
ls > filelist.txt           # 重定向:将输出写入文件
ls >> filelist.txt          # 追加到文件
2>&1                        # 将标准错误重定向到标准输出

常用组合示例

# 查找并删除所有.txt文件
find . -name "*.txt" -exec rm {} \;

# 统计当前目录文件数量
ls -1 | wc -l

# 查看最近修改的文件
ls -lt | head

# 查找包含特定文本的文件
grep -r "search_text" ./

# 监控日志文件变化
tail -f /var/log/syslog | grep "error"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值