Linux基础命令
目录一、Linux的优势
优势 |
---|
1.一切都是一个文件。(包括硬件,文本二进制,源代码) |
2、系统小型轻量级。 |
3、避免令人困惑的用户界面就是没有复杂的图形界面 |
4、不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型。 |
5、免费 |
二、Shell
1.Shell的概念
1.Linux系统中运行的一种特殊程序
2.在用户和内核之间充当“翻译官”
3.用户登录Linux系统时,自动加载一个Shell程序
4.Bash时Linux系统中默认使用的Shell程序
2.Shell的内、外部命令
内部命令 | 外部命令 |
---|---|
内部命令和bash 软件时一体的,bash中继承了很多命令 | 不在bash 软件中,有独立的执行文件 |
没有独立的文件 | 需要额外安装 |
不用独立安装 | 系统需要知道命令的位置才可以运行 |
直接运行在内存中,无需加载 | 放在磁盘上 |
三、目录结构
目录 | 作用 |
---|---|
bin | 普通用户存放二进制文件 |
sbin | 超级管理员使用的二进制文件 |
etc | 放配置文件,用户配置,网卡配置等 |
mnt | 挂载点 |
opt | 第三方软件 |
boot | 存放开机启动文件,linux内核 |
dev | 存放硬件文件 |
proc | 显示内存中的详细信息 |
root | 超级管理员的家目录 /roo t 普通用户的家目录在 /home/普通用户的名字 |
var /log | 日志 |
四、命令简述
1.命令行格式
格式
命令字 空格 [选项] 空格 [参数]
解释命令字 选项 参数各自的意思及具体使用方法
- 命令字
是整条命令中最关键的一部分
唯一确定 - 选项
短格式选项:使用“-”符号引导 通常 一个字母
长格式选项:使用“--”符号引导 通常完整的单词 - 参数
命令字的处理对象
可以是文件名、目录(路径)名或用户名等内容
个数可以是零到多个
;可以隔开命令,执行多个命令
2.编辑命令行的辅助操作
操作 | 作用 |
---|---|
Tab键 | 自动补齐 |
反斜杠"\" | 强制换行 |
Ctrl+u组合键 | 清空至行首 |
Ctrl+k组合键 | 清空至行尾 |
Ctrl+L组合键 | 清屏 |
Ctrl+C组合键 | 取消本次命令编辑 |
上下键 | 回看执行过的命令 |
3.获得命令帮助的方法
方法 | |
---|---|
内部命令help | 查看Shell内部命令的帮助信息 |
命令的"-help"选项 | 适用于大多数Linux外部命令 |
使用man 命令阅读手册页 | 使用"↑"“↓”方向键滚动一行文本,使用Page Up和Page Down键翻页,使Q和q键退出阅读环境,按“\”键查找内容,n向下,N向上 |
4.通配符
通配符匹配的是文件的名字,正则表达式匹配的是文件中的内容
符号 | 效果 |
---|---|
? | 匹配一个字符 |
* | 任意长度的字符 |
{1..10} \ {a..z} \ | 1-10 \ a-z \ A-Z |
[123] | 取其中之一 ,有就显示,没有就不显示 |
\ | 转义符,表示原来的意思 |
[^zhou] | 匹配列表中的所有字符以外的字符 |
5.别名:alias
1.alias 命令别名=“命令”
2.unalias 别名命令 删除别名
3.\加别名命令(显示原始命令)
6.pwd (print work directory)
显示当前文件夹下的绝对路径
7.切换工作目录: cd
cd 目标位置 change directory
命令 | 效果 |
---|---|
cd ~ | 切换到当前用户的宿主目录(家目录) |
cd - | 到前一次目录 |
一个点号"."开头 | 表示以当前的工作目录作为起点(已点开头的是) |
两个点号".."开头 | 表示以当前目录的上一级目录(父目录)作为起点 |
“~用户名”形式开头 | 表示已指定用户的宿主目录(家目录)作为起点 |
~xiaoming18(有个用户叫xiaoming18 家目录为起点) | 表示以指定用户的宿主目录作为起点 |
“.”开头文件 | 表示隐藏文件 |
8.ls命令
ls [选项] [文件或目录]
命令 | 效果 |
---|---|
ls -a | 显示隐藏文件(linux已点开头的文件为隐藏文件) |
ls -A | 显示隐藏文件,不显示(.和..) |
ls -d | 只显示本目录(ls -ld只显示本目录的属性) |
ls -r | 倒叙排列 |
ls -t | 按时间排序(新的在前,旧的在后) |
ls -S | 文件大小排序 |
ls -h | 人性化显示 |
ls -i | 显示文件的inode号(inode是有限的,一般来说是唯一的) |
ls -R | 文件递归显示(文件夹下的所有子目录和子子目录和文件全部显示) |
ls -l | 长格式显示文件的属性 |
第一个字符代表文件属性:—普通文件 、d文件夹、c字符设备 键盘 、b 块设备(硬盘),l软连接 类似于Windows快捷方式、p用于程序之间的数据传递,特点单向、s套接字 传递数据可以跨主机双向的
后面的9个字符代表文件的权限,三个一组:属主,属组,其他
在后面的1个字符:文件的连接个数,硬链接
第一个root :文件的拥有者
第二个root:代表文件的拥有者
0:文件的大小
3月27 12:14 :文件使用的时间
文件的名字:123
9.复制:CP
cp [选项] 源文件 目标
cp [选项] 源文件 文件夹
命令 | 效果 |
---|---|
cp -f | 强制执行 |
cp -p | 保留权限复制 |
cp -r | 递归复制:复制文件夹一定要加 |
cp -i | 提醒覆盖 |
cp -a | 更强大的保留权限 可以替代-r ,-p |
10.创建文件夹:mkdir 创建文件:touch
mkdir:
mkdir [选项] 目录位置及名称
命令 | 效果 |
---|---|
mkdir -p | 递归创建 |
mkdir -v | 显示创建过程 |
touch:
touch 文件名称
命令 | 效果 |
---|---|
如果存在 | 刷新文件时间 |
如果不存在 | 新建文件 |
11.磁盘使用量:du
du [选项] [文件或目录]
命令 | 效果 |
---|---|
du -a | 显示所有 |
du -s | 显示总和 |
du -h | 人性化显示 |
du -d | 显示层级(如du -d2显示当前文件夹下的2层目录) |
注意:a和s不能同时使用
du看到的不是文件的真是大小,而是该文件占用了磁盘的具体空间,不满4k按4k算而ls-l或ll都看到的是文件的真实大小。
12.ln硬链接和软链接
硬连接 同一个文件取不同的名或者叫多个名字(比如 苏轼 字子瞻 号东坡居士 苏二 谥号文忠 )不支持文件夹,创建一个连接数加一,多路径访问。
软连接 类似于windows里快捷方式,软连接,符号连接,会指向原来的文件
对比项 | 硬链接 | 软链接 |
---|---|---|
本质 | 本质是同一个文件 | 本质不是同一个文件 |
inode(身份证号) | 相同 | 不同 |
连接数 | 创建新的硬链接,链接数会增加,删除硬链接,链接数减少 | 删除,新建都不会改变 |
文件夹 | 不支持 | 支持 |
删除源文件 | 只是链接数减一,但链接文件的访问不受影响 | 无法访问连接文件 |
文件类型 | 和源文件相同 | 链接文件,和源文件无关 |
文件大小 | 和源文件相同(指向硬盘上的同一个文件) | 源文件的路径的长度 |
ln 源文件(绝对路径)
ln -s源文件(绝对路径)
13.移动或改名:mv
mv [选项] [源文件或目录] 目标文件或目录 单个文件
源文件不改变路径就是改名,源文件改变路径就是移动。
也可以移动并修改名字
命令 | 效果 |
---|---|
-f | 强制覆盖,如文件已存在,不询问 |
-i | 交互移动,如文件已存在,询问 |
-n | 如目标文件已存在,不会覆盖移动,而且不询问用户 |
-v | 显示文件或目录的移动过程 |
14删除文件
rm [选项] 要删除的文件或目录
命令 | 效果 |
---|---|
-f | 强制 |
-i | 交互 |
-r | 递归 |
15 查找文件
15.1locate
locate 查询系统上的预建的文件索引数据库
索引的构建是在系统较为空闲时自动进行的,执行updatedb可以更新数据库
15.2find
优点
精确查找
实时查找
支持查找条件巨多
find [查找范围] [option]...[查找条件] [处理动作]
查找范围:你要找的文件范围,不写就是默认在当前文件夹
条件表达式:选项 表达式,描述你要找到文件
处理动作:对找到的文件进行处理(删除 复制 移动)
常用可选项
查找类型 | 关键字 | 说明 |
---|---|---|
按名称查找 | -name | 根据目标文件的名称进行查找,允许使用“*”及“?”通配符 -iname "文件名称" 不区分大小写 |
按文件大小查找 | -size | 根据目标文件的大小进行查找,一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件,常用的容量单位包括 kB(注意 k 是小写)、MB、GB |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件的类型进行查找文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等 |
按inode号 | -inum | 根据文件inode号查找 |
最大搜索目录深度 | -maxdepth level | 将你的文件已分级的形式查找 |
最小搜索目录深度 | -mindepth level | 同上 find /etc -maxdepth 2 -mindepth 2 |
根据时间戳 | - mytime -atime -ctime | 根据文件的时间来排序 #以“天”为单位 -atime [+|-]# #表示[#,#+1) 如#是3 3 到 4天 +#表示[#+1,∞] 如#是3 代表 4天以上 -#表示[0,#) 如#是3 3天以内 |
处理动作
命令 | 效果 |
---|---|
默认的处理动作,显示至屏幕 | |
-ls | 类似于对查找到的文件执行”ls -dils“命令格式输出 |
-fls | 查找到的所有文件的长格式信息保存至指定文件 |
-delete | 删除查找到的文件,慎用 |
-ok command{} \ | 对查找到的每个文件执行由COMMAND指定的命令,对于每个文件执行命令之前,都会交互式要求用户确认 |
-exec command{}\ | 对查找到的每个文件执行由COMMAND指定的命令 {}: 用于引用查找到的文件名称自身 |