一、命令的分类 用于实现某一类功能的指令或程序

命令本质就是程序

命令的执行必须依赖于shell命令解释器程序(例如:/bin/bash)

shell解释器,是Linux系统中运行的一种特殊程序,就是作为翻译官,横跨在用户和内核之间,将用户输入的命令解释为内核能识别的语言

只要是用户登录系统后,他都自带的在/bin/bash当中,也就是它可以使用shell这个程序来进行登录到系统。

shell也是一种进程。 Linux里支持很多种shell,但默认的shell是/bin/bash: cat /etc/shells 查看linux系统所支持的shell程序

2.Linux命令的分类 内部命令:属于shell解释器的一部分
内部命令就是伴随系统内核自动就携带的命令 。 外部命令:独立于shell解释器之外的程序 外部命令,是需要靠第三方的文件和命令文件所支持,只有你有这个命令文件你才能使用这个命令,这就是外部的

type 命令 判断用户输入的是外部命令还是内部命令

注:shell内嵌代表内部命令,文件路径代表外部命令 。

二、命令的格式 1.Linux命令的通用格式 命令字 [选项] [参数] 说明: 命令字,就是命令

选项,选项的意思就是增加一些功能,它的作用就是用于调节命令的具体功能

参数,参数就是你要执行的对象,你要对哪个目录哪个文件进行操作,这个对象一定要指明

注:参数最好使用绝对路径。

所以说,这三个组成,命令,我要执行干什么,选项,我要在干这个的时候执行哪些功能,有了功能,我要对谁执行,这三个部分一定有。

选项里面有两种格式: “-”引导短格式选项,例如“ls -a” 后面基本是跟一个单个字母 -a -b -c -d = -abcd “--”引导长格式选项,例如 “ls --help”后面跟的是一个单词

三、命令操作技巧 1.Tab键:按一次,自动补齐;按两次Tab键,系统将输出可用的名称列表 2.反斜杠“\”:强制换行 , 用于命令过长的情况 3.ctrl+U:快速删除当前光标处之前的所有字符 4.ctrl+K:快速删除从当前光标处到行尾的所有字符 5.ctrl+L:快速清空当前屏幕中的显示内容 6.ctrl+C:取消当前命令行的编辑,终止 7.ctrl+a:跳到行首 8.ctrl+e:跳到行尾

四、获取命令帮助

尽量不要去试图记住所有的命令的选项,只要记住常见的命令就可以了。

1.内部命令 help 查看各shell内部命令 的帮助信息

2.命令的“--help”选项 适用于大多数外部命令 通常用于查看命令的用法 将命令的所有选项都列表出来,并解释其功能作用

3.使用man命令阅读手册页 出现一个文本信息模式,在这个文本信息模式中,翻阅去查看 使用“上,下”方向键滚动文本 使用PageUp和PagedDown键翻页 按Q或q键退出阅读环境 按“/”键查找内容; n往下找,N往上找

满命令帮助信息的结构和意义:

结构名称 意义
NAME 命令的名称
SYNOPSIS 参数的大致使用方法
DESCRIPTION 介绍说明
EXAMPLES 演示
OVERVIEW 概述
DEFAULTS 默认的功能
OPTIONS 具体的可用选项(带介绍)
ENVIRONMENT 环境变量
FILES 用到的文件
SEE ALSO 相关的资料
HISTORY 维护历史与联系方式

4、whatis ---> 只是告诉命令是干什么的 是man的一个摘要 格式:whatis 命令 当你看到一个不会的命令,可以使用此命令查看是干什么的。

5、查询的命令: ls:列表(list)显示目录中内容: -a:显示所有的子目录和文件的信息,包括名称以点号“.”开头的隐藏目录和隐藏文件 -A:与-a作用类似,但有两个特殊隐藏目录不会显示,“.”和“..” -l:以长格式显示文件和目录的列表 例子:ls -l /etc -d:显示目录本身的属性
例子:ls -ld /zz/ 以长格式显示目录本身的属性 -h:显示出详细信息,如大小,结合-l一起使用 例子:ls -lh
-R:以递归方式将当前目录中的子目录全部展开 --color 默认情况就有了这条选项

注: Linux中的一切事物都是文件。 在所有的linux系统当中,组成文件的类型,不像windows当中的那么直观,在windows中,这个是文件夹,这个是文件,并且我们都可以通过它的后缀名知道它是什么文件类型。但是linux当中就不一样,linux当中,凭借颜色可以识别它到底是哪种文件类型: 蓝色 是目录(文件夹) 白色 是普通文本文件 绿色 是可执行文件(脚本文件) ××× 是设备文件 红色 是压缩性文件 (压缩包)
浅蓝色 是软链接文件(快捷方式) 红色闪烁:表示链接的文件有问题 灰色 是其他文件

6、创建别名——alias

作用: 1、通过给危险命令加一些保护参数,防止人为误操作 2、把很多复杂的字符串或命令编程一个简单的字符串或命令。 例子: alias mysql="echo 这条命令无效"

别名对应的命令: alias #只输入一个“alias"是查看已设置的别名 alias 别名 #创建一个新别名 unalias 别名 #取消已创建的别名 那么有的时候,这种别名,你操作起来还是比较简便的 那么别名这种形式,比如说这个命令是一个组合,ls -alh 你可以通过alias把它定义,说白了就是给它取个小名或者称号, Alias myls='ls -alh'
注意:单引号不要忘了 ,它其实就是创建一个快捷键 然后我们输入myls,就是相当于执行了“ls -alh”这条命令。

\ls 和 /bin/ls 就是直接使用ls命令,不是使用ls --color:auto

注:“\”是转义符号,将有特殊含义的字符串转换为普通字符串。

以上都是临时的

永久设置别名:放置在系统的环境变量文件中 一般放置在以下两个地方: /etc/profile 全局生效,即对所有人生效 ~/.bashrc 当前用户生效,只对当前登录的用户生效

7、du——统计目录 作用:统计指定目录(或文件)所占用磁盘空间的大小 常用选项有: -a,统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录,实际上统计里面空间文件 的大小,罗列的非常详细 -h,以友好形式显现出目录或文件的大小(K、M),默认的大小单位为字节(B) -s,只统计每个参数所占用空间总的大小,而不是统计每个子目录、文件的大小

注意了,a和s不能同用,你要么使用du -ah,要么使用du -sh 如果你用了,系统就会报错

8、创建目录和文件——mkdir, touch, 1.创建目录(文件夹) mkdir 格式:mkdir [选项] 目录位置及名称 -p 一次性创建嵌套的多层目录

9、创建文本文件——touch 格式:touch 文本文件名 (不加任何选项) 文件名之间以空格分隔,可以一次性创建多个文件。 (1)当文件不存在,则创建新文件 (2)当目标文件已存在时,将更新该文件的时间标记

10、复制拷贝文件或目录——cp命令 (copy) 格式:cp [选项] 源文件或目录… 目标文件或目录 -f:覆盖目标同名文件或目录时不进行提醒,直接强制复制 -i:覆盖目标同名文件或目录时提醒用户确认 -p:复制时保持源文件的权限,属主及时间标记等属性不变 -r:复制目录时必须使用此选项,表示递归复制所用文件及子目录 通常后面加‘v’,显示过程(cp -rv)

11、删除文件或目录 ——rm (remove) 格式:rm [选项] 要删除的文件名称或目录名称 -f:删除文件或目录时不进行提醒,而直接强制删除 -i:删除文件或目录时提醒用户确认 -r:删除目录时必须使用此选项,表示递归删除整个目录树(应该谨慎使用)

谨慎操作:rm -rf *

单独的一个*,代表所有 a*代表的是以a开头的所有文件或目录 ?只代表一个数或者字母

12、移动文件或目录——mv(move) 重命名 (剪切) 作用:(1)将指定的文件或目录转移位置 (不同目录下,剪切/移动) (2)如果目标位置与源位置相同,则相当于执行重命名操作 (同一目录下,重命名) 格式:mv 源文件或目录 目标文件或目录

使用绝对路径。

13、查找用户所执行的命令文件存放的目录——which命令
查找可执行程序的位置,只去$PATH结果中找 搜索范围由环境变量PATH决定
$PATH系统环境变量 echo $PATH(查看用户环境变量的命令)
PATH的值—系统中所有可执行命令的位置 格式 which 命令或者程序名
默认当找到第一个目标后不再继续查找 which -a 命令或者程序名 如果希望在所有搜索路径中查找 一直找

14、查找文件或目录 find命令 find [目录] [命令] [名称] (1)按名称查找
find 源目录 -name 关键字
a*(a开头),b*; *a(结尾),*b; a?? ??A(一个“?”代表一个字符) (2)按文件大小查找 find 源目录 -size
-30k(小于30k);+30k(大于30k);30k(等于30k);MB,GB(注意大小写,B可省略),加“” (3)按文件属主查找 find 源目录 -user
按帐户/用户名查找 (4)按uid查找 find 源目录 -uid
查找当普通帐户被删除之后,该用户所创建的文件 查看uid 的命令是:id 用户名

例子:find /bin -uid 1000 查找/bin目录下UID为1000的文件

(5)按文件类型查找 find 源目录 -type
l(软链接,快捷方式),f(普通文件),d(目录),b(硬件设备文件),c(字符终端,字符块设备) 例子:find /bin -type l/f/d/b/c 查找/bin目录下的文件类型为l/f/d/b/c的文件或目录

linux系统中一切事物都是文件。

(6)用find进行多条件查找: -a 表示 而且(and) ; -o 表示 或者(or) 例子:find /etc -size +40k -a -type f 查找/etc大于40k的并且文件类型为普通文件的文件。 find /etc -size +20K -o -size -10k 查找/etc大于20k文件或者小于10k文件。 find /etc -size +100k -a -size -150k 查找/etc中的100k到150k的文件

15、对文件内容进行查看: cat:直接一次性查看所有内容。

tac:从最后一行开始倒着显示文档内容

more:从文件开头开始显示内容,通过按下空格键查看下一屏内容,不允许向上翻。按回车键可以一行一行向下翻。看到最后一屏自动退出查看。

less: 有more就有less,less不与more相反且更为强大,内容并不从尾部显示到头部,与more显示顺序相同,它集成了more的空格键与回程键功能,同时还有以下功能: 1.支持上下方向键向上向下翻转一行内容,j、k键分别实现上下翻功能。 2.还支持page down 与 page up实现按屏翻。Ctrl+b向下按屏翻,Ctrl + f向上按屏翻(助记:bottom下,front上)。 3.按下"g"实现回到首行功能,按下"G"实现到最后一行功能。 4.less支持搜索关键字,按下 "/" 后输入要查找的关键字,文中匹配字符串将高亮显示。且按下字母n键,可以一个一个向后查看这些关键字。向前查用N键。 除了" /" ,用"?"键加上要查找的字符串也是大体相同,只是n与N键对字符串的跳动方向相反。 注意看到最后一屏消息并不会结束less命令,按下q退出查看。

head:默认查看内容前10行,加上参数如 head -2 1.txt 查看前两行。

tail:默认查看后十行,加上参数如 tail -2 1.txt查看后两行。加上参数 -f 可以动态查看末尾内容(相当于看到的文件始终是最新的)。退出用Ctrl +c键.

16、grep:检索和过滤文件内容 格式: grep 选项 “查找条件 ” 目标文件

-i:查找时忽略大小写 -v:反转查找,输出与条件不相符的行

“^…”:表示以…开头 “…$”:表示以…结尾 “^$”:表示空行

17、gzip和gunzip 以gzip格式压缩和解压缩 格式: gzip -9 文件名 #-9是压缩级别,9为最高级别 gunzip 压缩文件名 等同于 gzip -d 压缩文件名

18、bzip2,bunzip2 以bzip2格式压缩和解压缩 格式: bzip2 -9 文件名 #-9是压缩级别,9为最高级别 bunzip2 压缩文件名 等同于 bzip2 -d 压缩文件名

19、zip和unzip 以zip格式压缩和解压缩 格式: zip -9 文件名 unzip 压缩文件名

20、tar 用于对文件进行打包压缩或解压。 格式: tar 选项 打包的文件名 源文件或目录 常用选项: -c :创建压缩文件 -t :查看压缩包内有哪些文件 -x :解开压缩文件 -z :以 gzip 的格式进行压缩或解压缩:此時压缩文件名最好为 *.tar.gz -j : 以bzip2 的格式进行压缩或解压缩:此時压缩文件名最好为 *.tar.bz2 -J :以 xz的格式进行压缩或解压缩:此時压缩文件吗最好为 *.tar.xz -v :显示压缩、解压过程 -f :目标文件名(-f应放在参数末位,立即接文档名) -C :解压到指定目录

注:特別留意的是, -c, -t, -x 不可同时出現在一串指令列中。 特別留意, -z, -j, -J 不可以同时出現在一串指令列中

打包压缩: tar -czvf 压缩后的文件名.tar.gz 源文件或目录 tar -cjvf 压缩后的文件名.tar.bz2 源文件或目录 查看压缩文件中的内容: tar -tzvf 压缩后的文件名.tar.gz
tar -tjvf 压缩后的文件名.tar.bz2
解压压缩文件: tar -xvf 压缩后的文件名.tar.gz -C 目的目录