当前位置 : 主页 > 操作系统 > centos >

基本操作命令解析(续)

来源:互联网 收集:自由互联 发布时间:2022-06-20
文章目录 1. 链接文件 (1)软链接: (2)硬链接: 2. 复制、删除、移动目录和文件 (1) cp (2)mv (3) rm 3. 查找目录和文件 (1) Which: (2) whereis (3)find 4. 查看文件内容 (1)

文章目录

  • 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. 链接文件

(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命令或程序名

[root@rhcsa tmp]# which cd /usr/bin/cd [root@rhcsa tmp]# which mkdir /usr/bin/mkdir [root@rhcsa tmp]#

(2) whereis

功能描述:该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。
该指令只会用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。
语法:whereis 命令
选项:
-b 只查找二进制文件
-m 只查找说明文件

[root@rhcsa tmp]# whereis bash bash: /usr/bin/bash /usr/share/man/man1/bash.1.gz /usr/share/info/bash.info.gz [root@rhcsa tmp]# whereis -b bash bash: /usr/bin/bash [root@rhcsa tmp]# whereis -m bash bash: /usr/share/man/man1/bash.1.gz /usr/share/info/bash.info.gz

(3)find

功能描述:用于查找文件或目录
语法:find【path】-option
选项:
-name 按文件名称查找
-size 按文件大小查找
-user 按文件属主查找 —用的不多
-type 按文件类型查找
常用查找条件:
 f:文件
 d:目录
 l:符号链接(软链接)
高级查找条件:
-perm 按权限进行查找
-ctime(-cmin) 按文件创建时间(天为单位)查找
-atime (-amin) 按访问时间查找
-mtime (-min) 修改时间查找
-maxdepth 限制find的递归层级
! 取反操作
-exec 查找后再执行操作

find /etc -name "resol*.conf" # 查找/etc/下名字为resol开头以.conf结尾的文件 find / -type d -empty # 检索用户主目录下所有的空目录 find /usr -type f ! -name '*.txt' # 检索 /usr 下所有文件名不以 .txt 为后缀的文件。

按照时间相关
-mtime 2 :该文件 2 天前被修改过
-mtime -2:该文件 2 天以内被修改过
-mtime +2:该文件距离上次修改已经超过 2 天时间

find /usr -type f -mtime +50 -mtime -100 # 检索 /usr 下 50 到 100 天之前修改过的文件 find /usr -type f -mtime 2 -amin 5 # 检索 /usr 下两天前被修改过且 5 分钟前又读取过的文件

按照文件大小查找

find / -size +1G 检索文件大小高于 1 GB 的文件按照权限查找 find /usr -perm 644 # 搜索 /usr 目录下权限为 644(即 rw-r--r--)的文件

限制递归层级
find 命令默认是以递归的方式检索项目的,这有时候会导致得到的结果数量非常巨大。可以使用 -maxdepth 限制 find 命令递归的层数。

find / -maxdepth 3 # 搜索时向下递归的层数最大为 3

逻辑组合: 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 {} ;

find /etc -name “*” | xargs grep -nH “root” # 查找/etc下 name所有 过滤出内容包含hello 的文件内容 4. 查看文件内容

(1) cat

功能描述:显示文件内容(文件内容全部显示出来)
cat [选项] [文件]
选项:
-b 显示行号,空白行不显示行号
-n 显示行号,包括空白行

[root@Gming ~]# cat -n passwd [root@Gming ~]# cat -b passwd

(2) more

功能描述:全屏方式分页显示文件内容
语法:more [选项] 文件名…
(空格)或f 显示下一页
(enter)显示下一行
Q或Q 退出

[root@Gming ~]# more /var/log/messages

(3) less

功能描述:查看分页文件内容,空格(下一页)、方向键(上下回翻)、q键(推出查看)

[root@Gming ~]# less /var/log/messages

(4) head

功能描述:查看文件的前几行,默认显示前10行内容
语法:head [选项] [文件名]
语法:
-c nk 显示文件前nkb的内容
-n 显示文件前n行的内容

[root@Gming ~]# head -c 2k /var/log/messages //查看文件的前2kb内容 [root@Gming ~]# head -5 /var/log/messages //查看文件前5行的内容

(5) tail

功能描述:查看文件的尾部内容
语法:tail [选项] [文件]
选项:
-n 显示文件的后n行
-f 动态显示文件内容
-c nk 显示文件末尾nkb的内容

5. 统计文件内容

wc:
功能描述:统计文件中的单词数量(word count)等信息
语法:wc [选项]… 目标文件…
选项:
-l 统计行数
-w 统计单词个数
-c 统计字节数

[root@Gming ~]# wc /etc/passwd 25 50 1229 /etc/passwd //依次显示文件的行数、单词数、字节数 [root@Gming ~]# wc -l < /etc/passwd 25 //显示文件的行数 [root@Gming ~]# wc -w < /etc/passwd 50 //显示文件的单词数 [root@Gming ~]# wc -c < /etc/passwd 1229 //显示文件的字节数 6. 检索和过滤文件内容

(1) grep

功能描述:在文件中查找并显示包含指定字符串的行
语法:grep [选项]… 查找条件 目标文件
常用命令选项:
-i 查找时忽略大小写
-v 反转查找,输出与查找条件不相符的行
-l 列出文件内容符合指定的样式的文件名称
-An 搜索时显示匹配到的那一行以及下n行
-Bn 搜索时显示匹配到的那一行以及上n行
-Cn 搜索时显示匹配到的那一行以及上下n行
查找条件设置:
要查找的字符串用双引号括起来
“^……”表示以……开头
“……KaTeX parse error: Expected group after '^' at position 11: ”表示以……结尾 “^̲”表示空行

[root@Gming ~]# grep root /etc/passwd root: x:0:0:root:/root:/bin/bash //在/etc/passwd文件中过滤出包含root的行 operator:x11:0:operator:/root:/sbin/nologin [root@Gming ~]# grep --color root /etc/passwd //对匹配度的关键字高亮显示 [root@Gming ~]# grep -v root /etc/passwd //查找文件中不包含root的行 [root@Gming ~]# grep -v "^#" /etc/hosts //查找非注释行(不是以“#”开头的行)

显示/etc/passwd文件中以“lp”开头那一行以及上下4行内容:
基本操作命令解析(续)_Linux教程

(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一起使用,定义排序数值区域

[root@Gming ~]# sort -t: -k3 -n /etc/passwd //以“:”为分隔符,按照第3行顺序排序 [root@Gming ~]# sort -u /etc/passwd //去掉连续重复的字符 [root@Gming ~]# sort -r /etc/passwd //反向排序 7. 归档和压缩命令

(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

8. 如何从linux 服务器上传/下载文件

(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/目录
基本操作命令解析(续)_操作命令_02
scp root@192.168.88.100:/tmp/bbb.sh ./ 复制root用户文件到普通用户的当前位置
基本操作命令解析(续)_Linux教程_03

9. vim 文档编辑

(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 此命令会分割窗⼝并打开新的⽂件

网友评论