linux系统结构和系统命令初步

时间:2022-02-04 05:34:10

以上是第五课和第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)