Linux系统概述和编程基础

1、 Linux系统概述

1.1 计算机的体系结构

  • 计算机由计算机硬件和计算机软件两个部分组成,其中计算机软件(Computer Software)可分为系统软件应用软件,系统软件就是操作系统,是其他软件的基础。
    在这里插入图片描述
  • 目前主流的操作系统有:Windows系列、Unix系列、Linux系列、Android系列、IOS系列、…

1.2 Linux系统的概述

  • Linux系统诞生于1991年,在林纳斯·托瓦兹(Linus Torvalds)上大学期间因不满意教学中使用的MINIX操作系统并出于个人爱好设计和研发的。
  • Linux系统是一套免费、自由、开发源代码的类Unix操作系统,是一个基于Posix(Portable Operating System Interface)标准和多用户、多任务、支持多线程的操作系统。
  • Linux能运行主要的Unix工具软件、应用程序和网络协议,支持32位和64位硬件。

1.3 主要发行版本

在这里插入图片描述

  • Redhat:目前最大的Linux发行商,功能全面并且稳定,于2018年10月被IBM以340亿美元的价格收购。
  • Ubuntu:目前最好的Linux桌面版,拥有很人性化的亮丽的交互界面,强大的软件源支持。
  • CentOS:是RHEL的克隆版本,可以认为是免费版本的Redhat系统。

2、CentOS系统安装

2.1 Vmware的下载和安装

2.2 CentOS系统的下载和安装

3、目录结构

3.1 框架结构

在这里插入图片描述

3.2 目录详解

目录名称功能介绍
/binbinarie:存放二进制可执行文件 (例如tomcat的bin目录)
/sbinsuper binaries:存放二进制文件,只有root用户才能访问
/boot系统启动核心目录,存放系统启动程序文件,例:查看启动文件的大小
/devdevices:用于存放硬件设备文件
/etcetcetera:存放系统配置文件(字体文件等)
/home家目录,每一个用户都有一个”家”,用户的起始目录,创建用户跟随创建相应的家目录
/liblibrary:系统资源文件类库
/proc内存映射目录,可以查看系统相关硬件的信息
/varvariable:可变的,变量,部署项目用的
/tmptemporary:用来存放临时文件
/root超级用户root的家目录
/usrunix shared resouce:存放unix共享系统资源,类似于” C:/ Program Files”,用于安装各种软件

4、常用命令

4.1 Shell的概念

  • Shell俗称外壳,是提供用户使用界面的一种软件,叫做命令解释器。
  • 主要负责接受用户输入的命令,然后调用相应的应用程序,最后向用户输出程序运行的结果。

4.2 命令的格式

  • 命令 [-选项] [参数]
  • 命令区分大小写,其中选项和参数是可选的,中间采用空格隔开。

4.3 常用命令的详解

(1)查看目录下文件/目录

命令功能描述
lslist显示文件
ls -l 或 lllist -list显示详细信息
ls -alist -all显示全部(包含隐藏文件)文件
ls -allist -all list 上两个合体
ls 目录名查看目录下有什么东西

(2)目录切换

命令功能描述
cd ..上一级目录
cd dirname进入目录
cd 或 cd ~直接回到用户的家目录
cd /回到系统根目录
  • 注意相对路径和绝对路径的概念。

(3)查看完整路径

命令功能描述
pwd查看当前目录所在的位置

(4)查看当前用户

命令功能描述
whoami查看当前用户的名称

(5)用户切换

命令功能描述
su普通用户切换到root用户
su root切换到root用户
su 用户名切换到普通用户
exit退回到原来用户
  • 最好使用su和exit搭配使用,否则多次使用su指令会导致用户的”叠加”。

(6)管理用户

命令功能描述
useradd xxx创建用户
passwd xxx为创建的用户设置密码
userdel删除用户

(7)查看命令的所在目录

命令功能描述
which 命令查看指定命令所在的路径信息

(8)文件操作

命令功能描述
touch fileName创建名字为fileName的文件
touch dir/fileName在dir目录下创建名字为fileName的文件
echo 内容 > fileName把内容覆盖写到文件中,若文件不存在则创建
echo 内容 >> fileName把内容追加到文件中
cat fileName打印文件内容到终端
more fileName分屏查看文件各行内容,不支持回看
less fileName查看文件各部分内容,支持回看
head -n fileName查看文件的前n行内容
tail -n fileName查看文件末尾n行内容
wc fileName查看文件的行数

(9)目录操作

命令功能描述
mkdir 目录名创建普通文件夹
mkdir -p 目录/目录/目录递归方式创建多级父子文件夹
mv dir1 dir2将dir1移动到dir2中
mv dir1/dir2 ./将dir1中dir2移动到当前目录下
mv dir1 name将dir1改名为name
cp dir1 name将dir1拷贝为name
cp -r dir1 dir2需要设置参数 -r (recursive递归) 无视目录层次
rm 文件删除文件
rm -r 目录递归删除目录(无视目录层次)
rm -rf 文件/目录-f (force强制) 删除文件/目录

(10)查找操作

命令功能描述
find / -name passwd[完整名称]查找passwd文件
find ./ -name “p*”查找名字中带”p”的文件
find ./ -type f查找所有文件
grep 内容 fileName从指定文件中查找指定的内容

(11)权限管理

命令功能描述
chmod 权限 文件/目录名管理指定文件的权限信息,r读:4 w写:2 x执行:1

(12)进程管理

命令功能描述
ps查看当前终端窗口里的进程
ps -aux查看系统中的所有进程
ps -ef查看进程列表
kill 进程号杀死指定的进程
kill -9 进程号强制杀死指定的进程

(13)其它命令

命令功能描述
ifconfig查看当前系统的IP地址等信息
tar zcvf 压缩文件名.tar.gz 路径1 路径2 …实现一组文件或文件夹的打包
tar zxvf 压缩文件名.tar.gz实现解压缩解包
man [章节号] 命令/函数名查询指定的命令或函数

5、vi工具的使用(重点)

5.1 基本概念

  • vi和vim是Linux系统命令行下的文本编辑器,通常格式为:vi 文件名 或 vim 文件名。

5.2 三种模式

在这里插入图片描述

5.3 使用方式

(1)命令模式的编辑命令

命令功能
i在当前位置之前插入
a在当前位置之后插入
o在当前行下插入

(2)命令模式的删除命令

命令功能
x删除一个字符
dw删除当前词
3dw删除三个词
dd删除当前行
5dd删除五行

(3)命令模式的修改命令

命令功能
r替换一个字符
cw替换一个单词
cc替换一行
C替换从光标至行尾

(4)命令模式的拷贝命令

命令功能
yw拷贝词
yy拷贝行(或Y)
dd剪切行
p当前行下粘贴
u撤销
ctrl+r取消撤销

(5)底行模式的命令

命令功能
:w存盘
:w newfile存成新文件
:wq存盘退出Vi(或ZZ,或:x)
:q!强行退出不存盘
:1,2co3拷贝行1,行2在行3之后
:4,5mo6移动行4,行5在行6之后
:%s /源字符串/目标字符串替换每一行中的第一个源字符串
:%s /源字符串/目标字符串/g替换每一行中的所有

(6)注意使用

  • 使用vimtutor 命令用来练习vi命令。
  • 用户主目录下 .vimrc 文件可以实现vi的简单设置。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"Linux C系统编程电子版"是一本关于Linux操作系统下C语言编程的电子书籍。这本书主要介绍了如何通过C语言进行Linux系统编程的技术和知识。下面我将以300字回答这本书的内容概述。 首先,本书从Linux操作系统基础知识开始介绍,包括Linux操作系统的历史、特点以及与其他操作系统的区别等方面。然后,书中详细介绍了C语言在Linux环境下的编程技巧和方法,包括文件操作、进程管理、内存管理、信号处理、网络编程等内容。 在文件操作方面,书中介绍了如何使用C语言进行文件的读写操作,以及如何利用文件描述符和系统调用进行文件的打开、关闭、复制等操作。此外,还介绍了如何使用目录操作相关的系统调用进行文件的遍历和管理。 在进程管理方面,书中详细介绍了进程的创建、执行、退出等操作,并介绍了进程通信的各种方式,包括管道、消息队列、信号量、共享内存等。此外,还介绍了进程间通信的相关系统调用和技巧。 在内存管理方面,书中介绍了Linux内存管理的基本原理和方法,包括动态内存分配、内存映射等。此外,还介绍了如何使用C语言进行内存操作的相关技巧和方法。 在信号处理方面,书中介绍了信号的基本概念以及如何使用C语言进行信号处理,包括信号的发送、接收和处理等方面。 在网络编程方面,书中介绍了基于TCP/IP协议的网络编程技术,包括套接字的使用、网络连接的建立和数据的发送与接收等内容。 总的来说,"Linux C系统编程电子版"是一本全面介绍Linux系统编程的电子书籍,适合对Linux操作系统和C语言编程有一定了解的读者学习和参考。通过学习本书,读者能够掌握Linux系统编程的相关技术和方法,提升在Linux环境下进行C语言编程的能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值