Linux基础知识及常用命令
一.Linux命令的分类
内部命令与外部命令的区别
内部命令 外部命令
1.集成于Shell解释器程序内部的一些特殊 1. Linux系统中能够完成特定功能的脚
指令,也称为内建(Built-in)指令 本文件或二进制程序
2.属于Shell的一部分 2.属于Shell解释器程序之外的命令
3.没有单独对应的系统文件 3.每个外部命令对应了系统中的一个文件
4.自动载入内存,可以直接使用 4.必须知道其对应的文件位置,由Shell加
载后才能执行。
如:/bin,/usr/bin,/usr/local/bin等
二.编辑命令行辅助操作
tab键:自动补齐
反斜杠"\":强制换行
ctrl+u:清空至行首
ctrl+k:清空至行尾
ctrl+L:清屏
ctrl+c:取消本次命令编辑
ctrl+a:切换至行首
ctrl+e:切换至hangwei
三.获得命令帮助的方式
1.内部命令help
查看shell内部命令的帮助信息
2.命令的“--help”选项
适用于大多数linux外部命令
3.使用man命令阅读手册页
使用上下键或者enter键滚动一行文本
使用page up和page down(空格)键翻页
按Q或q键退出阅读模式
按“\”键查找内容,n键向下查找,N键想上查找
四.相对路径的表现形式
表现形式 说明 示例
直接使用目录名或者文件名 表示当前工作目录中的子目录,文件位置 grub.conf
以一个点号“.”开头 表示以当前的工作目录作为起点 ./grub.conf
以两个点号“..”开头 表示以当前目录的上一级目录(父目录)作为起点 ../vmliuz
以“~用户名”形式开头 表示以指定用户的宿主目录作为起点 ~teacher
以“~”形式开头 表示以当前用户的宿主目录作为起点 ~
五.列表显示目录内容-ls
1. 显示目录中的内容,包括目录和文件相关属性信息
ls 【选项】【文件或目录...】
2.常用选项
-l :以长格式(long)显示文件和目录的列表,包括权限,大小,最后的更新时间等详细信息。ll
命令与ls -l功能相同
-a:显示所有的子目录和文件的意思,包括名称以点号开头的隐藏目录和文件。
-A:与-a选项的作用基本类似,但有两个特殊的隐藏目录不会显示,即表示当前目录的“.”和表示父目
录的“..”。
-d:显示目录本身的属性,而不是显示目录中的内容。
-h:以更人性化的方式显示目录或文件的大小,默认的大小单位为字节(B),使用-h选项后将显示
为KB、MB等单位。此选项需要结合-l选项一起使用。
-R:以递归的方式显示指定目录及其子目录中的所有内容。
--color:在字符模式中以颜色区分不同的文件。默认开启。通常情况下深蓝色表示目录,白色表示一
般文件,绿色表示可执行文件,黄色表示设备文件,红色表示压缩文件。
-i:显示文件和目录的inode号。
3.结合通配符
“?”:代表任意字符,且至少一个
“*”:代表任意数个字符,可以是0个或者1个或者多个
“[]”:表示可以匹配字符组中的任意一个字符
[abc]、[a-f]
六.设置别名-alias
1.通过别名机制简化常用的,比较长的命令
alias 命令别名=‘命令’
示例 设置myls为ls-alh的别名
alias myls=‘ls-alh’
2.取消别名
unalias 命令别名
七.统计目录及文件空间占用情况-du
1.统计指定目录或者文件所占用磁盘空间的大小
du [选项] [文件或者目录....]
2.常用选项
-a:统计磁盘空间占用时包括所有的文件,而不仅仅是统计目录
-h:以更人性化的方式(默认以KB计数,但是不显示单位)显示出统计结果
-s:只统计所占用空间总的大小,而不是统计每个子目录,文件的大小
--max-depth=n:统计所有小于等于第n层的目录大小。
例如:统计出/var/log目录中子目录的大小。
du -h --max-depth=1/var/log/
八.创建新的目录-mkdir
1.创建新的空目录
mkdir [选项] 目录位置及名称
-p:一次性创建嵌套的多层目录
2.示例
a。在当前目录下创建名为public_html的子目录
mkdir public_html
b。创建目录/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc
mkdir -p /aa/bb/cc
九.创建空文件夹-touch命令
1.更新文件的时间标记
2.经常用于创建多个新的空文件夹
touch 文件....
3.示例
创建两个空文件夹,文件名分别是aa.txt和bb.txt
touch aa bb
touch {a,b}.txt
十.创建链接文件
1.为文件或目录建立链接文件,类似于Windows系统的快捷方式
2.链接文件类型
软连接(又称符号链接)
硬链接
创建软连接: ln [-s] 源文件或目录... 链接文件或目录位置
示例:ln -s /bin/bzip2/bin/wx/
3.软连接硬连接的区别
文件类型 软链接文件 硬链接文件
删除源文件之后 失效 任然可用(文件占用空间与原文件相同)
使用范围 适用于文件和目录 仅适用于文件
保持位置 与源文件可在不同的文件系统中 必须与源文件在同一个文件系统中(同分区)
与源文件关系 相当于快捷方式 相当于给文件起个别名
inode号码 inode号码不同 inode号码不同
4.注意事项
当一个文件拥有多个硬链接时,对文件内容修改,会影响到所有的文件名;但是删除一个文件名,不会影响别的文件名。删除一个文件名,只会使得“硬链接减一”。
不能对目录做硬链接。在日常的工作中几乎不会建立文件的硬链接。
十一.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/
十二.删除目录或文件-rm
1.删除指定的文件或目录
rm [选项] 要删除文件或目录...
2.常用选项
-f:删除文件或目录时不进行提醒,而直接强制删除。
-i:删除文件或目录时提醒用户确认。(Y表示删除,N表示不删除)
-r:删除目录时必须使用此选项,表示递归删除整个目录树(应进谨慎使用)。
注:不要直接删除系统中已有目录或配置文件,以免出现意外故障。
例子:
rm -rf /etcyum.repos.d/*
删除目录下的文件时建议最好先切换到目录下在执行rm -rf命令
十三.移动文件或目录-mv
1.将指定文件或目录转移位置
2.如果目标位置和原位置相同,则相当于执行重命名操作
mv [选项]...源文件或目录...mu目标文件或目录
3.示例
mv mythouch mkfile
mv mkfike public_html/
十四.使用find命令实现多个查找条件
1.各个表达式之间使用逻辑运算符
"a"表示而且(and)
“-o”表示或者(or)
2.示例
find /boot -size +1024k -a -name "vmlinuz*"
find /boot -size +1024k -o -name "vmlinuz*"
十五.查找命令文件存放目录-which
1.搜索范围变量有环境变量PATH(echo&PATH)
which 命令|程序 //默认当找到第一个目标文件后不再继续查找
或者
which -a 命令|程序名 //在所有搜索路径中查找
2.示例
which is
which history
使用which查找内部命令时,将找不到对应程序。
十六.查找文件或目录-find
1.采用递归的方式,根据目标的名称类型,大小等不同属性进行精细查找
find [查找范围] [查找条件表达式]
| |
查找文件或 查找文件类型
子目录的范围
2.常用查找条件类型
查找类型 关键字 说明
按名字查找 -name 根据目标文件的名称进行查找,允许使用“*”及“?”通配符。
按文件大小查找 -size 根据文件的大小进行查找
一般使用“+”,“-”号设置超过或小于指定大小作为查找条件,
常用的容量单位包括kB(注意k是小写)、MB、GB
按文件属性查找 -user 根据文件是否属于目标用户进行查找
按文件类型查找 -type 根据文件类型进行查找
文件类型包括普通文件(f)、目录(d)、块设备文件
(b)、字符设备文件(c)等。
块设备文件(b):成块读取数据的设备(硬盘,内存,光驱)
字符设备文件(c):按单个字符读取数据的设备(键盘,鼠标)
3.find之exec用法
a、 -exec参数后面跟的是Linux命令,它是以分号“,”为结束标志,由于各个系统中分号会有不同的意义,因此在分号前面加上反斜杠转义符“\”。
{}代表前面find查找出来的文件名。
b、find命令匹配到了当前目录下的所有普通文件,并在-exec选项中使用ls -l命令将他们列出
find ./ -type f -exec ls -l {} \;