32-day

 · 2019-9-6 · 次阅读


Linux的学习

1.Linux的版本分为内核版本和发行版本
2.Linux中所有的内容都以文件形式保存(保存硬件)
3.Windows中以扩展名来区分文件,而Linux不靠扩展名来区分文件类型,而是靠权限区分文件类型
但Linux也有一些约定俗成的扩展名
一般来说:
压缩包:*.gz *.bz2 *.tar.bz2 *.tgz
二进制软件包:.rpm
网页文件:*.html *.php
脚本文件:*.sh
配置文件: *.conf
其实完全可以不用写扩展名系统也能识别,但写了能使系统管理员更好的识别文件类型。
4.Windows下的程序不能直接在Linux中安装和运行
5.字符界面占用的系统资源更少,会让操作系统更稳定
6.格式化的目的是为了写入文件系统,并附带清空(不是我们理解的清空磁盘)
7.硬件设备文件名
IDE硬盘: /dev/hd[a-d] 其中第一个/代表根目录
SCSI/SATA/USB: /dev/sd[a-p]
8.
分区设备文件名:/dev/hda1(IDE硬盘接口)其中hd代表IDE接口,a代表第一块硬盘,1代表第一个分区。
/dev/sda1(SCSI硬盘接口,SATA硬盘接口)其中sd代表SATA接口
9.主分区和扩展分区可以为1234号码,但逻辑分区只能以5开始

挂载

1.必须分区的有:/(根分区)
swap分区(交换分区,内存2倍,不超过2GB),也可以叫虚拟内存
它的分区主要看内存,一定为内存两倍,实验中2GB足够。
推荐分区:/boot(启动分区,200MB)
2.分区:把大硬盘分为小的逻辑分区
3.分区设备文件名:给每个分区定义设备文件名
4.挂载:给每个分区分配挂载点–挂载点就是Linux中的磁盘文件系统的入口目录,类似于windows中的C、D、E等盘符

安装日志

/root/install.log:存储了安装在系统中的软件及其版本信息
/root/install.log.syslog:存储了安装过程中留下的事件记录
/root/anaconda-ks.cfg:以Kickstart配置文件的格式记录安装过程中设置的选项信息
CentOS 6.x的默认文件系统类型是ext4
Linux安装时至少划分根分区/和SWAP两个分区才能正常安装使用

Linux常用命令

1.Linux命令格式
[root@localhost ~]#
root:当前登陆用户
~:当前所在目录(家目录)
#:超级用户
$:普通用户
localhost代表当前Linux的主机名
Linux的管理员叫root
超级用户的家目录就是/root
pwd可以显示当前所在位置
2.命令 [选项] [参数]
注意:个别命令使用不遵循此格式
当有多个选项时,可以写在一起
简化选项与完整选项 -a 等于–all
3.查询目录中内容:ls [选项] [参数]
-a 显示所有文件
-l 显示详细信息
-d 查看目录属性
-h 人性化显示文件大小
-i 显示inode
其中-rw-r–r–表示权限
-文件类型(-文件 d目录 l 软链接文件)软链接就是快捷方式
rw- r– r–
u所有者 g所属组 o其他人
r读 w写 x执行
备注:Linux系统中还存在块设备文件、字符设备文件、套接字文件和管道文件

目录处理命令

mkdir 创建目录
mkdir -p[目录名]
-p递归创建
英文原意:make directories
切换目录:cd(change directories)
cd [目录]
简化操作
cd 回到当前用户的家目录 =直接 cd
其中
代表家目录
cd -进入上次目录
cd ..进入上级目录,比如我在家目录切换后进入根目录
cd .进入当前目录

相对路径与绝对路径

相对路径:参照当前所在目录,进行查找
如:[root@imooc~]# cd../usr/local/src/
绝对路径:从根目录开始指定,一级一级递归查找。在任何目录下,都能进入制定位置
如:cd /etc/
rmdir 删除目录(用得较少)
rm -rf [文件或目录] 删除文件或目录 (主要)
这里的f代表force强制删除
命令英文原意:remove
复制命令:cp
cp 复制文件 复制目录
cp -r 复制目录 复制目录
-r是复制目录的意思
-p 连带文件属性复制
-d 若源文件是链接文件则复制链接属性
-a 代表dpr三个选项一起的效果
剪切或改名命令:mv
mv [原文件或目录] [目标目录]

##目录的作用##
\ 根目录最高级目录
/bin目录下的任何用户都可以执行
而/sbin目录下的只能root权限才可以
/etc下的保存的配置文件
/root是超级用户家目录
/lib下保存的是linux下的函数库
/home是普通用户的家目录
/media /mnt /misc是空目录用来挂载系统目录,挂载光盘usb什么的
/proc和/sys保存的是内存的过载点
不能直接操作
/tmp 临时目录
  可以在家目录root或home以及tmp目录下随便放文件,其他的不要随便动
链接命令: ln
ln -s 【原文件】 [目标文件]
命令英文愿意:link
硬链接特征:
拥有相同的i节点和存储Block块,可以看做是同一个文件
可通过i节点识别
不能跨分区
不能针对目录使用
不建议创建硬链接特征,原因:不好区分
建议使用软连接
软连接特征:
1、类似Windows快捷方式
2.软连接拥有自己的I节点和BlocK块,但是数据块中只保存文件的文件名和I节点号,并没有实际的文件数据
3.Irwxrwxrwx I 软连接
软连接文件权限都为rwxrwxrwx
4、修改任意文件,另一个都改变
5、删除原文件,软连接不能使用

文件搜索命令

locate 文件名
在后台数据库中按文件名搜索,搜索速度更快
update db更新数据库
/var/lib/mlocate
这是locate命令所搜索到的后台数据库
/etc/updatedb.com配置文件
PRUNE_BIND_MOUNTS =”yes”
开启搜索限制
PRIMEFS=
搜索时,不搜索的文件系统
PRUNENAMES=
搜索时,不搜索的文件类型
PRUNEPATHS=
搜索时,不搜索的路径
locate,whereis,which这些搜索命令都遵循这个配置
locate命令缺点:只能按文件名搜索,不能搜索更为复杂的文件。
whereis与which(命令搜索命令)
whatis 命令名
搜素命令是干什么的
whereis 命令名
搜索命令所在路径及帮助文档所在位置
选项:
-b: 只差找可执行文件
-m: 只差找帮助文件
这条命令只能搜索系统的命令以及文件

which 文件名(和whereis类似,但可以看到命令的别名)

PATH环境变量

PATH环境变量:定义的是系统搜索命令的路径
[root@locathost~]#echo $PATH
/usr/lib/qt-3.3/bin:
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
这些都是用:分割的不同路径
文件搜索命令find
find [搜索范围] {搜索条件}
搜索文件
find / -name install.log
避免大范围搜索,会非常耗费系统资源
find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配的

Linux中的通配符

* 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符

find命令

find /root -iname install.log
不区分大小写
find /root -user root
按照所有者搜索
find /root -nouser
查找没有所有者的文件(可以查找垃圾文件)
find /var/log -mtime +10
查找10天前修改的文件
-10 10天内修改文件
10 10天当天修改的文件
+10 10天前修改的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
find . -size 25k
上面的点代表当问文件
查找文件大小是25kb的文件
+25k代表大于25k
25k等于25k
-25k小于25k
这里的内存单位需要区分大小写
兆字节必须用M ,KB必须用k
find . -inum 数字
查找i节点的文件
find /etc -size +20k -a -size -50
查找/etc/目录下,大于20KB并且小于50KB的文件
-a and 逻辑与,两个条件都满足
-o or 逻辑或,两个条件满足一个即可
find /ect -size +20k -a -size -50k -exec ls -lh {} ;
并显示详细信息
-exec/-ok 命令 {} ;对搜索结果执行操作
字符串搜索命令grep
grep [选项] 字符串 文件名
在文件当中匹配符合条件的字符串
选项:
-i 忽略大小写
-v 排除指定字符串
find命令与grep的区别
find在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配。
grep在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式时包含匹配

帮助命令 man

man 命令
获取指定命令的帮助
man ls
查看ls的帮助
按q可退出man的帮助
man的级别:
1.查看命令的帮助
2.查看可被内核调用的函数的帮助
3.查看函数和函数库的帮助
4.查看特殊文件的帮助(主要是/dev目录下的文件)
5.查看配置文件的帮助
6.查看游戏的帮助
7.查看其他杂项的帮助
8.查看系统管理员可用命令的帮助
9.查看和内核相关文件的帮助
查看命令拥有那个级别的帮助
man -f 命令
相当于whatis 命令
举例
man -5 passwd
man -4 null
man -8 ifconfig
查看和命令相关的所有帮助
man -k 命令
相当于
apropos 命令
例如》apropos passwd
其他帮助命令
命令 –help
获取命令选项的帮助
shell内部命令帮助
help shell内部命令
获取shell内部命令的帮助
例如:
whereis cd
确定是否是shell内部命令
help cd
获取内部命令帮助
详细命令帮助info
info 命令
-回车 进入子帮助页面(带有*号标记)
-u: 进入上层页面
-n: 进入下一个帮助小节
-p: 进入上一个帮助小节
-q: 退出

压缩与解压缩命令

常用压缩格式:.zip .gz .bz2 .tar.gz .tar.bz2
.zip格式压缩:
zip 压缩文件名 源文件 —压缩文件

zip -r 压缩目录名 源目录 —压缩目录
unzip 压缩文件 —解压缩.zip文件

.gz格式压缩
gzip 源文件
压缩为.gz格式的压缩文件,源文件会消失
gzip -c 源文件 > 压缩文件
压缩为.gz格式,源文件保留
例如: gzip -c cangls > cangls.gz
gzip -r 目录
压缩目录下所有的子文件,但是不能压缩目录
gzip -d 压缩文件 解压缩文件
gunzip 压缩文件 —解压缩文件

bzip2 源文件
压缩为.bz2格式,不保留源文件
要保留源文件使用:bzip2 -k 源文件
bzip2不支持压缩目录
bzip2 -d解压缩文件
bunzip 压缩文件 —解压缩文件

打包命令tar
tar -cvf 打包文件名 源文件
选项:
-c: 打包
-v: 显示过程
-f: 指定打包后的文件名
例如:tar -cvf longzls.tar longzls
解打包:tar -xvf
选项: -x 解打包

.tar.gz压缩格式
tar -zcvf 压缩包名.tar.gz 源文件—相当于先打包再压缩
选项: -z:压缩为.tar.gz格式
tar -zxvf 压缩包名为.tar.gz
选项:
-x :解压缩.tar.gz格式
tar -ztvf —之查看压缩包内容
.tar.bz2压缩格式
tar -jcvf 压缩包名.tar.bz2 源文件
选项:
-z 压缩为.tar.bz2格式
tar -jxvf 压缩包名.tar.bz2
选项
-x: 解压缩.tar.bz2格式

关机与重启命令

1.shutdown命令
shutdown [选项] 时间
选项:
-c:取消前一个关机命令
-h:关机
-r:重启
init 0 halt poweroff 都可以关机都不会正常保存服务,不太安全。‘
系统运行级别
init
0 关机
1 单用户
2 不完全多用户,不含NFS服务
3 完全多用户
4 未分配
5 图形界面
6 重启
runlevel可以看到系统运行级别
cat 文件路径 查看文件内容
退出登录命令:logout
查看系统中已经挂载好的设备
mount
mount -a 依据配置文件/etc/fstab
w 用户 查看用户信息
命令输出: USER:登陆的用户名
TTY:登陆终端
FROM:从哪个IP地址登陆
login@:登陆时间
IDLE:用户闲置时间
JCPU:指的是和该终端连接的所有进程占用的时间。这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间;
PCPU:是指当前进程所占用的时间
WHAT:当前正在运行的命令
who 用户名
命令输出:用户名
登陆终端
登录时间(登陆来源IP地址)
last 查看当前登陆和过去登陆的用户信息
lastlog 查看所有用户的最后一次登陆时间
默认读取/var/log/lastlog文件内容