在Linux系统的使用和运维中,掌握文件系统结构、基础操作命令、权限管理、查找检索及用户管理等核心知识是入门的关键。本文将对Linux核心基础知识点进行系统梳理,涵盖文件目录结构、常用操作命令、权限管理、查找工具、压缩包管理、路径规则及用户管理等内容,同时补充实操中的关键细节,助力快速上手Linux基础操作。
一、Linux核心文件目录结构
Linux采用树形目录结构,所有文件和目录均从根目录/ 开始,各目录有明确的功能划分,核心目录及作用如下:
|
目录
|
核心作用
|
|
/bin
|
存放系统常用二进制可执行命令(普通用户也可执行)
|
|
/etc
|
存放系统核心配置文件,修改需谨慎(如网络、用户配置)
|
|
/home
|
普通用户的家目录,每个用户有独立子目录,如/home/rose
|
|
/root
|
管理员(root)的家目录,普通用户无访问权限
|
|
/usr
|
存放系统应用程序、文档及相关资源,类似Windows的Program Files
|
|
/proc
|
虚拟文件系统,映射内存中的进程信息,无实际磁盘文件
|
|
/dev
|
存放设备文件(如硬盘、鼠标、终端),Linux中"一切皆文件"的体现
|
|
/mnt
|
临时挂载点,常用于挂载U盘、光驱等外部设备
|
|
/lib
|
存放程序运行依赖的库文件(如动态链接库so文件)
|
|
/boot
|
存放系统内核、启动引导程序等启动相关文件
|
|
/tmp
|
系统临时文件目录,所有用户可读写,重启后文件可能被清理
|
|
/var
|
存放系统运行中动态变化的文件,如系统日志、邮件、数据库文件
|
补充:目录命名均为小写,且Linux严格区分大小写,如/Desktop和/desktop是两个不同目录。
二、终端提示符与路径标识
Linux终端提示符包含用户、主机、当前路径及用户权限信息,格式示例:rose@rose-virtual-machine:~/桌面$
- rose:当前登录的普通用户名
- rose-virtual-machine:主机名
- ~:代表当前用户的家目录(root用户~对应/root,普通用户对应/home/用户名)
- /桌面:当前所在的子目录
- $:普通用户权限提示符;#:管理员(root)权限提示符
- Tab键:一次Tab自动补齐命令/路径,两次Tab显示所有可选提示,提升操作效率
三、核心基础操作命令
(一)目录操作命令
目录操作是Linux最基础的操作,核心命令涵盖目录切换、创建、删除、路径查看等,部分命令支持多参数组合:
- cd:更改当前工作目录
- cd ..:返回上级目录
- 三种方式快速回到家目录:
- cd
- cd ~
- cd $HOME
- cd /usr/local:通过绝对路径切换目录
- cd ./bin:通过相对路径切换当前目录下的bin子目录
- pwd:查看当前工作目录的绝对路径,解决"路径迷路"问题
- mkdir:创建目录,支持多目录同时创建
- 基础用法:mkdir dir1 dir2
- -p:递归创建多层目录(如mkdir -p a/b/c,自动创建a、a/b、a/b/c)
- -m:创建时指定权限(如mkdir -m 755 test,仅最深层目录生效)
- rmdir:删除空目录,无法删除非空目录
- -p:递归删除空父目录(如rmdir a/b/c -p,删除c后若b、a均为空则一并删除)
- which:查找命令的可执行文件路径(如which ls,显示/bin/ls)
(二)文件操作命令
文件操作涵盖创建、删除、拷贝、移动/重命名,是日常使用频率最高的命令组:
- touch:创建空文件/更新文件访问/修改时间
- 基础用法:touch file1 file2(文件不存在则创建,存在则更新时间)
- rm:删除文件/目录,慎用强制删除,避免误删系统文件
- rm file1:删除单个文件
- -r:递归删除目录(含目录内所有内容),如rm -r dir1
- -f:强制删除,不提示确认(组合用法rm -rf *(慎用):删除当前目录所有内容,高危操作)
- cp:拷贝文件/目录,保留原文件
- 核心规则:根据目标路径(desPath)是否存在/是否为目录,有不同行为
- -r:递归拷贝目录(必加参数,否则无法拷贝目录),如cp -r aa bb
- 补充:拷贝时若目标文件已存在,会直接覆盖,可加-i参数提示确认
- mv:移动文件/目录 或 重命名,不保留原文件
- 重命名规则:仅当源和目标为同一路径,且目标不存在时,为重命名(如mv a.txt b.txt)
- 移动规则:目标路径为已存在目录,将源移动到该目录(如mv a.txt /home/rose/)
- 补充:mv可跨目录操作,且无需加-r即可操作目录,与cp区别明显
四、文件内容查看与处理命令
Linux提供多种方式查看文件内容,适配不同场景(如小文件直接查看、大文件分屏查看、实时跟踪日志),同时支持重定向和内容追加:
(一)基础查看命令
- cat:直接显示整个文件内容,适合小文件
- 基础用法:cat filename
- 从键盘写入内容:cat > filename(ctrl+c结束输入,覆盖原文件)
- 内容追加:cat >> filename(ctrl+c结束输入,不覆盖原文件)
- 重定向/追加:cat file1 > file2(file1覆盖file2)、cat file1 >> file2(file1追加到file2)
- more/less:分屏查看文件内容,适合大文件
- more filename:回车逐行显示,空格翻页,仅能向下翻页
- less filename:回车/上下方向键逐行查看,空格翻页,支持上下翻页+搜索(输入/关键词查找),按q退出
- head/tail:查看文件头部/尾部内容,默认显示10行
- head -n N filename:显示前N行(如head -n 20 log.txt)
- tail -n N filename:显示后N行(如tail -n 30 log.txt)
- tail -f filename:实时跟踪文件尾部(核心用法,用于查看实时日志,ctrl+c退出),前提是文件名不变。原理:跟踪文件描述符 (fd),不跟踪文件名。若文件被 rm 删除 /mv 重命名:进程仍持有原 fd,继续读旧文件,不再监听新同名文件。
- tail -F filename:文件正常追加,实时输出。文件被删除 / 重命名:检测到文件消失,持续重试打开。一旦重新创建同名文件,自动切换并继续跟踪。文件暂时不存在也会等待,适合日志轮转场景。原理:跟踪文件名,周期性重试打开文件。
(二)内容统计命令
- wc:统计文件的行数、单词数、字节数,默认输出行数 单词数 字节数 文件名
- -l:仅统计行数(最常用,如wc -l log.txt)
- -w:仅统计单词数
- -c:仅统计字节数
- du/df:查看磁盘/目录空间使用情况
- du:查看目录/文件占用的磁盘空间,du -h以人性化单位(K/M/G)显示
- df:查看整个磁盘的空间使用情况,df -h人性化显示,df -h --block-size=GB按GB统一统计
补充:重定向运算符>/>>可与所有查看/统计命令配合,将输出内容写入文件(如ls -l > filelist.txt,将目录列表写入filelist.txt)。
五、文件权限与属性管理
Linux是多用户多任务系统,权限管理是核心特性,每个文件/目录都有明确的所有者、所属组及其他用户权限,需熟练掌握权限查看、修改、链接创建等操作。
(一)文件属性查看(ls -l)
执行ls -l会显示文件详细属性,示例:-rw-r--r-- 1 rose rose 21 9月 29 20:49 aa,各字段含义:
|
字段
|
内容
|
说明
|
|
1
|
-rw-r--r--
|
文件类型+权限标志位(共10位)
|
|
2
|
1
|
硬链接计数(文件:硬链接数;目录:子目录数)
|
|
3
|
rose
|
文件所有者(属主)
|
|
4
|
rose
|
文件所属组(属组)
|
|
5
|
21
|
文件大小(单位:字节)
|
|
6-8
|
9月 29 20:49
|
文件最后修改时间
|
|
9
|
aa
|
文件名
|
1. 文件类型(第1位)
区分文件/目录/设备等,核心类型:
- -:普通文件(文本、程序、日志等)
- d:目录文件
- l:符号链接(软链接,类似Windows快捷方式)
- b:块设备文件(如硬盘、U盘)
- c:字符设备文件(如终端、鼠标)
- p:管道设备文件
- s:本地套接字文件
2. 权限标志位(后9位,分3组)
9位权限分为属主(u)、属组(g)、其他用户(o) 三组,每组3位,依次为读(r)、写(w)、执行(x),无对应权限则为-:
- 示例rw-r--r--:属主(rw-)可读可写、属组(r--)仅可读、其他用户(r--)仅可读
- 权限核心:目录必须有x权限才能进入,文件有x权限才能执行(如可执行程序)
(二)权限的数字表示法(8进制)
将权限位转换为二进制(有则1,无则0),再转为十进制,三组权限数字组合即为权限码,是修改权限的常用方式:
- r=4,w=2,x=1,-=0
- 示例:rw-=110=6,r--=100=4,因此rw-r--r--对应的权限码为0644(前导0可省略)
- 常用权限码:755(属主rwx,属组/其他rx)、644(属主rw,属组/其他r)、777(所有用户rwx,不推荐使用)
(三)权限与属性修改命令
- chmod:修改文件/目录的权限,支持符号法和数字法
- 符号法:chmod [u|g|o|a][+|-][r|w|x] filename
- u/g/o/a:属主/属组/其他/所有用户(默认a)
- +/-:添加/移除权限
- 示例:chmod u+x aa(给属主添加执行权限)、chmod a-w bb(给所有用户移除写权限)
- 数字法:chmod 权限码 filename,示例:chmod 664 a.out(属主/属组rw,其他r)
- chown:修改文件/目录的所有者和/或所属组,需sudo权限
- 仅改所有者:sudo chown user filename(如sudo chown root aa)
- 同时改所有者和属组:sudo chown user:group filename(如sudo chown rose:itcast bb)
- chgrp:单独修改文件/目录的所属组,需sudo权限
- 用法:sudo chgrp group filename(如sudo chgrp itcast cc)
- whoami:快速查看当前登录的用户名,用于权限验证
(四)软硬链接创建(ln)
链接是Linux中文件的特殊引用方式,分为硬链接和软链接,与cp的核心区别:链接与原文件指向同一磁盘块,cp会创建新磁盘块。
- 硬链接:ln 原文件 目标文件
- 特性:增加原文件的硬链接计数,原文件删除后,硬链接仍可访问文件内容;仅能为文件创建,不能为目录创建
- 软链接:ln -s 原文件/目录 目标软链接名(核心参数-s)
- 特性:不增加硬链接计数,类似快捷方式;可为目录创建,原文件/目录删除后,软链接失效(变为红色闪烁)
- 删除链接:unlink 链接名(软硬链接通用,如unlink aa)
- 核心规则:硬链接计数为0时,文件才会真正从磁盘中删除。
六、查找与检索命令
Linux提供强大的查找工具,可按文件名、类型、大小查找文件,也可检索文件内容,核心为find和grep,二者常配合使用。
(一)find:按文件属性查找(文件名、类型、大小等)
核心用法:find 查找路径 [option] 查找条件,支持多条件组合,路径为./时表示当前目录。
- 核心查找条件
- -name:按文件名查找,支持通配符*(任意多个字符)、?(任意一个字符),示例:find ./ -name "*.txt"(查找所有txt文件)
- -type:按文件类型查找,示例:find ./ -type d(查找所有目录)、find ./ -type f(查找所有普通文件)
- -size:按文件大小查找,单位:K/M/G,+表示大于,-表示小于,示例:find ./ -size +1M -size -5M(查找1M-5M的文件)
- -maxdepth N:限制查找的最深路径为N层,示例:find ./ -maxdepth 1 -size +1M(仅当前目录,不递归子目录)
- 结果处理
- -exec 命令 {} \;:将查找结果传递给后续命令执行,示例:find ./ -maxdepth 1 -size +1M -exec ls -l {} \;(显示查找结果的详细信息)
- -ok 命令 {} \;:与-exec一致,每一步需确认(安全模式)
- xargs:find的配套命令,解决find结果过多导致的命令溢出问题,将结果分块传递给后续命令,示例:find ./ -type l | xargs ls -l
(二)grep:按内容检索(过滤输出/查找文件内容)
Linux"文本处理三剑客"之一,核心用于内容匹配,常与管道符|配合,过滤其他命令的输出结果。
- 核心用法
- 过滤输出:命令 | grep 关键词,示例:ls -l | grep txt(过滤出含txt的文件)
- -v:排除指定关键词,示例:ls -l | grep txt | grep -v test(过滤出txt文件,排除含test的)
- 按内容查找文件:grep -r 关键词 查找路径,-r递归子目录,-n显示匹配内容的行号,示例:grep -rn "error" ./(查找当前目录所有文件中含error的内容,显示行号)
补充:管道符 | 的作用是将前一个命令的输出作为后一个命令的输入,是Linux命令组合的核心方式。
七、压缩包管理命令
Linux中压缩包格式多样,核心有zip、gz(tar.gz)、bzip2(tar.bzip2)、rar,其中tar.gz是最常用的格式(打包+压缩,体积小、兼容性好),tar是Linux原生的打包工具,可单独打包或配合压缩算法压缩。
(一)zip格式(跨平台,Windows/Linux通用)
- 压缩:zip -r 压缩包名.zip 源文件/目录,-r递归压缩目录(必加),示例:zip -r text1.zip text1
- 解压:unzip 压缩包名.zip,示例:unzip text1.zip
(二)gz格式(仅压缩,需配合tar打包)
- 单独压缩:gzip 文件名(压缩后原文件消失,生成文件名.gz)
- 单独解压:gunzip 文件名.gz(解压后压缩包消失,还原原文件)
(三)tar打包/压缩(核心用法,推荐)
tar本身仅打包(将多个文件/目录合并为一个tar文件,不压缩),配合-z(gz算法)、-j(bzip2算法)可实现打包+压缩,核心参数:
- -c:创建包/压缩包(打包/压缩)
- -x:解压/解包
- -v:显示操作过程(可视化)
- -f:指定包名(必须放在所有参数最后)
- -t:查看包内内容(不解压)
- 仅打包/解包
- 打包:tar cvf bb.tar bb
- 解包:tar xvf bb.tar
- 打包+gz压缩/解压(tar.gz,最常用)
- 压缩:tar -zcvf bb.tar.gz bb
- 解压:tar -zxvf bb.tar.gz
- 打包+bzip2压缩/解压(tar.bzip2,压缩比更高)
- 压缩:tar jcvf bb.tar.bzip2 bb
- 解压:tar jxvf bb.tar.bzip2
(四)rar格式(需先安装rar工具)
- 压缩:rar a -r 压缩包名.rar 源文件/目录,a表示压缩,-r递归
- 解压:rar x -r 压缩包名.rar,x表示解压
补充:解压时可加-C 目标目录指定解压路径(如tar -zxvf bb.tar.gz -C /home/rose/),避免解压到当前目录。
八、路径规则:相对路径与绝对路径
Linux中路径分为相对路径和绝对路径,二者可相互转换,核心区别在于是否以根目录/ 开头,是文件/目录操作的基础。
- 绝对路径:以/(根目录)开头,从根目录到目标文件/目录的完整路径,唯一性,示例:/home/rose/桌面/test.txt、/usr/bin/ls
- 优点:路径明确,不会因当前目录变化而失效;缺点:输入较长
- 相对路径:不以/ 开头,以当前目录为基准的路径,支持.和..:
- .:代表当前目录
- ..:代表上级目录
- 示例:当前目录为/home/rose,则./桌面、桌面均为相对路径,对应绝对路径/home/rose/桌面;../root对应绝对路径/root
- 优点:输入简短;缺点:依赖当前目录,目录切换后路径失效
核心原则:执行系统级操作、编写脚本时,推荐使用绝对路径,避免路径错误;日常临时操作可使用相对路径,提升效率。
九、用户与用户组管理
Linux是多用户系统,用户分为管理员(root,UID=0) 和普通用户(UID≥1000),用户组用于统一管理用户权限,核心操作需sudo(管理员权限),避免直接以root登录(安全风险)。
(一)用户组操作
- 创建用户组:sudo groupadd 组名,示例:sudo groupadd itcast
(二)用户操作
- 创建用户:sudo useradd [参数] 用户名,核心参数用于指定用户属性,推荐组合使用:
- -s:指定用户的默认shell,示例:-s /bin/bash(bashshell)
- -g:指定用户所属的初始组,示例:-g itcast
- -d:指定用户的家目录,示例:-d /home/itcast
- -m:若家目录不存在,自动创建(必加,否则无家目录)
- 完整示例:sudo useradd -s /bin/bash -g itcast -d /home/itcast -m itcast
- 设置用户密码:sudo passwd 用户名,示例:sudo passwd itcast(执行后按提示输入密码,密码不显示)
- 切换用户:su 用户名,示例:su itcast(从当前用户切换到itcast,su root切换到管理员)
- 补充:su - 用户名可切换用户并加载其环境变量(推荐)
- 删除用户:
- 仅删除用户:sudo userdel 用户名(保留家目录)
- 删除用户+家目录:sudo userdel -r 用户名(彻底删除,推荐)
补充:sudo是普通用户执行管理员命令的核心工具,需将普通用户添加到sudo组(如Ubuntu中为sudo组,CentOS中为wheel组),否则无法使用sudo。
十、核心通配符与快捷键
(一)通配符(用于文件名匹配)
- *:匹配任意多个任意字符(包括0个),如*.txt匹配所有txt文件
- ?:匹配任意一个字符,如file?.txt匹配file1.txt、filea.txt等
(二)常用快捷键(提升操作效率)
- ctrl+c:终止当前正在执行的命令/结束cat写入
- tab:自动补齐/提示命令/路径
- ctrl+l:清屏(替代clear命令)
- ctrl+r:搜索历史命令(输入关键词,按回车执行)
- history:查看所有历史命令(配合grep过滤,如history | grep ls)
总结
本文梳理了Linux入门的核心知识,涵盖文件系统结构、基础操作命令、权限管理、查找检索、压缩包管理、路径规则及用户管理,这些知识点是Linux使用的基础,也是后续学习shell脚本、服务运维的前提。
Linux的核心特点是命令行操作和权限严格,实操中需注意以下几点:
- 严格区分大小写,命令、目录、文件名均不例外;
- 慎用rm -rf等高危命令,尤其是root权限下;
- 编写脚本、执行系统操作时,优先使用绝对路径;
- 权限修改遵循"最小权限原则",避免给文件/目录设置777权限;
- 多使用Tab补齐、管道符组合命令,提升操作效率。
入门Linux的关键是多实操,通过反复练习基础命令,熟悉命令的参数和组合方式,才能快速掌握Linux的使用技巧。

2408

被折叠的 条评论
为什么被折叠?



