文件管理命令
复制 cp
选项 v r p
-v:详细显示命令执行过程
-r:递归处理目录与子目录
-p:保留原文件或目录的属性
1)将当前目录下的文件复制到其他目录,并重新命名
cp 文件名 指定路径
2)将当前目录下的文件复制其他目录
cp 文件名 指定目录
3)拷贝过程中,如何保持文件原来的属性不发生变化
cp -p 文件名 指定路径
4)拷贝整个目录以及目录下的子文件夹
cp -r 目录名 指定路径
5)拷贝过程中显示详细信息
cp -v 文件名 指定路径
6)拷贝不同路径下的文件 不同的目录到同一个位置
cp -pr 文件名 目录名 指定路径
7)复制过程中频繁出发时重复复制提示
命令前加
\cp 文件名 指定路径
使用cp绝对路径
/bin/cp -r 文件名 指定路径
查看文件内容的命令
cat
选项: n A
cat 文件名 查看文件所有内容,从上到下
cat -n 文件名 显示文件内容有多少行
cat -A 文件名 查看文件的特殊符号
less:查看大文件,空格翻页,光标上下移动,q退出查看模式
more:查看大文件显示百分比,空格翻页,回车上下移动,q退出查看
tail:查看文件尾部内容,默认十行
选项:
n :查看尾部第几行
f :动态跟踪一个文件尾部的实时变化
head:查看文件头部内容,默认十行
选项:
n:指定查看头部多少行
greb:过滤/匹配一个文件中的内容
选项:
n:显示文件所在的行
i :忽略大小写
v:取反
E:匹配多个条件
^ 以什么开头
$ 以什么结尾
. 任意单个字符
.*所有的任意字符都匹配
^$表示空行
下载文件
1.联网下载 wget curl
wget
1)系统最小化安装默认没有wget,需要进行安装
yum -y install wget
2)使用 wget 命令下载(下载目录默认为当前目录)
找到下载的资源
wget 资源链接
ps:下载的都是文件,所有内容都可以用cat less more 查看
3)使用wget下载资源时,指定保存的位置,并重新命名
wget -O 指定路径及名称 资源名称
4)下载资源时只指定保存的位置
wget -O 指定下载路径
curl
1)可以在线浏览网站资源内容(源代码)
curl 资源链接
2)使用curl下载资源,并重命名(默认路径为当前目录)
curl -o 指定名字 资源名称
3)使用curl下载资源到指定路径
curl -o 指定路径 资源名称
2.文件上传和下载 rz sz
rz 上传文件
只能是上传文件,无法上传文件夹,不支持大于4G文件上传,也不支持断点续传
sz 下载文件
只能下载文件(任意单个文件),不支持下载文件夹
文件或命令查找
which whereis
查找一个命令的绝对路径
当想要执行一个命令的绝对路径时,先使用which command 查询绝对路径
whereis 也可以用来查询命令的绝对路径
whereis 命令 查找命令的路径,帮助,手册
whereis -b 命令 仅显示命令所在的路径
对于内核相关的一些命令,使用which whereis 是无法直接查询的,需要使用type命令查询
type -a 命令 查看命令的绝对路径(包括别名)
文件内容处理命令
sort uniq cut sed awk wc
sort 排序
选项:
-r 倒序 -n 按数字排序 -t 指定分隔符(默认空格) -k指定第几列字符(指定1,1 3.1,3.3)
uniq 去重
如果文件中有多行完全相同的内容,当前是希望删除重复的行,同时还可以统计出完全相同的行出现的总次数,那么就可以用uniq命令解决这个问题(必须配合sort使用)
选项:
-c 计算重复的行
cut 截取字段
参数:
-d 指定分隔符 -f 数字取第几列 -c 按字符取(空格也算)
wc 统计行号
选项:
l 显示文件数
wc -l /etc/fstab 统计/etc/fstab文件有多少行
wc -l /etc/services 统计/etc/services 文件行号
扩展统计文件行号的方法
cat -n /etc/services | tail -l
grep -n ".*" /etc/services | tail -l
使用awk选取某个大文件的部分内容
找到想要取得的内容在哪里
缩小取值范围(行)
精确具体内容(列)
文件属性
ll 列出文件详细信息
-rw-------. 1 root root 1926 7月 3 02:37 anaconda-ks.cfg
-rw-r--r--. 1 root root 1974 7月 3 02:57 initial-setup-ks.cfg
-rw-r--r-- 1 root root 2369 7月 10 19:39 passwd.bak
drwxr-xr-x. 2 root root 6 7月 3 02:58 公共
drwxr-xr-x. 2 root root 6 7月 3 02:58 模板
drwxr-xr-x. 2 root root 6 7月 3 02:58 视频
drwxr-xr-x. 3 root root 24 7月 30 09:51 图片
第一列第一个字符 表示文件类型
rw------- 表示文件权限
root 属主(文件拥有者)
root 属组(文件的拥有组)
1926 文件大小
六七八列 文件创建的日期以及时间
第九列 文件名
文件类型
- 表示文件是普通文件(普通文件 图片 压缩包)
s socket 本地进程与进程间的一种通信方式
b 块设备文件 (硬盘 光盘 分区)
c 字符设备 用于提供用户的输入与输出
l 链接文件 类似windows的快捷方式
d 目录 类似windows的文件夹
如何精确的判断普通文件属于哪种类型
使用 file 命令
file 文件名
例:
file /etc/services
/etc/services: C source, ASCII text
PS:linux不区分后缀,后缀通常作用都是用来标识的,方便自己识别
链接文件
1.软连接(类似于Windows的快捷方式)
1)软件升级 软件回退
创建软链接
mkdir qq-1
ln -s /root/qq-1 /root/qq
升级
mkdir qq-2
rm -rf /root/qq && ln -s /root/qq-2 /root/qq
回退
rm -rf qq && ln -s /root/qq-1 /root/qq
2)代码升级 秒级回退
3)不方便移动的目录
2.硬链接
ln /root/file /root/file-hard
3.软链接和硬链接的区别
别 1)ln命令创建硬链接,ln -s命令创建软链接。
软连接使用场景
升级
[[email protected]~]# mkdir qq_v1.1
[[email protected]~]# ln -s /root/qq_v1.1/ /root/qq
回退
rm -f qq && ln -s /root/qq_v1.1/ /root/qq
软连接硬链接的区别
1)ln命令创建硬链接,ln -s命令创建软链接
2)目录不能创建硬链接,并且硬链接不可以跨越分区系统。
3)目录软链接特别常用,并且软链接支持跨越分区系统。
4)硬链接文件与源文件的inode相同,软链接文件与源文件inode不同。
5)删除软链接文件,对源文件及硬链接文件无任何影响。
6)删除文件的硬链接文件,对源文件及链接文件无任何影响。
7)删除链接文件的源文件,对硬链接无影响,会导致软链接失效。
8)删除源文件及其硬链接文件,整个文件会被真正的删除。
总结
1.软连接就是一种快捷方式,删除不会影响源文件
2.硬链接,类似于一个文件的副本,删除硬链接不影响源文件,只有删除所有的硬链接及其源文件,这个文件才算彻底被删除
linux文件编辑vim的使用
vim基本概述
什么是vim
vi和vim都是linux下的一个文本编辑工具
为什么使用vim
linux系统一切皆文件
vim是学习linux最重要的命令之一
vi与vim的区别
vi和vim都是文本编辑器,vim是vi的增强版,比vi多了语法高亮显示,其他编辑功能基本无异
如果系统没有vim 使用 yum -y install vim 安装vim编辑器
vim三种模式
普通模式:控制光标移动,对文本进行复制、粘贴、删除等工作
编辑模式:主要对文本进行内容编辑和修改
普通模式进入编辑模式 i o I O
编辑模式退回普通模式 esc
末行模式:主要用于保存或退出文件
普通模式进入命令模式 : /
命令模式退回普通模式 esc
命令模式下,可以进行 显示行号 搜索 替换 保存 退出 保存退出
vim模式使用
普通模式
G 光标跳转至末端
gg 光标跳转至顶端
ngg 光标跳转到文件n行
$ 光标跳转至光标所在行的尾部
^ 光标跳转至光标所在行的首部
ctrl+f 向下翻页
ctrl+b 向上翻页
yy 复制
nyy 复制包括光标在内的n行
p 粘贴到当前光标所在下一行
P 粘贴到当前光标所在上一行
dd 删除光标所在行
ndd 删除包括光标在内的n行
dG 删除当前光标以后的所有行
D 删除当前光标以及光标以后的所有行
x 删除当前光标标记以后的字符
X 删除当前光标标记以前的字符
dd&p 剪贴
u 撤销上一次的操作
r 替换当前光标标记的单个字符
R 进入REPLACE模式,连续替换,esc结束
编辑模式
i 进入编辑模式
a 进入编辑模式,光标后移一个字符
o 进入编辑模式,光标所在行下添加一行空白行
I 进入编辑模式,光标跳转到本行的头部
A 进入编辑模式,将光标移动到本行尾部
O 进入编辑模式,并在当前光标上添加一行空白内容
命令模式
:w 保存当前编辑
:w! 强制保存当前编辑
:q 退出当前文档(保存才能退出)
:q! 强制退出不保存当前编辑
:wq 保存退出
:wq! 强制保存退出
:x 先保存,在退出
ZZ 保存退出
:number 跳转至对应行号
/ 查找内容
n 按搜索到的内容依次往下进行查找
N 按搜索道德内容依次往上进行查找
:s###g 替换内容
:n,ns###g 替换第n行到第n行的内容
%s###g 替换文件所有指定内容
:w 路径 文件名 将文件所有内容另存为到指定路径下的指定名称的文件
:r 文件名 读入某个文件至当前光标下面
:5r 文件名 指定插入某个文件至当前文件的第五行下面
视图模式
ctrl 进入可视块模式,选中需要注释的行
插入:shift+i 进入编辑模式,输入#,结束esc
删除:选中内容后,按x或者d删除
替换:选中需要替换的内容,按下r键,然后输入替换后的内容
shift+v 进入可视行模式,选中整行内容
复制:选中行内容后按y即可进行复制
删除:选中行内容后按d键删除
vim扩展
环境变量临时生效
:set nu 显示行号
:set ic 忽略大小写,在搜索的时候有用
:set ai 自动缩进
:set list 显示制表符
:set no[nu|ic|ai……] 取消临时设定的变量
环境变量永久生效
~/.vimrc 个人环境变量(优先级高) /etc/vimrc (全局变量)
相同文件之间差异对比,通常用于对比修改前后差异
diff 文件对比
vimdiff 以vim方式打开两个文件对比,高亮显示不同的内容
vim非正常退出挂起或者强制退出终端没关闭
假设打开filename文件被意外关闭,需要删除同文件名的.swp文件即可解决
rm -rf . filename.swp
命令执行流程
判断命令是否通过绝对路命令路径执行
判断命令是否存在alias别名
判断用户输入的命令是内置还是外置命令
Bash内部命令直接执行,外部命令检测是否存在缓存
通过PATH变量路径-->有执行-->没有 command not found