Linux基础-目录(2)

Linux基础1
1 Linux命令、命令行
2 ls命令
3 目录切换及相关命令cd/pwd
4 相对路径、绝对路径和特殊路径符
5 创建目录命令 mkdir

1 文件操作命令 touch、cat、more、cp、mv、rm

touch 创建文件
格式:touch linux路径
touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用

[root@node1 ~]# ls
a  aa  aaa  anaconda-ks.cfg  a.txt  b  hello.txt  mysql
[root@node1 ~]# touch 1.txt
[root@node1 ~]# ls
1.txt  a  aa  aaa  anaconda-ks.cfg  a.txt  b  hello.txt  mysql
[root@node1 ~]# touch /root/aa/1.txt
[root@node1 ~]# cd /root/aa
[root@node1 aa]# ls
1.txt

cat 查看文件内容
格式:cat linux路径
cat同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用

[root@node1 ~]# cat a.txt
121212
hello linux
hello linux
hello linux
hello linux

more命令查看文件内容
more命令同样可以查看文件内容,同cat不同的是:
• cat是直接将内容全部显示出来
• more支持翻页,如果文件内容过多,可以一页页的展示
分页查看文件的方式:
1- 通过回车, 可以往下查看一行
2- d字符: 查看半屏
3- 空格: 查看下一页
4- q 随时退出查看
格式:more linux路径
• 同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用
在这里插入图片描述
cp命令: 拷贝, 对文件的拷贝操作
格式:
cp [-r] 参数1 参数2

-r: 递归拷贝, 当拷贝的是文件夹的时候, 务必添加此参数
参数1: 拷贝谁
参数2: 拷贝到哪里

eg:将 /root/b/c下有一个a.txt文件, 请将其拷贝到 /root/a 目录下,绝对路径

[root@node1 ~]# cp /root/b/c/a.txt /root/a
[root@node1 ~]# cd /root/a
[root@node1 a]# ls
a.txt  b  test

eg:将 /root/b 目录整体拷贝到 /root/a目录中

[root@node1 a]# cp -r /root/b /root/a
[root@node1 a]# pwd
/root/a
[root@node1 a]# ll
总用量 0
-rw-r--r--. 1 root root  0 426 13:42 a.txt
drwxr-xr-x. 3 root root 15 425 08:59 b
drwxrw-r--. 2 root root  6 425 20:19 test
[root@node1 a]# cd b/
[root@node1 b]# ll
总用量 0
drwxr-xr-x. 3 root root 28 426 13:44 c
[root@node1 b]# cd c
[root@node1 c]# ll
总用量 0
-rw-r--r--. 1 root root  0 426 13:44 a.txt
drwxr-xr-x. 2 root root 19 425 09:00 d
[root@node1 c]# pwd
/root/a/b/c

mv命令:移动文件/目录
mv命令可以用于移动文件\文件夹,mv命令来自英文单词:move
格式:
mv 参数1 参数2
参数1: 移动谁
参数2: 移动到哪里

eg:将 /root/ 下a.txt 移动到 /root/a/目录下

[root@node1 ~]# mv /root/a.txt /root/aa
[root@node1 ~]# ls
a  aa  aaa  anaconda-ks.cfg  b  hello.txt  mysql
[root@node1 ~]# cd /root/aa
[root@node1 aa]# ls
a.txt

eg:将aa目录 整体移动到根目录下, 请使用相对路径

[root@node1 ~]# pwd
/root
[root@node1 ~]# mv ./aa ../
[root@node1 ~]# ls
a  aaa  anaconda-ks.cfg  b  hello.txt  mysql
[root@node1 ~]# cd /
[root@node1 /]# ls
1   b        bin   data  etc     home  lib64  mnt  proc  run   srv  tmp  var
aa  bigdata  boot  dev   export  lib   media  opt  root  sbin  sys  usr

eg:工作中常用mv改名字来实现逻辑删除

[root@node1 ~]# ls
a  aaa  anaconda-ks.cfg  b  hello.txt  mysql
[root@node1 ~]# mv hello.txt  hello.txt.delete
[root@node1 ~]# ls
a  aaa  anaconda-ks.cfg  b  hello.txt.delete  mysql

rm删除文件、文件夹
格式: rm [-r -f] linux路径
-r: 递归删除, 在删除文件夹的时候需要
-f: 强制删除, 在删除不提示是否删除
注意: rm -rf 操作慎用 , 尤其不要执行 rm -rf /* 类似于格式化windows的C盘

在删除的时候, 路径上面可以添加 * 通配符 表示renyi
例如:rm /a/a.*
表示, 将 以a为命名文件不管是什么类型的, 都会被删除

eg:删除 /root/b下的 a.txt

[root@node1 ~]# rm /root/b/c/a.txt 
rm:是否删除普通空文件 "/root/b/c/a.txt"?y
[root@node1 ~]# cd /root/b/c/
[root@node1 c]# ls
[root@node1 c]# 

eg:删除 a目录下的a.txt文件, 要求强制删除

[root@node1 a]# ls
a.txt  b  test
[root@node1 a]# cd
[root@node1 ~]# rm -f a/a.txt 
[root@node1 ~]# cd a/
[root@node1 a]# ls
b  test

eg:强制删除 a 目录

[root@node1 ~]# rm -rf /root/a
[root@node1 ~]# ls
aaa  anaconda-ks.cfg  b  hello.txt.delete  mysql

2 查找命令(which、find)

which:查询linux命令对应的执行文件在哪里
格式: which 命令
无需选项,只需要参数表示查找哪个命令

eg:查询cd 的执行文件路径

[root@node1 ~]# which cd
/usr/bin/cd

find命令:按文件名查找文件

find 作用:查询系统中指定的文件
按文件名查找:find 查询路径 -name “查询的文件名字”

eg:在/root目录下,查询a.txt文件

[root@node1 d]# find / -name a.txt
/root/a.txt
/root/a/b/c/d/a.txt
/b/c/a.txt

在执行查询时,同样也是支持通配符*的,表示为任意,前后两端都可添加

eg:查询所有后缀.txt的文件

[root@node1 ~]# find / -name *.txt
/root/a.txt
/root/a/b/c/d/a.txt
/b/c/a.txt

按文件大小查找:find 查询路径 -size +|-n[kMG]
+、- 表示大于和小于

eg:查找小于1KB的文件

[root@node1 ~]# find / -size -1k

eg:查找大于100MB的文件

[root@node1 ~]# find / -size +100M

eg:查找大于1GB的文件

[root@node1 ~]# find / -size +1G
n表示大小数字
kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB

3 grep、wc及其管道符 |

grep: 从内容中根据关键词进行过滤, 将关键词相关内容数据显示出来
格式:grep [-n] 关键词 文件路径
参数说明:
-n: 是否显示数据的行号 可选项
关键词: 必填项 要查询的内容
文件路径: 必填项 查询的输入的端口

eg:查询a.txt中包含fv的行的内容,-n显示其行号

[root@node1 ~]# cat a.txt
linux
mysql
oracle
python
linux
java
php
c++
c#
linux
c
JavaScript
[root@node1 ~]# grep linux a.txt
linux
linux
linux
[root@node1 ~]# grep -n linux a.txt
1:linux
5:linux
10:linux

wc 帮助统计数量
wc [-c -m -l -w] 文件路径
参数说明:
-c : 统计 bytes 数量
-m : 统计字符数量
-l : 统计行号
-w : 统计单词数量
文件路径: 内容输入端口

eg:统计文件

[root@node1 ~]# wc a.txt
12 12 67 a.txt
[root@node1 ~]# wc -c a.txt
67 a.txt
[root@node1 ~]# wc -m a.txt
67 a.txt
[root@node1 ~]# wc -l a.txt
12 a.txt
[root@node1 ~]# wc -w a.txt
12 a.txt

管道符号: | 将左边命令的执行结果, 作为右边命令的输入

含义:将管道符左边命令的结果,作为右边命令的输入

eg:查询a.txt的文件的内容,再此结果上筛选包含fv的内容

[root@node1 ~]# cat a.txt | grep linux
linux
linux
linux

eg:在上面结果的基础上统计一共有多少行符合结果

[root@node1 ~]# cat a.txt | grep linux | wc -l
3

4 echo、tail和重定向

echo:可以直接在命令行中输出指定内容

语法:echo 输出内容
无需选项,只有一个参数,表示要输出的内容,含有特殊符合建议用 ” “ 包裹

eg:输出一个hello linux 到命令行

[root@node1 ~]# echo "hello linux"
hello linux

eg:通过echo输出pwd命令的结果

[root@node1 ~]# echo `pwd`
/root

反引号 ` 优先执行
tail :从尾部查询文件内容,同时支持跟踪文件的最新内容

语法:tail [-f -num] 文件路径
-f:持续跟踪
-num :从尾巴查询多少行,默认10
文件路径,表示被查看的文件
作用:主要通过此命令查看软件的日志信息

eg: /root/a.txt查看倒数三行数据

[root@node1 ~]# tail -3 a.txt
linux
c
JavaScript

eg:递归查询a.txt,一旦a.txt中有新的内容添加后,立即捕获到
克隆一个会话,在新的终端中在a.txt添加新内容,这边也会持续更新
闪烁的光标不断检测查询是否有新数据插入
重定向符合:将一个结果重定向到另一个地方

[ > ]: 将左侧命令的结果,覆盖写入到符号右侧指定的文件中

eg:将Hello Linux覆盖写入到

[root@node1 ~]# echo "Hello Linux" > /root/a.txt
[root@node1 ~]# cat a.txt
Hello Linux

[ >> ]: 将左侧命令的结果,追加写入到符号右侧指定的文件中

eg:将hello linux追加写入到/root/a.txt

[root@node1 ~]# cat a.txt 
Hello Linux
[root@node1 ~]# echo 'Hello Linux' >> /root/a.txt
[root@node1 ~]# cat a.txt 
Hello Linux
Hello Linux

5 文件编辑命令 :vi/vim


格式: vi/vim 文件路径
执行后, 就会进行vi/vim的工作模式:
命令行模式: 基于vi提供的各种命令完成相关功能操作, 例如 复制 粘贴 (默认进入模式, 也是其他模式之间切换桥梁)
输入模式: 即为文件的编辑模式, 可以基于输入模式对文件进行编辑操作
底行模式: 以 : 开始, 常用于保存 退出 查询等等
说明: vi/vim 可以编辑新文件 也可以编辑旧文件

在这里插入图片描述
命令模式快捷键:

在这里插入图片描述
在这里插入图片描述
底线模式:在命令模式内,输入: ,即可进入底线命令模式,支持如下命令:
在这里插入图片描述

命令的选项
大多Linux命令所拥有的选项都是非常多的。
如简单的ls命令就有:
-a-A-b-c-C-d-D-f-F-g-G-h-H-i-I-k-l-L-m
-n-N-o-p-q-Q-r-R-s-S-t-T-u-U-v-w-x-X-1
等选项,此处只贴出部分常用选项,详情通过帮助文档可查看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值