Linux 从零开始学习笔记
从零开始学习Linux,记录笔记,担心自己以后会忘,也供大家茶余饭后,闲来无事看看,自己的理解只能到这,能力有限。也希望大家可以指出我的错误,让我可以有一点点进步,以后会一直更新,同时也希望大家可以收藏,点赞加关注三连一下,大家有什么问题或者我的错误也可以在评论里留下来,相互讨论一下,谢谢大家。
Linux学习笔记
- 第一章 Linux起源
- 第二章 系统分区
- 第三章 Linux安装与配置
- 第四章 Linux常用命令
- 第一节 文件处理命令
- 第一部分 命令格式与目录处理命令ls
- 第二部分 目录处理命令
- 第三部分 文件处理命令
- 第四部分 链接命令
- 第二节 权限管理命令
- 第一部分 权限管理命令chmod
- 第二部分 其他权限管理命令
第一章 Linux起源
unix,C语言,TCP-IP 可以看作三胞胎,他们结合在一起相互诞生,其他具体自行可以看:计算机组成原理,计算机网络,以及C语言。可以结合在一起来学习,效果更佳。
第二章 系统分区
Linux与Windows一样,它的主分区和拓展分区加起来不能超过四个,而且拓展分区最多一个且不能放入数据文件以及它不能格式化,拓展分区里放的逻辑分区可以放数据和格式化。
Linux 硬件全为文件 这一点与Windows不一样,下面介绍一些Linux的主要硬件文件名已经存放路径。
-
IDE硬盘 /dev/hd[a-d]
-
SCSI/SATA/USB硬盘 /dev/sd[a-p]
-
光驱 /dev/cdrom或/dev/sr0
-
软盘 /dev/fd[0-1]
-
打印机(25针) /dev/lp[0-2]
-
打印机(USB) /dev/usb/lp[0-15]
-
鼠标 /dev/mouse
分区:把大硬盘分为小的逻辑分区
格式化:写入文件系统
分区设备文件名:给每个分区定义设备文件名
挂载:给每个分区分配挂载点
注意:根分区 “/ ” 以下的子分区可以单独使用硬盘
在虚拟机安装中 swap 的大小为内存的两倍但是超过2G没有意义,建议1000MB合适
/boot路径是为了让Linux系统可以顺利运行 里面最好不要存放数据 在虚拟机安装中分配200M左右大小就可以了
安装教程可以观看一下视频,新手学习建议安装CentOS
链接: Linux安装.
第三章 Linux安装与配置
在Linux远程登录管理配置IP时,需要的一些简单命令:
ifconfig 查询当前网卡信息
ifconfig eth0 配置网卡
ifconfig eth0 后+ VmNAT8的网络IP
df 查看系统分区
ls /bin/ 里面存放的为Linux命令文件
注意:这些配置都是临时配置,在重启之后IP会丢,永久修改需要在配置文件中修改
VmNAT8为VMware虚拟中虚拟网卡 可以自行查询IP
具体操作看以下视频:
链接: VMware环境配置.
第四章 Linux常用命令
第一节 文件处理命令
第一部分 命令格式与目录处理命令ls
-
以下为不同文件的不同后缀
压缩包:.gz .bz2 .tar.bz2 .tgz
二进制软件包:.rpm
网页文件:.html .php
脚本文件:.sh
配置文件:.conf -
注意: Linux不靠扩展名区分文件信息,而且所有存储设备必须挂载后方可使用(硬盘,U盘,光盘)
-
一些主要目录
/bin/ ( bin的意思是二进制可执行文件)
/sbin/
/usr/bin/
/usr/sbin/
/boot/:系统启动相关数据。需要备份时 /boot目录(也需备份)
/dev:硬件信息 设备文件保存文字
/etc :(也需备份) 配置文件保存位置 如账 户,密码
/lib/ :系统函数保存位置 (也需备份)
/lost+found/:意外关机或者系统崩溃产生的碎片文件 可以复原 家目录
/media/: 挂载目录 软盘或光盘
/mnt/: 挂载U盘或者移动硬盘 -
空目录才可以作为挂载点
例如:/mnt/cdrom 挂载光盘 /mnt/usb 挂载U盘
/opt/ :第三方软件保存位置 不过保存到/usr/local/里更好 为约定俗成的
/proc/ :保存系统内核 进程的 例如CPU信息不能存放文件没有意义 内存占满死机 没满重启消失
/sys/ :与proc一样 是在内存里的 不可以写东西 放内核信息
/tmp/ :临时目录 做练习
/usr/:系统软件资源目录(也需备份)
/var/: 动态数据保存 保存缓存,日志以及软件运行产生的文件(也需备份)
文中标记(也需备份)的为在服务器中使用进行安全备份时主要的备份目录 非常重要 -
常用命令
ls -a 查看隐藏文件
ls -l 长显示,显示文件或者目录详细信息包括大小 修改时间
ls -d 显示目录
ls -h 更加人性化显示 比如字节转换为MB,GB 不用自己算
ls -i 查询文件inode号(inode存储文件的详细信息) 信息编号,类似于人的身份证号码 -
用户有三类
第一类:所有者(只有一个)
第二类:所属组
第三类:其他人
在 ls -l 查询文件详细信息后,第一列会出现类似:-rwxr-xr-x 这样的字符,其中开头的 - 便是代表这个文件是二进制文件的意思,以下为其他开头的含义:
-:二进制文件
d:目录
l :软链接文件
r 代表可以读 w 代表可以写 x代表可以执行
-rwxr-xr-x
-(rwx)(r-x)(r-x ) Linux中的文件以这种方式来显示不同用户的不同权限
u g o
u 所有者 g 所属组 o 其他人
-(rwx)(r-x)(r-x )说明这个文件:所有者可以读,写,执行;所属组可以读和执行,但是不能写;其他人可以读和执行,但是不能写。
第二部分 目录处理命令
- mkdir 创建目录 在/tmp/目录下创建临时文件 只能创建/tmp/***** 二级目录
mkdir -p 可以递归创建 在没有一级目录的情况下新创建二级目录
pwd 显示当前所在路径
cd . . 返回上一级目录(两个点连着)
rmdir 删除空目录 只能删除没有文件的空目录 (不经常使用)
cp 复制文件 cp [原文件路径][需要复制到的路径]
cp -r 复制目录
cp -p 保留原文件属性复制目录 比如保留创建时间 日志文件的复制需要用到
cp -rp 复制目录并且保留原文件属性
mv 剪切 改名(在同一个目录下为改名)
rm 删除文件
rm -f 强制删除 不再询问
rm -r 删除目录 一般是rm -rf 连着用
control+C退出选项
注意:
rm -rf 使用时一定要谨慎 切记 !!!
使用时一定要谨慎 切记 !!!
使用时一定要谨慎 切记 !!!
rm -rf /* 系统直接全部被删除!!!
第三部分 文件处理命令
- touch [文件名] 在当前目录下创建空文件
touch[绝对路径+文件名]。 指明绝对路径,在绝对路径处创建文件
“Program files” 加双引号创建带空格的文件名 不推荐使用 以后的查询,操作都需要用到 除了代表根分区的/ 以外 其他符号都可以 - cat [文件名] 显示文件内容 只适合短的文件内容
cat -n [文件名] 显示行号 给文件内容的每一行标号
tac [文件名] 逆序显示文件内容 倒着来 不支持-n - more [文件名] 一页一页显示文件内容 适合长的文件内容 空格或者f 翻页 回车(Enter)一行一行翻,换行 q或者Q ,退出
- less [文件名] 一页一页显示文件内容,只不过这条命令可以往回翻页,查看翻过的文件内容 page up向上翻页,↑箭头向上翻一行
其他操作和more命令一样 在less命令中 可以按/+需要查找文件内容的关键字查询内容,高亮内容即为含有关键字的内容,按n(表示next)可以查看下一个含有关键字的内容 - head [文件名] 显示文件最前几行 具体几行加n head -n 行数 [文件名] 没有指定 默认10行
- tail [文件名] 显示文件最后几行 具体几行加n tail -n 行数 [文件名] 没有指定 默认10行 tail -f 动态显示文件末尾内容
第四部分 链接命令
首先给大家介绍一下软链接:
软链接的作用和Windows中的快捷方式是差不多的。他只不过是指向源文件安装路径的符号链接,所以大小也很小 而且它的文件类型是lrwxrwxrwx 看似三种用户都可以拥有所有权限。其实,真正拥有的权限是源文件所决定的权限 ,所以这中显示也是软链接的一大特征之一。
- ln -s [原文件] [目标文件] 创建软链接
硬链接:
硬链接就是把源文件拷贝到目标位置,而他与cp -p 最大的一点区别就是他可以同步更新,源文件有变化 硬链接文件也会同时发生变化,但是如果源文件丢失或者被删除,硬链接也并不会消失。可以通过i节点来区分,源文件和硬链接文件的i节点是一样的,所以他们会同步更新,但是他不能跨分区放置硬链接比如:/分区 硬链接 不能放到/boot 分区 ,而且不能对目录使用。
- ln [原文件] [目标文件] 创建硬链接
第二节 权限管理命令
第一部分 权限管理命令chmod
这一部分主要说明一下如何修改文件或者目录的权限。
- chmod [{u,g,o,a}{+,-,=}{r,w,x}] [文件或者目录]
u :所有者
g :所属组
o :其他人
a :所有用户
例如:chomd g+x,o+r /tmp/testfile
就是把testfile文件的所有组增加执行权限,其他人增加读权限
chomd a=rwx /tmp/testfile
就是testfile文件的所有用户增加读写执行权限
权限位的数字表示:
- chmod [rwx的和,rwx的和,rwx的和]] [文件或者目录]
首先需要知道 r=4 w=2 x=1
例如:rwxrw-r- - 它的权限位数字表示就是 764
具体算法:
r+w+x=4+2+1=7
r+w=4+2+0=6
r=4+0+0=4 - chmod -R [rwx的和,rwx的和,rwx的和][文件或目录]
这条命令与mkdir -p递归创建目录一样 这个命令把一个目录下的所有子目录的操作权限全部修改为同样的 - 创建用户命令
useradd [用户名] 创建普通用户
passwd [用户名] 用户密码
su - [用户名] 切换普通用户**
我们仍需注意在文件与目录中的不同权限,他们具体可以实施的操作是什么!这一点非常重要,有许多人到现在也不太清楚,认为对文件有写权限就可以删除文件。这一点是非常错误的。
附下表以供参考:
代表字符 | 权限 | 对文件的含义 | 对目录的含义 |
---|---|---|---|
r | 读权限 | 可以查看文件内容 可以cat/more/head/tail/less | 可以列出目录中的内容 可以ls |
w | 写权限 | 可以修改文件内容 可以vim | 可以在目录中创建,删除文件 可以touch/mkdir/rmdir/rm |
x | 执行权限 | 可以执行文件 可以script(脚本) command(命令) | 可以进入目录 可以cd |
第二部分 其他权限管理命令
改变文件或者目录所有者
- chown [所有者][文件或者目录]
改变所有组
- Groupadd [所有组组名] 添加组
- chgrp [所有组][文件或者目录]
默认组为创建文件的所有者的缺省组 - umask -S 以rwx形式显示新建文件缺省权限
但是在mkdir 一个目录之后
进行ls -ld 发现他的权限为 drwxr-xr-x
但是在touch 一个文件之后
进行ls -l 发现他的权限为-rw-r- -r- -
这是因为在Linux系统里面把任何新建的文件都会把可执行权限去掉,其实umask值还没变,只不过是因为他是文件,木马病毒入侵之后没有可执行权限,就没有作用了。
- umask
umask 指令直接输入之后会显示 0022
其中 0代表特殊权限
022代表 777与022之间的一种逻辑与的关系
他会进行逻辑比对,两者重复的不能保留,把没有的写下来
777 rwx rwx rwx
022 — -w- -w-
—————————
755 rwx r-x r-x 目录
rw- r— r— 二进制文件
如果想把默认创建的文件改为700
700 rwx — --- 目录
rw- — --- 二进制文件
这样运算 进行逻辑与比对
777 rwx rwx rwx
X
—————————
700 rwx — ---
这就像一个解方程 求X
X=— rwx rwx 077
可以使用umask 077 修改缺省创建文件权限,但是不推荐修改。