前言
-
Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。
-
Linux命令在系统中有两种类型:内置Shell命令和Linux命令。
一:Linux命令基础
1.1:Shell脚本
-
Windows中有cmd,Linux中有Shell。
-
所有系统的内核都是C语言开发出来的。C语言面向过程,C++面向对象。C语言和C++同时存在。
-
所有语言的特性:源码文件–》编译器–》执行文件
语言 | 编译器 |
---|---|
Java | jdk |
Python | Python2/3 |
Linux | Shell |
1.2:Linux命令的分类
-
内部命令:集成在Shell解释器内的,属于Shell的一部分。
-
外部命令:独立文件的存在。
内部命令 | 外部命令 |
---|---|
集成与shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于shell的一部分 | 属于shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由shell加载后才能执行。 |
1.3:Linux命令行的格式
1.3.1:命令字
- 是整条命令中最关键的一部分,唯一确定一条命令。执行的是操作,如新建,删除,重命名等。
1.3.2:选项:
-
理解为功能。短格式最常用
-
短格式选项:使用“-”符号引导:多个单字符选项可以组合在一起使用。跟单个字符。优点:使用最短的字符查看最多的信息。
-
如:ls -a:查看所有文件
-
ls -l :查看文件详细信息
-
ls-al:查看所有文件的详细信息。
-
长格式选项:使用“–”符号引导。跟单词 。
1.3.3:参数
- 命令处理的对象。
1.4:编辑Linux命令行
1.4.1:编辑Linux命令行的辅助操作
键位 | 解释 |
---|---|
Tab键 | 补全命令或者路径 |
反斜杠“\” | 强制换行 |
快捷键Ctrl+U | 清空至行首 |
快捷键Ctrl+K | 清空至行尾 |
快捷键Ctrl+L | 清屏 |
快捷键Ctrl+C | 取消本次命令编辑 |
1.4.2:基本Linux名词解释
-
[root@localhost ~]# :{当前用户@主机名 所在位置目录}身份权限
-
root:当前登录系统用户
-
@ :分隔符
-
localhost:主机名
-
~ :当前所在目录位置
-
#:管理员
-
$:普通用户
1.4.3:简单了解几个命令
-
hostnamectl set-hostname 要更改的名称
-
su :重新加载bash环境、不需要重启就能使更改的名称生效
-
Tab:自动补全:制表符
-
history:查看历史指令
-
history -c:清除历史指令
-
ls:查看
-
ls -la:查看所有详细信息
二:Linux命令帮助
2.1:获得命令帮助的方法
-
“- -help”:被汉化,命令不太全。如:ls --help
-
man 命令查看.如:man ls
内部命令 help
查看Bash内部命令的帮助信息
命令的“--help”选项
适用于大多数外部命令
使用man命令阅读手册页
使用↑,↓方向键滚动文本
使用Page Up 和 Page Down 键翻页
按Q或q键退出阅读环境,按“/”键查找内容
三:命令讲解
3.1:查看当前的工作目录-pwd
- pwd显示的是绝对路径
查看当前的工作目录
[root@localhost~]#pwd
/root(当前工作目录)
3.2:切换工作目录-cd
格式 | 说明 |
---|---|
cd 目标位置 | 切换到目标位置 |
cd~ (家目录) | 若不指定目标位置,切换到当前用户的宿主目录(家目录) |
cd - | 切换为上一次所在位置 |
3.3:相对路径的表现形式
. 当前工作目录
.. 当前目录的上一级目录
cd.. 返回上一层目录
cd../../ 返回上上一层目录
-
绝对路径:从/ 根目录开始的
-
相对路径:相对路径参照路径(当前所在位置)
-
家目录=宿主目录
-
家目录有两种
-
管理员(/root)
-
普通用户(/home)
3.4:列表显示目录内容-ls
ls命令基本格式
ls [选项] [文件或目录]
常用选项
-l 显示文件的详细信息
-a 查看隐藏文件
-A 查看隐藏文件,除了. ..
-d 显示本目录的信息
-h 友好形式显示带有单位的信息
-R 递归显示(如果有子目录,则会把子目录中的文件依次展现)
--color 以颜色区分文件类型
黑色(数据文件)
蓝色(目录/文件夹)
红色(压缩包)
绿色(执行文件/命令文件/脚本)
天蓝色(连接文件/快捷方式)
黄色(设备文件/磁盘文件)
结合通配符使用
“?”:匹配文件名中的一个未知字符
“*”:匹配文件名中的任意多个字符
3.5:设置别名-alias
- 通过别名机制简化常用的,比较长的命令
命令基本格式
alias 要设置的名称 = '被设置的命令'
比如命令:ls -alh比较长,我们可以使用alias来设置别名为 myls
alias myls = 'ls -alh'
3.6:统计目录及文件空间占用情况-du
- 统计指定目录(或文件)所占磁盘空间的大小
统计指定目录(或文件)所占磁盘空间的大小
命令基本格式
du [选项] [文件或目录]
常用选项
-a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
-s 只统计所占空间总(Summary)大小,而不是统计每个子目录,文件的大小
例如
统计所有文件总共占用的空间大小
du -sh /var/log/
- 不可以使用du -ash
3.7:创建新目录-mkdir
创建新的空目录
基本格式
mkdir [选项] 目录位置及名称
常用选项
-p 一次性创建嵌套的多层目录
例如:在当前目录下创建名为11的子目录
mkdir 11
创建目录/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc
mkdir -p /aa/bb/cc
3.8:创建空文件-touch命令
- 创建多个文件:touch {1…10}.txt:创建10个txt文件,名称为 1-10.
- 创建有内容的文件:
创建命令:echo “this is test” > new.txt
查看命令:cat new.txt
3.9:创建链接文件-ln
-
软链接:相当于快捷方式
-
硬链接:相当于文件的别名
文件节点(文件在磁盘中存储的标识序列)唯一的
查看文件节点命令:ls -i
ln命令基本格式
ln [-s] 源文件或目录 链接文件或目标位置
常用选项
-s 创建软链接
例如,创建/bin/bzip2的软链接到/bin/wx/目录下
ln -s /bin/bzip2 /bin/wx/
3.10:复制文件或目录-cp
将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录
命令基本格式
cp [选项] 源文件或目录 目标文件或目录
常用选项
-f 覆盖目标同名文件或目录时不进行提醒,直接强行复制
-i 覆盖目标同名文件或目录时提醒用户确认
-p 复制时保持源文件的权限,属主及时间标记等属性不变
-r 复制目录时必须使用此选项,表示递归复制所有文件及子目录
3.11:删除文件或目录-rm
删除指定的文件或目录
命令基本格式
rm [选项] 要删除的文件或目录
常用选项
-f
-i
-r
例如:删除11
rm -rf 11
3.12:移动文件或目录-mv
- 将指定的文件或目录转移位置
- 若目标位置与原位置相同,则相当于执行重命名操作
命令基本格式
mv [选项] 源文件或目录 目标文件或目录
3.13:查找命令/文件存放目录-which
- 搜索范围由环境变量PATH决定(echo $PATH)
命令基本格式
which 命令|程序名
或者
which -a 命令 |程序名
例如
which ls 查找ls命令所在位置
3.14:查找文件或目录-find
- 采用递归方式,根据目标的名称,类型,大小等不同属性进行精细查找
命令基本格式
find [查找范围] [查找条件表达式]
条件表达式之间的逻辑运算符
-a 表示 而且(and)
-o 表示 或者(or)
例如:
在/boot中查找大小大于1024k,而且名称含有vml的文件
find /boot -size +1024k -a -name “vml*”
在/boot中查找大小大于1024k,或者名称含有vml的文件
find /boot -size +1024k -o -name “vml*”