Published on

Linux 常用命令

标签:Linux

记录下常用的Linux 命令,常见选项和用法,方便用时查找。

文件和目录操作

  • ls - 列出目录内容
ls          # 列出当前目录下的文件和目录
ls -l       # 以长格式显示(包括权限、所有者、大小等)
ls -a       # 显示所有文件,包括隐藏文件(以 . 开头)
ls -lh      # 以人类可读的格式显示文件大小
ls -R       # 递归列出子目录内容
  • cd - 更改目录
cd /path/to/directory  # 切换到指定目录
cd ..                  # 返回到上一级目录
cd ~                   # 切换到当前用户的主目录
cd -                   # 切换到上一次所在的目录
  • pwd - 显示当前工作目录
pwd  # 输出当前所在的工作目录路径
  • cp - 复制文件或目录
cp file1 file2               # 复制文件 file1 到 file2
cp -r directory1 directory2  # 递归复制目录 directory1 到 directory2
cp -i file1 file2            # 复制时提示覆盖确认
cp -v file1 file2            # 复制时显示详细信息
  • mv - 移动或重命名文件或目录
mv file1 file2         # 将文件 file1 重命名为 file2,或移动到 file2 位置
mv directory1 /path/   # 移动目录 directory1 到指定路径
mv -i file1 file2      # 移动或重命名时提示覆盖确认
mv -v file1 file2      # 显示详细的移动或重命名信息
  • rm - 删除文件或目录
rm file1               # 删除文件 file1
rm -r directory1       # 递归删除目录及其内容
rm -i file1            # 删除文件前进行确认
rm -rf directory1      # 强制递归删除目录,不提示确认
  • mkdir - 创建目录
mkdir new_directory    # 创建新目录
mkdir -p /path/to/directory  # 递归创建所需的目录
  • rmdir - 删除空目录
rmdir directory1       # 删除空目录
  • touch - 创建新文件或更新文件的时间戳
touch newfile.txt      # 创建一个空文件或更新文件的修改时间
  • find - 搜索文件和目录
find /path -name filename       # 按名称查找文件
find /path -type d -name dirname  # 查找目录
find /path -mtime -7           # 查找最近 7 天内修改过的文件
find /path -size +100M         # 查找大于 100MB 的文件
find /path -exec command {} \;  # 查找到文件后执行命令

文件内容查看和编辑

  • cat - 显示文件内容
cat file.txt                    # 显示文件内容
cat file1.txt file2.txt         # 依次显示多个文件的内容
cat file1.txt > file2.txt       # 将文件1的内容复制到文件2
cat file1.txt >> file2.txt      # 将文件1的内容追加到文件2
cat -n file.txt                 # 显示内容时同时输出行号
  • less - 分页查看文件内容
less file.txt                   # 分页显示文件内容
  • 使用上下方向键或 PageUpPageDown 翻页。
  • 输入 q 退出查看。
  • 输入 /pattern 查找内容。
  • more - 分页显示文件内容
more file.txt                   # 分页显示文件内容
  • 使用空格键翻页。
  • 使用 q 退出查看。
  • 使用 /pattern 查找内容。
  • head - 显示文件的前几行
head file.txt                   # 显示文件的前10行
head -n 20 file.txt             # 显示文件的前20行
head -c 100 file.txt            # 显示文件的前100字节
  • tail - 显示文件的后几行
tail file.txt                   # 显示文件的最后10行
tail -n 20 file.txt             # 显示文件的最后20行
tail -f file.txt                # 实时跟踪文件内容的更新
  • nano - 简单的文本编辑器
nano file.txt                   # 在 nano 编辑器中打开文件
  • 使用箭头键导航,Ctrl + O 保存文件,Ctrl + X 退出。
  • vi / vim - 强大的文本编辑器
vi file.txt                     # 使用 vi 编辑器打开文件
vim file.txt                    # 使用 vim 编辑器打开文件
  • i 进入插入模式进行编辑。
  • Esc 返回命令模式。
  • :w 保存文件,:q 退出编辑器。

权限和所有权管理

  • chmod - 更改文件权限
chmod 755 file1        # 设置文件权限为 rwxr-xr-x
chmod -R 644 directory1  # 递归更改目录及其内容的权限
  • chown - 更改文件所有者
chown user file1       # 更改文件的所有者
chown user:group file1 # 更改文件的所有者和所属组
chown -R user:group directory1  # 递归更改目录及其内容的所有者和所属组

系统管理

  • top - 实时显示系统资源使用情况
top                     # 实时查看系统进程和资源使用
  • ps - 显示当前正在运行的进程
ps                      # 列出当前会话中的进程
ps aux                  # 显示系统中所有进程的信息
ps -ef                  # 使用标准格式显示所有进程
  • kill - 终止进程
kill PID               # 终止指定 PID 的进程
kill -9 PID            # 强制终止指定 PID 的进程
killall process_name   # 终止所有指定名称的进程
  • df - 显示磁盘使用情况
df                      # 显示文件系统的磁盘空间使用情况
df -h                   # 以人类可读的格式显示
  • du - 显示目录或文件的磁盘使用量
du                      # 显示当前目录下每个文件和目录的大小
du -h                   # 以人类可读的格式显示
du -sh directory1       # 显示目录的总大小
  • free - 显示内存使用情况
free                    # 显示系统内存使用情况
free -h                 # 以人类可读的格式显示
  • uname - 显示系统信息
uname                   # 显示系统类型
uname -a                # 显示所有系统信息
  • reboot - 重启系统
reboot                  # 重启系统
  • shutdown - 关闭系统
shutdown now            # 立即关闭系统
shutdown -r now         # 立即重启系统
shutdown +10 "message"  # 在10分钟后关闭系统,并显示消息

网络管理

  • ping - 测试网络连接
ping example.com        # 测试到指定域名或 IP 地址的网络连接
ping -c 4 example.com   # 发送指定次数的 ping 请求
  • ifconfig - 配置网络接口(旧版)
ifconfig                # 显示网络接口信息
ifconfig eth0 up        # 启用网络接口
ifconfig eth0 down      # 禁用网络接口
  • ip - 查看和配置网络接口、路由等
ip a                    # 显示所有网络接口的地址信息
ip link set eth0 up     # 启用网络接口
ip route show           # 显示路由表
ip addr add 192.168.1.1/24 dev eth0  # 配置 IP 地址
  • netstat - 显示网络连接、路由表等
netstat                 # 显示网络连接、路由表等信息
netstat -tuln           # 显示所有监听的端口
  • curl - 与服务器交互,下载文件
curl http://example.com          # 获取指定 URL 的内容
curl -O http://example.com/file  # 下载文件并保存为原文件名
curl -L http://example.com       # 跟随重定向
  • wget - 下载文件
wget http://example.com/file     # 下载文件
wget -c http://example.com/file  # 断点续传

文件压缩和解压缩

  • tar - 打包和解包文件
tar -cvf archive.tar directory/  # 打包目录为 tar 文件
tar -xvf archive.tar             # 解包 tar 文件
tar -czvf archive.tar.gz directory/  # 打包并压缩目录为 tar.gz 文件
tar -xzvf archive.tar.gz         # 解压缩并解包 tar.gz 文件
  • gzip / gunzip - 压缩和解压缩文件
gzip file1                       # 压缩文件为 file1.gz
gunzip file1.gz                  # 解压缩 file1.gz
  • zip / unzip - 压缩和解压缩 zip 文件
zip archive.zip file1 file2      # 将多个文件压缩为 zip 文件
unzip archive.zip                # 解压缩 zip 文件

包管理

  • apt-get - Debian/Ubuntu 系统中的包管理工具
apt-get update                   # 更新包列表
apt-get

 upgrade                  # 升级已安装的包
apt-get install package_name     # 安装新包
apt-get remove package_name      # 卸载包
  • yum - CentOS/RHEL 系统中的包管理工具
yum update                       # 更新所有包
yum install package_name         # 安装新包
yum remove package_name          # 卸载包

其他

  • man - 查看命令的手册页
man ls                           # 查看 `ls` 命令的手册页
  • echo - 输出文本或变量值
echo "Hello, World!"             # 输出字符串
echo $HOME                       # 输出环境变量的值
  • history - 显示命令历史
history                          # 显示命令历史
history -c                       # 清空命令历史
  • alias - 为命令创建别名
alias ll='ls -l'                 # 创建一个 `ll` 的别名,用于执行 `ls -l`
unalias ll                       # 删除别名