目录
导语:
编辑
刚安装上Linux、xshell等等,学习了个基础的命令看了看,打开文件目闷逼了,拆开是26个英文字母和0-9的数字,合起来是啥呢?今天就来浅说一下。
举个例子:
: - rw- --- --- . 1 root root 1073 Oct 21 2023 anaconda-ks.cfg
(这句的解释为普通文件,文件所有者可以读改,还有时间日期)
我们慢慢看:
通过这张图我们 就可以大致的了解上面的语句前缀了,由于之前的博客提过root是管理者账户的意思,所以他就是最高权限,文件、目录、权限都可更改。
系统文件相对路径和绝对路径:
相对路径:勇于描述当前(起点)目录及子目录中的文件和目录;
绝对路径:一般以/符号开始可确定文件或目录的具体位置、
区别:绝对路径相当于警察局查户口,相对路径相当于班级查学生。
文件系统:
FHS是文件系统层次结构标准,英文全称为Filesystem Hierarchy Standard。类似于Windows操作系统中C盘的文件目录。
FHS定义了两层规范:
第一层规范是,/下面的各个目录应该要放什么文件数据。例如,/etc应该要放置设置文件,/bin与/sbin则应该要放置可执行文件等等。
第二层则是针对/usr及/var这两个目录的子目录来定义。例如,/var/log放置系统登录文件、/usr/share放置共享数据等等。
系统文件名称及其作用:
(1)/bin =》 软链接 =》 类似Windows的快捷方式
binaries(二进制文件)=》 可执行的应用程序
(2)/boot =>存放的是系统启动后的核心文件(如链接,镜像)不能轻易改动
(3)/dev =>存放设备文件(Linux中外部设备。如:光驱)
(4)/etc =》存放配置文件(所有需要的系统管理)
(5)/home =>普通用户的家目录=。普通用户绝对路径
(6)/root =>root用户的家目录
(7)/usr =》共享资源=》类似于Windows中的program文件
(8)/lib(32位) =》库的缩写,存放系统最基本的动态连接,光驱与Linux的链接
/lib64(64位)
(9)/media: =》挂载点文件,临时挂载,默认挂载
/mnt: =》手动挂载
(10)/opt: =》可选=》主机给额外安装的软件摆放的目录
(11)/sbin: =》超级用户的二进制文件的缩写=》存放的是系统管理员所使用的系统管理程序
(12)/srv: =》第三方服务,存放的部分服务启动后的数据
(13)/tmp: =>存放临时文件
(14)/var: =》变量的缩写,存放不断扩容的东西
(15)/run: =>临时文件,系统启动以来的目录
(16)/proc: 进程的缩写
(17)/sys 内核或操作系统的内核
查看语句:
cd /sys
ll (是小写L不是数字1)
这个目录中有若干文件选取部分介绍:
block 块文件 =》 类似模块
bus 总线文件 => 地址、控制、数据
firmware =》 固件
fs =》 文件系统
hypervisor =》 虚拟化层
power =》 电源
注:程序:由源代码生成的可执行文件,程序可以是静态的,也可以是动态的。静态程序在编译后生成可执行文件,而动态程序则在运行时被加载到内存中并执行。
进程:是运行中的程序实例,进程的状态是变化的,包括进程的创建、调度和消亡。它拥有自己独立的处理环境和系统资源。
什么是文件:
文件大概由两个部分组成:元数据 inode(索引节点)==》》标记每个 文件是不同的,是文件的唯一表示,并非我们想的文件名字,类似于身份证。
文件有很多,但是类型的话大致是下面的:(前缀代表)
-
d 目录文件
-
l 链接文件、
-
-(普通文件
-
block 块设备文件 类似于硬盘
-
char 字符设备 有顺序之分
-
pipiline 管道设备文件
-
socket 套接字文件 IP地址+端口号
什么是目录:文件的名字集合,是一种特殊的文件形式。
链接文件:
软链接特点:==》》相当于Windows系统中的快捷方式、PPT中的超链接
硬链接:hard link
可和软链接同时使用(符号链接symbolic link )
硬链接特点:相当于多个联网备份调用一个源文件,源文件改变备份同时改变
必须有原始文件
在同一个文件系统里面创建
对不存在的目录和文件进行创建
对存在的目录和文件进行创建
可以跨文件系统创建的
删除软链接的时候对原文件没有任何影响
不能对目录进行创建
“三创”
创建账户:
useradd 用户名 ==》命令来添加新用户
基本语法: useradd[选项]用户名
创建文件:
ls 文件名 =》》原始文件,硬链接文件
ls -文件名 =》》软连接文件
-
touch命令:touch命令用于创建空文件或者更新文件的访问和修改时间。如果文件不存在,则会创建一个空文件;如果文件已经存在,则会更新文件的访问和修改时间。
用法:touch 文件名 示例:touch test.txt。
-
echo命令:echo命令用于将指定的字符串输出到终端或者文件中。通过将输出重定向到一个文件,可以创建一个包含指定内容的文件。
用法:echo "内容" > 文件名 示例:echo "Hello, World!" > test.txt。
-
cat命令:cat命令用于连接文件并打印到标准输出设备上,也可以用来创建文件。通过将输入重定向到一个文件,可以创建一个包含指定内容的文件。
用法:cat > 文件名 示例:cat > test.txt This is a test file. Press Ctrl+D to save and exit。
-
vi/vim命令:vi/vim是Linux系统中最常用的文本编辑器之一,也可以用来创建文件。通过打开一个不存在的文件,然后保存退出,可以创建一个空文件。
用法:vi/vim 文件名 示例:vi test.txt 按下i键进入插入模式,输入内容 按下Esc键退出插入模式 输入:wq保存并退出。
-
nano命令:nano是一个易于使用的文本编辑器,也可以用来创建文件。通过打开一个不存在的文件,然后保存退出,可以创建一个空文件。
用法:nano 文件名 示例:nano test.txt 输入内容。
步骤操作:
1.找到需要该文件保存的目录或者创建一个目录,通过目录来寻找文件;
语句是:mkdir 目录名字
2.切换到上一步的目录当中
语句是:cd 目录名
3.创建文件语句:touch 文件名
例子:touch {a} ==创建一个叫a的文件
touch {a..d} ==创建a,b,c,d的文件,也就是多个文件同时创建
touch {1..4}{a..d} ==创建1a,1b..2a,2b..4按顺序从1开始分别创建一共16个文件
touch text{1..4} ==创建text1到text4的四个文件
文件名的命名规则:
1.不能以 / 来命名
2.不能超过255个字符----解释一下:一个汉字是两个字符,一个英文字母代表一个字符,也就是说不能超过127个汉字,255个英文字母(咱就是说你日常记个6位数的银行卡密码还输错,整那么长的名字何苦啊,亲!)
3.区分大小写
4.同一路径下的目录名和文件名不能相同,重复
删除文件:
语句:\rm 文件名 不需要二次确认即可删除
rm -f 强制删除
rm 文件名 二次确认后删除(以防止误删)
这里简单提一下:rm 代表rm -i所以会二次确认,可通过alias(起别名命令)查看所需要的命令别名,更好理解命令执行
创建目录:
创建目录的命令是“mkdir”
用法:
-
执行“mkdir [-mp] 目录名”命令创建新目录。
-
选项“-m”用于手动配置所创建目录的权限,“-p”用于递归创建所有目录。
级联目录:如果你想同时创建俩目录且有包含关系,那么它会省很多事儿。
操作语句:mkdir -p a/b ==意思是创建b文件在a文件中,-p的意思是如果a,b都没有那么就一起创建,有就无所谓。
问题来了:那么一定要-p吗?不是的,严格意义上你如果确定你的a文件存在就可以,也就是说,不输入-p可以在所有上一级文件都存在的情况下只能生成最底层目录文件。
查看级联目录:
tree:语句就这玩意儿,顶多加个文件名就行了
它的作用就是以树状的形式展开你的级联目录
删除目录:
语句:rm -r 目录名 ==二次确认删除目录及其全部文件
由删除文件模块可知-f命令是强制删除组合以后就可以不二次确定进行操作
语句:rm -rf * ==即删除所有目录及所有文件
备注:rm -rf /*可删除一切,不建议尝试。