一.内核
内核是Linux最核心的内容,其主要模块分以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化、系统调用等。我们常用的是围绕该内核整合好的一些工具,如:debian、redhat、fedora等。
二. 磁盘分区
Linux分区包括主分区和扩展分区,其和最多有四个;扩展分区可以再划分逻辑分区。
分区命名:
Linux是先有目录,再将物理地址映射到目录中。在Linux操作系统中,所有路径都是从根目录开始。
Linux下的分区命名比Windows下面将更加清晰详细,但其名称却不容易记住。不同于Windows下的盘符,Linux通常采用设备-名称(device-name),格式为/dev/xxyN。
/dev 这里主要存放设备文件,包含了所有Linux系统中使用的外部设备。
xx 分区名的前两个字母表示分区所在的设备类型。通常hd代表IDE磁盘,sd代表SCSI磁盘。
y 这个字母表示分区所在的设备。例,/dev/hda代表第一个IDE设备,/dev/sdb代表第二个SCSI设备。
N 最后的数字代表分区,前四个分区(主分区加扩展分区)是从数字1到4排列的,逻辑分区从5开始。
例,/dev/hda2 表示第一块IDE硬盘的第二个主分区或扩展分区;
/dev/hdb5 表示第二块SCSI硬盘的第一个逻辑分区。
挂载点:可将设备挂载到自定义目录下,这样到该目录就可打开设备了。一般把硬件设备放在根目录下的/mnt目录下。
mkdir cdr //创建文件cdr
mount /dev/cdrom /mnt/cdr //将dev/cdrom设备名,挂载到/mnt/cdr下
cd cdr //访问光驱内容
umount /dev/cdrom //取消挂载点
常用目录:
/ 这就是根目录。
/root 这是系统管理员的目录。它能对系统做任何事情,甚至包括删除你的文件。
/bin 这里存放了标准的linux的工具,比如像ls、vi还有more等。通常来说,这个目录已经包含在你的path系统变量里面了。当你在终端里输入ls,系统就会去/bin目录下面查找是不是有ls这个程序。
/etc 这里主要存放了系统配置方面的文件。
/dev 这里主要存放设备文件,包含了所有Linux系统中使用的外部设备。
/home 这里主要存放你的个人数据。具体每个用户的设置文件,用户的桌面文件夹,还有用户的数据都放在这里。每个用户都有自己的用户目录,位置为:/home/用户名。当然,root用户除外。
/tmp 这是临时目录。对于某些程序来说,有些文件被用了一次两次之后,就不会再被用到,像这样的文件就放在这里。有些linux系统会定期自动对这个目录进行清理,因此,不能把重要的数据放在这里。
/usr /usr 目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。/usr目录包含了许多子目录:/usr/bin目录用于存放程序;/usr/share用于存放一些共享的数据;/usr/lib目录用于存放那些不能直接运行的,但却是许多程序运行所必需的一些函数库文件。
/opt 这里主要存放那些可选的程序。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面,因此可以随意删除。
三. 命名
1.常用命令:
cd/ 根目录(根目录就是/) 相对路径:cd/dev 绝对路径:cd / ; cd dev
pwd 查看当前目录
whoami 查看当前用户
ls 当前目录下包含的目录和文件
ls-l : 查看详细信息,以d开头的是目录,- 开头的是文件(即ll)
ls-R:可以查看子目录结构
mkdir 创建目录
touch 创建一个空文件
rmdir 删除目录,为空的目录
rm �Cr 递归删除目录,但每个文件都提示
rm �Crf 递归强制删除目录,不提示(查rm �Cf?)
cp1 2 拷贝文件1为2
cp�Cr d1 d2 拷贝目录d1为d2(-r:递归)
mvd1 /ldl 移动d1至ldl目录下
vi 3.txt 创建一个文件,并直接进去编辑,若已存在则直接进入
a 添加,w存盘,q! 不存盘退出,dd删除一行,o插入一行,:输入命令
more 3.txt 列举文件的内容,空格翻页
cat 3.txt 正序列举文件
tac 3.txt 逆序列举文件
head-3 3.txt 列举前三行内容;tail后几行
clear清屏
find查找
find/ -name *local 目录 按名字查找 文件名
gref asdf name :查看name文件中asdf字符
whereis ls 查看ls命令在哪指定的,执行的是哪个文件,帮助文档在哪
echo $path 查看环境变量,分隔符是:
windows是echo %
ln3.txt 4 将4链接到3.txt,硬链接,相当于文件复制了一份,再链接
ln�Cs 3.txt 5 软链接,相当于快捷方式
fdisk �Cl 查看磁盘信息
cd.. 回到上层目录
exit 退出 shutdown reboot等命令
cd / ls 查看根目录下的文件
按5次esc 会提示出现2143个命令
xxx --help:介绍命令xxx
man xxx : 详细介绍命令xxx
ctrl+c ctrl+d q 退出命令 q!不存盘退出
2.用户命令:
useradd testuser 添加用户testuser,会在根目录建一个目录testuser
passwd testuser 修改密码 ;密码不显示,不能修改,不能删除
cd /etc more passwd 可以查看所有用户
内核外有一层叫sh,解释命令,不同的sh命令不同;一般用bash
groupadd testg 添加用户组testg
useradd testuser2 �Cgtestg 添加用户时,给用户指定组,不指定组会默认建一个组
usermod �Cg group1 group2 修改组
userdel testuser 删用户名
rm �Crf testuser 删用户文件,和上面结合使用
su testuser 切换用户,
新登录用户,默认当前目录为用户主目录
3.用户权限:
drwxr-xr-x 拥有者 拥有者同组的其他人 剩下人权限,(三个字母一组)d代表目录
x代表执行,r可读,w可写,-没有权限
chmod +x name 修改权限 +x或u+x或g-x或o+x;可改当前用户或同组或其他人权限
chmod 755 name :9位二进制表示对应的权限111101101
chown testuser2 name:修改name的所有者为testuser2
4.管道:|符号
ls -Rl /etc | more 将上一个命令ls -Rl/etc的执行结果传给下一个命令more,实现分页
5.通知命令:
wall aaa 警告所有人(warnall),每个登录的人都会收到aaa
wall `date` 命令替换` `,值是当前date值
ls > cmd.txt 把命令执行的结果重新输出到cmd.txt文件中,重定向输出
wall < aa.txt 把aa文件中的信息发送给所有人,重定向输入
linux 其他机器文件共享:
1. 安装samba服务器程序,可以将window和linux共享一个文件,但必须在一个局域网。
2. FTP: linux端建一个ftpserver,windows端上传
Redhat 默认安装了vsftp:
service vsftpdstart 启动vsftp服务; ftplocalhost测试是否启动,bye 退出ftp
ifconfig : linux查询ip命令,若是127.0.0.1则是网卡没有配上ip
查看linux下ftpserver的配置:cd/etc cd vsftpd ls 可以查看相关配置
vsftp的默认根目录 cd/var
windows端:
ping ip:可以看看能不能连上linux的机器
ftp ip:看看能不能连上linux的ftpserver
注意linux的防火墙是否关闭,serviceiptables stop关闭防火墙
注意:
linux ftpserver不允许匿名上传,必须设定允许某个用户上传,如root
设置: (1)查看/etc/下 more vsftpd.user_list,发现root用户被denied了
(2)vivsftpd.user_list命令编辑去掉root用户即可,加#注释
(3)vivsftpd.ftpusers 编辑注释#root
设置开机自启动:两种方法
(1) etc/rc.local 加入/usr/local/bin/vsftpd&即可
(2)chkconfig --list | grep vsftpd可以查看其信息
chkconfig vsftpd on即可,再查看发现设为on了
linux远程管理:
telnet远程管理:所有信息都是明文,不安全,监听网卡就可切取。
ssh远程管理:传输是加密的
启动ssh服务:servicesshd start (chkconfig sshdon开机自启动)
安装ssh客户端putty:打开输入ip,选择sshconnection type连接尽可