目录
1.Linux的优势
1.1 shell
1.2 shell的优点
1.3 Linux的哲学思想
2.Linuk命令的分类
3. Linux命令格式
3.1 通用的命令行使用格式:
3.2 Linux辅助快捷键
3.3 帮助命令
4.基础命令
4.1 pwd命令--显示用户当前目录的完整路径
4.2 cd命令--切换工作目录
4.3 绝对路径与相对路径
4.4 ls命令--列出目录内容命令
4.5 七大文件类型
4.6 通配符
4.7 alias--设置别名
4.8 du命令--(disk use)显示当前文件占磁盘大小
4.9 mkdir命令--创建新目录(make directories)
4.10 touch命令--创建新文件命令(文件内容为空)
4.11 ln--创建链接文件
4.12 cp命令--复制文件或目录命令
4.13 rm--删除文件或目录
4.14 mv--移动文件或目录
4.15 which--查找命令文件存放目录
4.16 find--查找文件或目录
1.Linux的优势
1.1 shell
(1)Linux系统中运行的一种特殊程序
(2)在用户和内核之间充当“翻译官”
(3)用户登陆Linux系统时,自动加载一个shell程序
(4)Bash是Linux系统中默认使用的shell程序文件位于/bin/bash
1.2 shell的优点
(1)命令的记忆功能。在命令行按键盘的上下方向键,可以找到之前使用的命令。
(2)命令与文件补全功能。在命令或者参数后使用TAB键可以自动补全命令。
(3)命令别名设置功能
(4)作业控制、前后台控制功能。
(5)shell scripts。可以将需要连续执行的命令写成一个文件,通过交互方式来执行

1.3 Linux的哲学思想
(1) —切都是文件。(包括硬件)
(2) 系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)
(3) 当遇到复杂任务,通过不同功能用途的程序组合起来完成。
(4) 避免令人困惑的用户界面就是没有复杂的图形界面。
(5)连配置文件都存储在文本中,方便增删改查。
(6)不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型。
2.Linuk命令的分类
| 内部命令 | 外部命令 |
| 集成于Shell解释器程序内部的一些特殊指令也称为内建 (Built-in) 指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
| 属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
| 没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
| 自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shell加载后才能执行 |
1.Linux命令分为两类,具体为内部命令和外部命令
内部命令:指shell内部集成的命令,此类命令无需人为安装,开机后自动运行在内存中,使用命令help查看所有内部命令的详情,如cd、type、echo、time、true等。
外部命令:指通过外部介质安装的命令工具包,如通过yum、rpm等方式安装,具体安装路径在$PATH下。
注:所有的内部命令在外部命令中都有存在,只是为了提高优先级而在shell中集成一部分。
命令查看: type查看命令分类,内部命令显示 shell相关信息,外部命令则显示$PATH路径。

内部命令与外部命令的产生和区别:
CentOs7 的shell是bash;在Linux使用时有一些命令的使用频率较高,若是总是从硬盘数据中读取比较浪费时间且占用资源。所以bash把这些使用频率高的命令集成到shell 当中,加快调用,称为内建命令。
所以内建命令在就是为了加快外部命令调用而在shell中的备份。即每个内建命令都在外部命令(硬盘上)存在的有。
二者区别:
内部命令在系统启动时就调入内存,是常驻内存的,所以执行效率高。
外部命令是系统的软件功能,用户需要时才从硬盘中读入内存。
3. Linux命令格式
3.1 通用的命令行使用格式:
命令字 空格 [选项] 空格 [参数]
(1)命令字是整条命令中最关键的一部分,唯一确定一条命令。
(2)选项
短格式选项:使用“-”符号引导;
长格式选项:使用“--”符号引导。
(3)参数
命令字的处理对象;
可以是文件名,目录名或用户等内容;
个数可以是零到多个。
3.2 Linux辅助快捷键
| 快捷键 | 功能 |
|---|---|
| Tab 键 | 自动补齐(两次可以显示所有选项) |
| 反斜杠“\” | 强制换行或转意 |
| Ctrl+a | 光标移到最前 |
| Ctrl+e 或 end 键 | 光标移到最后 |
| Ctrl+U | 清空至行首不包括当前光标处的字符 |
| Ctrl+K | 清空至行尾包括当前光标处的字符 |
| Ctrl+w | 以当前光标删除到开头 |
| ALT+d | 以当前光标删除到末尾 |
| Ctrl+l | 清屏 |
| Ctrl+c | 取消本次命令编辑 |
| Ctrl+s/Ctrl+q | 锁屏/解锁 |
| 向上下箭头 | 回看执行过的命令 |
3.3 帮助命令
(1)查看内部命令help,查看Shell内部命令的帮助信息;
[root@localhost ~]# help echo #内部命令查看帮助
(2)命令的"-help"选项,适用于大多数Linux外部命令;
[root@localhost ~]# ls --help
[root@localhost dev]# useradd --help
(3)使用man命令阅读手册页。
[root@localhost ~]# man man
[root@localhost opt]# man passwd 第一章节:用户指令(命令的解释,默认打开的)
[root@localhost opt]# man 5 passwd 第五章节:文件的格式
4.基础命令
4.1 pwd命令--显示用户当前目录的完整路径

输入pwd之后显示当前用户所在的工作位置
4.2 cd命令--切换工作目录
| 格式 | 说明 |
| cd目标位置 | 切换到目标位置 |
| cd | 若不指定目标位置,切换到当前用户的宿主目录 |
| cd~ | |
| cd- | 切换到上一次执行cd命令之前所在的目录 |
| cd . | 当前目录 |
| cd .. | 回到当前目录的上一级 |
1. 切换到目标位置

2. 不指定目标,回到当前用户的宿主目录

3. 切换到上一级执行cd命令之前所在的目录

4.回到当前目录和回到上一级目录

4.3 绝对路径与相对路径
(1)绝对路径是以根(/)开头的路径,无论文件在哪都能准确找到
如:cd /opt
(2)相对路径是以当前路径为起点往下找文件
如:cd ../opt
4.4 ls命令--列出目录内容命令
1.格式
ls 【选项】 【目录或文件】
2. ls 常用选项
| 选项 | 作用 |
| -a | 显示所有(all)的目录和文件,包括隐藏的目录和文件 |
| -A | 显示几乎所有(Almost all)的目录和文件(“.”和“..”除外) |
| -d | 仅列出目录本身,不列出目录内的文件数据 |
| -f | 直接列出结果,而不进行排序 |
| -F | 显示目录和文件的名称,并给出文件类型 |
| -h | 列出文件大小 |
| -l | 以长(Long)格式显示文件的详细信息 |
| -n | 列出UID和GID的名称 |
| -r | 以逆向(Reverse)排序的次序显示 |
| -R | 以递归(Recursive)方式显示该目录的内容和所有子目录的内容 |
| -S | 以文件大小(Size)的递降次序排序显示 |
| -t | 以文件的最后修改时间(time)排序显示 |
(1)-a 和 -A

(2)ls -l:已长格式显示文件和目录列表 ll=ls -l

(3)ls -d :只显示当前目录

(4)ls -h :友好显示文件大小

(5)ls --R :递归显示该目录及该目录的子目录下的所有内容

(6)ls -lS 以文件大小(Size)的递降次序排序显示

(7) ls -t 以文件的最后修改时间(time)排序显示

4.5 七大文件类型
| 首字符 | 类型 |
| - | 普通文件,纯文本、二进制、压缩等文件 |
| d | 目录,类似windows系统的文件夹 |
| l | 链接文件,类似 Windows 系统中的快捷方式 |
| p | 管道文件,可以解决多个程序同时存取一个文件所造成的错误。 |
| s | 套接字文件,通常用在网络数据连接,可以启动一个程序开监听用户的要求,用户可以通过套接字进行数据通信。 |
| b | 块设备文件,就是保存大块数据的设备,比如最常见的硬盘 |
| c | 字符设备文件 |
4.6 通配符
| 符号 | 效果 |
| ? | 匹配一个字符 |
| * | 匹配所有非隐藏的字符无论多少长短,但不匹配“.”开头的文件,即隐藏文件 |
| {1-10} | 1到10 |
| {a-z} | a b c ....z |
| {A-Z} | A B C ....Z |
| [123] | 取其中之一,有就显示没有就不显示 |
| \ | 转义符,表示原来的意思通常是alics后使用 |
| [[:lower:]] | 小写字母表示a-z |
| [[:uppoer]] | 大写字母表示A-Z |
| [^zhang] | 匹配列表中的所有字符以外的字符 |
| [[:ditssd]] | 任意数字,相当于0-9 |
(1)? :匹配一个字符 ,只代表一个字符;

(2) * :可以代表任意长度的字符;

(3) {a..z}:从a到z

(4) {1..10}:从1到10

4.7 alias--设置别名
通过别名机制简化日常用的、比较长的命令。
alias+命令别名=“命令”(“=”两边不能有空格)
例如:alias myvim=“vim /etc/sysconfig/network-scripts/ifcfg-ens33”
上述配置可以做到在打vime时,可以默认等于ens33。此配置为临时修改,重启后会失效,想永久生效需要更改配置文件。
创建别名:alias 命令别名 = ’命令‘
删除别名:unalias 别名命令
使用原始命令 :\加原始命令
(1) 创建别名

(2)删除别名

(3)\ 加原始别名

4.8 du命令--(disk use)显示当前文件占磁盘大小
1. du 【选项】 【文件或目录… 】
| 选项 | 作用 |
| -a | 显示每一个文件的大小 |
| -s | 统计所占用空间总的大小 |
| -h | 人性化显示统计结果(默认以kB计数,但不显示单位) |
| --max-depth=n(-d 1) | 最大显示到第n层 |
(1)统计目录

(2)显示每一个文件的大小

(3) 统计所占用空间总的大小

(4)人性化显示统计结果(默认以kB计数,但不显示单位)

2.du和ll看到文件的大小是有区别的:
ll是文件真实大小;
du是所占磁盘大小,不足4k,按4k算。
4.9 mkdir命令--创建新目录(make directories)
mkdir 【选项】目录位置及名称...
| 选项 | 作用 |
| -p | 直接建立所需的目录递归 |
| -m | 对新建目录设置存取权限 |
| -v | 显示过程 |
mkdir -p aa/bb/cc 不需要aa已存在,直接全部新建。

4.10 touch命令--创建新文件命令(文件内容为空)
格式:touch 【文件名】
touch:1.文件名不存在,直接新建空文件;
2.文件已存在,刷新时间
touch aa bb cc 直接建立多个文件

4.11 ln--创建链接文件
为文件或目录建立链接文件,类似于Windows的快捷方式
ln [-s] 源文件或目录...链接文件或目标位置——软链接,相当于创建了一个快捷方式
ln 创建硬链接,相当于复制了一个副本 (硬链接在日常工作中基本不会使用)
例子:ln -s /etc/passwd /opt/soft
源文件 链接文件
| 对比项 | 硬链接 | 软连接 |
| 本质 | 本质是同一个文件 | 本质不是同一个文件 |
| inode | 相同 | 不同 |
| 连接数 | 创建新的硬链接,链接数会增加,删除硬链接,链接数减少 | 是删除新建不会改变 |
| 文件夹 | 不支持 | 支持 |
| 文件类型 | 和源文件相同 | 链接文件和源文件无关 |
| 删除源文件 | 只是链接数减一,但链接文件的访问不受影响 | 无法访问链接文件 |
| 文件大小 | 和源文件相同(指向硬盘上的同一个文件) | 源文件的路径长度 |
1.硬链接

2.软连接

4.12 cp命令--复制文件或目录命令
格式:
1.cp [选项]… 源文件 目标 相当改名复制

2.cp [选项]... 源文件... 文件夹 多个源文件只能复制到文件夹
| 选项 | 作用 |
| -r | 递归持续复制,用于目录的复制操作 |
| -d | 若源文件为连接文件的属性,则复制连接文件属性 |
| -f | 不询问用户,强制复制 |
| -i | 若目标文件存在,则询问是否覆盖 |
| -p | 与文件的属性一起复制 |
| -b | 先备份(只保留最近) |
| -u | 若目标文件比原文件旧,则更新目标源文 |
| -v | 可视化 |
注:复制多个文件后面只能跟文件夹不能跟文件,而且目录还要存在
(3)cp -i: 为覆盖目标同名文件或目录时提醒用户确认

(4)cp -f :覆盖目标同名文件或目录时不进行提醒,直接强制复制
新版本的xshell将cp设置为cp -i的别名,cp -i为覆盖目标同名文件或目录时提醒用户确认

(5) cp -r:复制目录时必须使用此选项,表示递归复制所有文件及子目录
不适用 -r不会复制成功

(6) cp -p :复制时保持源文件的权限、属主及时间标记等属性不变

(7)cp -a:完整保留所有的信息

4.13 rm--删除文件或目录
1、删除指定的文件或目录
格式:rm 【选项】 要删除的文件或目录
2、常用选项
(1) -f:删除文件或目录时不进行提醒,而直接强制删除

(2) -i:删除文件或目录时提醒用户确认

(3) -r:删除目录时必须使用此选项,表示递归删除整个目录树

(4)删除特殊文件

4.14 mv--移动文件或目录
1、将指定的文件或目录转移位置
2、如果目标位置与源位置相同,则相当于执行重命名操作
格式:mv 【选项】 源文件或目录 目标文件目录
4.15 which--查找命令文件存放目录
格式:1.which 命令或程序名 默认找到第一个目标后不再查找
2. which -a 命令或程序名 在所有搜索路径中查找

使用which查找内部命令时候,找不到对应的程序,type也可以用来查找。
4.16 find--查找文件或目录
1、采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找
2.格式:find 查找范围 匹配条件 文件名
3、使用find命令实现多个查找条件
各表达式之间使用逻辑运算符
“-a”表示而且(and)
“-o”表示或者(or)
| 查找类型 | 关键字 | 说明 |
| 按名称查找 | -name | 根据目标文件的名称进行查找,允许使用"*“及”?"通配符 |
| 按文件大小查找 | -size | 根据目标文件的大小进行查找;一般使用"+"、"-"号设置超过或小于指定的大小作为查找条件;常用的容量单位包括kB (注意k是小写) 、MB,GB |
| 按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
| 按文件类型查找 | -type | 根据文件类型进行查找;文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等;块设备文件(b) :成块读取数据的设备(硬盘,内存,光驱);字符设备文件 :按单个字符读取数据的设备(键盘,鼠标) |
| 按inode号 | -inum | 根据文件inode号查找 |
| 按权限查找 | -perm | 按文件权限查找 |
(1)按名称查找
查找etc目录下以p开头的文件,以及名为passwd文件

(2)按文件大小查找
查找etc目录下大于1M的文件

linux中的100M不是正好100M 是99开始不包括99到100(99-100]
1024M 和 1G 的区别
1024M 代表 1023M - 1024M 不包括1023
1G 表示 0G -1G 不包括0G
-size 10k 表示9k 到10k 且不包括9k (9-10]
-size -10k 表示9k 以内 包括9k [9-10)
-size +10k 表示10k 以上 不包括 10k
(3)按文件属主查找

(4)按文件类型查找
这篇博客详细介绍了Linux系统的优势,包括shell的特性与优点,以及Linux的哲学思想。重点讲解了Linux命令的分类和格式,特别是基础命令的使用,如pwd、cd、ls、mkdir、touch、du、rm、mv等,并提到了命令行的快捷键和帮助命令。此外,还探讨了文件类型、通配符和别名设置,以及如何查找命令文件的存放目录。
3849

被折叠的 条评论
为什么被折叠?



