linux系统结构和系统命令初步
以上是第五课和第14课笔记
linux 基本结构:
系统构成:kernel,Modules,Lib,(Shell,Tool)
系统引导:BIOS -> Bootlooder -> Kernel -> Modules
(Kernel+Modules组成内核空间) 之上就是用户这间(api,Glibc,Libs),之上才是应用程序(包括shell,kde,apache,tools等).
一般给内核添加驱动都是以模块(Modules)的形式加载的
Kernel一般位置(/boot/vmlinuz-2.6.9-22.EL),源代码可以在Kernel.org下载,第二个版本号为奇数的版本是测试版,偶数版本是正式发布版.
安全性上来说,linux和windows一样的,由于linux是开源的,可以从开源内核下手,或是通过software的源码下手,实现攻击,所以一定要注意linux的安全性,下载开源程序一定要去官方下载
版本查看 uname -a,发行版的内核一般都是经过发行厂商修复优化,并且加入了对一些硬件的支持的.
2.4内核是2000年发布了,这是一个标杆,已经可以供大家使用了,2.6是2003年发布的这个版本已经基本成熟了.
学习发行版本一定要精通一种,触类旁通.
Moudules,一般是在/lib/modulies/2.6.9-22.el/Kernel/
linux里xwindow是可有可无的,windows的gui是内核态的,内核态的东西才会蓝屏,是必须要启动的,xwindow是独立于内核外的,他是一个软件层的.
linux在GUI下CTRL+ALT+F1~F6都能呼出CLI界面,w程序可以查看当前系统有几个用户登录,tty实际上是一个虚拟终端.pts为动态终端,是根据接入动态生成的,CLI,tty可以用ALT+F1~F6切换,从CLI切换到gui可以直接用ALT+F7,gui默认占用pts/0-1
echo whatsfdsfs > /dev/tty2 可以重定向输出,重定么到别的终端输出
在CLI上如果想要启动window可以用startx,如果startx已经运行,要启动第二个可以用 startx -- :1,开启多gui依次startx -- :2.
可以用skill -9 pts/0 杀掉正在运行的pts/0终端
vi /etc/inittab 可以删除终端,发现centos下的这个文件和rhe6下的这个文件是不同的,没有tty这些设置,此文件的第一行是指定开机启动哪一个runlevels的,文本为下
------------------------------------------------------
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:
-------------------------------------------------------
前面是注释,id:3:initdefault:为第一行,3为CLI,5为xwindow.
=============================================
初级系统管理命令:
1,hostname,显示/设置主机名
hostname sprite.sprite.com可以直接改主机名
用命令更改只是本次生次,要重启生效的话要改配置文件
/etc/sysconfig/network 里的HOSTNAME字段
这个文件里也可以改网关 GATEWAY
ifconfig eth0 192.168.0.33可以直接改ip,重启不生效
重启生效要改/etc/sysconfig/network-scripts/ifcfg-eth0(可以用工具更改比如netconfig,其实工具也是改配置文件的)
2,uname 显示版本,uname是unix一个通用命令,
-a 显示所有信息,-r 显示内核版本
3,id 显示当用户属性,uid,gid
4,date,查看当前系统日期和时间 后面跟 +%m%d显示月日,
shell下反引号括起来的字符串会被shell解释为命令行
touch `date +m%d%`.log 创建日期.log
cal 显示日历
5 file 显示文件类型,以及显示可执行文件的支持信息,压缩文件的生成信息等.
.6 mount /dev/sda2 /mnt/ 挂载,可以直接把设备挂载到目录,如果mnt目录下原来有文件的话,这个文件就看不到了,但是不会删除,umount还是有的.mount直接回车可以查看当前mount的所有目录和设备,U盘是会被认为scsi设置sdb.mout命令一般可以直接识别文件系统,如果不能识别可以用mount -t vfat /dev/sdb1 /mbt,CD的文件类型iso9660.
可以mount windows共享:mount -t cifs //192.168.0.1/tools /mnt,cifs是网络文件系统
可以mount linux nfs共享 mount 192.168.0.1:/var/ftp/pub /mnt,nfs是linux的网络文件系统.
cat /dev/cdrom > a.iso 将当前光盘生成为iso
mount -t iso9660 -o loop a.iso /mont 将a.iso挂载到/mont下 -o loop 的意思是虚拟为回环设备
7 du 查看文件大小,du -h 友好显示,du -s 查看文件夹总大小
8 df 加载所有资源的信息 -h
9 su user和su - user的区别是su -是彻底切换,切换后往回切换直接用exit(退出shell),而不是再用su.
10 ssh user@192.168.0.1 以user用户登录192.168.0.1
11 关机 shutdown -h now,init 0(关服务),halt -p -f(关电源),重启 shutdown -r now ,init6,reboot(halt)
linux系统结构和系统命令初步的更多相关文章
- Linux 系统结构详解
Linux 系统结构详解 Linux系统一般有4个主要部分: 内核.shell.文件系统和应用程序.内核.shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序.管理文件并使用系统 ...
- Linux菜鸟学习笔记--Linux系统结构
什么是Linux? Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核.严格来讲,Linux这个词本身只表示Linux内核,但实际上人 ...
- Linux系统结构与终端控制台
Linux系统结构与终端控制台 作者:Vashon 时间:20150418 以下主要是对Linux系统终端控制台切换及基本操作的范例,其他的理论就不多说了,直接进入实践部分. Starting.... ...
- Linux 系统结构,nglinx
Linux 系统结构 Linux系统一般有4个主要部分:内核.shell.文件系统和应用程序.内核.shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序.管理文件并使用系统. N ...
- Linux系统结构
Linux系统一般有4个主要部分: 内核.shell.文件系统和应用程序.内核.shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序.管理文件并使用系统.部分层次结构如图 ...
- 体验CoreCLR的stack unwinding特性在Linux/Mac上的初步实现
有了stack unwinding特性,才能在.NET程序中获取调用堆栈(call stack)信息,才能在异常时显示调用堆栈信息.这个特性之前只在Windows上有实现,Linux/Mac上的实现最 ...
- linux shutdown关闭系统命令使用介绍(转)
shutdown命令是最常用的关闭系统命令,不仅可以用于立即关闭系统,还可以在指定时间关闭系统 linux关闭系统命令之shutdown 关闭.重启系统 Linux是一个多用户.多任务系统,如果不 ...
- Linux 系统结构
Linux的系统结构一般由四部分组成 内核 1)内核 操作系统的核心,具有最基本的功能:内存管理.进程管理.设备驱动管理.文件系统管理,网络管理 内核版本(kernel)查看的三种方法 cat /pr ...
- Linux ext2文件系统之初步思考
数据存放在磁盘中,磁盘最小存取单位sector(512Byte);文件系统中存储的最小单位是 块(Block),大小通常(1KB,2KB,4KB...), 一个block对应多个sector,因而可用 ...
随机推荐
- python django学习资料网站
python module 模块 https://docs.python.org/2.7/py-modindex.html django框架例子 https://docs.djangoproject. ...
- mac下 配置tomcat
第一步: 1.打开你的终端:然后输入 pico .bash_profile 回车 第二步: 2. 然后添加你tomcat放入的路径的path 编辑完后,control+x (保存) 继 ...
- C++指针的操作和运算(转)
既然指针是一种数据类型,那么它也应该有对应的操作或运算,正如整数能做加减乘除一样.但是每一种操作或运算都应该对这种数据类型有意义.比如两个实数可以用关系运算得知哪个大哪个小,而两个虚数却不能使用关系运 ...
- <php>添加数据注意事项
如果报错信息里有:fetch_all(),肯定是sql语句写错 get传值:<a href="chuli.php?name=1&code=2">处理</a ...
- 基本NT式驱动代码结构
#include <ntddk.h> void DriverUnload(IN PDRIVER_OBJECT DriverObject);NTSTATUS MyCreateClose(IN ...
- mysql语句添加索引
1.PRIMARY KEY(主键索引) mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 2. ...
- qt动态更新界面的菜鸟代码,请指出
qt简单界面更新代码(菜鸟级)(部分代码) self.timers_1=QtCore.QTimer(self) self.timers_1.timeout.connect(self.min_1) se ...
- python标准库之字符编码详解
codesc官方地址:https://docs.python.org/2/library/codecs.html 相关帮助:http://www.cnblogs.com/huxi/archive/20 ...
- Chrome浏览器查看cookie
原文:http://jingyan.baidu.com/article/6b18230954dbc0ba59e15960.html 1. 查看页面的cookie 方法: a). 点击地址栏前面的文档薄 ...
- 数据库中的记录通过servlet回显到jsp页面中(连接数据库或者查询參照:对数据进行增删改查)
我们常常会用到通过图书的名称来查询图书那么这种话我们也就会使用到从数据库中搜索出数据而且载入到自己的Jsp页面中 这种话我们须要将从数据库中获取到的数据放进响应中然后通过%=request.getAt ...