- 第一章 Linux起源
- 第二章 系统分区
- 第三章 Linux安装与配置
- 第四章 Linux常用命令
- 第一节 文件处理命令
- 第一讲 命令格式与目录处理命令ls
- 常见文件后缀
- 一些主要目录
- 空目录才可以作为挂载点
- 常用命令
- 用户有三类
- 第二讲 目录处理命令
- 第三讲 文件处理命令
- 第四讲 链接命令
- 软链接
- 硬链接
- 第一讲 命令格式与目录处理命令ls
- 第二节 权限管理命令
- 第一讲 权限管理命令chmod
- 第二讲 其他权限管理命令
- 第三节 文件搜索命令
- 第一讲 文件搜索命令find
- 第一节 文件处理命令
第一章 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[绝对路径+文件名]
指明绝对路径,在绝对路径处创建文件
touch “Program files”
加双引号创建带空格的文件名,不推荐使用。以后的查询,操作都需要用到,除了代表根分区的/ 以外,其他符号都可以。
cat [文件名]
显示文件内容 只适合短的文件内容
cat -n [文件名]
显示行号 给文件内容的每一行标号
cat -A [文件名]
显示隐藏字符
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 :所有用户
例如:把testfile文件的所属组增加执行权限,其他人增加读权限
chmod g+x,o+r /tmp/testfile
把testfile文件的所有用户增加读写执行权限
chmod a=rwx /tmp/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 [用户名]
例如
useradd yeqing
创建用户密码
passwd [用户名]
例如
root@debian:$ passwd yeqing
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
切换普通用户
su - [用户名]
例如
root@debian:$ su - yeqing
yeqing@ip124:~$
我们仍需注意在文件与目录中的不同权限,他们具体可以实施的操作是什么!这一点非常重要,有许多人到现在也不太清楚,认为对文件有写权限就可以删除文件。这一点是非常错误的。
附下表以供参考:
代表字符 | 权限 | 对文件的含义 | 对目录的含义 |
---|---|---|---|
r | 读权限 | 可以查看文件内容 可以cat/more/head/tail/less | 可以列出目录中的内容 可以ls |
w | 写权限 | 可以修改文件内容 可以vi/vim | 可以在目录中创建,删除文件 可以touch/mkdir/rmdir/rm |
x | 执行权限 | 可以执行文件 可以script(脚本) command(命令) | 可以进入目录 可以cd |
第二讲 其他权限管理命令
改变文件或者目录所有者
格式:chown [所有者] [文件或者目录]
例如
chown yeqing /root
改变文件或者目录所属组
格式:chgrp [用户组] [文件或者目录]
例如
chgrp nogroup /root
# 默认组为创建文件的所有者的缺省组
添加用户组
格式:Groupadd [用户组名称]
改变文件或者目录所有者和所属组
格式:chown [所有者]:[所属组] [文件或者目录]
第三节 文件搜索命令
第一讲 文件搜索命令find
find [搜索范围] [匹配条件]
用于文件搜索
find [搜索范围] -name [关键字]
在特定路径下搜索文件名作为关键字的文件或者目录
find [搜索范围] -name [关键字]*
这样为带有关键字开头的任何文件都可以被搜索出来
find [搜索范围] -name * [关键字] *
这样为带有关键字的任何文件都可以被搜索出来
匹配任意字符 加通配符*
find [搜索范围] -name [关键字]???
这样搜索的是关键字后带三个字符的 几个问号为几个字符
find [搜索范围] -iname [关键字]
不区分大小写搜索
注意:不能在服务区高峰时候使用查找命令。太占内存资源,搜索的范围路径越小越好,搜索条件越精准越好
find [搜索范围] -size [数据块]
根据文件大小查找
数据块前面加+表示查找大于这个大小的文件,-表示查找小于这个大小的文件,不加表示查找等于这个大小的文件(一般不常用)
1个数据块=512字节=0.5K
size后接的数据只能为数据块 需要换算,比如需要查找大于100MB的文件
100MB=102400KB=204800
find /etc -size +204800
数据块为Linux存储文件最小单位
find [搜索范围] -user [所有者名]
根据所有者查找
find [搜索范围] -group [所属组名]
根据所属组查找
find [搜索范围] -amin [时间]
查找时间以内被访问过的文件和目录 a:access
find [搜索范围] -cmin [时间]
查找时间以内被修改过属性的文件和目录 c:change
find [搜索范围] -mmin [时间]
查找时间以内被修改过内容的文件和目录 m:modift
+:超过多长时间 -:多长时间以内
find [搜索范围] -size [数据块] -a -size [数据块]
-a:两个条件同时满足
-o:两个条件满足任意一个即可
find /etc -size +163840 -a -size -204800
在/etc下查找大于80MB小于100MB的文件
find [搜索范围] -name [关键字] -a -type f
在特定路径下搜索文件名作为关键字的文件
-type 根据不同类型查找
f:文件
d:目录
l:软链接
find [搜索范围] -name [关键字] -exec ls -l {} \\ ;
查找到文件之后并且对其进行查看ls操作。
-exec:查找到文件之后并且对其进行各种操作 {} \\ ;不能丢
-ok:用于询问确认 一般在删除操作的时候使用,比如:
find -user yangyang -ok rm {} \\ ;
删除yangyang用户的文件 他会挨个询问你是不是确定删除
find [搜索范围] -inum [i节点值] 根据i节点查询
find /etc -inum 12345 -exec rm {} \\ ;
删除这个i节点文件 非常方便
也可以用来查询一个文件的硬链接
find /etc inum 12345 -exec ls -l {} \\ ;
因为硬链接和文件肯定在同一个分区,并且i节点一样