您的位置:首页 > 运维架构 > Linux

Linux基础知识记录

2016-06-06 09:19 267 查看
2.1Linux的运行方式

图形运行方式

-     本地使用KDE/Gnome集成环境

-     运行X Server远程使用图形环境

命令行(字符运行)方式

-     本地虚拟终端

-     使用Telnet远程登录

-     使用SSH远程登录

【2.2】字符界面的使用

为什么要使用字符工作方式

-     可以高效率的完成任务

-     远程登录操作均使用字符界面

-     节省系统资源

进入字符模式的方法

-     图形环境下,右键桌面 
—> 终端

-     系统启动后直接进入字符模式

-     远程telnet(明文)或SSH(加密)登陆字符模式

 

【2.3】本地登录和远程登陆

本地登录

一、 虚拟控制台

在系统启动时直接进入字符工作方式后,系统提供了多个(默认为6个)虚拟控制台。每个虚拟控制台可以互相独立使用,互不影响。

可以使用Alt+F1~Alt+F6进行多个虚拟控制台之间的切换。

二、字符界面下登陆Linux

Linxu系统是严格区分大小写的,无论用户名,还是文件名、设备名都是如此。

基于安全的考虑,一般应该使用普通用户登录系统,不要使用root用户登录,当需要进行超级用户的工作时可以使用 su –
命令切换为超级用户身份。

logout登出     exit退出  都是注销操作    

命令提示符后    #为root用户          $为普通用户

远程登陆

三、  Linux下远程登录另一台Linux服务器

Linux下的ssh命令是OpenSSH的客户端程序。要登陆远程Linux系统,必须保证远程Linux系统上启动了OpenSSH服务器。使用ssh命令登陆远程OpenSSH服务器的命令格式是:

 $ssh  远程主机上的用户名@远程主机的ip地址或主机名

 $ssh  IP地址

四、  Windows下利用SSH工具登录一台linux服务器

1.SecureCRT.exe

http://baike.baidu.com/view/489722.htm  
百度百科介绍

2.xshell

3.putty(鼠标右键复制)

【2.4】Linux的系统运行级别

0- 系统关机状态

1- 单用户工作状态,用于维护。

2- 多用户模式(NFS未启动)

3- 多用户模式,字符界面。

4- 系统未使用,留给用户自定义

5– 多用户模式,并且在系统启动后运行X Window,给出一个图形化的登录窗口。

6– 所有进程被终止,重新启动

查看当前系统的运行级别

#runlevel

切换运行级别

#init[0123456]

【2.5】linux的目录结构

Linux文件系统是呈树形结构,了解Linux文件系统的目录结构,对于我们驾驭Linux还是有必要的。

目录

说明

/

Linux文件系统的入口,也是处于最高一级的目录

/bin

基本系统所需要的命令。功能和/usr/bin类似,这个目录中的文件都是可执行的,普通用户都可以使用的命令

/boot

内核和加载内核所需要的文件。一般情况下,GRUB系统引导管理器也位于这个目录

/dev

设备文件存储目录,比如终端、磁盘等

/etc

所有的系统配置文件

/home

普通用户家目录的默认存放目录

/lib

库文件和内核模块所存放的目录

/media

即插即用型存储设备的挂载点自动在这个目录下创建,比如u盘、CDROM/DVD自动挂载后,也会在这个目录中创建一个目录。

/mnt

临时文件系统的挂载点目录

/opt

第三方软件的存放目录

/root

Linux超级权限用户root的家目录

/sbin

基本的系统维护命令,只能由超级用户使用

/srv

该目录存放一些服务启动之后需要提取的数据

/tmp

临时文件目录

/usr

存放用户使用系统命令和应用程序等信息,比如命令、帮助文件等。

/var

存放经常变动的数据,比如日志、邮件等。

 

 

几个特殊的文件系统

文件系统

挂载点

说明

root

/

Linux系统运行的基点,根文件系统不能被卸载

proc

/proc

以文件系统的方式为访问系统内核数据的操作提供接口,适用于2.4和2.6内核

sysfs

/sys

以文件系统的方式为访问系统内核数据的操作提供接口,2.6内核使用

tmpfs

/dev   /var/run

/var/lock

程序访问共享内存资源时使用的文件系统

usbfs

/proc/bus/usb

访问usb设备时使用的文件系统

devpts

/dev/pts

内核用来与伪终端(以远程方式登陆)进行交互的文件系统

swap

内核使用的特殊文件系统,无挂载点

用来创建虚拟内存

【2.6】linux命令

Linux命令的习惯

- 命令及参数区分大小写

-程序可否执行与扩展名无关

-使用tab键来补全命令

$command  [-options]   parameter1   parameter2  …

   指令         
选项            
参数1         
参数2

说明:

0. 一行指令中第一个输入的绝对是‘指令(command)’或‘可执行文件’

1. command 为指令的名称,例如变换路径的指令为 cd
等等;

2. 中刮号[]并不存在于实际的指令中,而加入参数设定时,通常为 -
号,例如  -h;有时候完整参数名称会输入 --
符号,例如--help;

3. parameter1 parameter2.. 为依附在option
后面的参数,或者是 command        的参数;

4. command, -options, parameter1.. 这几个中间以空格来区分,不论空几格 shell
都视为一格;

5. 按下 [Enter]
按键后,该指令就立即执行。

6. 指令太长的时候,可以使用 \
符号来跳脱 [Enter]
符号,使指令连续到下一行。注意! \
后就立刻接特殊字符。

7. 在 Linux
系统中,英文大小写字母是不一样的。举例来说, cd
与 CD
并不同。

常用命令介绍

pwd

查看当前工作目录

cd  

更换目录

用法:

cd    [目录]

符号

意义

.

当前工作目录

..

父目录

~

用户家目录

-

上个工作目录

 

 

 

ls

显示目录

用法: ls  [参数]  [目录名]

ls 参数:

-a:显示所有文件,包括隐藏文件(以.开头的文件)

-l:以长格式显示

-t:按修改时间先后显示

-R:显示目录及下级子目录结构(递归)

-m: 横向输出文件名,并以“,”作分格符。

-S: 以文件大小排序。

用颜色代表不同文件

白色:普通文件

红色:压缩文件

蓝色:目录文件

浅蓝色:链接文件

黄色:设备文件(/dev)

绿色:可执行文件(/bin、/sbin)

粉红色:图片文件

mkdir

建立目录

用法: mkdir  [参数]  {目录名}

 参数: -p
可以一次性创建整个目录树

rmdir

删除目录

用法: rmdir [参数]   {目录名}

•    如果目录是空的,此命令会删除他们,如果目录中有内容,则会产生错误信息且不能删除目录,但是他会继续删除其余的空目录。注意,只包括一个子目录的目录不是空的。

rm

删除文件和文件夹

用法: rm   [参数]   {文件}

参数:

         -r  删除整个目录树

         -f  强制执行

tree

显示文件和目录树

用法: tree    [参数]  {文件}

参数: -a  
不隐藏任何以.字符开始的条目

            -d  只显示目录不显示文件

            -f    每个文件都显示路径

            -t  根据最后修改时间排序

            -L n 只显示n层目录(n为数字)

touch

 创建空文件和更改时间戳

用法:touch [参数]   {文件}

参数:  -d   
更改时间戳为定义值  
(后面加年月日,格式:20101212)

cp

复制目录

用法: cp [参数]   {原文件…}  {目标文件}

参数: -r 
递归执行  (可复制目录树)

mv 

移动或重命名文件

用法: mv [参数]  {原文件} {目标文件}    
把原文件更名为目标文件

                                 mv  [参数]  {原文件…} {目标文件}   
把一个或多个文件同时移动到目标文件中

 查看文档:

 cat  由第一行开始显示文件的内容

cat命令显示文件时会同时显示所有内容。大型文件在屏幕上一晃而过,难以阅读。所以他比较适合小于一屏的文件。

用法:

cat [option] filename

 

 tac  从最后一行开始显示

 

file显示文件类型

file   [option] filename

 

 more
一页一页的显示档案内容:

l 空格键 (space):代表向下翻一页;

l Enter:代表向下翻『一行』;

l /字符串:代表在这个显示的内容当中,向下搜索『字符串』这个关键词;

l :f :立刻显示出文件名以及目前显示的行数;

l h 帮助

l b 或 [ctrl]-b
:代表往回翻页

l q:退出

 

  less 与 more
类似,less可以往前翻页!:

l 空格键:向下翻一页;

l [pagedown]:向下翻一页;

l  [pageup]:向上翻一页;

l  /字符串:向下搜索『字符串』;

l ?字符串:向上搜索『字符串』;

l  n:重复前一个搜索

l N:反向的重复前一个搜索

l h:帮助

l  q:退出

 

head显示文件开始几行

用法:

head[options]  {file…}

参数:  –n  number查看前几行的值

tail显示文件最后几行

用法:

tail  [options] {file…}

参数:  –n  number
查看后几行的值

             –f    一直监视

 

【7】man
帮助文档


路径:/usr/share/man

用法: man [参数]  [查询名]

/   来查找

q退出

其他获得帮助的方法

--help

-h

info  命令

help  内置命令

readme

【8】关机

将数据同步写入硬盘:sync

shutdown命令

 shutdown命令的格式为:

#shutdown[参数] 
时间  [警告信息]

               -t  sec :送出警告信息和删除信息之间要延迟多少秒

- k:并不真正关机而只是发出警告信息给所有用户
- r:关机后立即重新启动
- h:关机后停止系统

init0

重启:reboot  init6

【9】别名

alias rm='rm -i'

alias cp='cp -i'

alias mv='mv -i'

alias ls='ls--color=auto'

alias ll='ls -lh--color=auto'

alias l='ls--color=auto'

alias grep='grep--color=auto'

debian系统的时候要在/etc/profile里面进行设置

【10】find

[root@www ~]# find[PATH] [option] [action]

选项与参数:

 

1. 不时间有关的选项:共有 -atime, -ctime
与 -mtime
,以 -mtime 说明

   -mtime n :n
为数字,意义为在 n
天之前的『一天之内』被更改过内容的文件

   -mtime +n :列出在 n
天之前(不含 n
天本身)被改动过内容的文件;

   -mtime -n :列出在 n
天之内(含n
天本身)被更改过内容的文件。

   -newer file :file
为一个存在参照物,列出比 file
还要新的文件

[root@www ~]# find/ -mtime 0

# 那个 0
是重点!0
代表目前的时间,所以,从现在开始到 24
小时前,有改动过内容的文件都会被列出来

find / -mtime3  #3天内改动过的文件

find / -name file –execls –l {} \;

 

 

文件的 Access time,atime
是在读取文件或者执行文件时更改的。

文件的 Modified time,mtime
是在写入文件时随文件内容的更改而更改的。

文件的 Create time,ctime
是在写入文件、更改所有者、权限或链接设置时随 Inode
的内容更改而更改的。

ls -lc filename 列出文件的 ctime

ls -lu filename 列出文件的 atime

ls -l filename 列出文件的 mtime

 

【11】查看命令历史

history

 

【12】环境变量

PATH命令搜索的路径

exportPATH=/usr/bin:/usr/local/zabbix/bin:/usr/local/php5/bin

 

【2.7】管道

grep

-c 只输出匹配行的计数。

-i 不区分大小写(只适用于单字符)。

-h 查询多文件时不显示文件名。

-l 查询多文件时只输出包含匹配字符的文件名。

-n 显示匹配行及行号。

-s 不显示不存在或无匹配文本的错误信息。

-v 显示不包含匹配文本的所有行。

 

sort -r 反向排序

cut –d ‘分割符’ –f
取第几段


uniq –c 计数

wc –l 统计多少行

 

【2.8】linux中的正则

&&且

||或

几个概念:

1.基本正则表达式  
扩展的正则表达式  (由普通字符+元字符组成)

2.通配                                          (由普通字符+元字符组成)

3.元字符

注意:正则表达式中元字符的意义和通配中元字符的意义有区别的

bash shell本身不支持正则表达式,使用正则表达式的是shell的一些命令和工具,如grep,sed,awk等等
但是bash可以使用正则表达式中的一些元字符实现通配的功能,此时的这些元字符叫通配符。
此时通配中元字符的意义跟正则表达式中元字符的意义就不一样了。

通配是指:将一个包含通配符的非具体的文件名扩展为计算机,服务器,网络上的一批具体的文件名的过程。

基本正则表达式中元字符的意义如下:

1.   *     匹配*前面的那一个字符的0次或多次
如hel*o      heo  helo  hello  helllo  ......

2.   .     匹配任意一个字符(只匹配一个,可以是空格)
如ab.        abc  abd   ab3   ab   ......

3.   ^     匹配行首,行首的字符序列必须是^后的字符序列
如^suda      sudahuhuhuuuuuhuuh      sudaokokokokokoko   ......

4.   &     匹配行尾,行尾的字符序列必须是$前的字符序列
如suda$      jijijijijiiijijsuda     lkokokokokjijhuhsuda   ......
特殊的  ^$     匹配一个空行

           ^.$     匹配只有一个字符的空行

5.   []    匹配字符集合中的任意一个字符(只匹配一个)
如[1234]  [1-4]   
匹配1,2,3,4的任意一个字符
注意:^放在[]里面时,不再表示匹配行首,而是取反的意思

[^1234]  [^1-4]       匹配不是1,2,3,4的任意一个字符

[a-z][A-Z]*  匹配任意一个英文单词 

6.   \     用于转义元字符,使之成为普通字符
如\*      
此时*表示一个普通字符

7.   \<\>     用于精确匹配
如\<the>\     表示精确匹配the这个单词,而不是them  then等等

8.\{\}系列符号

\{n\}       匹配前面字符的n次

\{n,\}      匹配前面字符的至少n次

\{n,m\}     匹配前面字符的n-m次,至少n次,至多m次

如JO\{3\}B    匹配JOOOB
如JO\{3,\}B  
匹配JOOOB  JOOOOB   ......
如JO\{3,6\}B  匹配JOOOB  JOOOOB   JOOOOOB  JOOOOOOB   

扩展的正则表达式中元字符的意义如下:

1.    ?    匹配前面的那一个字符的0次或1次
如JO?B      匹配   JB     JOB   JOOB

2.    +     匹配前面的那一个字符的1次或多次
如JO+B      匹配   JOOB   JOOOB  ......

3.    |与()通常结合使用,表示一组可选的字符集合
如re(a|o|e)d    
匹配read  reod  reed
等同于re[aoe]d      

通配中的元字符的意义如下:

1.     *       表示任意多的任意字符

2.     ?       表示一个任意字符

3.     ^       表示取反

4.     []      同正则表达式的用法

5.     {}      表示一组表达式的集合   {}中表达式是或的关系
如ls -l  {*.cpp ,[1234]*.c}            列出满足表达式*.cpp或者[1234]*.c的文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux