Linux基础命令

Linux是一种广泛使用的开源操作系统,因其强大的命令行界面(CLI)而备受青睐。了解和掌握Linux的基础命令是每一个系统管理员、开发人员以及技术爱好者的必备技能。

1. 文件和目录操作

ls - 列出目录内容

ls 命令用于列出目录中的文件和子目录。常用选项包括:

  • ls -l:以长格式显示详细信息。
  • ls -a:显示所有文件,包括隐藏文件(以.开头的文件)。
  • ls -h:以人类可读的格式显示文件大小。

示例:

ls -lah

 

cd - 切换目录

cd 命令用于在目录之间导航。

  • cd /path/to/directory:进入指定目录。
  • cd ~cd:进入当前用户的主目录。
  • cd ..:返回上一级目录。

示例:

cd /var/log

pwd - 显示当前目录

pwd 命令显示当前工作目录的绝对路径。

示例:

pwd

mkdir - 创建目录

mkdir 命令用于创建新目录。

  • mkdir dirname:创建一个名为dirname的新目录。
  • mkdir -p /path/to/directory:递归创建目录及其父目录。

示例:

mkdir -p /home/user/newdir/subdir

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

touch 命令用于创建一个新的空文件或更新现有文件的时间戳。

  • touch filename:创建一个名为filename的新文件,如果文件已存在则更新其时间戳。

示例:

touch newfile.txt

echo - 输出字符串到终端或文件

echo 命令用于将字符串输出到终端或文件。

  • echo "Hello, World!":在终端打印字符串。
  • echo "Hello, World!" > file.txt:将字符串写入文件(覆盖文件内容)。
  • echo "Hello, World!" >> file.txt:将字符串追加到文件末尾。

示例:

echo "This is a test." > testfile.txt

man - 查看命令手册

man 命令用于显示命令的手册页,提供详细的使用信息。

  • man command:查看指定命令的手册页。

示例:

man ls

rm - 删除文件和目录

rm 命令用于删除文件和目录。删除目录时需要使用-r选项。

  • rm filename:删除指定文件。
  • rm -r dirname:递归删除目录及其内容。

示例:

rm -r /home/user/oldir

cp - 复制文件和目录

cp 命令用于复制文件和目录。

  • cp sourcefile destfile:复制文件。
  • cp -r sourcedir destdir:递归复制目录及其内容。

示例:

cp -r /home/user/dir1 /home/user/dir2

mv - 移动或重命名文件和目录

mv 命令用于移动或重命名文件和目录。

  • mv oldname newname:重命名文件或目录。
  • mv /path/to/file /new/path/:移动文件或目录。

示例:

mv /home/user/file1 /home/user/dir1/

2. 文件内容查看与处理

cat - 连接并显示文件内容

cat 命令用于显示文件内容。

  • cat filename:显示文件内容。
  • cat file1 file2 > mergedfile:将多个文件的内容合并到一个新文件中。

示例:

cat /etc/passwd

moreless - 分页查看文件内容

moreless 命令用于分页查看文件内容。

  • more filename:逐页显示文件内容。
  • less filename:类似于more,但提供更强的导航功能。

示例:

less /var/log/syslog

headtail - 查看文件开头和结尾

headtail 命令分别用于查看文件的开头和结尾部分。

  • head -n 10 filename:显示文件的前10行。
  • tail -n 10 filename:显示文件的后10行。
  • tail -f filename:动态显示文件新增的内容,常用于查看日志文件。

示例:

tail -f /var/log/syslog

grep - 文本搜索

grep 命令用于在文件中搜索特定模式的文本。

  • grep 'pattern' filename:在文件中搜索指定模式。
  • grep -r 'pattern' /path/to/directory:递归搜索目录中的文件。

示例:

grep 'error' /var/log/syslog

3. 权限管理

chmod - 修改文件权限

chmod 命令用于修改文件和目录的权限。

  • chmod 755 filename:设置文件权限为755(所有者可读写执行,组和其他用户可读执行)。
  • chmod -R 755 dirname:递归设置目录及其内容的权限。

示例:

chmod 644 /home/user/file.txt

chown - 更改文件所有者

chown 命令用于更改文件或目录的所有者。

  • chown user:group filename:更改文件的所有者和所属组。
  • chown -R user:group dirname:递归更改目录及其内容的所有者和所属组。

示例:

chown user:usergroup /home/user/file.txt

chgrp - 更改文件所属组

chgrp 命令用于更改文件或目录的所属组。

  • chgrp groupname filename:更改文件的所属组。
  • chgrp -R groupname dirname:递归更改目录及其内容的所属组。

示例:

chgrp developers /home/user/project

4. 用户和组管理

useradduserdel - 添加和删除用户

useradd 命令用于添加新用户,userdel 命令用于删除用户。

  • useradd username:添加新用户。
  • userdel username:删除用户。
  • userdel -r username:删除用户及其主目录。

示例:

useradd newuser userdel -r olduser

usermod - 修改用户账户

usermod 命令用于修改用户账户信息。

  • usermod -aG groupname username:将用户添加到附加组。
  • usermod -d /new/home/dir username:更改用户的主目录。

示例:

usermod -aG sudo newuser

groupaddgroupdel - 添加和删除组

groupadd 命令用于添加新组,groupdel 命令用于删除组。

  • groupadd groupname:添加新组。
  • groupdel groupname:删除组。

示例:

groupadd developers groupdel oldgroup

5. 网络相关命令

ifconfigip - 网络接口配置

ifconfig 命令用于配置网络接口,但在较新的Linux发行版中被ip 命令替代。

  • ifconfig:显示所有网络接口信息。
  • ip addr:显示所有网络接口及其IP地址。

示例:

ip addr

ping - 网络连通性测试

ping 命令用于测试与远程主机的连通性。

  • ping hostname:发送ICMP请求以测试连通性。

示例:

ping google.com

netstat - 网络连接统计

netstat 命令用于显示网络连接、路由表、接口状态等。

  • netstat -tuln:显示监听的TCP和UDP端口。

示例:

netstat -tuln

ssh - 远程登录

ssh 命令用于通过SSH协议远程登录到另一台计算机。

  • ssh user@hostname:登录到远程主机。

示例:

ssh user@192.168.1.1

6. 系统监控与管理

top - 实时系统监控

top 命令用于实时显示系统的资源使用情况,包括CPU、内存使用情况和运行的进程。

  • top:启动实时监控。

示例:

top

ps - 查看进程

ps 命令用于查看当前系统中的进程。

  • ps aux:显示所有进程的详细信息。

示例:

ps aux

killkillall - 终止进程

kill 命令用于终止指定进程,killall 命令用于终止所有符合条件的进程。

  • kill PID:终止指定PID的进程。
  • killall processname:终止指定名称的所有进程。

示例:

kill 1234 killall firefox

df - 查看磁盘使用情况

df 命令用于显示文件系统的磁盘使用情况。

  • df -h:以人类可读的格式显示磁盘使用情况。

示例:

df -h

du - 查看目录空间使用情况

du 命令用于显示目录或文件的磁盘使用情况。

  • du -sh /path/to/directory:显示目录的总大小。

示例:

du -sh /home/user

7. 实用工具

tar - 归档和解归档文件

tar 命令用于创建和解压归档文件。

  • tar -czvf archive.tar.gz /path/to/directory:创建压缩归档文件。
  • tar -xzvf archive.tar.gz:解压归档文件。

示例:

tar -czvf backup.tar.gz /home/user

gzipgunzip - 文件压缩和解压

gzip 命令用于压缩文件,gunzip 命令用于解压文件。

  • gzip filename:压缩文件。
  • gunzip filename.gz:解压文件。

示例:

gzip largefile.txt gunzip largefile.txt.gz

find - 查找文件

find 命令用于查找文件和目录。

  • find /path -name filename:在指定路径下查找文件。
  • find /path -type d -name dirname:查找指定名称的目录。

示例:

find /home -name "*.txt"

cron - 定时任务管理

cron 是Linux中的任务调度程序,用于定期执行命令或脚本。

  • crontab -e:编辑当前用户的定时任务。
  • crontab -l:列出当前用户的定时任务。

示例(每小时执行一次脚本):

0 * * * * /path/to/script.sh

8. 文件查找与处理

locate - 快速查找文件

locate 命令通过检索预先构建的数据库来快速查找文件。

  • locate filename:查找文件。

示例:

locate myfile.txt

whereis - 查找命令的位置

whereis 命令用于查找命令的二进制文件、源代码文件和手册页。

  • whereis command:查找命令的位置。

示例:

whereis ls

which - 查找命令的位置

which 命令用于查找命令的可执行文件路径。

  • which command:查找命令的可执行文件路径。

示例:

which python

9. 压缩和归档

zipunzip - 压缩和解压.zip文件

zip 命令用于压缩文件,unzip 命令用于解压.zip文件。

  • zip archive.zip file1 file2:创建.zip压缩文件。
  • unzip archive.zip:解压.zip文件。

示例:

zip myarchive.zip file1.txt file2.txt unzip myarchive.zip

10. 磁盘管理

fdisk - 磁盘分区

fdisk 命令用于磁盘分区管理。

  • fdisk /dev/sda:对指定磁盘进行分区。

示例:

sudo fdisk /dev/sda

mkfs - 创建文件系统

mkfs 命令用于在分区上创建文件系统。

  • mkfs.ext4 /dev/sda1:在指定分区上创建ext4文件系统。

示例:

sudo mkfs.ext4 /dev/sda1

mountumount - 挂载和卸载文件系统

mount 命令用于挂载文件系统,umount 命令用于卸载文件系统。

  • mount /dev/sda1 /mnt:将分区挂载到指定目录。
  • umount /mnt:卸载挂载的文件系统。

示例:

sudo mount /dev/sda1 /mnt sudo umount /mnt

11. 包管理

apt - Debian系包管理器

apt 命令用于管理Debian系Linux发行版的软件包。

  • apt update:更新包列表。
  • apt upgrade:升级所有已安装的软件包。
  • apt install package:安装软件包。
  • apt remove package:删除软件包。

示例:

sudo apt update sudo apt install vim

yum - RHEL/CentOS系包管理器

yum 命令用于管理RHEL/CentOS系Linux发行版的软件包。

  • yum update:更新所有软件包。
  • yum install package:安装软件包。
  • yum remove package:删除软件包。

示例:

sudo yum update sudo yum install vim

dnf - RHEL/CentOS 8 及更高版本的包管理器

dnfyum 的下一代版本,具有类似的命令和功能。

  • dnf update:更新所有软件包。
  • dnf install package:安装软件包。
  • dnf remove package:删除软件包。

示例:

sudo dnf update sudo dnf install vim

12. 文本处理

sed - 流编辑器

sed 命令用于文本替换、删除、插入等操作。

  • sed 's/old/new/g' filename:在文件中将旧字符串替换为新字符串。

示例:

sed 's/foo/bar/g' file.txt

awk - 文本处理工具

awk 命令用于模式扫描和处理。

  • awk '{print $1}' filename:打印文件的第一列。

示例:

awk '{print $1}' file.txt

13. 其他常用命令

alias - 命令别名

alias 命令用于为命令创建别名。

  • alias ll='ls -l':创建别名ll,相当于ls -l

示例:

alias ll='ls -l'

history - 命令历史

history 命令显示命令历史记录。

  • history:显示历史记录。
  • !number:执行指定编号的历史命令。

示例:

history !100

date - 显示或设置日期

date 命令用于显示或设置系统日期和时间。

  • date:显示当前日期和时间。
  • date -s "2024-06-11 14:00:00":设置系统日期和时间。

示例:

date sudo date -s "2024-06-11 14:00:00"

  • 37
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值