当前位置: 首页 > news >正文

Linux——基本指令(二)

  个人主页:日刷百题

系列专栏〖C语言小游戏〗〖Linux〗〖数据结构〗 〖C语言〗

🌎欢迎各位点赞👍+收藏⭐️+留言📝 

写在前面:

紧接上一章,我们在理解接下来的命令之前,先了解命令的周边知识

 一、输出重定向

 echo 指令是往显示器上打印这串字符“hello word"

注:>叫输出重定向,它有2个作用:

(1)echo +内容+>+文件名  可以将本来输出到显示器的内容,输入到文件,并且如果再次echo +内容+>+文件名,会覆盖原来文件的内容

(2)>+文件名   可以创建文件(文件不存在),也可以清空文件(文件存在),也就是说创建文件有2个方式:touch和> 

二、追加重定向

注:>>叫追加重定向,每次在文件末尾增加内容

三、输入重定向

结合我们上一章节所学,cat +文件名 就是读取文件内容,写入到显示器文件中,如果cat后面什么都不加呢?

cat 指令就默认就是从输入设备(键盘)读取,写入到显示器文件中。

注:<是输入重定向,将文件打开,把文件内容写到 显示器文件中。

注:cat +文件名和  cat < 文件名虽然结果相同,但是本质不同,我们后面再谈

1. more  指令

描述:

可以查看文件内容。

用法:

more + 文件名

more -n 文件名 //表示看哪一行的内容
q 退出 

之前我们已经有cat可以查看文件内容,为什么还有more呢?

那是因为查看大文件时,会被刷屏,不好找到想要的文件内容,这里就需要more指令了

我们这里创造一个大文件,写10000行hello world 到big.txt文件中

注:( cnt=1; while [ $cnt -le 10000 ]; do echo "hello world $cnt"; let cnt++; done > test.txt ) 

我们发现用cat 查看该文件内容,直接被刷屏了

这时我们就可以用more了,more可以打满一屏,就停下来,按enter进行逐行下翻(但不支持下翻)

1.1  查找关键字

/999   意思直接找到关键字999的位置

注:按q退出

1.2  查找行号

more  -777  文件名    意思找777行内容

一般来说more 使用的不多

2. less 指令

描述:

可以查看文件内容的命令。

用法:

less + 文件名

注:less 命令也支持查找关键字(/777   表示查含有777关键字的位置

注:(less 支持上下翻(直接用键盘的上下键即可))

3. head 指令

描述:

可以查看文件内容的命令。

用法:

head 文件名   //默认查找文件的前10行

head -20 文件名  // 查看文件的前20行

4. tail 指令

描述:

可以查看文件内容的命令。

用法:

tail  文件名   //默认查找文件的后10行

 

tail -20  文件名 //查看文件的后20行

附加知识:管道

我们想要查看这个文本的1000~1010行,我们可以怎么做?

我们可以通过管道(管道有一个入口和出口)来实现

管道的作用:

上一个指令的输出数据放进管道,下一个指令从管道里拿出来

注:这个 | 就是管道文件,管道可以用来级联,wc-l 命令(统计一共多少行)

5. 时间相关的指令

5.1  date

作用:查看时间

5.2  用date格式化输出

Y代表年,m代表月,d代表日,H代表小时,M代表分钟,C代表秒

5.3  查看时间戳

5.4  将时间戳转换为具体时间

用法:date+自定义格式 -d @时间戳 

注:1970-1-1_00:00:00是格林威治时间,因为我们是中8区,所以是8点

6. cal 指令

描述:

查看日历(西历)

用法:

cal   查看本月日历

cal + 年份   查看该年的日历

6.1  cal   

作用:查看本月日历

 6.2  cal + 年份

作用:查看该年的日历

7. find 指令

描述:

查找文件

用法:

find  查找路径  -name  文件名

注:查找指定地址下的 ls 命令

8. grep 指令

描述:

查找文件内容。

用法:

选项:

-i 无视大小写

-n 顺便输出行号

-v 反向选择(就是显示出你没搜索的内容)

8.1  行文本过滤

作用:将含“999'的行号全部过滤

8.2   -n 

作用:将包含bit 的项及行号找出来

 

8.3   -v

作用:反向包含,将不含bit的所有项找出来 

8.4   -i

 作用:忽略大小写

9.  zip/unzip 指令

描述:

压缩和解压的指令。

用法:

zip + 压缩后的文件名 + 被压缩文件名

选项:

-r 递归压缩

-d 指定目录

(1)打包压缩

zip -r  压缩后的文件名   被压缩文件名

作用:将当前目录下321目录及内容全部压缩到321.zip文件中 

 

(注:如果你的Linux里面没有zip,下载指令:yum install -y unzip zip(要在root用户下载)) 

(2)解压文件到当前目录下

unzip   name.zip

作用:将321.zip压缩包转移到123目录下,在123目录下(当前目录下)解压

(3)解包解压到指定目录

unzip 压缩文件名  -d  指定路径

注:在当前目录下,打包几个文件和目录,zip+ 压缩后的文件名 + 被压缩文件名   目录名(可以写几个)

注:(当前目录下全部打包,就写zip  -r  压缩后的文件名  * )

10. tar 指令

描述:

主要功能:打包压缩、解压解包。

用法:

tar + cvzf + 压缩后文件名 + 文件名 = 打包压缩

tar + xzf + 文件名 = 解压解包

(1) tar  cvzf  name.tgz    文件名

作用:打包压缩到当前目录下

注:v的作用是展示打包压缩的过程,有没有v都不影响

(2)  tar  -xvzf name.tgz   

作用:解压到当前目录下

(3)  tar -xvzf name.tgz   -C 指定路径

作用:解压到指定路径

那么打包压缩有什么用呢?

文件一个个传输,容易遗漏,以压缩包的方式进行传输更加好

(1)Window<->Linux之间的压缩包互传

注:这条命令创造100个文件(cnt=0; while [ $cnt -le 100 ]; do touch file${cnt}.txt; let cnt++;done)

注:sz命令是向windows系统传输文件

注:将Linux系统下的压缩包 传输到windows

注:rz命令是将windows下的文件传输到Linux

注:rz以后Linux下出现压缩包

(2)Linux<->Linux之间的压缩包互传

用法:scp  name.tgz 用户名@另一台Linux的机器的ip地址 :拷贝的路径

 

11. bc 命令

描述:

计算器。

用法:

bc

注:充当计算机的作用,按quit退出

12. uname 命令

描述:

uname用来获取电脑和操作系统的相关信息。

用法:

选项:

-r 查看操作系统内核版本

-a 查看基本信息

我们可以看到 3.10.0 这个其实就是我们的内核版本,x86_64位机器。 

13. 重要的几个热键

(1) Tab 按键

作用:具有『命令补全』和『档案补齐』的功能

输入开头的几个字母,双击tab就可以补齐以这几个字开头的命令

tab 键的补齐非常好用,平时进入目录的时候,也可以用 tab 键补齐。

(2)Ctrl d  按键

作用:让当前的程序『停掉』

(3)Ctrl r 按键
 

作用: Ctrl r 查找历史命令

只需要输入几个关键字母,就能找到之前用过的历史命令

14. shutdown  命令

用法:

-h : 将系统的服务停掉后,立即关机。
-r : 在将系统的服务停掉之后就重新启动
-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思
Linux服务器永不关机,记住这个点,所以这个命令不重要

Linux的常用指令基本上讲完了,希望大家阅读完可以有所收获,同时也感谢各位铁汁们的支持。文章有任何问题可以在评论区留言,百题一定会认真阅读!

相关文章:

  • 9:00面试,9:06就出来了,问的问题有点变态。。。
  • C++共享和保护——(1)作用域
  • docker二 redis单机安装
  • 鸿蒙开发 - ohpm安装第三方库
  • 飞天使-linux操作的一些技巧与知识点3-http的工作原理
  • Docker部署wordpress和Jenkins
  • NestJS的微服务实现
  • 指针浅谈(三)
  • 1842_emacs使用company-irony实现C语言的自动补全
  • pymysql代替mysqlclient,解决mysqlclient因版本不兼容无法安装成功而无法连接mysql的问题
  • 使用Java将图片添加到Excel的几种方式
  • 机器学习---Boosting
  • 代理ip一般适用于什么行业,什么场景
  • linux下部署frp客户端服务端-内网穿透
  • Linux下的软硬链接
  • django开发-定时任务的使用
  • js正则,这点儿就够用了
  • laravel with 查询列表限制条数
  • Nacos系列:Nacos的Java SDK使用
  • React组件设计模式(一)
  • Service Worker
  • Spring Cloud Feign的两种使用姿势
  • 阿里云Kubernetes容器服务上体验Knative
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 电商搜索引擎的架构设计和性能优化
  • 回顾 Swift 多平台移植进度 #2
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 将回调地狱按在地上摩擦的Promise
  • 力扣(LeetCode)56
  • 设计模式走一遍---观察者模式
  • 首页查询功能的一次实现过程
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 消息队列系列二(IOT中消息队列的应用)
  • 写给高年级小学生看的《Bash 指南》
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • #{} 和 ${}区别
  • #HarmonyOS:软件安装window和mac预览Hello World
  • (多级缓存)多级缓存
  • (附源码)计算机毕业设计大学生兼职系统
  • (十) 初识 Docker file
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转) ns2/nam与nam实现相关的文件
  • (转)memcache、redis缓存
  • (转)winform之ListView
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (转)原始图像数据和PDF中的图像数据
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • @Autowired和@Resource装配
  • [] 与 [[]], -gt 与 > 的比较
  • []我的函数库
  • [2021]Zookeeper getAcl命令未授权访问漏洞概述与解决
  • [8-27]正则表达式、扩展表达式以及相关实战
  • [ABC294Ex] K-Coloring
  • [Android] Amazon 的 android 音视频开发文档