文章目录
一、Linux命令基础
1.1 Shell
Linux系统中运行的一种特殊程序;
在用户和内核之间充当“翻译官”的角色,也称为“解释器”;
用户登录Linux系统时,自动加载一个shell程序;
Bash是Linux系统中默认使用的shell程序,文件是位于/bin/bash。
二、Linux命令分类
2.1 内部命令与外部命令的区别
2.1.1 查看内部命令
help
enable
type
2.1.2 禁用内部命令
enable -n
2.2 通用的命令行的格式
命令字 | [选项] | [参数] |
---|---|---|
操作 | 功能 | 要执行的对象 |
2.2.1 命令字
是整条命令字中最关键的部分
唯一确定一条命令
2.2.2 选项
短格式选项:使用“-”符号引导
长格式选项:使用“--”符号引导
2.2.3 参数
命令字的处理对象
可以是文件名,目录(路径)名或用户名等内容
个数可以是零到多个
2.3 编辑Linux命令行的辅助操作
tab键:自动补齐
反斜杠“\”:强制换行
Ctrl+U组合键:清空至行首
Ctrl+K组合键:清空至行尾
Ctrl+L组合键:清屏(相当于clear)
Ctrl+C组合键:取消本次命令编辑
Ctrl+A组合键:光标切换至行首
Ctrl+E组合键:光标切换至行尾
2.4 获取命令帮助的方法
2.4.1 内部命令help
查看shell内部命令的帮助信息
2.4.2 命令的“–help”选项
适用于大多数Linux外部命令
2.4.3 使用“man”命令阅读手册页
1、使用“↑”,“↓”(Enter)方向键滚动一行文本;
2、使用PageUp和PageDown(空格)键翻页;
3、按Q或者q键退出阅读环境;
4、按“/”键查找内容,n键向下查找,N键向上查找。
三、shell基础命令
3.1 pwd—查看当前的工作目录
3.2 cd—切换工作目录
3.2.1 将用户的工作目录更改到其它位置
3.2.2 绝对路径
3.2.3 相对路径
3.3 ls—列表现实目录内容
3.3.1 常规格式
ls [选项] [文件或目录]
3.3.2 常用选项
-l: 以长格式(Long)显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息。ll命令与 ls -l 功能相同。
-a: 显示所有(All)子目录和文件的信息,包括名称以点号"."开头的隐藏目录和隐藏文件。
-A: 与-a选项的作用基本类似,但有两个特殊隐藏目录不会显示,即表示当前目录的"."和表示父目录的"..".
-d: 显示目录(Directory)本身的属性,而不是显示目录中的内容。
-h: 以更人性化《Human〉的方式显示目录或文件的大小,默认的大小单位为字节(B),使用-h选项后将显示为KB、MB等单位。此选项需要结合 -l 选 项一起使用。
-R: 以递归(Recursive)的方式显示指定目录及其子目录中的所有内容。
--color:在字符模式中以颜色区分不同的文件。默认已开启
通常情况下,深蓝色表示日录,白色表示一般文件,绿色表示可执行的文件,黄色表示设备文件,红色表示压缩文件。
-i: 显示文件和目录的inode号。
3.3.3 结合通配符
“?”——代表任意一个 字符,且至少一个;
“*”——代表任意数个字符,可以是0个或者1个或者多个;
“[]”——代表可以匹配字符组中的任意一个字符。
3.4 alias—设置别名
通过别名机制简化常用的,比较长的命令。
alias 命令别名=“命令“ "="
3.4.1 命令别名
alias myls=“ls-alh” 别名是myls
3.4.2 取消别名
unalias myls
3.5 du—统计目录及文件空间占用情况
3.5.1 命令格式
统计指定目录(或文件)所占用磁盘空间的大小。
du [选项] [文件或目录]
3.5.2 常用选项
3.5.3 统计出/var/log目录中子目录的大小
du -h --max-depth=1 /var/log/
3.6 mkdir—创建新目录
3.6.1 创建单个新目录
mkdir [选项] 目录位置或名称
3.6.2 创建嵌套的多层目录
mkdir -p /111/222/333(创建目录/111,在/111目录下创建子目录/222,在目录/222下创建子目录/333)
3.7 touch—创建空文件
3.7.1 作用
1、更新文件的时间标记;
2、经常用于创建多个新的空文件。
3.7.2 创建格式
1、touch aa bb
2、touch {aa,bb}.txt
两种格式都适用,第二种相当于对第一种格式做了一个扩展。
3.8 ln—创建链接文件
为文件或目录建立链接文件,类似于windows系统的快捷方式。
3.8.1 软链接(又称符号链接)
3.8.2 硬链接
当一个文件拥有多个硬链接时,对文件内容进行修改,会影响到所有文件名;但是删除一个文件名,不会影响别的文件名的访问。删除一个文件名,智慧使“硬链接数”减1。
需要注意的是不能对目录做硬链接,在日常的工作中基本不会对文件做硬链接。
3.8.3 软链接与硬链接的区别
3.9 cp—复制文件或目录
3.9.1 创建格式
cp [选项] ... 源文件或目录...目标文件或目录
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/
3.9.2 常用选项
注:复制多个文件或目录时,目标位置必须时目录,且目标目录必须已经存在。
3.10 rm—删除文件或目录
3.10.1 创建格式
rm [选项] 要删除的文件目录...
rm -rf /etc/yum.repos.d/* 删除目录下所有
注:不要直接删除系统中已有的目录或配置文件,以避免系统故障。
3.10.2 常用选项
-f:删除文件或目录时强制删除;
-i:删除文件或目录时提醒用户确认;
-r:递归删除整个目录树(应谨慎使用)。
3.11 mv—移动文件或目录
如果目标位置与源文件位置相同,相当于执行重命名操作。
3.12 rename—批量修改文件名
格式:rename 旧字符 新字符 目标文件
例:rename jpg gif *. jpg
3.13 which—查找命令文件存放位置
搜索范围由环境变量PATH决定 (echo $PATH)
3.13.1 创建格式
which 命令| 程序名 //默认找到第一个目标后不再继续查找
或
which -a 命令| 程序名 //在所有搜索路径中查找
3.14 find—查找文件或目录
3.14.1 创建格式
find [查找范围] [查找条件表达式]
"-a"表示而且(and)
例:find /boot -size +1024k -a -name “vmlinux”
"-o"表示或者(or)
例:find /boot -size +1024k -o -name “vmlinux”
3.14.2 常用选项
3.14.3 find之exec用法
-exec参数后面跟的是linux命令,它是以分号“;”为结束标志,由于各个系统中分号会有不同的意义,因此在分号前面加上反斜杠转义符“\”。
{}代表前面find查找出来的文件名。
find命令匹配到了当前目录下的所有普通文件,并在-exec选项中使用ls -l将他们列出。
find ./ -type f -exec ls -l {} \ ;
四、命令执行的优先级
第一优先级:指定路径的命令。绝对路径 /root/pwd.sh或者相对路径 ./pwd.sh
第二优先级:别名指定的命令:alias pwd= /root/pwd.sh
第三优先级:内部命令
第四优先级:hash命令
(linux系统会有一个hash表,当你刚开机时,这个hash表为空,每当执行一条命令时,hash表会记录这条命令的路径,就相当于缓存一样。第一次执行命令shell解释器默认的会从PATH路径下寻找该命令的路径,当你第二次使用该命令时,shell解释器首先会查看hash表,没有该命令会去PATH路径下寻找。hash表能提高命令的调用率)
第五优先级:通过PATH定义的查找顺序查找
如果以上顺序都找不到,就会报“未找到命令…”的错误。