第一章:Linux简介
第一节:linux发展史
linux内核版本
linux内核官网:www.kernel.org
谁都可以下载使用。
linux发行版本(内核一样版本不一样)
redhat centos suse ubuntu turbolinux fedora linux(红旗) mandriva debian
第二节:开源软件简介(开放源代码)
开源软件:
nginx mysql apache
第二章:linux常用命令
linux可以识别命令补全和目录补全
第一节:命令基本格式
命令格式:命令 【选项】 【参数】
查询目录中内容:ls
ls 【选项】 【文件或目录】
命令英文原意:list
选项 -a 显示所有文件,包括隐藏文件
-l 显示详细信息(long) (ls -l 相当于ll)
-d 查看目录属性(directory)
-h 人性化显示文件大小 (human)
-i 显示inode
第二节:文件处理命令(目录,文件,链接)
建立目录:mkdir -p 【目录名】
-p 递归创建(parents)
命令英文原意:make directories
切换所在目录:cd
命令英文原意:change directory
cd ~ 进入当前目录的家目录
cd 进入当前目录的家目录
cd - 进入上一次目录
cd .. 进入上一级目录
cd . 进入当前目录(即不变)
相对路径:参照当前目录,进行查找
绝对路径:从根目录开始指定,一级一级递归查找。在任何目录下,都能进入指定位置。
查询所在目录位置:pwd
命令英文原意:print working directory
删除空目录:rmdir
rmdir 【目录名】
命令英文原意:remove empty directories
删除文件或目录:rm
命令英文原意:remove
选项:
-i 删除前逐一询问确认(prompt before every removal)
-r 删除目录(recursive)
-f 强制(force)
-v 显示指令执行过程(verbose)
rm -rf / 相当于linux自杀
复制命令:cp
cp 【选项】【源文件或目录】【目标目录】
命令英文原意:copy
选项:
-s 复制成为符号链接文件,即快捷方式(symbolic)
-r 复制目录(recursive)
-p 连带文件属性复制(preserve)
-d 若源文件是链接文件,则复制链接属性(no-dereference)
-a 相当于 -pdr
-f 强制force
剪切或改名命令:mv
mv 【原文件或目录】【目标目录】
命令英文原意:mv
Linux常用目录作用
bin任何用户都可以执行
sbin超级用户都可以执行
根目录下的bin和sbin,usr目录下的bin和sbin,这四个目录都是用来保存系统命令的。
boot 启动命令
dev 硬件文件
etc 默认的配置文件
lib 函数库的保存位置
home 普通用户的家目录
root 超级用户的家目录
media mnt misc空目录,挂载。
tmp 临时目录
proc/sys 目录不能直接操作,保存的是内存的过载点,直接写入内存的。
var系统相关文档内容(可变文档目录)
可以在家目录root(管理员)或 home(普通用户),以及tmp目录下随便放内容。
链接命令:ln(生成链接文件)
ln -s【源文件】【目标文件】
命令英文原意:link
选项
-s 创建软链接
硬链接特征:
1,拥有相同的i节点和存储block块,可以看作是同一个文件
2,可通过i节点识别
3,不能跨分区
4,不能针对目录使用
软链接特征:(推荐使用)
1,类似于windows快捷方式
2,软链接拥有自己的i节点和block块,但是数据块中只保存原文件的文件名和i节点号,并没有实际的文件数据
3,lrwxrwxrwx l软链接(软链接文件权限都为777)
4,修改任意文件,另一个都改变
5,删除原文件,软链接不能使用
第三节:文件搜索命令
文件搜索命令locate
locate 文件名
在后台数据库中按文件名搜索,搜索速度更快
/var/lib/mlocate(locate命令所搜索的后台数据库)
updatedb(更新数据库)
打开/etc/updatedb.conf配置文件
PRUNE_BIND_MOUNTS="yes" //筛选规则生效
PRUNEFS //不搜索文件系统
PRUNENAMES=“.git .hg .svn“ // 不搜索文件的类型
PRUNEPATHS="/afs /media /net /sfs /tmp /udev /var/cache /var/spool/cups /var/spool/squid /var/tmp" //不搜索的路径
命令搜索命令whereis与which
whereis 命令名
搜索命令所在路径及帮助文档所在位置
选项:
-b 只查找可执行文件(binaries)
-m 只查找帮助文件(manual)
linux很有意思:
whoami //显示当前用户
whatis 命令名 //显示命令的作用
which 命令名
搜索命令的别名以及命令所在路径
(which cd或whereis cd是找不到的,因为cd是shell自带的功能)
文件搜索命令find
find 【搜索范围】【搜索条件】
find / -name install.log
#避免大范围搜索,会非常耗费系统资源
#find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配
?任意一个字符
* 任意长度字符
[]任意一个中括号内的字符
find /root -iname install.log
#不区分大小写
find /root -user root
#按照所有者搜索
find /root -nouer
#查找没有所有者的文件
没有所有者的是垃圾文件(Linux的特殊条件:①内核产生的(proc/sys),②外来文件(U盘)这两种情况不要随意删除),可以删除。。
find /var/log/ -mtime +10
#查找10天前修改的文件
-10 10天内修改的文件
10 10天当天修改的文件
+10 10天前修改的文件
atime 文件访问时间(access)
ctime 改变文件属性(change)
mtime 修改文件内容(modify)
find . -size 25k
.代表当前目录
size表示文件大小
-25k,25k,+25k(千字节要小写)
-25M,25M,+25M(兆字节要大写)
单位一定要写,默认单位是块。用的是硬盘里的扇区的块,不是分区的块
find . -inum 262422
#查找i节点是262422的文件
互补使用
ls -i //知道文件名找i节点
find //知道i节点找文件名
find /etc -size +20k -a -size -50k
#查找/etc/目录下,大于20kb并且小于50kb的文件
-a and 逻辑与 ,两个条件都满足
-o or 逻辑或 ,两个调节满足一个即可
find /etc -size +20k -a -size -50k -exec ls -lh {} \;标准格式
#查找/etc/目录下,大于20kb并且小于50kb的文件,并显示详细信息
#-exec/ -ok命令 {}\; 对搜索结果执行操作
exec后面的命令对前面的结果进行处理,所以并不是什么命令都可以放在这。
字符串搜索命令grep(包含匹配)
grep 【选项】 字符串 文件名
#在文件当中匹配符合条件的字符串
选项:
-i 忽略大小写(ignore case)
-v 排除指定字符串(invert-match)
find命令与grep命令的区别
find命令:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符进行匹配,通配符是完全匹配。
grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配。
第四节:帮助命令
帮助命令:man
man 命令
#获取指定命令的帮助
man的级别
1,查看命令的帮助
2,查看可被内核调用的函数的帮助
3,查看函数和函数库的帮助
4,查看特殊文件的帮助(主要是/dev目录下的文件)
5,查看配置文件的帮助
6,查看游戏的帮助
7,查看其它杂项的帮助
8,查看系统管理员可用命令的帮助
9,查看和内核相关文件的帮助
查看命令拥有哪个级别的帮助
man -f 命令
相当于
whatis 命令
先用whatis看命令有哪几个级别的帮助,再调用相对应的man级别。
举例:
man -5 passwd
man -4 null
man -8 ifconfig
查看和命令相关的所有帮助
man -k 命令
相当于
apropos 命令
选项帮助:help
命令 --help
shell内部命令帮助
help shell内部命令
确定是否是shell内部的命令,用whereis
whereis ls 可以查到命令所在路径,说明不是shell内部命令
whereis cd不能查看命令所在路径,说明是shell内部命令
举例:help cd
详细命令帮助:info
info 命令
第五节 压缩与解压缩命令
压缩格式:.zip .gz .bz2
常用: .tar.gz .tar.bz2
.zip格式解压缩
zip 压缩文件名 源文件
#压缩文件
zip -r 压缩文件名 源目录
#压缩目录
解压
unzip 压缩文件
.gz格式解压缩
gzip 源文件
#压缩为.gz格式的压缩文件,源文件会消失
gzip -c 源文件> 压缩文件
#压缩为.gz格式,源文件保留
gzip -r 目录(gzip不会打包)
#压缩目录里下的所有子文件,但是不能压缩目录
解压
gzip -d 压缩文件
gunzip 压缩文件
.bz2格式解压缩(不能解压缩目录)
bzip2 源文件
#压缩为.bz2格式的压缩文件,源文件会消失
bzip2 -k 源文件
#压缩为.bz2格式,源文件保留
解压
bzip2 -d 压缩文件
bunzip2 压缩文件
-k保留压缩文件
打包命令:tar
tar -cvf 打包文件名 源文件
选项:
-c 打包
-v 显示过程
-f 指定打包后的文件名
解打包命令
tar -xvf 打包文件名
选项
-x 解打包
.tar.gz压缩格式
其实.tar.gz格式是先打包为.tar格式,再压缩为.gz格式
tar -zcvf 压缩包名 源文件
选项:
-z 压缩为.tar.gz格式
解压
tar -zxvf 压缩包名
.tar.bz2压缩格式
tar -jcvf 压缩包名.tar.bz2 源文件
选项:
-z 压缩为.tar.bz2格式
解压
tar -jxvf 压缩包名.tar.bz2
解压到指定位置
tar jxvf 压缩包名.tar.bz2 -C 指定目录
压缩多个文件到指定位置
tar -zcvf 绝对路径/压缩包名.tar.gz 多个文件(用空格隔开)
只看文件,不解压。
tar -ztvf 压缩包名.tar.gz
第六节:关机和重启命令
shutdown命令
shutdown 【选项】 时间
选项:
-c 取消前一个关机命令
-h 关机
-r 重启
halt/poweroff/init 0 都可以关机,但不太安全,知道就好
reboot/init 6 都可以重启,用reboot较好
系统运行级别
0 关机
1 单用户(和windows的安全模式差不多,启动最小程序,主要做系统修复)
2 不完全多用户,不含NFS服务(NFS服务是linux的文件共享服务)
3 完全多用户(就是我们现在使用的字符界面)
4 未分配
5 图形界面
6 重启
runlevel可以看到当前处于哪个级别
logout 退出登录
用远程管理工具管理linux时,没有退出登录问题不大,因为Linux可同时登录用户可达256个,但要是远程管理windows,会造成用户卡着,同时登录用户又比较少,就只能重启服务器。重启服务器给客户端带来很差的用户体验。尽量养成logout的习惯,不要直接关闭。
第七节:其他常用命令
挂载命令(相当于windows分配盘符)
mount 查询系统中已经挂载的设备
mount -a 将/etc/fstab自动挂载
//u盘和光驱不建议做成自动挂载,因为Linux很实诚,如果你忘了放光驱,而Linux自动挂载时没找到光驱文件的话就会导致系统起不来。
mount 【-t 文件系统】【-o 特殊选项】 设备文件名 挂载点
选项:
-t 文件系统:加入文件系统类型来指定挂载的类型,可ext3,ext4,iso9660等文件系统
-o特殊选项:可以指定挂载的额外选项
挂载光盘(sr0):
①放光盘
②建立挂载点mkdir /mnt/cdrom
③挂载命令mount -t iso9660 /dev/sr0 /mnt/cdrom/
#设备文件名也可以是/dev/cdrom,是软链接,但建议写sr0
#-t iso9660也可以省略
④读取数据 cd /mnt/cdrom
卸载命令(一定要记得卸载)
umount 设备文件名/挂载点
#要是碰到设备正忙,可能是因为你占用目录,应该cd退出来
挂载U盘(一般是sdb1)
①查看U盘文件设备名fdisk -l
②建立挂载点mkdir /mnt/usb
③挂载命令 mount -t vfat /dev/sdb1 /mnt/usb
注意:Linux默认是不支持NTFS文件系统的
用户登录查看和用户交互命令
w 查看登录用户信息 ,显示的比较多
who 查看登录用户信息
last 查询当前登录和过去登录的用户信息,默认读取 /var/log/wtmp
#如果用vi /var/log/wtmp则读取的是乱码,避免人为修改日志文件。毕竟last可以查看用户登录信息,可以判断是否有其他人登录过。
lastlog查看所有用户最后一次登录时间 默认读取/var/log/lastlog
第三章:Shell基础
.