操作系统(Operating System, OS)是软件的一部分,它是硬件基础上的第一层软件,是硬件和其它软件沟通的桥梁(或者说接口、中间人、中介等)。
操作系统会控制其他程序运行,管理系统资源,提供最基本的计算功能,如管理及配置内存、决定系统资源供需的优先次序等,同时还提供一些基本的服务程序,例如:文件系统、设备驱动、用户界面、系统服务等。
操作系统使得应用程序无法直接与硬件打交道,而是必须经由操作系统的内核,协调多个程序运行避免恶意程序破坏其他进程独占资源,保证了多任务平稳的运行。
操作系统向外提供系统调用,然后系统调用被封装成库向外提供库调用,程序员只需要根据库的API接口进行编程,不用关心底层硬件的不同,便于程序的移植。
Linux系统主要特性
安装准备
➢Centos 7
下载地址: http://isoredirect.centos.org/centos/7/isos/x86_ 64/CentOS-7-x86_ 64- DVD-1708.iso
➢VMware workstation 15
第一步:创建虚拟机
第二步:设置虚拟机文件位置:
第三步:配置处理器和内存
第四步:配置网络和硬盘
第五步:设置虚拟机内存大小
第六步:选择安装镜像
第七步:点击安装,设置root密码:
Linux的特点
由目的单一的小程序组成;组合小程序完成复杂任务;
一切皆文件;
尽量避免捕获用户接口;
配置文件保存为纯文本格式;
Linux的shell,是人机接口。Linux 的shell包括GUI和CLI两种类型。
GUI指图形界面,与windows类似。比较常见的有gnome、KDE和xface等。
CLI是命令行界面。比较常见的有bash、csh、zsh、ksh和tcsh等,我们通常使用用bash。第2课-命令行基础
我们可以按Ctrl + Alt+ F2切换到命令行。切换到命令行登录的时候,注意输入密码时,屏幕是没有回显的。
我们可以按Ctrl + Alt+ F1切换回图形界面。
Linux命令行结尾的提示符有“#”和”$”两种不同的符号
- $号是使用普通用户登录后的提示符
- #号是使用超级用户root登录后的提示符
命令行快捷键
- CtrI+C:终止当前的输入,如你在命令行中输入大量内容后,发现输入有误,或要执行其它任务。按下Ctrl+C后,会自动终止当前输入,跳转到下一行。
- TAB键:补全当前命令,Linux中有很多命令或者路径比较长,初学者可以记不住,我们可以借助TAB键来补全。
- Ctrl+A:使光标移到最前;
- Ctrl+E:使光标移到最后;
- Ctrl+D:退出当前终端;
- Ctrl+L:清除当前屏幕;
- Ctrl+Z:暂停当前进程,与CtrI+C不-样的是Ctrl+ Z暂停后可以恢复进程。
通过网络登录Linux
- ifconfig:查看当前接口状态,默认为自动获取IP,默认网口名为ens33
- Centos7 已经默认允许SSH登录,我们可以通过。ss -Int:查看当前开放的tcp端口,其中已经包含了22号端口,即允许SSH登录。
Finalshell使用
Linux命令基本语法格式
- 有时命令会带有一个或者多个选项。
- 通常选项由单个字母构成,并在字母前加一个连接符"-"
- 有时因为选项太多,我们可以使用更简单的写法如:
Is -a -l -t 和 Is -alt是一种含义 - 有些选项也可以是一个连续的单词,我们称为长选项,使用两个连接符加一个完整单词如:Is --help
- --help是多数命令 的帮助选项,可以查看命令的基本使用方法
- 同时,多数命令在选项之后可以接参数,参数通常是指文件名、目录、用户名、设备。其实可以理解为 命令要
- 执行操作的对象。
- 总结一下,选项是告诉命令”怎么样”执行,参数告诉命令"对谁”执行
linux命令历史记录
- Shell History是一个记录以前所输入的命令列表
- 通过history命令可以查看以前执行过的命令
- ! 数字 执行history中指定编号的命令
- !! 执行上一条命令
- !?is? 执行history中包含is的命令
- 也可以通过键头上下来选择历史命令
第3课-文件系统和目录
/是Linux所有路径的开始,是所有目录的根
Linux整个目录是树状结构,如图
系统启动必须
- /boot:存放的启动Linux时使用的内核文件,包括连接文件以及镜像文件。
- /etc:存放所有的系统需要的配置文件和子目录列表,更改目录下的文件可能会导致系统不能启动。
- /lib:存放基本代码库(比如C++库), 其作用类似于Windows 里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
- /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs。sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中。
指令集和:
- /usr/bin:系统用户使用的应用程序与指令。
- /usr/sbin:s就是Super User的意思,是Superuser Binaries(超级用户的二进制文件)的缩写,这里存放的是系统管理员使用的系统管理程序。
外部文件管理:
- /dev:Device(设 备)的缩写,存放的是Linux的外部设备。注意:在Linux中访问设备和访问文件的方式是相同的。
- /media:类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下。
- /mnt:临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
临时文件:
- /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有/var/run目录,应该让它指向run。
- /lost+found:一般情况下为空的,系统非法关机后,这里就存放一些文件。
- /tmp:这个目录是用来存放一些临时文件的。
账户:
- /root:系统管理员的用户主目录。
- /home:用户的主目录,以用户的账号命名的。
- /usr:用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
- /usr/src:内核源代码默认的放置目录。
运行过程中要用:
- /var:存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)。
- /proc:管理内存空间!虚拟的目录,是系统内存的映射,我们可以直接访问这个目录来,获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件来做修改。
- proc目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:echo 1 > /proc/sys/net/ipv4/icmp_ echo. ignore_ all;恢复ping同:echo 0 > /proc/sys/net/ipv4/icmp_ echo. ignore_ all
创建和删除:
- 创建目录:mkdir
- 删除目录或文件:rm
- 删除非空目录:rm -rf file目录
- 删除日志rm *log (等价$find ./ -name“*log" -exec rm {} ;)
- 移动(剪切):mv 原文件 目标文件
- 复制文件:cp 原文件 目标文件
- 复制目录:cp -r 原目录 目标目录
目录切换:
- 找到文件/目录位置:cd
- 切换到上一个工作目录:cd -
- 工换到父目录:cd
- 切换到home目录:cd or cd ~
- 切换到/root目录:cd /root
- 显示当前路径:pwd
- 更改当前工作路径为path:$cd path
绝对路径:从Linux的根目录/开始写,比如/var/log,进入/var/log
相对路径:路径不是从根目录写起,而是相对于当前pwd的目录
比如同样进入/var/log目录可以写作
cd /var:这里/var是绝对路径
cd log:log是相对路径,相对于var/而言
列出目录:
- ls:显示当前目录下的文件,常用选项:
- -a 列出所有文件,包含隐藏文件
- -l 以列表形式显示
- -1 (数字1)以分行显示
- -t 按时间排序
- -r 排倒序
- -R 包含目录的子目录及文件
按时间排序,以列表的方式显示目录项 ls -lrt
如果ls -lrt使用非常频繁,我们可以给他设置一下别名,在.bashrc中设置命令别名:alias lsl='ls -lrt'
查看文件类型:ls -l
ln命令:创建链接文件
ln -s 文件A 文件B
文件类型:
- -:表示普通文件
- d:表示目录文件
- b:表示块设备文件,比如/dev/sda
- C:表示字符设备文件,比如/dev/tty
- l:表示软链接文件,比如/etc/rc.local
- p:表示管道文件
- s:表示套接字文件
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)