大数据之路系列之Linux命令(01)

提示:常用Linux命令合集
第一章 Linux命令


Linux命令

  • 大数据之路系列之Linux命令(01)
  • 一、文件查看
    • 1.查看当前目录
    • 2.列出所有文件
    • 3.ll(ls -l缩写) 列出当前目录下的文件(带文件信息)
    • 4.列出当前目录下所有文件包含隐藏文件
    • 5.ll --help 是查询ll的帮助文档,--help是帮助命令
  • 二、创建、重命名文件\文件夹
    • 1.touch filename 创建空文件
    • 2.mkdir 创建目录
    • 3.mkdir -p 目标目录存在也不报错
    • 4.mv 重命名文件\文件夹
    • 4.find 查找文件
  • 三、链接文件
    • 1.硬链接
    • 2.软连接
  • 四、切换目录
    • 1.cd
  • 五、删除文件\文件夹(目录)
    • 1.删除文件\文件夹(目录)
  • 六、复制\粘贴\剪切\移动
    • 1.复制文件
    • 2.复制文件夹
    • 3.mv 移动(剪切)文件或目录
    • 4.远程复制
  • 七、chmod 分配权限
    • 1.复制文件
  • 八、内容查看
    • 1.cat 显示文本内容
    • 2.more分屏显示
    • 3.less分屏显示
    • 4.head
    • 5.tail
  • 九、压缩、解压
    • 1.tar格式
    • 2.gzip格式
    • 3.bzip2格式
  • 十、输出及显示
    • 1.echo
    • 2.重定向
    • 3.|| &&
  • 十一、软件安装和卸载
    • 1.yum
  • 十二、查看操作历史
    • 1.history命令
  • 十三、磁盘使用情况
    • 1.df命令
  • 十四、查看内存使用情况
    • 1.df命令
  • 十五、关机重启快捷命令
    • 1.关机重启
  • 十六、文件编辑
    • 1.vi命令
  • 十七、文件内容统计相关命令
    • 1.wc:统计字数相关信息
  • 十八、文件编辑
    • 1.sort排序
    • 2.wc
    • 3.uniq
    • 4.tree
    • 5.split
  • 十九、Linux高级命令之日期相关
    • 1.date命令
  • 二十、Linux进程相关命令
    • 1.ps/netstat/jps/kill
    • 1.network
  • 二十二、Linux三剑客
    • 1.grep:查找
    • 2.sed:查找
    • 3.awk:文本分析
  • 总结

一、文件查看

1.查看当前目录

pwd

2.列出所有文件

ls

3.ll(ls -l缩写) 列出当前目录下的文件(带文件信息)

ll
or
ls -l

4.列出当前目录下所有文件包含隐藏文件

ll -a

5.ll --help 是查询ll的帮助文档,–help是帮助命令

ll --help

二、创建、重命名文件\文件夹

1.touch filename 创建空文件

[root@localhost ~]# touch hello.txt
[root@localhost ~]# ll
total 4
-rw-------. 1 root root 1243 Mar 28 20:59 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 Mar 28 22:21 hello.txt

2.mkdir 创建目录

[root@localhost ~]# mkdir abc
[root@localhost ~]# ll
total 4
drwxr-xr-x. 2 root root    6 Mar 28 22:22 abc
-rw-------. 1 root root 1243 Mar 28 20:59 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 Mar 28 22:21 hello.txt

3.mkdir -p 目标目录存在也不报错

提示:mkdir -p 目标目录存在也不报错 当我们在创建目录时不确定这个目录是否已存在的时候,可以使用-p参数, 就算目录已存在也不会报错,如果不指定-p参数会报错,会提示目录已存在 创建目录abc

[root@localhost ~]# mkdir -p abc
[root@localhost ~]# ll
total 4
drwxr-xr-x. 2 root root    6 Mar 28 22:22 abc
-rw-------. 1 root root 1243 Mar 28 20:59 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 Mar 28 22:21 hello.txt
[root@localhost ~]# mkdir abc
mkdir: cannot create directory ‘abc’: File exists

4.mv 重命名文件\文件夹

提示:mkdir -p 目标目录存在也不报错 当我们在创建目录时不确定这个目录是否已存在的时候,可以使用-p参数, 就算目录已存在也不会报错,如果不指定-p参数会报错,会提示目录已存在 创建目录abc


[root@localhost ~]# mv abc abx

4.find 查找文件

find / -name 'in*' 模糊搜索文件名称
find / -type f -size +100M 查询大于100M的文件

三、链接文件

1.硬链接

提示:linux有两种链接:硬链接、符号(软)链接 软链接功能类似类似于windows的快捷方式,主要用于节省磁盘空间 首先看硬链接:硬链接相当于对原始文件的一个复制,不能对目录使用硬链接。 命令如下: ln hello.txt hlink


[root@localhost ~]# ln hello.txt hlink
[root@localhost ~]# ll
total 4
drwxr-xr-x. 2 root root    6 Mar 28 22:22 abx
-rw-------. 1 root root 1243 Mar 28 20:59 anaconda-ks.cfg
-rw-r--r--. 2 root root    0 Mar 28 22:21 hello.txt
-rw-r--r--. 2 root root    0 Mar 28 22:21 hlink

2.软连接

提示:需要添加-s,相当于快捷方式,不能删除原文件

[root@localhost ~]# ln -s hello.txt  vlink
[root@localhost ~]# ll
total 4
drwxr-xr-x. 2 root root    6 Mar 28 22:22 abx
-rw-------. 1 root root 1243 Mar 28 20:59 anaconda-ks.cfg
-rw-r--r--. 2 root root    0 Mar 28 22:21 hello.txt
-rw-r--r--. 2 root root    0 Mar 28 22:21 hlink
lrwxrwxrwx. 1 root root    9 Mar 28 22:33 vlink -> hello.txt

四、切换目录

1.cd

提示:cd .. 去上级目录 、cd xxx/xxx 直接跳转到某个目录

[root@localhost /]# pwd
/
[root@localhost ~]# cd /bin/
[root@localhost bin]# pwd
/bin

五、删除文件\文件夹(目录)

1.删除文件\文件夹(目录)

提示:rm 删除文件,但是会有提示确认对话,输入y确认删除!rm -r 删除目录,需要确认。rm -rf 递归删除目录及其文件(慎用)

[root@localhost ~]# rm -rf abx

六、复制\粘贴\剪切\移动

1.复制文件

提示:复制hello.txt文件,复制后的文件名为hello-bak.txt

[root@localhost ~]# cp hello.txt  hello-bak.txt

2.复制文件夹

提示:复制目录,需要指定r参数

[root@localhost ~]# cp -r abc xyz

3.mv 移动(剪切)文件或目录

提示:将目录xyz移动到目录abc下面

[root@localhost ~]# mv xyz abc

4.远程复制

提示:scp /root/hello.txt node02:/root 将文件复制到node02服务器的root目录下
提示:显示进度在scp后添加-v 复制目录在scp后添加-r 静默复制模式在scp后添加-q

[root@localhost ~]# scp -rq /root/hello.txt  node02:/root/

提示:scp hello.txt node02:$PWD 将文件复制到node02服务器的当前命令目录下

[root@localhost ~]# scp -rq /root/hello.txt  node02:$PWD

七、chmod 分配权限

1.复制文件

提示:chmod u+x xxx.txt 给当前所有者添加执行权限【x表示是执行权限】 chmod 777 xxx.txt 添加rwxrwxrwx权限 相当于给xxx.txt添加777权限

[root@localhost ~]# chmod 777 hello.txt

八、内容查看

1.cat 显示文本内容

提示:通过cat会一次显示所有的内容,适合查看内容较少的文本文件

cat -n xx.log  展示行号 空行也会展示行号
cat -b xx.log 展示行号 空行不展示

2.more分屏显示

提示:用一次显示一屏,没有显示完时最后一行显示进度。回车显示下一行,按b显示上一页,空格显示下一页,q退出,适合大文件的分页展示

[root@localhost ~]# more anaconda-ks.cfg

3.less分屏显示

提示:可用于分屏展示文件内容,每次只展示一页内容 适合查看内容较多的文本文件

less -N xx.log 分屏展示内容,适合大文件
操作键:空格键 展示下一屏幕,enter键 下一行, b上一页   f下一页  q退出 /xx 搜索xx字符串
关键词搜索后, n下一个关键词 N上一个关键词

4.head

查看文档的前几行数据
head -n 10 xx.log

5.tail

查看文档的后几行数据,适用于动态日志查询
tail -10 xx.log  查看文档后10条数据
tail -10f xx.log 动态查看文档后10条数据

九、压缩、解压

1.tar格式

文件格式是 xx.tar

压缩
tar -cvf  打包名.tar 被打包的目录
tar -cvf 打包名.tar 被打包文件 被打包文件
解压
tar -xvf 打包名.tar
tar -xvf 打包名.tar -C /xx/xx

2.gzip格式

Linux里面最常用的文件格式就是xx.tar.gz
-z 调用zip格式的压缩命令 -x 解压缩 -c 压缩 -v 打印详细信息 -f 指定文件名称

压缩
tar -zcvf  打包压缩文件名  文件/目录
解压
tar -zxvf 打包文件 -C 目标目录

3.bzip2格式

文件格式是 xx.tar.bz2

压缩
tar -jcvf 打包压缩文件.tar.bz2 被压缩的文件/目录
解压
tar -jxvf 打包文件.tar.bz2 -C 目标目录

十、输出及显示

1.echo

echo “hello\t\t world!” 不解析转义字符
echo -e “hello\t\t world!” 解析转义字符
echo $PATH 输出环境变量

2.重定向

通过 命令 > 文件 将命令的成功结果 覆盖 指定文件内容
通过 命令 >> 文件 将命令的成功结果 追加 指定文件的后面
通过 命令 &>> 文件 将 命令的失败结果 追加 指定文件的后面nohup和&:可以让程序一直在后台运行
/dev/null:是linux中的黑洞,任何数据扔进去都找不到了
>/dev/null:把标准输出重定向到黑洞中,表示脚本的输出信息不需要存储
2>&1 :表示是把标准错误输出重定向到标准输出中
将错误转到正常中,一起丢入黑洞
nohup hello.sh >/dev/null 2>&1 &
在nohup中的应用,nohup中1是正常 /dev/null代表黑空 1>/dev/null 代表成功数据丢到黑洞里面
2代表异常 追加到错误文件里面
nohup java -jar ccm_load.jar  1>/dev/null 2>>error.txt  &

3.|| &&

命令1 && 命令2 如果命令1执行成功,就执行命令2的效果
命令1 || 命令2 如果命令1执行失败,就执行命令2的效果

十一、软件安装和卸载

1.yum

在线安装,使用yum,使用yum 安装的好处在于可以自动安装软件需要的依赖包

安装
yum install -y 安装
升级
yum update 不跟则更新全部
查找和显示
yum info 显示包信息
yum list 不跟则显示已安装或可安装包
删除程序
yum remove
清除缓存
yum clean all 清除所有缓存(包含文件、旧软件)

十二、查看操作历史

1.history命令

history保留了最近执行的命令记录,默认可以保留1000

history N 显示最近N条命令
history -c 清除所有的历史记录
history -w xxx.txt 保存历史记录到文本xxx.txt

十三、磁盘使用情况

1.df命令

使用df命令查看硬盘使用情况

df -h

十四、查看内存使用情况

1.df命令

free 查看内存和交换空间的使用情况

free -m:显示内存单位为MB
free -h:根据值的大小,显示易于识别的单位

十五、关机重启快捷命令

1.关机重启

shutdown -h now 关机
reboot -h now 重启
exit 退出当前登录状态

十六、文件编辑

1.vi命令

在命令模式下按shift和: ,最后输入wq 保存退出
q是quit的缩写,表示退出的意思 不保存
:/xx 查找字段
:/30 跳到30行

十七、文件内容统计相关命令

1.wc:统计字数相关信息

[root@localhost ~]# cat hello.txt
hello world!
hello world!
hello world!
hello world!
hello world!
hello world!
-c是表示获取文件内容的字节数量
-m表示获取字符数量
-l表示是行数
-L是获取最长的一行内容的长度
-w 表示文件中单词的个数,默认使用空白符切割
[root@localhost ~]# wc -c hello.txt
78 hello.txt
[root@localhost ~]# wc -m hello.txt
78 hello.txt
[root@localhost ~]# wc -l hello.txt
6 hello.txt
[root@localhost ~]# wc -L hello.txt
12 hello.txt
[root@localhost ~]# wc -w hello.txt
12 hello.txt

十八、文件编辑

1.sort排序

[root@localhost ~]# sort -n num.txt
1
2
3
9
10
[root@localhost ~]# sort -nr num.txt
10
9
3
2
1

2.wc

显示指定文件 字节数 单词数 行数等信息 wc 4.txt
查看目录下有多少个子文件  ls /etc | wc -w

3.uniq

uniq命令用于检查以及删除文本文件中重复的行,一般与sort命令结合使用
cat 5.txt | sort | uniq  去重
不但去重还要统计次数 cat -c

4.tree

通过tee可以将命令结果通过管道输出到多个文件中
将去重结果放在 a.txt b.txt c.txt中    cat 1.txt | sort | uniq | tee a.txt b.txt c.txt

5.split

通过split命令将大文件切分成若干个小文件
split -b 10k 文件
split -l 1000 文件

十九、Linux高级命令之日期相关

1.date命令

时间格式化
[root@localhost ~]# date +"%Y-%m-%d %H:%M:%S"
2026-03-29 21:06:45
设置时间
[root@localhost ~]# date --date="2026-01-01 00:00:00"
Wed Jan  1 00:00:00 CST 2026
设置时间为一天前
[root@localhost ~]# date --date="1 days ago"
Sat Mar 28 21:36:37 CST 2026
设定时间一天前并且格式化时间
[root@localhost ~]# date --date="1 days ago" +%Y-%m-%d
2026-03-28

二十、Linux进程相关命令

1.ps/netstat/jps/kill

ps:显示进程信息
ps -ef | grep java
netstat:显示端口信息
netstat -anp | grep 22 显示端口信息
jps:显示Java进程信息
kill命令  kill -9 PID

1.network

service network status 查看网络状态
service network stop 停止网络状态
service network start 启动网络状态
service network restart 重启网络状态

二十二、Linux三剑客

1.grep:查找

查询文件里面还有abc的内容
grep abc hello.txt
也可以是正则表达式
grep ^a hello.txt
无视大小写查找
grep -i ABC hello.txt
快速在文件中定位字符串所在的位置
grep -i ABC -n hello.txt
在文本中找x 高亮显示
grep x xx.log  --color
两次查询 第二次加-v
ps -ef | grep java | grep -v grep

2.sed:查找

hello.txt文件的第二行内容下面添加一行haha
sed '2a\haha' hello.txt  指定行的前面插入一行
sed '1i\haha' hello.txt  所以说这个a其实表示是append的意思,在指定行后面追加内容
i表示是insert的意思,是在指定行的前面插入内容$代表最后一行,在最后一行的前面插入一行
sed '$i\haha' hello.txt  删除操作,有时候我们想要删除文件中多余的行,这个时候只需要使用参数d就可以搞定
sed '7d' hello.txt  删除最后一行
sed '$d' hello.txt  所有行中的每行第一个l替换成a
sed 's/l/a/1' hello.txt 所有行中的每行第二个l替换成a
sed 's/l/a/2' hello.txt所有行中的每行所有l替换成a
sed 's/l/a/g' hello.txt  s前面加数字是指定行
第二行中的所有l替换成a
sed '2s/l/a/g' hello.txt  所有的操作不加-i 不生效,只是展示效果,如果需要生效加-i
sed -i '2s/l/a/g' hello.txt 

3.awk:文本分析

变量从1开始,
$1表示是文本中的第1个数据字段
$2表示是文本中的第2个数据字段
以此类推。
还有一个特殊的 $0 它代表整个文本行的内容
[root@localhost ~]# cat hello.txt
hello world!
heaao worad!
hello world!
hello world!
hello world!
hello world!
abc
[root@localhost ~]# awk '{print $1}' hello.txt
hello
heaao
hello
hello
hello
hello
abc
[root@localhost ~]# awk '{print $2}' hello.txt
world!
worad!
world!
world!
world!
world![root@localhost ~]# awk '{print $0}' hello.txt
hello world!
heaao worad!
hello world!
hello world!
hello world!
hello world!
abc
指定字段分隔符,通过-F 参数
awk -F: ‘{print $1}’ /etc/passwd

总结

提示:这里对文章进行总结:

例如:跳转占位符

大数据之路系列之Linux命令(01)相关推荐

  1. 卷皮网大数据之路-《猫友会大数据系列分享》

    猫友会希望建立更多高质量垂直细分社群,本次是"大数据学习交流付费群"的第一次分享. "大数据学习交流付费群"由猫友会联合,斗鱼数据平台总监吴瑞诚,卷皮BI技术总 ...

  2. 大数据-学习实践-1相关Linux

    大数据-学习实践-1相关Linux (大数据系列) 文章目录 大数据-学习实践-1相关Linux 1知识点 2具体内容 2.1安装.使用 2.2高级命令 2.2.1文件 2.2.2日期 2.2.3进程 ...

  3. 大数据入门基础系列之初步认识大数据生态系统圈(博主推荐)

    不多说,直接上干货! 之前在微信公众平台里写过 大数据入门基础系列之初步认识hadoop生态系统圈 http://mp.weixin.qq.com/s/KE09U5AbFnEdwht44FGrOA 大 ...

  4. 大数据入门教程系列之Hive内置函数及自定义函数

    本篇文章主要介绍Hive内置函数以及自定义UDF函数和UDFT函数,自定义UDF函数通过一个国际转换中文的例子说明. 操作步骤: ①.准备数据和环境 ②.演示Hive内置函数 ③.自定义UDF函数编写 ...

  5. 《大数据之路:阿里巴巴大数据实践》-第3篇 数据管理篇 -第15章 数据质量

    <大数据之路:阿里巴巴大数据实践>系列丛书  第1章 总述 第1篇 数据技术篇  第2章 日志釆集  第3章 数据同步  第4章 离线数据开发  第5章 实时技术  第6章 数据服务  第 ...

  6. 大数据之路读书笔记-01总述

    大数据之路读书笔记-01总述 此系列文章为大数据之路的读书笔记,如侵可删 2014 年,马云提出,"人类正从 IT 时代走向 DT 时代 "如果说IT时代是以自我控制.自我管理为主 ...

  7. 《大数据之路:阿里巴巴大数据实践》-第2篇 数据模型篇 -第8章 大数据领域建模综述

    <大数据之路:阿里巴巴大数据实践>系列丛书  第1章 总述 第1篇 数据技术篇  第2章 日志釆集  第3章 数据同步  第4章 离线数据开发  第5章 实时技术  第6章 数据服务  第 ...

  8. 【数仓】离线和实时数据开发-《大数据之路》读书笔记

      今天更新<大数据之路>第 4 章和第 5 章,离线数据开发以及实时技术.关注公众号回复 802 获取 pdf.其他章节更新中.可以点击这里查看其他章节.   前面的文章讲述了日志文件和 ...

  9. java程序员的大数据之路(13):Pig入门

    Pig简介 Pig为大型数据集的处理提供了更高层次的抽象. Pig包括两部分: 用于描述数据流的语言,称为Pig Latin. 用于运行Pig Latin程序的执行环境.当前有两个环境:单JVM中的本 ...

最新文章

  1. 40.多进程同步--锁--多把锁
  2. nag在逆向中是什么意思_OD 实验(四) - 去除 NAG 窗口的几种方法
  3. 集合视图控制器(CollectionViewController) 、 标签控制器(TabBarController) 、 高级控件介绍...
  4. SpringCloud |第二篇: 服务消费者(Ribbon)
  5. 实战:分布式锁详解与代码
  6. 史上最大内存!曝iPhone 14 Pro系列运行内存将增至8GB
  7. 小米 10 年再创业,高端 5G 手机和 AIoT 有多少机会?
  8. iOS底层探索之多线程(七)—GCD源码分析(死锁的原因)
  9. 无码编程:无代码软件开发大行其道
  10. html图片表情怎么搞,学习使用HTML5/CSS3来制作简单的表情动画
  11. AI 新技术革命将如何重塑就业和全球化格局?深度解读 UN 报告(上篇)
  12. 黑马程序员————IO流------(3)
  13. 【 MATLAB 】poly 函数介绍
  14. 使用CSS3动画做出光芒万丈的效果
  15. 美国访学J类签证费涨价15%|5月30日生效
  16. js 正则替换隐藏部分身份证或手机号以及隐藏部分名字
  17. JQuery最全常用方法指南
  18. C++图像处理 -- 图像合成
  19. 【柔性制造】工业机器人实现柔性制造离不开的核心部件
  20. Pulsar Modular All Plug-Ins for mac 音频延迟插件

热门文章

  1. 谱分析——连续傅里叶变换
  2. python6翻了_Python-6.BeautifulSoup网络爬虫
  3. 3.2.1 LinearLayout(线性布局)
  4. 要用什么态度去面对生活?
  5. C语言char类型的存储
  6. 怎么搜索到最新最全的热点新闻资讯呢?有这四个工具就够了
  7. [React网络整理]React之表单组件的学习笔记
  8. 北京汽车转型背后:“大北汽”棋局中的变与不变
  9. IT运维管理基础知识:运维人员应该必备的五大技术
  10. MATLAB——根轨迹原理及其Matlab绘制