linux分内核版和发行版
内核版官网地址www.kernel.org
Netcraft公司于1994年底在英国成立,多年来一直致力于互联网市场以及在线安全方面的咨询服务,其中在国际上最具影响力的当属其针对网站服务器,域名解析/主机提供商,以及SSL市场所做的客观严谨的分析研究。
官网:www.netcraft.com里的Internet Data Mining可以看到各个后台服务器如apache、windows、nginx等的发展使用趋势
linux与windows的不同:
linux操作界面叫做命令行,windows叫做dos
linux严格区分大小写,windows的dos不区分
linux中所有内容都以文件的形式保存,包括硬件
linux不靠扩展名区分文件类型,是靠权限来区分的, 但是有一些约定俗成的扩展名:
如:压缩包:“*.gz“,"*.bz2","*.tar.bz2","*.tgz"
二进制软件包:"*.rpm"
网页文件:"*.html","*.php"
脚本文件:"*.sh"
配置文件:"*.conf"
windows下的程序不能直接在linux中安装和运行
字符界面的优势:
1.字符界面占用的系统资源更少
2.字符界面减少了出错、被攻击的可能性
命令提示符:
[root@localhost~]#
其中:root: 当前登录用户
localhost: 主机名
~:当前所在目录(家目录)
#:超级用户的提示符(普通用户的提示符是$)
命令格式:
命令 [选项] [参数]
注意:个别命令使用不遵循此格式
当有多个选项时,可以写在一起
简化选项与完整选项(如-a 等于 --all)
查询目录中内容:ls
ls [选项] [文件或目录]
选项:-a 显示所有文件,包括隐藏文件
-l 显示详细信息
-d 查看目录属性
-h 人性化显示文件大小
-i 显示inode
.后边是隐藏文件
-rw-r--r--(代表权限,默认是10位)
-文件类型(不是靠扩展名来区分文件类型)(文件类型只有7种,其中-文件 d目录 l软链接文件,还有四种是块设备文件、字符设备文件、套接字文件和管道文件,这四种都是系统用的)
r读w写x执行
rw- r-- r--
u所有者 g所属组 o其他人
目录处理命令:(make directories)
mkdir: 建立目录
mkdir -p [目录名]
-p 递归创建
切换所在目录:cd(change directory)
cd [目录]
简化操作:
cd ~进入当前目录的家目录
cd进入当前目录的家目录
cd - 进入上次目录
cd .. 进入上一级目录
cd . 进入当前目录
注意绝对路径和相对路径
相对如:cd ../usr/local/src/
绝对如:cd /etc/
ctrl+l 清屏快捷键
ctrl+c 终止当前命令快捷键
查询所在目录位置:pwd(print working directory)
删除空目录:rmdir(remove empty directories)
rmdir [目录名]
删除文件或目录:rm(remove)
rm -rf [文件或目录]
选项 :
-r 删除目录
-f 强制
复制命令:cp(copy)
cp [选项] [原文件或目录] [目标目录]
选项:
-r 复制目录
-p 连带文件属性复制
-d 若原文件是链接文件,则复制链接属性
-a 相当于 -pdr
剪切或改名命令:mv(move)
mv [原文件或目录] [目标目录]
常用目录的作用:
/根目录
/bin命令保存目录(普通用户就可以读取的命令)
/boot启动目录,启动相关文件
/dev设备文件保存目录
/etc配置文件保存目录
/home普通用户的家目录
/lib系统库保存目录
/mnt系统挂载目录
/media挂载目录
/root超级用户的家目录
/tmp临时目录
/sbin命令保存目录(超级用户才能使用的目录)
/proc直接写入内存的,不能直接操作,保存的是内存的过载点
/sys直接写入内存的,不能直接操作,保存的是内存的过载点
/usr系统软件资源目录
/usr/bin/系统命令(普通用户)
/usr/sbin/系统命令(超级用户)
/var系统相关文档内容
根目录下的bin和sbin,usr目录下的bin和sbin,这四个目录都是用来保存系统命令的,区别在于两个bin目录下的命令普通用户就可以执行,两个sbin下的命令只有root用户才能执行。
链接命令:ln(link)
ln -s [原文件] [目标文件]
功能描述:生产链接文件
选项:-s 创建软链接
硬链接特征:
1.拥有相同的i节点和存储block块,可以看做是同一个文件
2.可通过i节点识别
3.不能跨分区
4.不能针对目录使用
软链接特征:
1.类似window快捷方式
2.软链接拥有自己的I节点和block块,但是数据块中只保存原文件的文件名和I节点号,并没有实际的文件数据
3.lrwxrwxrwx l软链接
软链接文件权限都为rwxrwxrwx
4.修改任意文件,另一个都改变
5.删除原文件,软链接不能使用
搜索命令:
文件搜索命令locate(优点快,缺点是只能搜文件名)
命令格式:
locate 文件名
是在后台数据库中按文件名搜索,搜索速度更快
/var/lib/mlocate(是locate命令所搜索的后台数据库,新建一个文件,当天是搜不到的,因为该数据库是一天一更新,可以用updatedb手动更新该数
据库)
locate遵守/etc/updatedb.conf配置文件里的搜索规则,该文件主要有四句话:
PRUNE_BIND_MOUNTS = "yes"(开启/关闭下面三条搜索限制)
PRUNEFS = **** (搜索时不搜索的文件系统)
PRUNENAMES = **** (搜索时不搜索的文件类型)
PRUNEPATHS = **** (搜索时不搜索的文件路径)
命令搜索命令whereis和which
whereis 命令名(搜索命令所在路径及帮助文档所在位置)
如whereis ls
选项:
-b:只查找可执行文件
-m:只查找帮助文件
which 命令名(搜索命令所在路径及别名)
PATH环境变量:定义的是系统搜索命令的路径
[root@locahost~]# echo $PATH
文件搜索命令find
find [搜索范围] [搜索条件]
find / -name install.log
#避免大范围搜索,会非常耗费系统资源
#find是在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
Linux中的通配符主要有三个:
* 匹配任意内容 如:find /root -name "install.log*"
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符 如:find /root -name "ab[cd]"
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 小于25kb的文件
25 等于25kb的文件
+25k 大于25kb的文件
find . -inum 262422
#查找i节点是262422的文件
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 命令 {} \; 对搜索结果执行操作
字符串搜索命令grep
grep [选项] 字符串 文件名
#在文件当中匹配符合条件的字符串
选项:
-i:忽略大小写
-v:排除指定字符串
find与grep的区别:
find命令:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
grep命令:在文件当中搜索
帮助命令:
man 命令
#获取指定命令的帮助
如:man ls
#查看ls的帮助
压缩与解压缩:
常用压缩格式:.zip .gz .bz2
.tar.gz .tar.bz2
zip格式压缩:
zip 压缩文件名 源文件
#压缩文件
如:zip cangls.zip cangls
zip -r 压缩文件名 源目录
#压缩目录
如:zip -r jp.zip jp
unzip 压缩文件
#解压缩.zip文件
gz格式压缩:
gzip 源文件
#压缩为.gz格式的压缩文件,源文件会消失
gzip -c 源文件 > 压缩文件
#压缩为.gz格式,源文件保留
如:gzip -c cangls > cangls.gz
gzip -r 目录
#压缩目录下的所有子文件,但是不能压缩目录
gzip -d 压缩文件
#解压缩文件
gunzip 压缩文件
#解压缩文件
.bz2格式压缩
bzip2 源文件
#压缩为.bz2格式,不保留源文件
bzip2 -k 源文件
#压缩之后保留源文件
注意:bzip2命令不能压缩目录
打包命令tar
tar -cvf 打包文件名 源文件
选项:
-c:打包
-v:显示过程
-f:指定打包后的文件名
如:tar -cvf longls.tar longls
解打包命令
tar -xvf 打包文件名
选项:-x:解打包
如:tar -xvf longls.tar
.tar.gz压缩格式
其实.tar.gz格式是先打包为.tar格式,再压缩为.gz格式
tar -zcvf 压缩包名.tar.gz 源文件
选项:
-z:压缩为.tar.gz格式
tar -zxvf 压缩包名.tar.gz
选项:
-x:解压缩.tar.gz格式
.tar.bz2压缩格式
tar -jcvf 压缩包名.tar.bz2 源文件
选项:
-z:压缩为.tar.bz2格式
tar -jxvf 压缩包名.tar.bz2
选项:
-x:解压缩.tar.bz2格式
关机与重启命令:
1.shutdown 命令
[root@localhost~]#shutdown [选项] 时间
选项:
-c:取消前一个关机命令
-r:重启
-h:关机
2.其他关机命令
halt
poweroff
init 0
3.其他重启命令
reboot
init 6
扩展:
cat /etc/inittab
#修改系统默认运行级别(注意:默认不能设置成0或6,不然一开机就会关机或重启)
id:3:initdefault:
runlevel
#查看系统运行级别
系统运行级别:
0:关机
1:单用户
2:不完全多用户,不含NFS服务
3:完全多用户
4:未分配
5:图形界面
6:重启
退出登录命令:
logout
重启命令:
1.sudo reboot
2.sudo shutdown -r now 立刻重启
3.sudo shutdown -r 10 10分钟后自动重启
4.sudo shutdown -r 21:03 在21:03时重启
关机命令:
1.sudo halt 立刻关机
2.sudo poweroff 立刻关机
3.sudo shutdown -h now 立刻关机
4.sudo shutdown -h 10 10分钟后自动关机
查看ubuntu系统位数:
内核版本(一般64位的系统都会带有x86_64,而32位的都不带,一般是i386或者i686)
命令:uname -a
Linux ubuntu-server 4.2.0-27-generic #32~14.04.1-Ubuntu SMP Fri Jan 22 15:32:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
ls:列出当前目录文件(不包括隐含文件)
ls -a:列出当前目录文件(包括隐含文件)
ls -l:列出当前目录下文件的详细信息
pwd:查看”当前工作目录“的完整路径
cd ..:回当前目录的上一级目录
cd -:回上一次所在目录
cd ~或cd:回当前用户的宿主目录
mkdir 目录名:创建一个目录
rmdir 空目录名:删除一个空目录
rm 文件名 文件名:删除一个或多个文件
rm -rf 非空目录名: 删除一个非空目录下得一切
mv 文件名 新名称:给当前目录下的文件改名
快捷键:
Ctrl+c:终止当前执行程序
Ctrl+d相当于exit命令,退出当前shell
Ctrl+s挂起当前shell(保护作用很明显哦)
Ctrl+q解冻挂起的shell
sudo apt-get update更新源
sudo apt-get upgrade更新已安装的包
切换用户:su rensx;su root(等价于su默认root)从rensx切到root需要密码,从root切换到rensx不需要密码
sudo和su命令的区别:
su命令是在不退出当前用户的情况下切换用户的工具,通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,而普通用户切换到其它任何用户都需要密码验证。
sudo是Unix/Linux平台上的一个非常有用的工具,它允许系统管理员分配给普通用户一些合理的“权利”,让他们执行一些只有超级用户或其他特许用户才能完成的任务这样一来,就不仅减少了root用户的登陆次数和管理时间,也提高了系统安全性。sudo设计者的宗旨是:给用户尽可能少的权限但仍允许完成他们的工作。
我们可以简单的理解成:su获得稳定的超级用户(或其他用户权限),sudo获得暂时性的限制了的超级用户权限,一段时间之后会失效。