1.文件系统
万物皆文件
Linux系统文件分隔符 /
windows系统文件分割符 \
相对路径中: ./ 表示当前目录 …/表示上一层文件目录
文件分类:
? 普通文件:各类数据文件
? 目录文件:即文件夹,只允许管理员对其进行修改,程序只能用不能改
? 设备文件:系统把每个设备映射为一个文件,用于向IO提供连接的文件,分字符设备和块设备
? 管道文件:用于进程间的通信
? 链接文件:类似win快捷方式,可分为软连接和硬连接
文件权限:
? 读:r --4
? 写:w --2
? 执行:x --1
2.常用命令
命令使用格式:
? command [-option] [parameter1] …
空格隔开(空格数量无限制)
多个option间可以不用加空格
2.1帮助
命令 | 选项 | 功能 | 实例 |
---|
–help | | 查看命令的使用帮助 | ls --help |
命令 | 选项 | 功能 | 实例 |
---|
man | 1 2 3 4 5 6 7 8 | 查看命令的使用手册 | man 1 ls | | 默认为1 | | | 1表示标准命令 | 2表示系统调用 | 3表示库函数 | 4设备文件说明 | 5文件格式 | 6游戏和娱乐 | 7杂项、惯例与协定等 | 8管理员命令 |
2.2文件管理
(1)ls 查看文件信息
命令 | 选项 | 选项含义 | 功能 | 实例 |
---|
ls | -a | all | 显示指定目录下所有子目录及文件(包含隐藏) | ls -a | | -l | list? | 以列表的方式显示文件的详细信息 | ls -l | | -h | human readable | 配合 -l 以人性化的方式显示文件的大小 | ls -l -h或者ls -lh | la | | | ls -a | | ll | | | ls -la | |
通配符 | 含义 | 实例 | 实例含义 |
---|
* | 所有字符(256个以下) | ls t*e | 查找以t开头结尾的文件 | ? | 代表文件名中任意一个字符 | ls a.? | 查找3个字符的文件前两个字符为a. | [] | 表示字符数组中任意一个 | ls [a-d]* | 查找以a-d开头的文件 | \ | 转义字符,将通配符变成普通字符 | ls \*a | 查找名为*a的文件 |
(2)> 输出重定向
将命令输出结果重定向到一个文件中
命令 | 功能 | 实例 | 实例含义 |
---|
> | 输出重定向 | ls > a.txt | 将ls将要显示是内容保存到a.txt中,覆盖 | >> | | ls >> a.txt | 追加 |
(3)| 管道
一个命令的输出通过管道作为另一个命令的输入
命令 | 功能 | 实例 | 实例含义 |
---|
| | 一个命令的输出通过管道作为另一个命令的输入 | ls | grep a | 查看当前目录并查看a |
(4)cd 切换工作目录
命令 | 功能 |
---|
cd ~ | 到用户主目录 | cd . | 切换当前目录 | cd … | 切换到上一级目录 | cd - | 切换至上一步所在目录 | pwd | Print Working Directory 打印当前目录路径 |
(5)mkdir 目录
命令 | 功能 | 参数 | 实例 | 实例含义 |
---|
mkdir | make directory创建目录 | -p | mkdir -p a/b/c | 递归创建目录a/b/c | rmdir | remove directory删除目录,目录必须为空 | | rmdir c | 删除目录c | rm | 删除文件 | -i 交互式删除 | -r 删除文件夹 | -f 强制删除 |
(6)ln 建立链接
软链接:类似快捷方式,不占内存,源文件删除则失效 ln -s 源文件 链接文件
硬链接:只能链接普通文件不能链接目录,占内存,类似copy但能始终与源文件保存一致 ln 源文件 链接文件
类型 | 说明 | 格式 | 注意 |
---|
软链接 | 类似快捷方式,不占内存,源文件删除则失效 | ln -s 源文件 链接文件 | 不再同一路径下不能使用相对路径 | 硬链接 | 占内存,类似copy但能始终与源文件保存一致 | ln 源文件 链接文件 | 只能链接普通文件不能链接目录 |
(7)cat 查看文件
cat a | 查看a内容 |
---|
cat a b > c | 把a b 内容合并到c |
(8)grep 搜索
Globally search a Regular Expression and Print 在全局范围内搜索正则表达和打印
grep ‘搜索内容串’ 文件名
参数 | 实例 | 实例含义 |
---|
| grep ‘abc’ a.txt | 搜索a.txt中包含‘abc’的内容,打印所有行 | -v | grep -v ‘abc’ a.txt | 搜索a.txt中不包含‘abc’的内容,打印所有行 | -n | grep -n ‘ab’ a.txt | 额外显示匹配行及行号 | -i | grep -i ‘a’ a.txt | 忽略大小写 |
grep 搜索内容可以是正则表达式
grep常用正则表达式
参数 | 实例 | 含义 |
---|
^a | grep -n ‘^a’ a.txt | 行首,搜索以a开头的行 | a$ | grep -n ‘a$’ a.txt | 行尾,搜索以a结尾的行 | [Ss]igna[Ll] | grep -n ‘[Ss]igna[Ll]’ a.txt | 匹配[]内所有字符中的一个,即搜索signal首尾字母大小写均可 | . | grep -n x.x a.txt | 点代表任意一个字符 | * | grep -n x*x a.txt | 任意个任意字符,可以换行 |
(9)wc 计算文件行或字数
wc=word count?
实例 | 含义 |
---|
wc a.txt | 输出a.txt文件的行数、字数、字节数 | wc -l a.txt | 查看a.txt的行数 | wc -w a.txt | 查看a.txt的字数。一个字被定义为空格、换行分割的字符串 | wc -c a.txt | 查看a.txt的字节数 | wc -m a.txt | 查看a.txt的字符数,不能与-c一起使用 |
(10)find 查找文件
通常用来在特定的目录下搜索符合条件的文件
命令 | 含义 |
---|
find ./ -name test.sh | 查找当前目录下所有名为test.sh的文件 | find /tmp -size 2M | 查找/tmp文件下大小为2M的文件 | find /tmp -size +2M | 查找/tmp文件下大小大于2M的文件 | find /tmp -size -2M | 查找/tmp文件下大小小于2M的文件 | find …/ -size +4k -size -5M | 查找上一级文件夹下大小大于4k小于5M的文件 | find ./ -perm 777 | 查找当前目录下权限为777的文件或目录 |
(11)cp 拷贝
cp [选项] [源文件] [目标文件]
选项 | 实例 | 含义 |
---|
-a | cp /a ~/b | 拷贝a文件夹到主目录b文件夹中,保持文件原有属性进行拷贝(常用于文件夹拷贝) | -f | cp test /d -f | 删除已经存在的目标文件而不提示 | -i | | 交互式复制,在覆盖目标文件前会给出提示 | -r | | 递归复制文件夹,目标文件必须为一个目录 | -v | | 显示拷贝进度 |
(12)mv 移动
mv [选项] [源文件] [目标文件]
可用来重命名
选项 | 含义 | 实例 |
---|
-f | 禁止交互操作,即时覆盖也不提示 | | -i | 交互式操作 | | -v | 显示移动进度 | |
(13)file 获取文件类型
file 文件
(14)tar 归档管理
tar [选项] 文件名 文件
选项 | 实例 | 含义 |
---|
-c | creat tar -cf a.tar a.txt b.txt c.txt | 生成档案文件,创建打包文件,没有进行压缩 | -v | verbose | 显示详细过程,显示进度 | -f | file | 指定档案文件名,其后一定要接.tar文件必须放选项最后 | -t | list | 列出档案中包含的文件 | -x | extract tar -xf a.tar | 解开档案文件 | -C | tar -xvf a.tar.gz -C ./test/ | 解压到指定目录 |
打包 | 解包 |
---|
tar -cvf 生成的包.tar 待打包文件1 待打包文件2… | tar -xvf 待解包名.tar |
(15)gzip 文件压缩解压
压缩 | 解压 |
---|
gzip -r a | gzip -d a.zip |
tar cvzf 压缩包名称 文件1 文件2 … | 指定压缩包的格式为:压缩文件名称.tar.gz |
---|
tar zxvf 压缩包包名 | 指定压缩包的格式为:压缩文件名称.tar.gz | zip -r 目标文件 源文件 | 压缩文件 | unzip -d 解压后目录文件 压缩文件 | 解压文件 |
2.3用户权限管理
指令 | 实例 | 含义 |
---|
which | which ls | 查看ls指令位的位置 | whoami | whoami | 查看当前用户 | who | who | 查看登陆用户 | exit | exit | 退出 | su | su 或者su - | 切换root用户 su - 会停留在当前路径 | | su 用户名A | 切换到用户A | last | last | 查看最后登陆的用户 | chmod | chmod [u/g/o/a] [+/-/=] rwx 文件名 | 修改文件权限 | | chmod 777 文件名 | | chown | chown 用户名 文件或目录 | 修改文件所有者 | chgrp | chgrp 用户组名 文件或目录 | 修改文件所属组 |
2.4系统管理
指令 | 实例 | 含义 |
---|
cal | cal | 查看当前日历 | date | date [MMDDhhmm[[CC]YY][.ss]]+format | 设置时间格式(需要管理员权限) | | format格式 : %H %M %S | 时 分 秒 | ps | ps | 查看进程信息 | | ps -a | 显示终端上的所有进程,包括其它用户的进程 | | ps -u | 显示进程的详细状态 | | ps -x | 显示没有控制终端的进程 | | ps -w | 显示加宽,以便显示更多的信息 | | ps -r | 只显示正在运行的进程 | top | top | 动态显示进程 | kill | kill [选项] 进程ID | 终止进程 | | kill -9 进程ID | 强制终止进程 | init | init 0 | 关机 | | init 6 | 重启 | df | | 检测磁盘空间 | | df -a | 显示所有文件系统的磁盘使用情况 | | df -m | 以1024字节为单位显示 | | df -t | 显示各指定文件系统的磁盘使用情况 | | df -T | 显示文件系统 | du | du [选项] 目录或文件名 | 检测目录所占磁盘空间 | rmp | rmp [选项] 软件包 | 软件安装与卸载 | | -i | 安装 | | -e | 卸载 | apt-get | sudo apt-get update | 获取最新软件包的列表 | | sudo apt-get install 软件包 | 从源安装软件 | | sudo apt-get remove 软件包 | 卸载软件 | ifconfig | ifconfig | 查看网卡信息 | ping | ping ip地址 | 测试远程主机连通性 |
3.vim使用
vim有输入模式和命令模式
常用命令
按键 | 功能 |
---|
命令模式下 | | 1.进入插入模式 | | a | 光标位置右侧插入文字 | i | 光标位置当前处插入文字 | o(字母) | 光标位置下方开始新行 | O(字母) | 光标位置上方开始新行 | I | 光标所在行首插入文字 | A | 光标所在行尾插入文字 | 2.退出vim | | ZZ(shift+z+z) | 保存退出 | :x | 保存退出 | :wq | 保存退出 | :q | 退出,会提示是否保存修改 | :q! | 退出不保存 | :!命令 | 暂时离开vim,执行命令 | 3.删除和修改 | | :w 文件名 | 保存到指定文件 | [n]x | 删除光标后n个字符 | [n]X | 删除光标前n个字符 | D | 删除光标所在位置到此行结尾的字符 | [n]dd | 删除当前行开始的n行(准确来说是剪切下来) | [n]yy | 负责当前行开始的n行 | p | 把剪切板的内容粘贴到当前行 | dG | 删除光标位置开始到文件尾的所有内容 | J | 合并两行 | . | 执行上一次操作 | u | 撤销上一次操作 | 4.行定位 | | ctrl+f | 向前滚动一个屏幕 | ctrl+b | 向后滚动一个屏幕 | gg | 到文件行首 | G | 到文件最后一行行首 | 😒 | 到文件最后一行行首 | nG | 到低n行 | /内容 | 查找指定内容 | 5.文本查找功能 | | /字符串 | 查找字符串 | n | 寻找下一个 | N | 回到前一个 | ? | 寻找上一个 | /^字符串 | 查找以字符串开始的行 | /$字符串 | 查找以字符串结尾的行 | /a.b | 查找字符串a任意字符b | 6.替换功能 | | r | 替换当前光标字符 | :r 文件名 | 在光标当前位置下一行载入另一个文件 | 😒/p1/p2/g | 将当前行中所有的p1替换为p2 | :g/p1/s//p2/g | 将文件中所有的的p1替换为p2 | :n1,n2s/p1/p2/g | 将n1到n2行中所有的的p1替换为p2 | 7.set指令 | | :set ic | 搜索时不区分大小写 | :set noic | 搜索时区分大小写 | :set nu | 显示行号 | :set nonu | 不显示行号 |
4.远程操作
SSH Secure Shell
操作命令 | 含义 |
---|
ssh -l username hostip | -l(字母l) username 被远程登陆的用户名,hostip远程登陆的ip | scp FileName RemoteUserName@RemoteHostIp:RemoteFile | 远程传输文件 |
|