Linux简介:
Linux是一个自由的,免费的,源码开放的操作系统。也是开源软件中最著名的例子。其最主要的目的就是为了建立不受任何商品化软件版权制约的,全世界都能使用的类Unix兼容产品.而我们将服务器部署在Linux将会更加的稳定、安全、高效以及出色的性能这时windows无法比的。
与Linux相关的常用软件:redhat
Red Hat(红帽)公司(NYSE:RHT)是一家开源解决方案供应商,也是标准普尔500指数成员。总部位于美国北卡罗来纳州的罗利市,截止2015年3月3日,共有80多个分公司。红帽公司为诸多重要IT技术如操作系统、存储、中间件、虚拟化和云计算提供关键任务的软件与服务。红帽的开放源码模式提供跨物理、虚拟和云端环境的企业运算解决方案,以帮助企业降低成本并提升效能、稳定性与安全性。红帽公司同时也为全球客户或通过领先合作伙伴为客户提供技术支持、培训和咨询服务。
学习Linux的第一步
虚拟机的使用(因为在Linux系统下操作,从菜鸟到大神是一个时间与知识,练习与积累的过程,为了走好第一步,建议大家在linux环境下也使用虚拟机,避免因为操作不慎而造成不必要的损失~)
rht-vmctl start desktop 开启desktop虚拟机
rht-vmctl view desktop 显示desktop虚拟机
Rht-vmctl poweroff desktop 关闭desktop 虚拟机
进入Linux系统
普通用户与超级用户
用最通俗的话来讲,root在linux里面拥有所有的系统权限,可以“畅行无阻”地修改所有系统文件和其他用户的文件,挂载文件系统等等的一系列操作,因为linux内核执行进程的过程中,首先检查进程所属,如果属于root则一切“放行”!普通用户则有很大的限制,例如不能修改系统关键配置文件,想查看其他用户的文件则需要相应的权限,不能安装软件,甚至关机关机指令(shutdown或poweroff)都需要以root身份执行(sudo)
系统登录:图形登录方式 文本登录方式
工作界面的转换:crtl+alt+上|下
系统重启:reboot | init6 | shutdown -r now
系统关机:poweroff | init 0 | shutdown -h now
锁屏:crlt+alt+L
1.行提示符
Kiosk 打开shell的用户
@ 分隔符
Foundation0 主机名称
Desktop 工作目录名称
$ 身份提示符(# 表示超级用户 $表示普通用户)
2.切换用户
su - username (注意 - 前后都有空格 )
3.命令
Linux的命令有很多,只凭记忆来使用往往十分艰辛事半功倍,在此,我们以几个基础命 令来以点概面的学习
授人以鱼不如授人以渔,掌握以下帮助命令,可以让你在看到一个不熟悉的命令时更好的
whatis ..(通过这个我们可以查看命令的功能) 同理还有命令 --help
b.简单的系统命令
date
显示2016年9月24 日的后83是什么日子
把系统时间设定为11月18日12时05分55秒
passwd
锁定账号
设定student用户密码最长有效期为7天
设定student用户密码警告期为2天
c.file
d.history
Linux使用小技巧
Linux系统结构:Linux是一个倒树结构,中所有东西都是文件(“/”/就是根目录)目录以下为二级目录(eg:/bin /etc)
什么是绝对路径什么事相对路径?
绝对路径:文件在系统中的真实位置,文件名字以“/”开头
eg:(/usr,/usr/local)
相对路径:文件相对于当前位置的一个名字的简写(不以“/”开头)
eg:如果当前目录在/usr下,local则表示的绝对路径为/usr/local,从/usr查找下一个为local的目录。
文件的管理:
touch 建立文件或者修改文件的时间戳
touch file 建立一个file文件
mkdir 建立目录
mkdir xxxx 创建一个名为xxxx的目录
mkdir –p 递归创建多级目录(eg: 默认的mkdir一次只能创建一层目录,如果在当前目录下创建一个div/css/layout 的目录就需要逐层逐层的先创建div,再创建div/css 再创建div/css/layout,然而我们希望能让程序自动帮我们完成这个过程。)
rm 删除目录或文件
rm –f 强制删除不提示
rm –r 删除目录
cat
cat – n 对输出的所有行编号,由1开始对所有输出的行数编号
cat | head |tail
eg:
1、查看最后1000行的数据
cat filename | tail -n 1000
2、查看1000到3000行的数据
cat filename | head -n 3000 | tail -n +1000
注意:
tail-n 1000打印文件最后1000行的数据
tail -n +1000 打印文件第1000行开始以后的内容
cd:切换工作目录
cd //// 切换工作目录到指定的目录////
cd - 切换工作目录到之前所在的目录
cd ~ 切换到自己的家目录
cd .. 进入当前目录的上级目录
cd / 进入系统的根目录
mv: 移动或重命名
mv file1 file2 移动文件file1到file2中
mv file file3(还未建立的不存在的文件) 重命名file文file3
正则表达式
符号 |
意义 |
* |
任意位的任意字符 |
? |
一个任意字符 |
^ |
取反 |
字符类 |
释义 |
[:alnum:] |
匹配单个数字 |
[:word:] |
[:alnum:]加上下划线_ |
[:alpa:] |
匹配单个字母 |
[:lower:] |
匹配单个小写字母 |
[:upper:] |
匹配单个大写字母 |
[:space:] |
匹配单个空格 |
[:punct:] |
匹配单个符号 |
{1..9} 1-9
{a..f} a-f
{1,3,5} 135
{a,b,c} abc
{1..3}{a..c} 1a 1b 1c 2a 2b 2c 3a3b 3c
注意:{ }表示不存在或者存在的
[a-C] aA bB cC
[a-c] aA或者bB 或者c
[1-3] 1或者2或者3
[568] 5或者6或者8
[^abc]|[!abc] 除了a并且除了b并且除了c
注意:[ ]表示存在的
~ 当前用户的家目录(区别于cd~ :切换到自己的家目录)
~ username 指定用户的家目录
~+ 当前目录
~- 当前目录之前所在目录
. 当前目录
.. 当前目录的上一级
管理输入输出
在linux系统中,正确输出的编号为1,错误输出的编号为2
在系统中用普通用户登录执行 find /etc -name passwd
会发现有些文件没有执行权限 所以在文件的输入输出中我们会用到重定向
find /etc -name passwd >file 重定向正确输出
find /etc -name passwd 2>file 重定向错误输出
find /etc -name passwd &>file 重定向全部输出
注意:> 2> &> 这些都会覆盖原文件的内容
find /etc -name passwd >>file 追加正确输出
find /etc -name passwd 2>>file 追加错误输出
find /etc -name passwd &>>file 追加全部输出
注意:>> 2> > &>> 不会覆盖原文件的内容,会把相应的输出字符放到文件的最后
管道:作用是将前一条命令的输出变成管道后命令的输入
eg:ls -l | more
该命令列出当前目录中的任何文档,并把输出送给more命令作为输入,more命令分页显示文件列表。
man
Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。
man 5 passwd 查看/etc/passwd文件的帮助
man 1 passwd 查看passwd命令的帮助(1可以省略)
man页面的快捷方式
上下键 向上或者向下一行
pageup|pagedown 向下一个屏幕或向上一个屏幕
d|u 向下或向上半个屏幕
G|gg 跳转页面到man最下面或者最上面
/关键字 搜索关键字,关键字会高亮,n向下匹配,N向上匹配
q 退出
练习~~~
<<<第一单元练习题>>>
1.用student用户登陆系统图形界面
2.打开一个bash
3.修改student的密码,把密码更新成"T3st1ngtlme"(主机字母和数字)
passwd student
4.显示当前系统时间 date
5.显示当前系统时间,显示格式为:"小时:分钟:秒 AM/PM"(AM/PM为上下午标识)
Date +%X%p
6.显示“/usr/bin/clean-binary-files”的文件类型 file
7.统计“/usr/bin/clean-binary-files”的文件大小 wc-l wc-w wc-m wc-c
8.用快捷方式在shell中调用已经执行过的第4条命令 history !4
9.用快捷方式执行最近一条含有"date"关键字的命令 crtl + R + date
<<<第二单元练习>>>
1.用命令和正则表达式按照要求建立文件 *)用一条命令建立12个文件WESTOS_classX_linuxY(X的数值范围为1-2,Y的数值范围为1-6) WESTOS {1..2}{1..6} *)这些文件都包含在root用户桌面的study目录中 /root/Destop *)用一条命令建立8个文件redhat_versionX(x的范围为1-8)
*)redhat_virsionX这些文件都包含在/mnt目录中的VERSION中 mkdir /mnt/VERSION/ /mnt/VERSION/redhat_version{1..8}
2.管理刚才信建立的文件要求如下 *)用一条命令把redhat_versionX中的带有奇数的文件复制到桌面的SINGLE中 cp / redhat_version{1,3,5,7,9} *)用一条命令把redhat_versionX中的带偶数数的文件复制到/DOUBLE中 cp / redhat_version[246810] *)用一条命令把WESTOS_classX_linuxY中class1的文件一动到当前用户桌面的CLASS1中 mv WESTOS_class1_linuxY CLASS1 *)用一条命令把WESTOS_classX_linuxY中class2的文件一动到当前用户桌面的CLASS2中 mv WESTOS_class2_linuxY/class1 CLASS2 3.备份/etc目录中所有名字带有数字并且以.conf结尾的文件到桌面上的confdir中 cp /etc/*[[:digit:]]*.conf /root/Desktop/confdir 5.删掉刚才建立或者备份的所有文件 rm -rf *
<<<第四单元练习>>>
1.在student用户下执行find /etc -name passwd 命令,并管理其输出要求如下:
* 显示所有正确输出,屏蔽错误输出
find/etc -name passwd > file | cat file
* 保存正确数出到/mnt/find.out,错误数出到/mnt/find.err中
find/etc -name passwd >/mnt/find.out
find/etc -name passwd 2>/mnt/find.err
* 建立/mnt/find.all文件,并且保存所有输出到此文件中
touch /mnt/find.all
find/etc -name passwd &> /mnt/find.all
* 再次保存所有输出到/mnt/find.all中,并且保持源文件内容
find/etc -name passwd &>> /mnt/find.all
* 屏蔽此命令的所有输出
find/etc -name passwd &>> /dev/null
* 显示此命令的所有输出并保存输出到桌面上的任意文件中
find /etc-name passwd 2&1 | tee /root/desktop
* 保存正确输出到/mnt/find.out.1中,屏蔽错误输出
find/etc -name passwd 2> | /dev/null
本人是菜鸟级别的Linux初学者,如有错误,欢迎大家指正 在此谢谢大家啦