文章目录
- 1. 链接文件
- (1)软链接:
- (2)硬链接:
- 2. 复制、删除、移动目录和文件
- (1) cp
- (2)mv
- (3) rm
- 3. 查找目录和文件
- (1) Which:
- (2) whereis
- (3)find
- 4. 查看文件内容
- (1) cat
- (2) more
- (3) less
- (4) head
- (5) tail
- 5. 统计文件内容
- 6. 检索和过滤文件内容
- (1) grep
- (2) cut
- (3) sort
- 7. 归档和压缩命令
- (1) gzip命令、bzip2命令
- (2)tar命令
- 8. 如何从linux 服务器上传/下载文件
- 9. vim 文档编辑
- (1)vim工作模式
- (2)vim光标操作:
- (3) vim编辑文档
- (4)vim查找与替换
- (5)vim保存并退出
- (6)vim扩展小知识
(1)软链接:
[root@rhcsa ~]# touch hello.txt [root@rhcsa ~]# ln -s /root/hello.txt /tmp/hi.txt //创建文件软链接 [root@rhcsa ~]# ll /tmp/hi.txt lrwxrwxrwx. 1 root root 15 Jan 27 17:36 /tmp/hi.txt -> /root/hello.txt [root@rhcsa ~]# mkdir test [root@rhcsa ~]# ln -s /root/test/ /var/test/ [root@rhcsa ~]# ll /var/test/ //创建目录软链接 total 0 lrwxrwxrwx. 1 root root 11 Jan 27 17:48 test -> /root/test/(2)硬链接:
[root@rhcsa ~]# ln /root/hello.txt /root/hello-1.txt //创建硬链接 [root@rhcsa ~]# rm -rf hello.txt //源文件删除后,链接文件仍可以正常使用 [root@rhcsa ~]# ll /root/hello-1.txt -rw-r--r--. 1 root root 0 Jan 27 17:34 /root/hello-1.txt 2. 复制、删除、移动目录和文件(1) cp
功能描述:复制(copy)文件或目录
语法:cp [选项]… 源文件或目录… 目标文件或目录
选项:
-r:递归复制整个目录树
-p:保持源文件的属性不变
-f:强制覆盖目标同名文件或目录
-i:需要覆盖文件或目录时进行提醒
(2)mv
功能描述:移动(move)文件或目录—若如果目标位置与源位置相同,则相当于改名 语法:mv [选项]... 源文件或目录... 目标文件或目录 [root@Gming ~]# mv file file.bak //将file改名为file.bak [root@Gming ~]# mv /tmp/vitest/ ./ //将/tmp/vitest/移动到当前目录(3) rm
功能描述:删除(remove)文件或目录 语法:rm [选项] [文件或目录] 选项: -r 删除目录以及目录下的所有内容(递归删除) -f 不提示,强制删除 -I 删除前,提示是否删除 3. 查找目录和文件(1) Which:
功能描述:查找linux命令文件并显示所在的位置----搜索范围由PATH环境变量指定
语法:which命令或程序名
(2) whereis
功能描述:该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。
该指令只会用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。
语法:whereis 命令
选项:
-b 只查找二进制文件
-m 只查找说明文件
(3)find
功能描述:用于查找文件或目录
语法:find【path】-option
选项:
-name 按文件名称查找
-size 按文件大小查找
-user 按文件属主查找 —用的不多
-type 按文件类型查找
常用查找条件:
f:文件
d:目录
l:符号链接(软链接)
高级查找条件:
-perm 按权限进行查找
-ctime(-cmin) 按文件创建时间(天为单位)查找
-atime (-amin) 按访问时间查找
-mtime (-min) 修改时间查找
-maxdepth 限制find的递归层级
! 取反操作
-exec 查找后再执行操作
按照时间相关
-mtime 2 :该文件 2 天前被修改过
-mtime -2:该文件 2 天以内被修改过
-mtime +2:该文件距离上次修改已经超过 2 天时间
按照文件大小查找
find / -size +1G 检索文件大小高于 1 GB 的文件按照权限查找 find /usr -perm 644 # 搜索 /usr 目录下权限为 644(即 rw-r--r--)的文件限制递归层级
find 命令默认是以递归的方式检索项目的,这有时候会导致得到的结果数量非常巨大。可以使用 -maxdepth 限制 find 命令递归的层数。
逻辑组合: find 命令支持 “and” 和 “or” 两种逻辑运算
find / -name *.log -a -type l #查找文件名有".log"并且类型为链接的文件 find / -name *.log -o -name "*.txt" #查找文件名为".log"或".txt"的文件执行自定义命令
-exec 命令 {} ;
find / -type f -exec grep -l root {} ;
(1) cat
功能描述:显示文件内容(文件内容全部显示出来)
cat [选项] [文件]
选项:
-b 显示行号,空白行不显示行号
-n 显示行号,包括空白行
(2) more
功能描述:全屏方式分页显示文件内容
语法:more [选项] 文件名…
(空格)或f 显示下一页
(enter)显示下一行
Q或Q 退出
(3) less
功能描述:查看分页文件内容,空格(下一页)、方向键(上下回翻)、q键(推出查看)
[root@Gming ~]# less /var/log/messages(4) head
功能描述:查看文件的前几行,默认显示前10行内容
语法:head [选项] [文件名]
语法:
-c nk 显示文件前nkb的内容
-n 显示文件前n行的内容
(5) tail
功能描述:查看文件的尾部内容
语法:tail [选项] [文件]
选项:
-n 显示文件的后n行
-f 动态显示文件内容
-c nk 显示文件末尾nkb的内容
wc:
功能描述:统计文件中的单词数量(word count)等信息
语法:wc [选项]… 目标文件…
选项:
-l 统计行数
-w 统计单词个数
-c 统计字节数
(1) grep
功能描述:在文件中查找并显示包含指定字符串的行
语法:grep [选项]… 查找条件 目标文件
常用命令选项:
-i 查找时忽略大小写
-v 反转查找,输出与查找条件不相符的行
-l 列出文件内容符合指定的样式的文件名称
-An 搜索时显示匹配到的那一行以及下n行
-Bn 搜索时显示匹配到的那一行以及上n行
-Cn 搜索时显示匹配到的那一行以及上下n行
查找条件设置:
要查找的字符串用双引号括起来
“^……”表示以……开头
“……KaTeX parse error: Expected group after '^' at position 11: ”表示以……结尾 “^̲”表示空行
显示/etc/passwd文件中以“lp”开头那一行以及上下4行内容:
(2) cut
功能描述:命令用于显示每行从开头算起num1 到num2的文字
语法:cut [选项]
选项:
-b 以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定
-n标志
-c 以字符为单位进行分割
-d 自定义分隔符,默认为制定符
-f 与-d一起使用,指定显示哪个区域
-n 取消分割多字节字符。仅和-b标志一起使用
打印/etc/passwd文件中每一行以“:”为分隔符的第一个区域
[root@Gming ~]# cut -d':' -f1 /etc/passwd在过滤/etc/passwd文件的’/bin/bash’后以“:”为分隔符打印第1,6行内容
[root@Gming ~]# grep '/bin/bash' /etc/passwd | cut -d':' -f1,6 root:/root redhat:/home/redhat(3) sort
功能描述:用于将文本文件内容加以排序
语法:sort [选项] [文件]
选项:
-b 忽略每行前面开始处的空格字符
-c 检查文件是否已经按照顺序排序
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符
-f 排序时,将小写字母视为大写字母
-m 将几个排序好的文件进行合并
-M 将前面的3个字母依照月份的缩写进行排序
-n 依照数值的大小排序
-r 以相反的顺序来排序
-u 以为这是唯一的(unique),输出结果是去掉重复值
-o<输出文件> 将排序后的结果存入指定的文件
-t<分隔字符> 指定分隔符
-k 与-t一起使用,定义排序数值区域
(1) gzip命令、bzip2命令
.gz :gzip程序压缩的⽂件
*.bz2 :bzip2程序压缩的⽂件
*.tar :tar程序打包的数据,并没有经过压缩
*.tar.gz :tar程序打包的⽂件,其中经过gzip的压缩
*.tar.bz2:tar程序打包的⽂件,其中经过bzip2的压缩
⽤途:制作压缩⽂件、解开压缩⽂件
命令格式:
gzip [-9] ⽂件名…
bzip2 [-9] ⽂件名…
gzip -d .gz格式的压缩⽂件
bzip2 -d *.bz2格式的压缩⽂件
常用命令选项:
-9 表示高压缩比,多在创建压缩包时用
-d 用于解开已经压缩过的文件
(2)tar命令
用途:制作归档文件、释放归档文件
格式:tar [选项]… 归档文件名 源文件或目录
tar [选项]… 归档文件名 [-C 目标文件]
常用命令选项:
-c 创建.tar格式的包文件
-x 解开.tar格式的包文件
-v 输出详细信息
-f 表示使用归档文件
-p 打包时保留原始文件及目录的权限
-t 列表查看包内的文件
-C解包时指定释放的目标文件夹
-z 调用gzip程序进行压缩或解压
-j 调用bzip2程序进行压缩或解压
创建:
-czvf
-cjvf
解压:
-xzvf
-xjvf
(1)客户端是linux的操作系统 服务器-服务器之间传输
从服务器下载普通文件:
scp 用户名@目标IP地址:文件名 目录名
向服务器上传文件:
srp 要上传文件的全路径 用户名@目标IP地址:文件名
(2)客户端是windows的操作系统
从windows向linux上传:rz或者xftp工具
从linux下载文件:sz 文件路径或者xftp工具
scp ./aaa.sh root@192.168.88.100:/tmp 从普通用户复制文件到root用户的/tmp/目录
scp root@192.168.88.100:/tmp/bbb.sh ./ 复制root用户文件到普通用户的当前位置
(1)vim工作模式
vim编辑器默认会进⼊普通模式,插⼊模式可以通过以下按键进⼊:
a 进⼊插⼊模式,后续输⼊的内容将插⼊⾄当前光标的后⾯
A 进⼊插⼊模式,后续输⼊的内容将插⼊⾄当前光标的断尾
i 进⼊插⼊模式,后续输⼊的内容将插⼊⾄当前光标的前⾯
I 进⼊插⼊模式,后续输⼊的内容将插⼊⾄当前光标的段⾸
o 进⼊插⼊模式并在当前⾏的后⾯创建新的空⽩⾏
O 进⼊插⼊模式并在当前⾏的前⾯创建新的空⽩⾏
(2)vim光标操作:
h 光标向左移动⼀位
j 光标向下移动⼀⾏(以回⻋为换⾏符)
k 光标向上移动⼀位
I 光标向右移动⼀位
gg 移动光标⾄⽂件⾸⾏
G 移动光标⾄⽂件末尾
nG 移动光标⾄第n⾏(n为数字,如n为10时表示第10⾏)
^ 光标移⾄当前⾏的⾸字符
$ 光标移⾄当前⾏的尾字符
fx 光标移⾄当前⾏的下⼀个x字符处(任意字符)
Fx 光标移⾄当前⾏的上⼀个x字符处
w 光标向右移动⼀个单词
nw 光标向右移动n个单词(n为数字)
b 光标向左移动⼀个单词
nb 光标向左移动n个单词(n为数组)
(3) vim编辑文档
dd 删除⼀⾏
ndd 删除n⾏(n为数字)
d$ 删除光标⾄⾏尾的内容
J 删除换⾏符,可以将两⾏合并为⼀⾏
u 撤销上⼀步操作,可以多次使⽤uu表示撤销两步操作
rx 将光标当前字符替换为x (x为任何键盘单个输⼊)
yy 复制当前⾏
nyy 复制n⾏内容
p 粘贴⾄当前⾏之后
P 粘贴⾄当前⾏之前
(4)vim查找与替换
当⽂档很⻓时,我们可以通过查找快速定位要找的内容,在vim中通过“/” 关键词实现⾃上往下的查找功能:
如 /host 在当前⽂档的光标处向下查找host并显示,如果⼀个⽂档中有多个host,可以通过快捷键n 跳转⾄下⼀个匹配的关键词处, 快捷键 N 将跳转⾄上⼀个匹配的关键词处。
“?” 关键词实现了⾃下往上的查找功能:
如 ?host 从当前⽂档的光标处向上查找host并显示,此时快捷键n表示查看上⼀匹配, N 表示查找下⼀个匹配。
例如:
[root@localhost ~]# cp /etc/passwd /root
[root@localhost ~]# vim /root/passwd
通过上⾯两条命令复制⼀份临时测试⽂档并编辑,我们可以对该⽂件实现多种替换功能
: s/root/admin/ 将光标当前⾏中第⼀个出现的root替换为admin,没有则不替换
: s/root/admin/g 将光标当前⾏中所有的root替换为admin
:3,5 s/sbin/bin/g 将第三⾏⾄第五⾏之间的所有sbin替换为bin
:% s/nologin/fault/g 将所有⾏的nologin都替换为fault
(5)vim保存并退出
:q! 不保存并退出(强制退出)
:wq 保存并退出
:x 保存并退出
:w 保存(不退出)
:w b.txt 另存为 b.txt
(6)vim扩展小知识
显示行号::set number 或者简写为 :set nu
忽略大小写::set ignorecase
多窗口编辑
水平分割窗口 :split
垂直分割窗口 :vsplit
Ctrl+w+h:快捷键表示跳转⾄左边⼀个窗⼝
Ctrl+w+I: 快捷键表示跳转⾄右边⼀个窗⼝
Ctrl+w+j: 快捷键表示跳转⾄上⾯⼀个窗⼝
Ctrl+w+k:快捷键表示跳转⾄下⾯⼀个窗⼝
在命令模式下输⼊ :close 可以关闭当前窗⼝
在命令模式下输⼊ :split second.txt 此命令会分割窗⼝并打开新的⽂件