【教程主题】:2.Linux高频命令精讲

【2.1】Linux的运行方式

图形运行方式

- 本地使用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服务器

SecureCRT.exe

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

xshell

【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:关机后停止系统

init 0

重启: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 / -mtime 3  #3天内改动过的文件

find / -name file –exec ls –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命令搜索的路径

export PATH=/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高频命令精讲(三)的更多相关文章

  1. Linux实战教学笔记12:linux三剑客之sed命令精讲

    第十二节 linux三剑客之sed命令精讲 标签(空格分隔): Linux实战教学笔记-陈思齐 ---更多资料点我查看 1,前言 我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件 ...

  2. linux驱动开发重点关注内容--摘自《嵌入式Linux驱动模板精讲与项目实践》

    本文摘自本人拙著 <嵌入式Linux驱动模板精讲与项目实践> 初步看起来Linux设备驱动开发涉及内容非常多,而须要实现驱动的设备千差万别.事实上做一段时间驱动之后回首看来主要就是下面几点 ...

  3. Linux常用命令大全(三)

    Linux常用命令大全(三) 文件类型 普通文件(文本文件.数据文件.可执行的二进制文件) 目录文件 同上 差别:由成对的"I节点号.文件名"构成的列表 设备文件 (字符设备.块设 ...

  4. 【Linux高频命令专题(19)】vi/vim

    概述 其实在Linux中一切命令或者软件都是文件,所以把vi/vim作为高频命令专题之一,也没什么不妥.虽然大家都称之为编辑器~~ vim是vi的高级版本,比如有代码高亮,也就是说可以把vim定位为程 ...

  5. 【Linux高频命令专题(9)】ls

    ls命令是linux下最常用的命令.ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单. 通过ls 命令不仅可以查看linu ...

  6. 【Linux高频命令专题(10)】mv

    概述 mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 命令格式 mv [选项] 源文件或目 ...

  7. 【Linux高频命令专题(23)】tar

    概述 通过SSH访问服务器,难免会要用到压缩,解压缩,打包,解包等,这时候tar命令就是是必不可少的一个功能强大的工具.linux中最流行的tar是麻雀虽小,五脏俱全,功能强大. tar命令可以为li ...

  8. 【Linux高频命令专题(22)】gzip

    概述 减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间.gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用.gzip不仅 ...

  9. 【Linux高频命令专题(21)】df

    概述 linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 显示指定磁盘文件的可用空间.如果没有文件名 ...

随机推荐

  1. 章节1:SQL语言简易入门

    一.增.删.改.查 1.增(向表格中插入数据): INSERT INTO tb_TableName(ColumnName1,ColumnName2) VALUES(ColumnValue1,Colum ...

  2. 【转载并整理】mysql 1293错误 建表两个timestamp

    http://www.jb51.net/article/50878.htm 这里要使用到mysql的触发器

  3. [转]What are mode and status columns under gp_segment_configuration table

    February 16, 2017 10:39 Goal In this article we will try to understand and answer to the below two q ...

  4. python 爬虫 重复下载 二次请求

    在写爬虫的时候,难免会遇到报错,比如 4XX ,5XX,有些可能是网络的原因,或者一些其他的原因,这个时候我们希望程序去做第二次下载, 有一种很low的解决方案,比如是用  try  except t ...

  5. unity, Gizmos.DrawMesh一个坑

    错误写法(画不出来): void OnDrawGizmos(){ Mesh mesh=new Mesh(); mesh.vertices=... mesh.triangles=... //mesh.R ...

  6. leetcode第一刷_Combinations

    生成组合数是初中的知识,没有人不知道. 组合数学我觉得是最有意思的数学分支,室友应该是这方面的专家,他的纸牌问题我听都听不懂.. 不知道你们是什么感觉.我以看到组合数,立即会想到全排列.这可能是由于当 ...

  7. ASP.NET MVC中全局异常处理

    以前不知道从哪里找到的处理全局异常的,觉得蛮好用就记下来了. 1, 建立MyExecptionAttribute.cs类,写入如下代码: using System; using System.Coll ...

  8. 【Unity】10.2 通用动画的导入和设置

    分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 使用类人动画时,Mecanim 的强大之处最明显.但是,尽管没有 Avatar 系统和其他功能,非类人动画也仍然受Mec ...

  9. hdu 3371 Connect the Cities(最小生成树)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=3371 984ms风险飘过~~~ /************************************ ...

  10. 把虚拟教练带回家,「EuMotus」想用AI实现高精度运动反馈系统

    https://36kr.com/p/5089139.html 无需穿戴设备,只需一个红外摄像头和+已安装好EuMotus专利软件的手提电脑 由政府主导的高达2200亿美金的健身与运动支出,15%的健 ...