目录
前言
一、linux系统的组成
一、内核
二、shell
三、用户操作和程序
四、用户态
五、内核态
二、目录结构
三、文件管理
目录管理
1、切换目录
3、创建目录
4、删除目录
5、别名命令
6、移动目录
7、复制目录
Linux操作系统是一个完全开源免费的操作系统,并且它的核心内核,灵活的命令行,高可定制性,广泛的应用支持及强大而稳定的性能等特点,使得它在服务器、嵌入式系统、科学计算和数据分析等领域有着广泛的应用。经常在Windows环境下工作的同学在初次使用Linux操作系统的时候可能有种不知所措的感觉。 Linux操作系统理念是一切皆文件。因此当我们登入Linux操作系统内部的时候看到的是各种目录和文件。特别是进入非桌面版时,看到的只是一个命令行提示符。这就给大家造成了很大的学习障碍。其实如果登录桌面版会发现其实跟Windows还是很像的。因此,如果想学习Linux操作系统,非常有比较了解一下linux目录结构和文件系统。
Linux内核是一个操作系统的核心,它提供了许多底层功能和服务,使得整个操作系统能够稳定、高效地运行。
Linux内核的组成包括以下主要部分:
1、进程管理:在 Linux 中,所有运行的程序都是作为进程来执行的,内核负责创建、调度、管理和终止进程。
2、存储管理:Linux 内核管理物理内存、虚拟内存、交换空间等存储资源,并提供对它们的分配、回收和访问控制等功能。
3、文件系统:Linux 内核通过文件系统提供对文件和目录的管理和访问。它支持多种文件系统类型,包括 ext4、Btrfs、XFS、NTFS 等。
4、网络协议栈:Linux 内核支持常见的网络协议,如 TCP/IP、UDP、HTTP 等,提供了套接字(socket)API,方便应用程序进行网络通信。
5、设备驱动程序:Linux 内核通过设备驱动程序实现对硬件设备的管理和操作。它支持多种设备类型,包括网络设备、磁盘驱动器、声卡、USB 设备等。
6、系统调用接口:Linux 内核通过系统调用接口向用户态程序暴露其功能和服务。应用程序可以通过系统调用接口请求内核提供各种服务。
在Linux系统中,Shell是用户与操作系统交互的主要接口之一。它是命令行解释器,也称作命令行壳(command-line shell)或简称"壳"。
Linux中常见的Shell有多种不同类型,包括:
1. Bash:Bash是Bourne Again SHell的缩写,是目前最为流行的Shell,几乎所有Linux系统默认都使用Bash作为Shell,它是Linux中自带的默认Shell程序。
2. Sh:Sh是shell原始版本的名称,现在已经逐渐被Bash所取代,然而还是偶尔会出现在一些较旧的Linux系统中。
3. Csh和tcsh:Csh和tcsh是C-Shell的缩写,是一种基于类似C语言语法的Shell,提供了比Bash更加强大的编程功能和用户界面。但由于Csh和tcsh不遵循POSIX标准,因此在某些方面和其他Shell存在不兼容问题。
4. Ksh:Ksh是Korn SHell的缩写,它是一个实现了POSIX标准的Shell,提供了许多高级编程功能和构建大型脚本的工具。
每种Shell都有不同的特点和用途。在Linux系统中,用户可以按照个人喜好来选择合适的Shell来完成日常工作,并且可以配置Shell的各种选项和参数,以符合个人的命令行习惯。
用户操作主要包括以下几个方面:
1、用户账户管理:用户可以通过命令行或者图形界面来添加、修改、删除Linux系统中的用户账户。管理员还可以设置用户的密码规则、权限级别等。
2、文件和目录管理:用户可以使用各种命令、编辑器、档案解压缩工具等来创建、复制、移动、删除、搜索、编辑以及修改文件和目录的属性等。
3、系统配置管理:用户可以通过修改系统配置文件、启动服务、调整系统环境变量等方式来自定义系统的配置和参数,以适应不同的应用场景和需求。
4、进程和服务管理:Linux系统中运行了大量的进程和后台服务,用户可以使用命令行或图形化工具来查看、控制和结束这些进程和服务。
5、网络设置和管理:用户可以通过图形化界面或命令行来配置网络连接、重启网卡、查看网络状态、设置路由表等。
6、软件安装和管理:Linux系统中有众多开源软件可供免费使用,用户可以通过包管理器来查找、安装和更新需要的软件包。
7、Shell命令编程:用户可以利用Shell脚本编写自己的小工具或任务脚本,自动化完成繁琐的日常操作。
应用程序
1、文字编辑器:Vim,Emacs,Nano等。
2、办公软件:LibreOffice,OpenOffice等。
3、图片处理软件:GIMP,Inkscape等。
4、网络浏览器:Firefox,Chrome等。
5、邮件客户端:Thunderbird,Evolution等。
6、压缩工具:tar,zip,unzip等。
7、多媒体播放器:VLC,Totem等。
8、开发工具:GCC,Python,Qt Creator等。
9、数据库管理工具:MySQL Workbench,PgAdmin等。
10、系统监控维护工具:Systemd,top,htop,nmon等。
“用户态”(user mode)是计算机系统的一种运行方式,是与内核态(kernel mode)相对应的概念。在用户态运行时,程序只能访问被允许的资源和执行被允许的操作,并不能直接访问计算机硬件和底层系统资源。
“内核态”(kernel mode)是计算机系统的一种运行方式,是与用户态(user mode)相对应的概念。在内核态运行时,程序可以访问和操作计算机的所有资源,并具有最高的特权级别,可以执行任何指令、存取任何内存区域和驱动任何设备。
“/”在linux系统终端中代表含义有很多,在目录首位出现时代表的是根目录、在其他位置代表的是路径分隔符
/root:root用户的家目录
/home:普通用户家目录的存储位置
/etc:系统及应用程序的配置文件的默认存放目录
/usr : local:自定义安装的应用程序存储目录
bin:存储所有用户都有权限操作的命令
sbin:存储只有管理员有权限操作的命令
/sbin:/usr/sbin的连接文件
/bin:/usr/bin的连接文件
/dev:设备文件存储目录
/proc:设备信息文件及内核配置文件存储目录
/run:进程pid及相关文件存储目录
/var: log:系统及硬件或程序日志存储目录
spool(mail):用户邮件存储目录
cache:缓存存放目录
run:是/run的连接文件
/lib:32位依赖库
/lib64:64位依赖库
/boot:内核文件及启动信息文件粗出目录
/sys:操作系统及硬件相关信息及日志\状态等文件的存储目录
/mnt:测试挂载的空目录
/opt:一般会将拷贝的文件放置此目录
/media:外部媒体设备默认挂载目录
cd- 返回上级跳转到当前目录的目录
2、查看目录内容
ls -l 以长格式选项显示目录内容
-a 显示所有隐藏文件(隐藏文件以 · 开头)
-A 显示除 . 和 . . 之外的隐藏文件( . 表示同级目录、 . . 表示子级目录)
mkdir /path/dirname 创建目录
mkdir -p dirName/child_dirName 递归创建目录
rm -i 删除目录(交互式询问是否操作)
-f 强制删除
alias 查看系统所有别名
alias 自定义命令= ' 系统命令 选项' 创建别名
unalias 自定义命令= ' 系统命令 选项' 取消别名\
mv old_dirname(就目录)名 new_dirname(新目录名) 当前目录重命名
mv /source_path(旧路径)old_dir_name(旧目录名) /dest_path(目标路径)/new_path dirname(新路径目录) 移动后重命名
move /source_path/dirname /dest_path/ 移动
cp -i 当目标文件已存在是,交互式询问是否操作(不生效)
-r 递归复制目录及子目录
-p 保留属主及属组权限复制目录
-f 当目标文件存在时,先删除后复制