linux 第一部分基础命令
文章目录
前言一、linux1.1 shell1.2 命令的分类1.2.1 内部命令与外部命令的区别1.2.1.1 查看内部命令1.2.1.2禁用内部命令
1.3 Linux命令行的格式1.3.1 通用的命令行使用格式
1.4 编辑Linux命令行1.5 获得命令帮助的方法1.5.1 内部命令 help1.5.2 命令的“- -help”选项1.5.3 使用man命令阅读手册页
1.6 命令行提示字符1.7 查看当前的工作目录----pwd1.8 切换工作目录-------cd1.8.1 将用户的工作目录更改到其他位置1.8.2 相对路径的表现形式
1.9 列表显示目录内容------ls1.9.1 ls的常用选项1.9.2 用ls -l命令查看某一个目录会得到一个7个字段的列表1.9.3 结合通配符
1.10设置别名-------alias1.10.1 通过别名机制简化常用的,比较长的命令1.10.2 type myle 查看myle命令1.10.3. 取消别名
1.11 统计目录及文件空间占用情况------- du1.11.1 统计指定目录(或文件)所占用磁盘空间的大小1.11.2 常用选项
1.12 创建新目录---------mkdir1.13 创建空文件 ---------touch命令1.14 创建链接文件------------In1.14.1 为文件或目录建立链接文件,类似于Windows系统的快捷方式1.14.2 链接文件类型1.14.3 在Linux中,文件名和文件的数据是分开存储的1.14.4 软硬链接文件对比
1.15 复制文件或目录----------cp1.15.1 将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录1.15.2 常用选项
1.16 删除文件或目录-------rm1.16.1 删除指定的文件或目录1.16.2 常用选项
1.17 移动文件或目录---------mv1.17.1 将指定的文件或目录转移位置1.17.2 如果目标位置与源位置相同,则相当于执行重命名操作1.17.3 mv命令只能对单个文件重命名,可使用rename命令批量修改文件名
1.18 查找命令文件存放目录----------which1.18.1搜索范围由环境变量PATH决定(echo $PATH)1.18.2 系统默认查找在目录中范围
1.19 查找文件或目录----------find1.19.1 采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找1.19.2 常用查找条件类型1.19.3 使用find命令实现多个查找条件
1.20 find之exec用法1.20.1-exec参数后面跟的是Linux命令,它是以分号“;”为结束标志,由于各个系统中分号会有不同的意义,因此在分号前面加上反斜杠转义符“\”。{}代表前面find查找出来的文件名。1.20.2 find 命令匹配到了当前目录下的所有普通文件,并在-exec选项中使用Is -l命令将它们列出
1.21 命令执行的优先级
总结
前言
与Windows系统不同,Linux系统更多是在命令行下面进行管理与配置,本文对Linux的基本命令进行了简单的介绍。
一、linux
1.1 shell
1.Linux 系统中运行的一种特殊程序
2.在用户和内核之间充当“翻译官”(命令解释器)
3.用户登录Linux 系统时,自动加载一个Shell程序
4.Bash是Linux 系统中默认使用的Shell程序
接收用户输入的命令——解释命令——传递给系统内核执行——调用计算机硬件
Bash是以文件形式,文件位于/bin/bash
1.2 命令的分类
1.2.1 内部命令与外部命令的区别
内部命令 外部命令
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in) 指令 Linux系统中能够完成特定功能的脚本文件或二进制程序
属于Shell的一部分 属于ShelI解释器程序之外的命令
没有单独对应的系统文件 每个外部命令对应了系统中的一个文件
自动载入内存,可以直接使用 必须知道其对应的文件位置,由Shell加载后才能执行/bin,/usr/bin,/usr/local/bin等
1.2.1.1 查看内部命令
1.help (查看所有的命令) 2.enable 3.type +命令 (查看命令是外部命令还是内部命令)
例 :type type
type 是 shell 内嵌 说明 type 是内部命令
type mkdir
mkdir 是
/usr
/bin
/mkdir 说明mkdir是外部命令
1.2.1.2禁用内部命令
1.enable -n 命令 例如:cd(既属于内部命令,又属于外部命令)
type cd
cd 是 shell 内嵌 说明 cd 是内部命令
使用enable
-n cd后
再次 type cd
发现 cd 是
/usr
/bin
/cd 说明 cd 是外部命令
想要改回来
再次enable cd后
查看type cd
cd 是 shell 内嵌 说明 cd 是内部命令
1.3 Linux命令行的格式
1.3.1 通用的命令行使用格式
命令字 [选项] [参数] 英文字符区分大小写
操作 功能 要执行的对象
例如 cd 是切换目录的命令 cd /etc (切换到etc目录) 如果是大写 CD /etc 命令无效
1.命令字:是整条命令中最关键的一部分
唯一确定一条命令
2.选项:短格式选项:使用 “-" 符号引导 - +字母
长格式选项:使用 “ - - ”符号引导 - - +完整单词
多个单字符选项可以组合在一起使用
例如;ls 查询命令 ls 查询当前目录下所有文件 ls -l 所有文件以详细模式显示文件目录 ls -a 所有文件目录,子,副目录,隐藏文件目录 ls -l -a/-al 以上所有表现形式都有 ls --all 与ls -a 效果一样
3.参数
命令字的处理对象
可以是文件名,目录(路径)名或用户名等内容 不指定完整的路径,就在本目录下进行创建
个数可以是零到多个
1.4 编辑Linux命令行
1.Tab键:自动补齐
2.反斜杠“\”:强制换行
3.Ctrl + U组合键:清空至行首 (光标开始清空至行首)
4.CtrI + K组合键:清空至行尾 (光标开始清空至行尾)
5.CtrI+L组合键:清屏 clear 命令效果一样
6.Ctrl+ C组合键:取消本次命令编辑
7.Ctrl + a组合键:切换到行首
8.Ctrl + e组合键:切换到行尾
例如:cd
/etc
/sysconfig
/network
-scripts 网卡设置
按Tab 回自动补全 只打cd /etc/s 按两下Tab 键会把所有s 开头的命令显示出来 按一下Tab,在该目录中只有唯一一个文件会自动补全,当有多个文件匹配时,按两下Tab,会提示当前目录中有几个s开头的命令。
反斜杠“\”:强制换行 例如: 只是视图上换行,命令层面上没有换行。
1.5 获得命令帮助的方法
1.5.1 内部命令 help
查看Shell内部命令的帮助信息
1.5.2 命令的“- -help”选项
适用于大多数Linux外部命令
1.5.3 使用man命令阅读手册页
1.使用“上”、 “下”(ENTER) 方向键滚动一行文本
2.使用Page Up和Page Down (空格) 键翻页
3.按Q或q键退出阅读环境
4.按“/”键查找内容,n键向下查找,N键向上查找
例如:/-a 快速定位需要查找的内容
1.6 命令行提示字符
[root@localhost ~]# [当前登录系统的用户@主机名称 当前所在的目录]# #:表示为管理员登录 $ :表示为普通用户登录
1.7 查看当前的工作目录----pwd
1.显示用户当前所在的工作目录位置
pwd .....
例如
[root@localhost
~]# pwd
/root 当前工作目录
1.8 切换工作目录-------cd
1.8.1 将用户的工作目录更改到其他位置
格式 说明
cd目标位置 切换到目标位置
cd ~ (~ 当前目录的家目录位置) 若不指定目标位置,切换到当前用户的宿主目录
cd
cd - 切换到上一次执行cd命令之前所在的目录
绝对路径: 从根目录开始 cd / 最初始的目录 相对路径: 以本目录,当前目录为起点,进行切换操作。
1.8.2 相对路径的表现形式
表现形式 说明 示例
直接使用目录名或文件名 表示当前工作目录中的子目录、文件的位置 grub.conf
以一个点号".”开头 表示以当前的工作目录作为起点 ./grub.conf
以两个点号".." 开头 表示以当前目录的上一级目录(父目录)作为起点 ./vmlinuz
以“~用户名”形式开头 ( 当存在多个用户时)表示以指定用户的宿主目录作为起点 ~teacher
以"~”形式开头 表示以当前用户的宿主目录作为起点 ~
例如:cd /etc/sysconfig/network-scripts 网卡设置 普通用户的家目录在home
cd
~test
pwd
/home
/test
root 用户在
/root
cd
~root
pwd
/root
1.9 列表显示目录内容------ls
显示目录中内容,包括子目录和文件相关属性信息
ls
[选项
] [文件或目录
]...
常用选项 -l,-a,-A,-d,-h,-R,–color
结合通配符
“?”:代表容易一个字符,且至少1个
“*”:代表任意数个字符,可以是0个或者1个或者多个
“[ ]”:表示可以匹配字符组中的任意一个字符
[abc][a-f]
1.9.1 ls的常用选项
-l: 以长格式(Long)显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息。ll命令与ls -1功能相同
-a:显示所有(All)子目录和文件的信息,包括名称以点号“.”开头的隐藏目录和隐藏文件。
-A: 与-a选项的作用基本类似,但有两个特殊隐藏目录不会显示,即表示当前目录的“.”和表示父目录的“..”。
-d: 显示目录(Directory) 本身的属性,而不是显示目录中的内容。
-h:以更人性化(Human)的方式显示目录或文件的大小,默认的大小单位为字节(B),使用-h选项后将显示为KB、MB等单位。此选项需要结合-l选项一起使用。
-R: 以递归(Recursive) 的方式显示指定目录及其子目录中的所有内容。
--color: 在字符模式中以颜色区分不同的文件。默认已开启
通常情况下,深蓝色表示目录,白色表示一般文件,绿色表示可执行的文件,黄色表示设备文件,红色表示压缩文件。
-i: 显示文件和目录的inode号。(节点号,目录编号)
解析: ls 是文件以横向排列 ls -l 是文件以纵向排列 ls -a ls -A ls -d 无反应 ls -dl 显示当前目录信息 ls -h 显示目录中文件大小 ls -R 以递归(Recursive) 的方式显示指定目录及其子目录中的所有内容 ls -color深蓝色表示目录,白色表示一般文件,绿色表示可执行的文件,黄色表示设备文件,红色表示压缩文件。淡蓝色代表软链接文件,前缀是l ls -i显示文件和目录的inode号(节点号,目录编号)
1.9.2 用ls -l命令查看某一个目录会得到一个7个字段的列表
-rw-r-r- 1 root root 762 07-29 18:19 exit
- :一般文件,d :目录,l:软链接文件,
淡蓝色代表软链接文件 最前面是l 不是-
r :这个文件在该目录下是可读的,用户拥有下载,查看的权限。
w:可写入的权限。可以在当前的目录进行添加,写入,删除
rw +x:表示可执行的权限 绿色表示可执行的文件
rwxrwxrwx
rwx rwx rwx
当前用户主主使用的权限,当前组主使用的权限,其它用户使用的权限
第1字段:文件属性字 第一个字符代表文件的类型: “-”表示该文件是一个普通文件 “d"表示该文件是一一个目录 "l”表示该文件是一个软链接文件。类似于windows下的快捷方式
第1字符的后面9个字母表示该文件或目录的权限位: r表是读(查看、下载)、w表示写(添加、更改、删除、上传)、x表示执行(运行文件、切换目录) 其中前三个表示文件拥有者(属主)的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。
第2字段:文件硬链接数 如果一个文件不是目录,此时这一字段表示这个文件所具有的硬链接数 如果是一个目录,则第2字段表示该目录所含子目录的个数。 如果新建一个空目录,这个目录的第二字段就是2,表示该目录下有两个子目录。
第3字段:文件\目录拥有者
第4字段:文件\目录拥有者所在的组
第5字段:文件所占用的空间(默认以字节为单位) 如果是一个目录,则表示该目录的大小,而不是目录以及它下面的文件的总大小。 Linux系统中一切皆文件,因此目录也是一种文件。
第6字段:文件\目录最近访问或修改时间
第7字段:文件名 如果是一个符号链接( 软链接文件)浅蓝色,那么会有一个“->”箭头符号,后面根一个它指向的文件名
1.9.3 结合通配符
“ ?”:代表容易一个字符,且至少1个 “ * ”: 代表任意数个字符,可以是0个或者1个或者多个 “[ ]”: 表示可以匹配字符组中的任意一个字符 [abc] [a-f] a 到f 连续的字符 ls 1*1 会显示所有的文件,符合要求俩段都是1的文件,包括11 ls 1 ?1 会显示符合要求俩段都是1的文件,中间一个字符,至少一个文件 ls 1[ ]1同1?1一样
1.10设置别名-------alias
alias 是内部命令
1.10.1 通过别名机制简化常用的,比较长的命令
alias 命令别名
=‘命令’
"="两边不能有空格
例如,设置myle为ls -alh 的别名
alias myls
=‘ls
-alh’ 别名是myls
1.10.2 type myle 查看myle命令
1.10.3. 取消别名
unalias 命令别名
1.11 统计目录及文件空间占用情况------- du
1.11.1 统计指定目录(或文件)所占用磁盘空间的大小
du
[选项
] [文件或目录
...]
1.11.2 常用选项
选项 说明
-a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
-s 只统计所占用空间总的大小,而不是统计每个子目录、文件的大小
--max-depth=n 统计所有小于等于第n层的目录的总大小
选项-a和-s不可同时使用
统计出/var/log目录中子目录的大小 du -h --max-depth=1 /var/log/ /var/log 系统日志文件存储的位置
du -a
安装软件
输入命令:tree 这时目录会分为一层二层目录 根据命令–max-depth=1 查看一层目录 –max-depth=2 查看二层目录
1.12 创建新目录---------mkdir
创建新的空目录
mkdir
[选项
] 目录位置及名称
....
-p:一次性创建嵌套的多层目录
例如: 在当前目录下创建名为public_ html 的子目录
mkdir public html
创建目录/aa, 在/aa目录下创建子目录bb,在/aa/bb 目录下创建子目录cc
mkdir
-p aa
/bb
/cc
mkdir 是外部命令
1.13 创建空文件 ---------touch命令
更新文件的时间标记 使用ls -l 可以查看文件名,更新时间,如果此时创建一个新的文件且与已经存在的文件名相同,则该文件的更新时间会被刷新)经常用于创建多个新的空文件 touch 文件…
例如: 创建两个空文件,文件名分别为aa.txt和bb.txt
touch aa bb
touch
{a,b
}.txt
使用绝对路径进行文件创建
大括号表示缩写,扩展文件
1.14 创建链接文件------------In
1.14.1 为文件或目录建立链接文件,类似于Windows系统的快捷方式
1.14.2 链接文件类型
软链接(又称为符号链接) 硬链接
In
[-s
] 源文件或目录
...链接文件或目标位置
创建软链接(加上-s 创建的是软链接,不加上-s 是硬链接) 即 ln -s +文件格式+文件名
例如:
In
-s
/bin
/bzip2
/bin
/wx
/
创建完成,软链接指向源文件 将相对路径的源文件移动,不在原来的位置。会发现,软链接失效
使用绝对路径方式进行同样操作,发现软链接指向的位置发生了变化,其它仍然有效。 所以一般建议创建软链接时使用绝对路径,因为在传递软链接时,它会把路径记录下来,防止我们移动软链接文件时,使它可以准确的找到源文件的位置。
1.14.3 在Linux中,文件名和文件的数据是分开存储的
提示: 1.在Linux中,只有文件的硬链接数== 0才会被删除 2.使用ls -l可以查看一个文件的硬链接的数量 3.在日常工作中,几乎不会建立文件的硬链接,知道即可
1.14.4 软硬链接文件对比
文件类型 软链接文件 硬链接文件
删除源文件后 失效 仍然可用(文件占用空间与源文件相同)
使用范围 适用于文件或目录 仅适用于文件
保持位置 与源文件可在不同的文件系统中 必须与源文件在同一个文件系统(即同一个分区)中
与源文件的关系 相当于快捷方式 相当于给文件起个别名
inode号码 inode号码不同 inode号码相同
当一个文件拥有多个硬链接时,对文件内容修改,会影响到所有文件名;但是删除一个文件名,不影响别的文件名的访问。删除一个文件名,只会使得"硬链接数"减1。
需要注意的是不能对目录做硬链接。在日常工作中几乎不会建立文件的硬链接。
1.15 复制文件或目录----------cp
1.15.1 将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录
cp
[选项
]...源文件或目录
...目标文件或目录
...
1.15.2 常用选项
-f、- i、-p、-r
cp的常用选项:
-f:覆盖目标同名文件或目录时不进行提醒,而直接强制复制。
-i:覆盖目标同名文件或目录时提醒用户确认。
-p:复制时保持源文件的权限、属主及时间标记等属性不变。
-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录。
注:复制多个文件或目录时,目标位置必须是目录,且目标目录必须已存在
cp
/etc
/host
.conf
/etc
/host
. conf
.bak 修改配置文件前需要先进行备份
cp host
.conf
{, .bak
}
mkdir yum bak
cp
-r
/etc
/yum
. repos
.d
/ /etc
/ yum
.conf yum bak
/
cp -f cp -p
1.16 删除文件或目录-------rm
1.16.1 删除指定的文件或目录
rm
[选项
]要删除的文件或目录
...
1.16.2 常用选项
-f、-i、-r
rm的常用选项:
-f: 删除文件或目录时不进行提醒,而直接强制删除。
-i:删除文件或目录时提醒用户确认。(y表示删除,n表示不删除)
-r: 删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)。
注:不要直接删除系统中已有的目录或配置文件,以避免出现意外故障。
rm
-f
例如:
rm
-rf public_ _html
/grub
/
rm
-i public_ html
/apg
.conf
rm -rf /etc/ yum. repos .d/ * 删除目录下文件时建议最好先切换到目录下再执行rm -rf命令
1.17 移动文件或目录---------mv
1.17.1 将指定的文件或目录转移位置
1.17.2 如果目标位置与源位置相同,则相当于执行重命名操作
mv
[选项
] ... 源文件或目录
...目标文件或目录
例如:
mv mytouch mkfile
mv mkfile public_ html
/
1.17.3 mv命令只能对单个文件重命名,可使用rename命令批量修改文件名
rename 旧字符 新字符 目标文件
例:
rename jpg gif
*.jpg 修改文件后缀
将c.txt 重命名为cccc。txt
将cccc.txt 移动到家目录中 /root
使用rename 进行批量修改
1.18 查找命令文件存放目录----------which
1.18.1搜索范围由环境变量PATH决定(echo $PATH)
which 命令
|程序名
或
which
-a 命令
|程序名
例如:
which Is
which history
使用which查找内部命令时,将找不到对应的程序
1.18.2 系统默认查找在目录中范围
/usr/local/sbin: /usr/local/bin: /usr/sbin: /usr/bin: /root/bin 查找内部命令,无效。
1.19 查找文件或目录----------find
1.19.1 采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找
find
[查找范围
] [查找条件表达式
]
查找文件或子目录的目录位置 查找条件类型
1.19.2 常用查找条件类型
查找类型 关键字 说明
按名称查找 -name 根据目标文件的名称进行查找,允许使用“*”及"?"通配符
按文件大小查找 -size 根据目标文件的大小进行查找
一般使用"+”、"-” 号设置超过或小于指定的大小作为查找条
常用的容量单位包括kB (注意k是小写)、MB、GB
按文件属主查找 -user 根据文件是否属于目标用户进行查找
按文件类型查找 -type 根据文件的类型进行查找
文件类型包括普通文件(f) 、目录(d) 、块设备文件(b) 、字符设备文件(c) 等块设备文件(b) :成块读取数据的设备(硬盘,内存,光驱)字符设备文件(c) :按单个字符读取数据的设备(键盘,鼠标)
查找当前目录下所有 文件名称是txt的文件
1.19.3 使用find命令实现多个查找条件
各表达式之间使用逻辑运算符 “-a” 表示 而且 (and) 两个条件同时都满足 “-o” 表示 或者 (or) 两个条件有一个满足就行 例如:
find
/boot
-size
+1024k
-a
-name
"vmlinuz$"
find
/boot
-size
+1024k
-0 -name
"vmlinuz*"
+ 1024k 大于1024k
- 1024k 小于1024k
1024k 等于1024k
1.20 find之exec用法
1.20.1-exec参数后面跟的是Linux命令,它是以分号“;”为结束标志,由于各个系统中分号会有不同的意义,因此在分号前面加上反斜杠转义符“\”。{}代表前面find查找出来的文件名。
1.20.2 find 命令匹配到了当前目录下的所有普通文件,并在-exec选项中使用Is -l命令将它们列出
find
./ -type f
-exec ls
-l
{} \
;
./: 当前目录下 -type :类型 f;普通文件类型
通过-exec 查找文件的同时可以对文件进行处理,进一步操作,(打印)
1.21 命令执行的优先级
第一优先级:指定路径的命令。绝对路径 /root/pwd.sh 或者相对路径 . /pwd.sh
第二优先级:别名指定的命令alias pwd=/ root/ pwd.sh
第三优先级:内部命令
第四优先级: hash 命令 (哈希)
linux系统下会有一个hash表,当你刚开机时这个hash表为空,每当你执行过一条命令时,hash表 会记录下这条命令的路径,就相当于缓存一-样。第一-次执行命令shell解释器默认的会从PATH路径下寻找该命令的路径,当你第二次使用该命令时,shell解释器首先会查看hash表,没有该命令才会去PATH路径下寻找。hash表能提高命令的调用速率。
第五优先级:通过PATH定义的查找顺序查找
如果以上顺序都找不到,就会报“未找到命令…”的错误。
总结
通过以上对Linux的基本命令的简单介绍,可以更好的灵活运用命令进行操作。