Linux操作系统的文件类型
- 普通文件(-):这是最常见的类型,用于存储数据,如文本文件、可执行文件或程序的源代码。
- 目录(d):用于存储其他文件和目录的容器。
字符设备文件(c):提供对硬件设备的串行访问,如键盘、鼠标等。 - 块设备文件(b):提供对硬件设备的块访问,如硬盘、光驱等。
- 管道文件(p):允许两个进程通过进入管道的一端发送数据,然后通过另一端接收数据来进行通信。
- 链接文件(l):引用另一个文件,分为硬链接和软链接(符号链接)两种。
- 套接字文件(s):用于提供进程间通信机制,允许数据的双向流动。
Linux目录结构
- /bin:存放基本用户命令的二进制文件。
- /boot:包含Linux系统启动时所需的文件,如内核文件和启动加载程序。
- /dev:设备文件目录,包括字符设备和块设备。
- /etc:系统配置文件目录。
- /home:用户的主目录,默认情况下,每个用户在/home下有一个与用户名相同的目录。
- /lib:系统库文件和内核模块。
- /media:可移动介质的挂载点,如CD-ROMs、USB驱动器等。
- /mnt:临时挂载文件系统的目录。
- /opt:附加应用程序的安装目录。
- /proc:虚拟文件系统,包含系统信息和运行中的进程信息。
- /root:系统管理员(root用户)的家目录。
- /sbin:存放系统管理命令的二进制文件。
- /tmp:用于存放临时文件。
- /usr:用户级应用程序和文件存储的第二层次。
- /var:存放频繁变化的文件,如日志文件。
常用的Linux发行版本
- Ubuntu:基于Debian的发行版,用户友好,适合Linux新手。
- Fedora:以最新技术为特色,提供最新的Linux特性。
- Debian:稳定性著称,适用于服务器。
- CentOS:与Red Hat Enterprise Linux (RHEL)兼容,适合企业级应用。
- Arch Linux:滚动更新发行版,灵活配置,适合高度定制的用户。
Linux系统的组成
- 内核:Linux系统的核心,负责管理系统的硬件资源,提供系统服务。
- 系统库:提供访问内核功能的接口,为应用程序提供高级功能。
- 系统工具:一系列执行特定任务的程序,如系统管理和配置。
- 应用软件:运行在Linux系统之上的用户程序,如办公软件、图形工具等。
- 图形界面:提供图形用户界面(GUI),如GNOME和KDE等,增强用户友好性。
常用命令
1. 新建目录并切换到该目录
mkdir temp
cd temp
2. 新建文件,并使用vi
编辑器编辑内容
vi tianzheqi_file
在vi编辑器中,输入hellolink
,然后保存退出:
- 按
i
进入插入模式。 - 输入
hellolink
。 - 按
Esc
键退出编辑模式。 - 输入
:wq
保存并退出。
3. 为文件创建硬链接和软链接
创建硬链接
ln gexingwei_file gexingwei_file_hardlink
创建软链接
ln -s gexingwei_file gexingwei_file_symlink
4. 查看三个文件的内容
查看及其硬链接和软链接的内容,使用cat
命令:
cat gexingwei_file
cat gexingwei_file_hardlink
cat gexingwei_file_symlink
这些命令将分别显示每个文件的内容。
5. 查看三个文件的inode号
查看文件的inode号和详细信息,使用ls -li
命令:
ls -li gexingwei_file
ls -li gexingwei_file_hardlink
ls -li gexingwei_file_symlink
分析:
gexingwei_file
和gexingwei_file_hardlink
会有相同的inode号,这表明它们实际上指向文件系统中的同一块数据。gexingwei_file_symlink
会有一个不同的inode号,因为它是一个指向原文件的链接,而不是直接指向数据的链接。
6. 删除源文件后的访问情况
删除文件``:
rm gexingwei_file
尝试访问硬链接和软链接的内容:
cat gexingwei_file_hardlink
cat gexingwei_file_symlink
-
硬链接
gexingwei_file_hardlink
:即使原文件被删除,你也能够访问到内容,因为硬链接直接指向了文件数据的inode,删除源文件不会影响到与之共享相同inode的硬链接。 -
软链接
gexingwei_file_symlink
:此软链接会变得无效,因为它只是一个指向原始文件路径的链接。一旦源文件被删除,路径不再存在,因此尝试访问软链接会报错,显示"No such file or directory"。
系统管理命令综合运用
1. 以root用户登录并切换目录到 /root
首先需要以root用户身份登录到Linux系统。这可以通过在终端使用su
或sudo
命令之一来实现 接下来,切换到/root
目录:
su root # 如果需要的话,输入root用户的密码
cd /root
或者,如果你使用sudo
:
sudo -i # 然后输入你的密码即可转为root用户
cd /root
2. 新建一个文件
touch gexingwei.txt
3. 使用vi编辑器编辑文件
vi gexingwei.txt
在vi编辑器中,进行以下步骤编辑文件内容
- 按
i
键进入插入模式。 - 输入
hello gexingwei
。 - 按
Esc
退出插入模式。 - 输入
:wq
(写入并退出vi)。
4. 在文件中搜索字符串
grep "hello" gexingwei.txt
如果要在vi
编辑器内部搜索,首先打开文件,然后在命令模式下(按下Esc
键确保不在插入模式),输入:
/hello
按回车键进行搜索。
5. 重命名文件
mv gexingwei.txt tom.txt
6. 复制该文件到/home目录
cp tom.txt /home/
7. 删除文件
rm /home/tom.txt
Linux命令综合应用
1. 以root身份登录
使用的是终端,可以通过以下方式获取root权限:
su root
或者,使用sudo
获取root权限:
sudo -i
2. 查看文件前n行
head -n 3 /etc/passwd
这将显示/etc/passwd
文件的前三行。
3. 查看文件特定行
sed -n '6,8p' /etc/passwd
使用sed
命令,可以仅选择打印特定的行范围。
4. 新建一个文件查看内容
首先,使用如下命令创建文件并添加指定的内容:
cat << EOF > gexingwei.dat
gexingwei:man:21
luoxinan:man:999
luowuyi:woman:22
chenhuayu:man:20
luowuyi:wuman:22
gexingwei:man:21
EOF
然后,使用cat
命令查看gexingwei.dat
的内容:
cat gexingwei.dat
5. 提取、排序、去重、并重定向到file2
为了提取第一列和第三列的数据,然后进行排序、去重,最后将结果保存到名为file2
的文件中,可以使用以下一系列命令组合:
awk -F ':' '{print $1 " " $3}' gexingwei.dat | sort | uniq > file2
这里,我们使用awk
命令以冒号(:
)作为字段分隔符,然后打印第一和第三个字段。结果通过管道传递给sort
命令进行排序,再通过管道传递给uniq
命令去除重复行。最后,重定向>
操作符把处理后的结果保存到file2
文件。
6. 查看file2的内容
为了检查在上一步中创建的file2
文件的内容,可以使用cat
命令:
cat file2
这将显示所有经过提取、排序并去重后的唯一姓名和年龄组合。