linux基础命令
一、shell概述
1.Linux系统中运行的一种特殊程序
2.在用户和内核之间充当“翻译官”
3.用户登录Linux系统时,自动加载一个shell程序
4.bash是Linux系统中默认使用的shell程序(文件位于/bin/bash)
二、linux命令分类
1.内部命令
1)集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令
2)属于Shell的一部分
3)没有单独对应的系统文件
4)自动载入内存,可以直接使用
2.外部命令
1)Linux系统中能够完成特定功能的脚本文件或二进制程序
2)属于Shell解释器程序以外的命令
3)每个外部命令对应了系统中的一个文件
4)必须知道其对应的文件位置,由Shell加载后才能执行
三、linux命令行
3.1 格式
命令字 【选项】 【参数】——英文字符区分大小写
1.命令字
是整条命令中最关键的一部分
唯一确定一条命令
2.选项
短格式选项:使用“-”符号引导——多个单字符选项可以组合在一起使用 例如:-a -b -c
长格式选项:使用“–”符号引导 例如:–help
3.参数
命令字的处理对象
可以是文件名、,目录(路径)名或用户名等内容
个数可以是零到多个
3.2 编辑Linux命令行
编辑Linux命令行的辅助操作
Tab键(两下):自动补齐(提示)
反斜杠\:强制换行(其实没换行,只是显示的换行)
Ctrl+U组合键:清空至行首(不包含/)
Ctrl+K组合键:清空至行尾 (包含/)
Ctrl+L组合键:清屏 (配置还在)
Ctrl+C:取消本次命令编辑
Ctrl+a:切换到行首
Ctrl+e:切换到行尾
3.3 获得命令帮助的方法
1.内部命令 help
查看shell内部命令的帮助信息
2.命令的“–help”选项
适用于大多数Linux外部命令
3.使用man命令阅读手册页
使用“↑”、“↓”方向键滚动一行文本
使用Page Up和Page Down键翻页
按Q或q键退出阅读环境
按“/”键查找内容
4.百度
注:1)查看内部命令:help;enable (内部命令集合);type+命令 (判断)
2)禁用内部命令:enable -n (cd) cd是/user/bin/cd
开启内部命令:enable (cd) cd是shell内嵌
3)哈希命令(缓存命令)
四、Linux基础命令
4.1 pwd:查看当前的工作目录
pwd命令用于显示用户当前所在的工作目录位置,工作目录是用户操作文件或其他子目录的默认位置起点。使用pwd命令可以不添加任何选项或者参数。
示例:[root@localhost ~]# pwd
当前工作目录:/root
4.2 cd:切换工作目录
4.2.1 cd格式
1.cd目标位置:切换到目标位置
2.cd ~:若不指定目标位置,切换到当前用户的家目录
3.cd:同cd ~
4.cd -:切换到上一次执行cd命令之前所在的目录
4.2.2 绝对路径
以根号“/”为起点的路径称为绝对路径
以根号“/”为起点的目录称为根目录
4.2.3 相对路径
4.3 ls:以列表显示目录内容
4.3.1 用法及形式
ls命令主要用于显示目录中的内容,包括子目录和文件的相关属性信息等。使用的参数可以时目录名,也可以是文件名,允许在同一条命令中同时使用多个参数
命令形式:ls [选项] [文件/目录]
4.3.2 常用形式
1.ls -l:以长格式(Long)显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息。ll 命令与ls-l功能相同
2.ls -a:显示所有(All)子目录和文件的信息,包括名称以点号”.”开头的隐藏目录和隐藏文件。 – A 与 -a 选项的作用基本类似,但有两个特殊隐藏目录不会显示,即表示当前目录的”.“和表示父目录的”…”
3.ls -d:显示目录(Directory)本身的属性,而不是显示目录中的内容。一般为ls -dl连敲
4.ls -h:以更人性化(Human)的方式显示目录或文件的大小,默认的大小单位为字节(B) ,使用 -h 选项后将显示为KB、MB等单位。此选项需要结合 -l 选项一起使用。一般为ls -lh连敲
5.ls -R:以递归(Recursive)的方式显示指定目录及其子目录中的所有内容
6.ls –color:在字符模式中以颜色区分不同的文件。默认已开启。 通常情况下,深蓝色表示目录,,白色表示一般文件,绿色表示可执行的文件,黄色表示设备文件,红色表示压缩文件,天蓝色表示软连接文件
7.ls -i:显示文件和目录的inode号
4.3.3 ls-l的详解
1.第一字段:文件属性字 第一个字符代表文件的类型:
“-”表示该文件是一个普通文件“d”表示该文件是一个目录“l”表示该文件是一个软连接文件,类似于windows下的快捷方式
第一字符的后面9个字母表示该文件或目录的权限位:r表示读(查看、下载);w表示写(添加、更改、删除、上传);x表示执行(运行文件、切换目录),前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户的权限
2.第二字段:文件硬链接数
如果一个文件不是目录,此时这一字段表示这个文件所具有的硬链接数,如果是一个目录,则第二字段表示该目录所含子目录个数如果新建一个空目录,这个目录的第二字段就是2,表示该目录下有两个子目录
3.第三字段:文件/目录拥有者
4.第四字段:文件/目录所在的组
5.第五字段:文件所占用的空间(默认以字节为单位)
如果是一个目录,则表示该目录的大小,而不是目录及它下面文件的总大小。Linux系统中一切皆文件,因此目录也是一种文件。
6.第六字段:文件/目录最近访问或修改时间
7.第七字段:文件名
如果是一个符号链接(软链接文件) ,那么会有一个“->”箭头符号,后面跟一个它指向的文件
4.3.4 ls 结合通配符
1.“?” 代表任意一个字符,有且只有一个
2.“*” 代表任意数个字符,可以使0个或者1个或者多个
3.“[]” 表示可以匹配字符组中的任意一个字符
4.4 alias:设置别名
命令形式:alias 命令别名=‘命令’
举例:设置myls为ls -alh的别名
具体命令为alias myls=‘ls -alh’
取消别名的命令为unalias myls
4.5 du:统计目录及文件空间占用情况
4.5.1 命令形式
du [选项] [文件/目录]
4.5.2 常用选项
1.直接du:只统计目录
2.du -a:统计磁盘空间占用时包括所有的文件,而不是仅仅只统计目录
3.du -h:以更人性化的方式(默认以kB计数,不显示单位)显示结果
4.du -s:只统计所占空间总大小,而不是统计每个子目录、文件的大小
5.–max-depth=n:统计所有小于等于第n层的目录的总大小
例如:统计出/var/log目录中子目录的大小
具体命令为du -h –max-depth=1 /var/log
注:-s与-a冲突,不能同时敲
4.6 mkdir:创建新目录
命令形式:mkdir [选项] [目录位置及名称]
mkdir -p:一次性创建多个递归目录
举例:1.创建名为zhangsan的子目录
mkdir zhangsan
2.在当前目录下创建目录/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc
mkdir -p /aa/bb/cc
4.7 touch:创建空文件
4.7.1 作用
1.更新文件的时间标记
2.用于创建多个新的空文件夹
4.7.2 命令形式
touch 文件
举例:创建aa.txt和bb.txt两空文件夹
1.touch aa.txt bb.txt
2.touch {aa,bb}.txt
4.8 ln:创建链接文件
4.8.1 作用
为文件或目录建立链接文件,类似于windows系统的快捷方式
4.8.2 分类
1.软链接:又称符号链接,一般对象为目录/文件
2.硬链接:一般对象为文件
4.8.3 命令形式
ln [-s] 源文件或目录….链接文件或目标位置
注:[-s]为创建软链接
举例:ln -s /bin/bzips /bin/wx
4.8.4 软/硬链接定义
注:在Linux中,文件名和文件的数据是分开的
1.只有文件的 硬链接数=0 才会被删除
2.使用 ls -l 可以查看一个文件的硬链接数
3.在日常工作中,几乎不会建立文件的硬链接
4.8.5 软/硬链接区别
注:1.当一个文件拥有多个硬链接时,对文件内容修改,会影响到所有文件名;但是删除一个文件名,不影响别的文件名的访问。删除一个文件名,只会使得”硬链接数”减1。
2.需要注意的是不能对目录做硬链接。
4.9 cp:复制文件或目录
4.9.1 作用
将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录
4.9.2 命令形式
cp [选项] …源文件或目录… 目标文件或目录…
4.9.3 常用选项
1.cp -f :覆盖目标同名文件或目录时不进行提醒,而直接强行复制
2.cp -i :覆盖目标同名文件或目录时提醒用户确认
3.cp -p :复制时保持源文件的权限、属主及时间标记等属性不变
4.cp -r :复制目录时必须使用此选项,表示递归复制所有文件及子目录注:复制多个文件或目录时,目标位置必须是目录,且目标目录必须已存在
4.10 rm:删除文件或目录
4.10.1 命令形式
rm [选项] 要删除的文件或目录…
4.10.2 常用选项
1.rm -f :删除文件或目录时不进行提醒,而直接强制删除
2.rm -i :删除文件或目录时提醒用户确认。(y表示删除,n表示不删除)
3.rm -r :删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)
注:不要直接删除系统中已有的目录或配置文件,以避免出现意外故障,千万不要敲rm -rf /*(删库跑路专用)
4.11 mv:移动文件或目录
4.11.1 作用
1.将指定的文件或目录转移位置
2.如果目标位置与源位置相同,起重命名作用
4.11.2 命令形式
mv [选项] …源文件或目录… 目标文件或目录
举例:1.mv mytouch myfile
2.mv mkfile zhangsan/
注:这边mv只针对一个文件或者目录,如果针对多个对象,我们可以用rename命令,具体命令形式rename 旧字符 新字符 目标文件,比如rename jpg gif *.jpg(把所有jpg格式文件改为gif格式)
4.12 which:查找命令文件存放目录
搜索范围由环境变量PATH决定(echo $PATH)
命令形式:1.which 命令/程序名 ###默认找到第一个后不再查找
2.which -a 命令/程序名 ###在所有搜索路径查找
注:当使用which查找内部命令,将找不到对应程序
4.13 find:查找文件或目录
4.13.1 作用
采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找
4.13.2 命令形式
find [查找范围] [查找条件表达式]
查找范围:文件或子目录的目录位置
查找条件表达式:查找条件类型
4.13.3 查找条件类型
4.13.4 实现多条件查找
各表达式之间使用逻辑运算符
“-a” 表示而且 ##表示需要同时满足
“-o” 表示或者 ##表示只需要满足其中一个
举例:find /boot -size +1M -a -name “vmlinux”
find /boot -size +1M -o -name “vmlinux”
4.13.5 find之exec用法
1.-exec 参数后面跟的是Linux命令,它是以分号”;”为结束标志,由于各个系统中分号会有不同的意义,因此在分号前面加上反斜杠转义符“\”。 {}代表前面find查找出来的文件名。
2.find 命令匹配到了当前目录下的所有普通文件,并在 -exec 选项中使用 ls-l 命令将它们列出
举例:find ./ -type f -exec ls -l{}反斜杠;