一、File System 文件系统
Linux文件系统是操作系统用来组织、管理和存储问价及目录结构的方式。它不仅定义了如何将数据保存到磁盘上,还规定了用户如何与这些数据进行交互。
1、层次结构
-
根目录(/):所有文件和目录都从根目录开始,它是整个文件系统的起点。每个文件或目录都有唯一的路径,以 / 开头。
-
子目录:在根目录下可以创建多个子目录,例如 /home、/user、/var等,每个子目录可以包含更多的文件和子目录,形成树状的层次结构。
2、Ubuntu目录结构:
3、Ubuntu根目录下内容:
/bin 二进制文件,系统常规命令
/boot 系统启动分区,系统启动时读取的文件
/dev 设备文件
/etc 大多数配置文件
/home 普通用户的家目录
/lib 32位函数库
/lib64 64位库
/media 手动临时挂载点
/mnt 手动临时挂载点
/opt 第三方软件安装位置
/proc 进程信息及硬件信息
/root 临时设备的默认挂载点
/sbin 系统管理命令
/srv 数据
/var 数据
/sys 内核相关信息
/tmp 临时文件
/usr 用户相关设定
4、Ubuntu目录具体描述:
-
/:Linux文件系统根目录
-
/bin:存放基本命令和可执行文件,如 ls,cp,mv等
-
/boot:包含启动Linux所需的文件,包括内核镜像和引导加载程序配置
-
/dev:设备文件存放于此,表示硬件设备,如硬盘、打印机等
-
/etc:系统配置文件的位置,如网络设置、服务配置等
-
/home:普通用户的主目录,每个用户都有一个自己的子目录,如/home/user
-
/lib:共享库文件存放位置,供各种程序调用
-
/media 和 /mnt:用于挂载外部存储设备,如USB驱动器、CD-ROM等
-
/opt:第三方软件包通常安装在此目录下
-
/proc 和 /sys:虚拟文件系统,提供关于进程和系统状态的信息
-
/root:超级用户(root用户)的主目录
-
/sbin:存放系统管理员使用的命令和脚本,如 ifconfig,shutdown等
-
/tmp:临时文件存放处,重启后可能会被清空
-
/usr:用户程序及相关文件的存放位置,如应用程序、文档、源代码等
-
/var:变量数据存放地,如日志文件、邮件队列、数据库等
注意:不同的Linux系统或者不同版本的同一系统,文件系统目录结构可能都会有小的区别。
- root // 用户名,root为超级用户
- @ // 分隔符
- app00 // 主机名称
- ~ // 当前所在目录,默认用户目录为~,会随着目录切换而变化
- // 表示当前用户是超级用户,普通用户为$
二、路径
路径(Path)是用来描述文件或目录在文件系统中的位置的一种方式。
绝对路径(Absolute Path):
-
从根目录 / 开始,指向文件系统中的特定文件或目录
-
每个绝对路径都以斜杠 / 开头,表示这是从文件系统的最顶端开始的路径。
例:/home/nanxun/myDir/file.txt是一个绝对路径,它明确de指出了文件 file.txt 位于 /home/nanxun/myDir/ 目录下。
相对路径(Relative Path):
-
不是从根目录开始,而是相对于当前工作目录的位置来指定文件或目录
-
不以斜杠 / 开头
-
凡是路径信息以 . 或 .. 开头的均为相对路径
例:如果当前工作目录是 /home/nanxun,那么 myDir/file.txt就是一个相对路径,它指向的是 /home/nanxun/myDir/file.txt文件。
特殊路径:
-
. :当前路径下(一般会省略)
-
.. :上一层目录
-
/ :根目录
-
~ :当前用户的家目录
路径特点:
-
路径中的第一个位置如果出现了/,那么这个 / 代表的是根目录,例如 /home/nanxun/hello.txt
三、基本命令
# 关闭系统
# 立即关机
shutdown -h now 或者 poweroff
# 两分钟后关机
shutdown -h 2# 关闭重启
# 立即重启
shutdown -r nown 或者 reboot
# 两分钟后重启
shutdown -r 2# 帮助命令(help)
ifconfig --help# 命令说明书 (man)
man shutdown# 切换用户(su)
su root
exit // 退出当前用户
Linux中最基础常用的命令有:clear、pwd、ls、cd、touch、mkdir
clear:Clear the terminal screen (清除:清除终端屏幕)
pwd:Print Working Directory (打印工作目录)
1、ls
功能:显示文件和目录列表
常用选项如下:
-
-a,-all:显示所有文件,包括以点好( . )开头的隐藏文件
-
-t:按修改时间排序,最新的在前
-
-R:递归列出子目录
-
-d,--directory:显示目录本身而不是其内容,常与
-l
一并使用来查看目录属性 -
-r,--reverse:反转排序顺序
-
-l:使用长格式列出信息,包括文件类型、权限、硬链接数、所有者、组、大小、最后修改时间和名称
注意:选项可以组合使用!
具体案例:
# 查看当前目录下的所有目录和文件
ls# 查看当前目录下的所有目录和文件(包含隐藏的文件)
ls -a# 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
ls -l# 查询指定目录下的所有目录和文件
ls /bin# 列出当前目录下的文件和子目录,按修改时间排序(最新的在最上面)
ls -t# 列出当前目录下文件和子目录,其中递归列出子目录内信息
ls -R# 以长格式列出当前目录下所有文件,包含隐藏文件
ls -la
ls -al# 长格式列出目录myDir的信息
ls -ld myDir
ls详解:
ls -l a.txt
2、cd
功能:更改目录
格式:cd [directory_name]
应用案例:
# 切换工作目录到家目录下的myDir下
cd /home/nanxun/myDir# 切换到跟目录
cd /# 切换到根目录下的bin目录
cd /bin# 切换到上一级目录
cd ../ 或者 cd ..# 切换到本目录下的名为myDir的文件目录,如果目录不存在报错
cd myDir# 回到家目录
cd ~# 切换到上次访问的目录
cd -# 再次借助相对路径切换工作目录
cd ./myDir# 切换到上一级的上一级目录
cd ../..# 切换到本目录下的名为myDir的文件目录
cd myDir(文件夹名)
3、touch
功能:创建新的、空文件或更新访问和修改时间
格式:touch filename(s)
应用案例:
# 创建2个新文件touch new.txt myfile# 注意:Linux中文件类型与后缀名无关,其类型根据创建命令确定# 查看文件基本信息ls -l new.txt myfile# 更新文件最后一次访问和修改时间touch new.txt# 再次查看文件基本信息,注意观察最后一次修改和访问时间ls -l new.txt myfile
4、mkdir
功能:使用绝对或相对路径名创建目录
格式:mkdir [-p] directory_name
注意:创建子目录时,要保证父目录存在
应用案例:
# 在当前目录下创建一个名为tools的目录
mkdir tools# 在指定目录下创建一个名为tools的目录
mkdir /bin/tools# 新建目录dir2
# 注意:dir1必须存在才能创建dir2成功
mkdir dir1/dir2# 一条命令创建多个目录
mkdir dir3 dir4 dir5# 家目录下创建games目录
mkdir ~/games# 级联创建目录dir6不存在则先创建dir6,再创建dir7,最后创建dir8
mkdir -p dir6/dir7/dir8
5、删除目录与文件(rm)
# 删除当前目录下的文件
rm 文件名# 删除当前目录的文件(不询问)
rm -f 文件名# 递归删除当前目录下此名的目录
rm -r 文件夹名# 递归删除当前目录下此名的目录(不询问)
rm -rf 文件夹名# 将当前目录下的所有目录和文件全部删除
rm -rf *# 将根目录下的所有文件全部删除【慎用人!相当于格式化系统】
rm -rf /*
6、修改目录(mv)
# 修改目录名,同样适用与文件操作
mv 当前目录名 新目录名# 将/usr/tmp目录下的tool目录剪切到 /opt目录下面
mv /usr/tmp/tool /opt# 递归剪切目录中所有文件和文件夹
mv -r /usr/tmp/tool /opt
7、拷贝目录(cp)
# 将/usr/tmp目录下的tool目录复制到 /opt目录下面
cp /usr/tmp/tool /opt# 递归剪切复制目录中所有文件和文件夹
cp -r /usr/tmp/tool /opt
8、搜索目录(find)
# 查找/bin目录下的所有以a开头的文件或者目录
find /bin -nsme 'a*'
9、查看当前目录(pwd)
# 显示当前位置路径
pwd
10、编辑文件(vi、vim)
# 打开需要编辑的文件
vi 文件名
# 进入后,操作界面有三种模式:命令模式(command mode)、插入模式(Insert mode)和低行模式(last line mode)# 命令模式
- 刚进入文件就是命令模式,通过方向键控制光标位置,
- 使用命令“dd”删除当前整行
- 使用命令"/字段" 进行查找
- 按“i”在光标所在字符前开始插入
- 按“a”在光标所在字符后开始插入
- 按“o”在光标所在行的下面另起一新行插入
- 按“:”进入低行模式# 插入模式
- 此时可以对文件内容进行编辑。左下角会显示“-- 插入--”
- 按"ESC"进入低行模式# 低行模式
- 退出编辑: :q
- 强制退出: :q!
- 保存并退出: :wq
11、查看文件
# 查看文件最后一屏内容
cat a退出.txt # PgUp向上翻页,PgDn向下翻页,“q”退出查看
less a.txt# 显示百分比,回车查看下一行,空格查看下一行,“q”退出查看
more a.txt# 查看文件的后100行,“Ctrl+C”退出查看
tail -100 a.txt
四、命令构成
基本格式
命令 [-选项] [参数]
command [-options] [arguent]
说明:
-
command : 命令主体
-
[-options] : 命令选项(可选),借助它可以显示更加丰富的数据
-
[argument] : 命令参数(可选),命令操作的对象,文件、目录、用户和进程等,都可以作为参数使用
例如:list -l a.txt
,用来显示 a.txt 的详细信息
注意事项:
-
中间用空格隔开
-
单行命令一般不超过256个字符
-
大小写敏感
五、其他命令
-
passwd命令,用于修改用户密码
输入passwd命令,输入老密码,再输入新密码即可
-
root(超级用户)设置密码:
输入命名:sudo passwd root
根据提示输入当前登录用户(非管理员)的开机登录密码
再输入root用户的新密码2次即可
注意:sudo命令表示临时(当前命令)将自己的操作权限提升为root权限。
-
su命令
Linux中使用su(switch user)命令 切换到另一个用户账户
格式:su [选项] [用户名]
具体应用(注意:切换用户时需要输入目标用户的密码 )
# 切换到root用户 :susu# 切换后退出登录,回到原来账户登录:exitexit# 切换到特定用户: su - usernamesu - root 切换为root登录# 执行单个命令并返回:su - username -c "command"su - root -c "pwd"
- 打包与解压
.zip、.rar # windows系统中压缩文件的扩展名
.tar # Linux中打包文件的扩展名
.gz # Linux中压缩文件的扩展名
.tar.gz # Linux中打包并压缩文件的扩展名
打包文件
tar -zcvf 打包压缩后的文件名 要打包的文件
# 参数说明:z:调用gzip压缩命令进行压缩;c:打包文件;v:显示运行过程;f:指定文件名# 示例
tar -zcvf a.tar file1 file2,... // 多个文件压缩打包
解压文件
# 解包至当前目录
tar -zxvf a.tar# 指定解压的位置
tar -zxvf a.tar -C /usr------# 解压*.zip文件
unzip test.zip# 查看*.zip文件的内容
unzip -l test.zip