Linux入门及相关命令
Linux系统入门指南 本文介绍了Linux操作系统的基础知识,包括其发展历史、与Windows的区别、文件目录结构以及常用命令操作。Linux作为开源的多用户网络操作系统,具有免费、安全、可定制性强等特点,广泛应用于服务器领域。文章详细讲解了文件管理命令(如ls、cd、mkdir等)、用户管理(root权限、用户增删改)、用户组管理以及文本编辑器vim的使用方法。通过本指南,读者可以快速掌握Li
文章目录
一、Linux入门
1.1、概述
Linux内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于UNIX和POSIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持3 2位和6 4位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debain、Fedora、SuSE、OpenSUSE。
1.2、Linux和Windows区别
| 对比维度 | Windows | Linux |
|---|---|---|
| 免费与收费 | 收费且很贵 | 免费或少许可费用 |
| 软件与支持 | 数量和质量有优势,不过大部分为收费软件;由微软官方提供支持和服务 | 开源自由软件,用户可以修改定制和再发布;因基本免费缺乏资金支持,部分软件质量和体验欠缺;由全球的 Linux 开发者和自由软件社区提供支持 |
| 安全性 | 需频繁打补丁安装系统安全更新,仍易中病毒木马 | 并非没有安全问题,但比 Windows 更稳定安全,不易产生垃圾文件,适合长期运行 |
| 使用习惯 | 普通用户基本在纯图形界面下操作,依靠鼠标和键盘完成一切操作,上手容易、入门简单 | 兼具图形界面和完整命令行操作,可仅用键盘完成一切操作;新手入门较困难,需要学习和指导,熟练后效率极高 |
| 可定制性 | 封闭系统,可定制性很差 | 开源系统,可定制化非常强 |
| 应用场景 | 桌面操作系统的主流选择 | 支撑百度、谷歌、淘宝等应用和服务的后台服务器主机;世界上大部分软件和服务都运行在 Linux 之上 |
二、Linux文件与目录结构
2.1、Linux文件
在 Linux系统设计思想 中,遵循万物皆文件(Everything is a file)核心机制,系统将硬件设备、进程、网络套接字、目录、普通文本、驱动接口、内存资源等所有软硬件资源,统一抽象为文件形式进行管理。
2.2、Linux目录结构
常见目录:
/
├── home # 用户目录
├── root # root管理员目录
├── dev # 设备
├── etc # 配置文件
├── var # 日志
├── usr # 软件安装目录
├── tmp # 临时文件
├── opt # 第三方软件
三、Linux核心命令
pwd
查看当前路径
pwd
ls
ls
- -a:全部的文件,连同隐藏档(开头为 . 的文件)一起列出来
- -l:长数据串列出,包含文件的属性与权限等等数据
- -R:递归列出目录下所有子目录及文件
详细查看:
ls -l
显示隐藏文件:
ls -la
cd
切换目录
cd 目录名
返回上一级:
cd ..
直接回家目录:
cd ~
四、文件操作相关命令
mkdir
创建目录
mkdir text
递归创建:
- -p:创建多层目录(目标目录以及父目录)
mkdir -p app/api/v1
touch
touch main.py
一次创建多个:
touch app.py config.py
rm
- r:递归删除目录以及其中所有内容
- -f:强制执行删除操作,而不提示用于进行提示确认
- -v:显示指令的详细执行过程
删除文件
rm test.txt
删除目录:
rm -r test
强制删除(递归的强制删除):
rm -rf test
cp
复制
# cp 源文件 目标文件
cp a.txt b.txt
复制目录:
cp -r app backup
mv
移动 / 重命名
重命名:
# mv old-name new-name
mv a.txt b.txt
移动:
# mv 源文件 目标路径
mv main.py app/
五、查看文件内容
cat
- -n:显示所有的行号,包括空行
查看文件
cat -n main.py
less
可分页,但不显示进度,从头开始
less app.log
退出:
q
more
可分页,显示进度,从头开始
more app.log
tail
- -n:指定要看的行数,不写默认10行
- -F:实时追踪改文档的所有更新
查看最后几行(-n不填默认10行,一般用于看日志)
tail -n 要看的行数 app.log
# 修改改文件实时显示
tail -F 文件名
六、输出重定向
列表的内容覆盖写入文件
ls -a > 文件
列表的内容追加到文件的末尾
ls -a >> 文件
可以通过echo来进行输出重定向
echo "内容" > 文件
七、vi/vim 编辑器

八、用户管理命令
8.1 root 用户
root 用户是具有最高权限的超级用户
1. root 用户特点
root 用户拥有系统的所有权限,可以对系统进行任何操作,包括修改系统关键配置文件、安装和卸载系统级软件、管理用户账户等。但由于其权限过大,不当操作可能会导致系统出现严重问题,甚至无法正常运行。
2. 切换root用户
# 切换用户,只能获得用户的执行权限,不能获得环境变量
su 用户名称
# 切换到用户并获得该用户的环境变量及执行权限
su - 用户名称
# 退出root 用户
exit
3. 使用sudo替代root用户操作
虽然可以使用root用户登录并操作,但更推荐使用sudo命令。sudo 允许普通用户在需 要时以 root 权限执行特定的命令,而不需要一直以 root 用户身份登录。
在需要执行的命令前加上 sudo,例如要安装软件包:
sudo apt install package_name
系统会提示你输入当前普通用户的密码,输入正确后命令将以 root 权限执行。
8.2 useradd 添加新用户
# 添加新用户
useradd 用户名
# 添加新用户到某个组
useradd -g 组名 用户名
可以在useradd后面加-m指定是否创建用户目录
8.3 passwd 设置用户密码
# 设置用户密码
passwd 用户名
8.4 id 查看用户是否存在
# 查看用户是否存在
id 用户名
8.5 查看创建了哪些用户
cat /etc/passwd
8.6 删除用户
# 删除用户但保存用户主目录
userdel 用户名
# 用户和用户主目录,都删除
userdel -r 用户名
8.7 设置普通用户具有root 权限
1.添加testu用户,并对其设置密码
useradd testu
passwd testu
2.修改配置文件
vi /etc/sudoers
修改 /etc/sudoers 文件,在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
testu ALL=(ALL) ALL
或者配置成采用sudo命令时,不需要输入密码
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
testu ALL=(ALL) NOPASSWD:ALL
修改完毕,通过:wq!退出编辑,然后可以用 testu 帐号登录,用命令 sudo ,即可获得 root 权限进行操作。不需要多次输入密码。
8.8 修改用户
- -l:改变用户名
- -d:指定新的家目录路径
- -m:自动把旧家目录文件移动到新目录里
# 基本语法
usermod -l 新用户名 老用户名
usermod -d /home/新目录名 -m 新用户名
九、用户组管理命令
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同。
如 Linux 下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对**/etc/group** 文件的更新。
9.1 groupadd 新增组
groupadd 组名
9.2 groupdel 删除组
groupdel 组名
9.3 groupmod 修改组名
- -n:指定工作组的新组名
groupmod -n 新组名 老组名
9.4 usermod 修改用户组
- -g:指定用户需要加入的用户组
# 指定用户需要加入的用户组
usermod -g 组名 用户名
9.5 查看创建了哪些组
cat /etc/group
十、文件权限类
10.1 文件属性
Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在 Linux 中我们可以使用 ll 或者 ls -l 命令来显示一个文件的属性以及文件所属的用户和组。
1. 字符解释
从左到右的10个字符表示
如果没有权限,就会出现 “-” ;从左至右用0-9这些数字来表示:
- 0:表示类型,在Linux中的第一个字符,代表这个文件是目录(d)、文件(-)、链接文件(l)等等。
- 第1-3位确定属主(该文件的所有者)拥有该文件的权限。—User
- 第4-6位确定属组(所有者的同组用户)拥有该文件的权限。—Group
- 第7-9位确定其他用户拥有该文件的权限。—Other
2. rwx作用文件和目录的不同解释
| 权限 | 文件 | 目录 |
|---|---|---|
| r(读) | 可以读取、查看文件内容(如 cat) |
可以用 ls 查看目录里的文件名列表 |
| w(写) | 可以修改、写入文件内容(如 vim 保存) |
可以在目录内创建、删除、重命名文件 / 子目录 |
| x(执行) | 可以把文件当作程序 / 脚本运行(如 ./shturl) |
可以用 cd 进入该目录,访问里面的文件 |
注意
- 删除文件,看的是目录权限,不是文件权限
- 目录要正常用,r和x必须同时存在
3. 实例操作

10.2 chmod
改变权限
1. 字母方式
u 所有者
g 所属组
o 其他人
a 所有人
+ 加权限
- 减权限
= 直接设权限
r 读
w 写
x 执行
例子:
chmod u+x 文件 # 给所有者加执行权限
chmod g-w 文件 # 给组去掉写权限
chmod u+x,o+x 文件 # 所有者+其他人都加执行
2. 数字方式
r=4 w=2 x=1
rwx=7 rw-=6 r-x=5 --x=1
10.3 chown
修改所有者和所属组
chown 用户名 文件
chown 用户名:组名 文件
chown -R 用户名:组名 目录 # 递归修改
例子:
chown root shturl.c
chown root:root shturl.c
chown -R zxf:zxf test/
10.4 chgrp
只修改所属组
chgrp 组名 文件
例子:
chgrp zxf shturl.c
十一、收索查找类
11.1 find查找文件或者目录
功能:从指定目录递归遍历,查找满足条件的文件/目录
- -name:按文件名查找(需要加引号)
- -user:按文件所有者查找
- -size:按文件大小查找
- ‘c’:字节,‘k’:KB,‘M’:MB,‘G’:GB
- ‘+n’:大于,‘-n’:小于,’n‘:等于
案例:
find ./ -name "*.txt" # 查找当前目录下所有txt文件
find ./ -user "zxf" # 查找所有者是zxf的文件
find ./ -size "+200c" # 查找大于200字节的文件
11.2 grep与管道符过滤查找
-
管道符 | :将前一个命令结果传给后一个命令处理
-
grep:文本搜索匹配工具
-
-n:显示行号
案例:
# 查看系统中所有和 MySQL 相关的进程(看看 MySQL 有没有在运行)
ps -ef | grep -n mysqld
十二、压缩解压文件
tar 打包
- -c:创建打包文件
- -v:显示详细信息
- -f:指定压缩后的文件名
- -z:打包并压缩
- -x:解包 .tar文件
- -C:解压到指定目录
# 压缩多个文件
tar -zcvf tt.tar.gz tt.txt tt2.txt
tar -zcvf tt.tar.gz ./*
# 压缩目录
tar -zcvf test.tar.gz test/
# 解压到当前目录
tar -zxvf test.tar.gz
# 解压到指定目录
tar -zxvf test.tar.gz -C ./work
十三、磁盘类
13.1 df 查看磁盘空间
df -h
人性化显示磁盘整体使用情况
13.2 du 查看文件/目录大小
du -a 目录/文件
显示文件/目录占用的磁盘空间
十四、网络类
14.1 ifconfig
ifconfig
查看网络接口与IP地址
14.2 ping
ping 目标主机
测试网络联通性
14.3 主机名
# 查看主机名
hostname
# 修改主机名
vi /etc/hostname
十五、进程类
15.1 ps 查看进程
# 查看所有进程(cpu/内存占用)
ps -aux
# 查看进程父子关系
ps -ef
# 常用
ps -ef | grep 程序名
15.2 kill 终止进程
# 强制杀死进程
kill -9 进程号
15.3 free 查看内容
# 以MB为单位显示内存使用
free -m
15.4 top系统监控
# 快捷键:P(CPU 排序)、M(内存排序)、q(退出)
top
15.5 netstat 查看网络端口
# 查看端口占用
netstat -nlp | grep 端口号
# 查看进程网络信息
netstat -anp | grep 进程号
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)