Linux操作系统因其高度的灵活性和可定制性,在全球范围内拥有大量的用户。对于初学者来说,熟悉和掌握Linux的基本命令是使用该系统的关键。以下是一份Linux常用命令大全,附有详细的代码示例和解释。
1. 文件和目录操作
1.1 ls
- 列出目录内容
ls # 列出当前目录内容
ls -l # 列出详细信息,包括文件权限、所有者、大小等
ls -a # 列出所有文件,包括隐藏文件(以'.'开头的文件)
ls -la # 同时列出详细信息和所有文件
1.2 cd
- 切换目录
cd # 回到用户主目录
cd ~username # 切换到用户名为username的主目录
cd /path/to/dir # 切换到指定路径的目录
cd .. # 切换到上一级目录
cd - # 切换到上一个目录(在历史中)
1.3 pwd
- 显示当前工作目录
pwd # 输出当前工作目录的完整路径
1.4 mkdir
- 创建目录
mkdir dirname # 创建一个名为dirname的目录
mkdir -p dir1/dir2 # 递归创建目录,即使父目录不存在
1.5 rmdir
- 删除空目录
rmdir dirname # 删除名为dirname的空目录
1.6 rm
- 删除文件或目录
rm filename # 删除名为filename的文件
rm -r dirname # 递归删除名为dirname的目录及其内容
rm -rf dirname # 强制递归删除,不询问确认
1.7 cp
- 复制文件或目录
cp source.txt dest.txt # 复制source.txt到dest.txt
cp -r sourcedir destdir # 递归复制目录sourcedir到destdir
1.8 mv
- 移动或重命名文件/目录
mv source.txt dest.txt # 重命名source.txt为dest.txt
mv source.txt dir/ # 将source.txt移动到dir/目录下
2. 文本处理
2.1 cat
- 查看文件内容
cat filename # 显示filename文件的内容
cat file1 file2 # 同时显示file1和file2的内容
2.2 grep
- 在文件中搜索文本
grep "pattern" filename # 在filename文件中搜索包含"pattern"的行
2.3 sed
- 流编辑器,用于对输入流(文件或管道)进行基本的文本转换
sed 's/old/new/g' filename # 将filename文件中的"old"替换为"new"
2.4 awk
- 文本分析工具,用于模式扫描和文本/数据提取
awk '{print $1}' filename # 打印filename文件的每一行的第一个字段(默认字段分隔符为空格)
3. 进程和系统管理
3.1 ps
- 显示当前进程的状态
ps -e # 显示所有进程
ps -ef # 显示所有进程的完整格式
ps -ef | grep processname # 搜索包含processname的进程
3.2 kill
- 终止进程
kill PID # 终止进程ID为PID的进程
killall processname # 终止所有名为processname的进程
3.3 top
- 实时显示系统中各个进程的资源占用状况
top # 显示实时进程信息
3.4 df
- 显示磁盘分区上的可使用的磁盘空间
df -h # 以人类可读的格式显示磁盘空间
3.5 du
- 显示文件和目录的磁盘使用情况
du -sh dirname # 显示dirname目录的总磁盘使用情况
4. 网络管理
4.1 ping
- 测试网络连接
ping hostname # 发送ICMP回显请求到hostname,测试网络连接
4.2 ifconfig
- 显示或配置网络接口
ifconfig # 显示所有网络接口的信息
ifconfig eth0 up # 激活eth0网络接口
(注意:在某些Linux发行版中,ifconfig
已被ip
命令替代。)
4.3 netstat
-
显示网络连接、路由表、接口状态等网络相关信息
netstat -a # 显示所有活动的网络连接和监听的端口 netstat -tuln # 显示所有监听的TCP和UDP端口
4.4 wget
- 从网络上自动下载文件
wget http://example.com/file.zip # 下载指定URL的文件
4.5 ssh
- 安全地远程登录到其他计算机
ssh username@hostname # 使用SSH远程登录到hostname,以username用户身份
5. 权限和所有权
5.1 chmod
- 改变文件或目录的权限
chmod 755 filename # 设置filename文件的权限为755(rwxr-xr-x)
5.2 chown
- 改变文件或目录的所有者和/或所属组
chown username:groupname filename # 更改filename文件的所有者为username,所属组为groupname
6. 打包和压缩
6.1 tar
- 打包和解包文件
tar -czvf archive.tar.gz dirname # 压缩dirname目录为archive.tar.gz文件
tar -xzvf archive.tar.gz # 解压缩archive.tar.gz文件
7. 软件包管理(以Debian/Ubuntu的APT为例)
7.1 apt-get
- 安装、更新、升级和删除软件包
sudo apt-get update # 更新软件包列表
sudo apt-get install pkgname # 安装名为pkgname的软件包
sudo apt-get upgrade # 升级所有已安装的软件包
sudo apt-get remove pkgname # 删除名为pkgname的软件包
8. 用户和组管理
8.1 useradd
- 添加新用户
sudo useradd username # 添加名为username的新用户
8.2 userdel
- 删除用户
sudo userdel username # 删除名为username的用户
sudo userdel -r username # 删除用户及其主目录
8.3 passwd
- 修改用户密码
passwd username # 修改名为username的用户的密码
8.4 groupadd
- 添加新组
sudo groupadd groupname # 添加名为groupname的新组
8.5 groupdel
- 删除组
sudo groupdel groupname # 删除名为groupname的组
9. 系统信息
9.1 uname
- 显示系统信息
uname -a # 显示内核名称、主机名、内核版本号、内核发行日期、机器硬件名称等信息
9.2 hostname
- 显示或设置主机名
hostname # 显示当前主机名
sudo hostname newname # 设置主机名为newname
9.3 free
- 显示内存使用情况
free -h # 以人类可读的格式显示内存使用情况
9.4 top 和 htop
- 显示系统中运行的进程及其资源占用情况
top # 实时显示进程信息
sudo apt-get install htop # 安装htop,一个增强的进程查看器
htop # 使用htop查看进程信息
10. 查找命令
10.1 find
- 在目录树中查找文件
find /path/to/start -name filename # 从/path/to/start开始,查找名为filename的文件
10.2 locate
- 快速查找文件(依赖于预先构建的数据库)
sudo updatedb # 更新locate的数据库
locate filename # 查找名为filename的文件
10.3 which
- 显示可执行文件的完整路径
which commandname # 显示commandname命令的完整路径
10.4 whereis
- 查找二进制文件、源代码文件和man手册页的位置
whereis commandname # 查找commandname命令的相关文件
11. 系统日志
11.1 dmesg
- 显示或控制内核环形缓冲区的内容
dmesg | grep error # 显示内核环形缓冲区中与"error"相关的消息
11.2 journalctl
- 查询systemd系统和服务日志
journalctl -u servicename # 查看名为servicename的服务的日志
journalctl -xe # 显示系统日志,包括扩展信息和错误堆栈
11.3 tail
- 显示文件的末尾内容
tail -f /var/log/syslog # 实时查看系统日志文件的更新
待更新…