前言
直接已经教大家如何创建虚拟机和安装CentOS 操作系统了,那么今天就来开始入门吧。linux对于新手来说并不难,linux的构造 http://www.178linux.com/68853 这篇博客里我已经讲解了,有兴趣最好看一下llinux下每个目录的作用。还有Linux的哲学思想。
这里我就开始介绍了。
一、用户登陆
在linux中,用户分为两种,
1.1 普通用户
权限有限
造成损害的能力比较有限
这个用户相当于一个房子的租客,只能在自己租的区域里做事情。但不能对拆房子,或者买房子。
1.2 超级用户root :
一个特殊的管理帐户
也被称为超级用户
root已接近完整的系统控制
对系统损害几乎有无限的能力
除非必要,不要登录为root
这个用户对简单的来说就是一个房子的房东,他想对房子做什么就做什么因为房子是他的。他想干什么就干什么。(无敌的存在— —.)
二、终端(terminal)
这个是用来对linux进行操作的,与windows不同,linux因为不同于windows的哲学思想,所以在linux想要最直观的的结果,那就是在字符界面下进行操作了,在字符界面下操作就离不开一种工具那就是终端,当然终端用很多种,比如在windows下去链接linux的终端软件可以使用Xshell和secureCRT进行对系统的管理。
当然在Linux下也有不同的终端
2.1 设备终端
键盘鼠标显示器
2.2 物理终端(/dev/console )
控制台console
2.3 虚拟终端(tty:teletypewriters,/dev/tty# #为[1-6])
tty 可有n个,Ctrl+Alt+F[1-6]
2.4 图形终端(/dev/tty7 )startx, xwindows
CentOS 6: Ctrl + Alt + F7
CentOS 7: 在哪个终端启动,即位于哪个虚拟终端
2.5 串行终端(/dev/ttyS# )
ttyS(基本没人用了)
2.6 伪终端(pty:pseudo-tty ,/dev/pts/# )
pty, SSH远程连接
2.7 当然我们查看终端的命令是:#tty
[→_→TianRandai的滑稽脸] 我们得知道我们用的是什么终端吗
三、shell是什么?
3.1 Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。我们都知道kernel是执行二进制命令的,但是我们不可能去输入二进制啊,那太多也太麻烦了想一想一条命令要用多少个1和0啊,所以我们的shell 就是来做翻译的,将我们看的懂的命令翻译成二进制命令,发送到kernel来让kernel执行二进制命令,kernel执行命令后回执的二进制结果,通过shell 在翻译成我们看的懂的语言,额…就是类似翻译机的软件。当然shell也是一种高级程序设计语言。
[→_→TianRandai的滑稽脸] shell 脚本,听说过么? 没有! 以后会听说的。
3.2 当然有了shell 就会有shell 的种类,想CentOS中使用的shel l就是 bash (Bourne-Again Shell),也是目前Linux标准的shell
[→_→TianRandai的滑稽脸](注释:GNU Bourne-Again Shell(bash)是GNU计划中重要的工具软件之一,与sh兼容)
3.3 命令提示符:prompt (这不是命令 →_→)
3.3.1 显示命令提示符的格式
3.3.2 修改提示符格式
PS1=”\[\e[31m\][\u@\h \W]\\$\[\e[0m\]”
\e \033 \u 当前用户
\h 主机名简称 \H 主机名
\w 当前工作目录 \W 当前工作目录基名
\t 24小时时间格式 \T 12小时时间格式
\! 命令历史数 \# 开机后命令历史数
[→_→TianRandai的滑稽脸](注释:[32m\]这里是颜色,颜色可以使用这条命令查看,数字应对的颜色cat /etc/DIR_COLORS)
四、命令的执行
4.1我们如何在终端中执行一条命令呢?
首先打开一个终端,在终端的命令提示附后输入命令然后回车:
然后,提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来。
4.2在shell中可执行的命令有两类:
内部命令:由shell自带的,而且通过某命令形式提供
help 内部命令列表
enable cmd可以启用
enable –n cmd禁用内部命令
enable –n 查看所有禁用的内部命令
[→_→TianRandai的滑稽脸](注释:cmd不是命令,这里只带应该输入命令)
4.3外部命令:在文件系统路径下有对应的可执行程序文件
查看路径:which -a |–skip-alias; whereis
4.4区别指定的命令是内部或外部命令:
# type COMMAND
五、执行外部命令
5.1Hash缓存表:
系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找。利用hash缓存表可大大提高命令的调用速率
5.2 Hash常见用法:
hash 显示hash缓存
hash –l 显示hash缓存,可作为输入使用
hash –p path name 将命令全路径path起别名为name
hash –t name 打印缓存中name的路径
hash –d name 清除name缓存
hash –r 清除缓存
[→_→TianRandai的滑稽脸](注释:运行过的命令hash会记录下来,当内存记录下来后,系统便不会找硬盘中的命令(只有外部命令才会存放在hash中))
[→_→TianRandai的滑稽脸](注释:1.我在hash缓存表中将/etc/abc文件定义为vi命令,在执行vi命令,这里提示没有abc文件或者目录,这证明系统在运行外部命令时,先从缓存中找,找到则执行,找不到则在去硬盘找。)
六、命令别名
6.1定义别名
#alias
定义别名NAME,其相当于执行命令VALUE
#alias NAME=’VALUE’
[→_→TianRandai的滑稽脸](注释:直接输入alias 查询现有的别名)
6.2取消别名
#unalias
格式: unalias 别名
[→_→TianRandai的滑稽脸](注释:以上方法都是临时建立别名的方法,重启失效,若想开机生效则要写入到特定的文件中 ~/.bashrc只对当前用户有效 /etc/bashrc对所有用户都有效)
[→_→TianRandai的滑稽脸](注释:对于写完文件想要文件立刻生效需要一些其他的命令)
source .bashrc 或者 . .bashrc让进程重新读取配置文件
[→_→TianRandai的滑稽脸](注释:这里echo命令是输出字符串,>>是重定向 ,不要纠结第一条命令,以后会讲到的,现在同学们只需要知道这条命令是将alias ifeth0=”ifconfig ens33写入到.bashrc中就好了。)
[→_→TianRandai的滑稽脸](注释:系统中原本是没有ifeth0这条命令的,这条命令是我自己定义出来的别名。)
[→_→TianRandai的滑稽脸](注释:这里解释一下系统执行命令运行的优先级,1.别名 2.内部命令 3.外部命令)
六、 命令格式
命令的书写也是要按照特定格式的,朋友们,这东西不能胡乱写。
COMMAND [OPTIONS…] [ARGUMENTS…]
翻译过来就是 命令 选项 参数
选项:用于启用或关闭命令的某个或某些功能;
短选项:-c, 例如:-l, -h
长选项:–word,例如:–all, –human-readable
参数:命令的作用对象,比如文件名,用户名等
[→_→TianRandai的滑稽脸](注释:有些命令是可以跟参数,选项执行的。有一些则需要跟上参数,选项执行)
[→_→TianRandai的滑稽脸](注释“[]”中括号是可选项,这个…应该都知道吧。)
注意:
1、多选项,以及多参数和命令之间使用空白字符分隔
2、取消和结束命令执行:Ctrl+c,Ctrl+d
3、多个命令可以用;符号分开
4、一个命令可以用\分成多行
七、显示日期和时间
#date
#date 月份日期小时分钟年份.秒钟
Linux的两种时钟
系统时钟:由Linux内核通过CPU的工作频率进行的
硬件时钟:主板
hwclock,clock: 显示硬件时钟
-s, –hctosys以硬件时钟为准,校正系统时钟
-w, –systohc以系统时钟为准,校正硬件时钟
时区:/etc/localtime
cal显示日历
cal–y
nano文本编辑
八、关机重启
关机:halt, poweroff
重启:reboot
-f: 强制,不调用shutdown
-p: 切断电源
关机或重启:shutdown
shutdown [OPTION]… TIME [MESSAGE]
-r: reboot
-h: halt
-c:cancel
TIME:now: 立刻
+m: 相对时间表示法,多久之后;例如+3
hh:mm: 绝对时间表示,指明具体时间
九、用户登录信息查看命令:
whoami: 显示当前登录有效用户
who: 系统当前所有的登录会话
w: 系统当前所有的登录会话及所做的操作
who am i 显示的是实际用户的用户名,即用户登陆的时候的用户ID
十、screen命令:
创建新screen会话:
screen –S [SESSION]
加入screen会话:
screen –x [SESSION]
退出并关闭screen会话:
exit
剥离当前screen会话:
Ctrl+a,d
显示所有已经打开的screen会话:
screen -ls
恢复某screen会话
screen -r [SESSION]
[→_→TianRandai的滑稽脸](注释:这是一个类似远程共享终端的命令,它可能需要单独安装。)
挂载好镜像,下面是Centos7的安装命令
[root@centos7 Packages]#cd /run/media/root/CentOS\ 7\ x86_64/Packages/
[root@centos7 Packages]#rpm -ivh screen-4.1.0-0.23.20120314git3c2946.el7_2.x86_64.rpm
挂载好镜像,下面是Centos7的安装命令
[root@centos6 Packages]#mount /dev/cdrom /mnt
[root@centos6 Packages]#cd /mnt/Packages/
[root@centos6 Packages]#rpm -ivh screen-4.0.3-19.el6.x86_64.rpm
[→_→TianRandai的滑稽脸](注释:这个我有点解释不清楚,其中奥妙自行体会吧。)
十一、echo命令
功能:显示字符
语法:echo [-neE][字符串]
说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号
选项:
-E (默认)不支持\解释功能
-n 不自动换行
-e 启用\字符的解释功能
启用命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出
\a 发出警告声
\b 退格键
\c 最后不加上换行符号
\n 换行且光标移至行首
\r 回车,即光标移至行首,但不换行
\t 插入tab
\\插入\字符
\0nnn 插入nnn(八进制)所代表的ASCII字符
echo -e ‘\033[43;31;5mmagedu\033[0m’
\xHH插入HH(十六进制)所代表的ASCII字
命令行扩展:$( ) 或“
把一个命令的输出打印给另一个命令的参数
括号扩展:{ }
打印重复字符串的简化形式
•显示变量
echo “$VAR_NAME“ 变量会替换,双引号表弱引用
echo ‘$VAR_NAME‘ 变量不会替换,强引用
今天就写在这到这里啦。已经写的好长啦,最近出Linux入门下半部,下半部记载着历史命令与神器tab的使用方法…….[→_→TianRandai的滑稽脸](注释:绝世武功,上半部 终)
原创文章,作者:TianRandai,如若转载,请注明出处:http://www.178linux.com/69833