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

【Linux系统】第二节—基础指令(2)

hello ~ 好久不见

自己想要的快乐要自己好好争取!

云边有个稻草人-个人主页

Linux—本篇文章所属专栏—欢迎订阅—持续更新中

目录

本节课核心指令+知识点总结

本节基本指令详解

07.man 指令

08.cp 指令

09.mv 指令

10.cat 指令

11.more 指令

12.less 指令

13.head 指令

14.tail 指令

15.date 指令

16.cal 指令

17.find 指令

18.which 指令

19.whereis 指令

20.grep 指令

21.alias 指令

22.zip/unzip 指令

23.tar 指令

24.bc 指令

25.uname ‒r 指令

重要的几个热键(高频需要按的按键) [Tab], [ctrl]-c, [ctrl]-d

关机

以下命令作为扩展


正文开始——

 本节课核心指令+知识点总结


本节基本指令详解

07.man 指令

Linux的命令有很多参数,我们不可能全记住,可以通过查看联机⼿册获取帮助。

语法:man 选项  命令

常用选项

  • -k 根据关键字搜索联机帮助
  • num只在第num章节查找
  • -a 将所有章节的都显示出来,比如man printf 它缺省从第⼀章开始搜索,找到就停止,⽤ a 选项,当按下 q 退出,他会继续往后⾯搜索,直到所有章节都搜索完毕 ;当 man 2 printf 时,默认从第二章开始搜索

解释一下

man手册分为9章(不同系统可能会有差别) 

  • 1是普通的命令
  • 2是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头⽂件)
  • 3是库函数,如printf,fread特殊⽂件,也就是/dev下的各种设备⽂件
  • 4略
  • 5是指⽂件的格式,⽐如passwd,就会说明这个⽂件中各个字段的含义
  • 6是给游戏留的,由各个游戏⾃⼰定义
  • 7是附件还有⼀些变量,⽐如像environ这种全局变量在这⾥就有说明
  • 8是系统管理⽤的命令,这些命令只能由root使⽤,如ifconfig
  • 9略

(1)在进入手册之后,输入/return value,会自动显示出文档里面的value;

(2)翻阅手册用上下键;

(3)man 查指令,查系统调用的接口、查C语言对应的接口(不在这查C++,python对应的接口)


08.cp 指令

语法:cp 选项 源⽂件或⽬录 ⽬标⽂件或⽬录 

功能:复制文件或者目录

说明

  • cp指令⽤于复制⽂件或⽬录
  • 如同时指定两个以上的⽂件或⽬录,且最后的⽬的地是⼀个已经存在的⽬录,则它会把前⾯指定 的所有⽂件或⽬录复制到此⽬录中

常用选项

  • -f 或--force强⾏复制⽂件或⽬录,不论⽬的⽂件或⽬录是否已经存在
  • -i 或--interactive 覆盖文件之前先询问用户
  • -r 递归处理,将指定⽬录下的⽂件与子目录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符号链接,则⼀律视为普通⽂件处理

回看一下,现在我们已经学会新建文件,新建目录,删除文件,删除目录,拷贝文件,拷贝目录,接下来我们学习剪切


09.mv 指令

mv命令是move的缩写,可以⽤来移动⽂件或者将⽂件改名(move(rename)files,经常⽤来备份⽂件 或者⽬录。

语法:mv  选项 源⽂件或⽬录 ⽬标⽂件或⽬录

功能:剪切

功能

  1. 视mv命令中第⼆个参数类型的不同(是⽬标⽂件还是⽬标⽬录),mv命令将⽂件重命名或将其 移⾄⼀个新的⽬录中。
  2. 当第⼆个参数类型是⽂件时,mv命令完成⽂件重命名,此时,源⽂件只能有⼀个(也可以是源⽬ 录名),它将所给的源⽂件或⽬录重命名为给定的⽬标⽂件名。
  3. 当第⼆个参数是已存在的⽬录名称时,源⽂件或⽬录参数可以有多个,mv命令将各参数指定的源 ⽂件均移⾄⽬标⽬录中。

常用选项

  • -f:force强制的意思,如果⽬标⽂件已经存在,不会询问⽽直接覆盖。
  • -i:若⽬标⽂件(destination)已经存在时,就会询问是否覆盖! 

10.cat 指令

语法:cat  选项  文件

功能:查看目标文件的内容

常用选项

  • -n 对输出的所有行编号
  • -b 对非空输出行进行编号
  • -s 不输出多行空行(压缩空行)


11.more 指令

语法:more 选项 文件

功能:类似cat,不支持上翻,了解即可,下面学习它的平替less,比more好用

常用选项

  • -n 指定输出行数
  • q 退出more 

12.less 指令

  • less ⼯具也是对⽂件或其它输出进⾏分⻚显⽰的⼯具,应该说是linux正统查看⽂件内容的⼯具,功能极其强⼤;
  • less 的⽤法⽐起 more 更加的有弹性,在 more 的时候,我们并没有办法向前⾯翻, 只能往后⾯看;
  • 但若使⽤了 less 时,就可以使⽤ [pageup] [pagedown] 等按键的功能来往前往后翻看⽂件,更容易⽤来查看⼀个⽂件的内;
  • 除此之外,在 less ⾥头可以拥有更多的搜索功能,不⽌可以向下搜,也可以向上搜。

语法:less  选项 文件

功能: less与more类似,但使⽤less可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。 
选项
  • -i 忽略搜索时的大小写
  • -N 显示每行的行号
  • / 字符串:向下搜索“字符串”的功能
  • ? 字符串:向上搜索“字符串”的功能
  • n:重复前⼀个搜索(与 / 或 ? 有关)
  • N:反向重复前⼀个搜索(与 / 或 ? 有关)
  • q:quit

13.head 指令

head 与 tail 就像它的名字⼀样的浅显易懂,它是⽤来显示开头或结尾某个数量的⽂字区块,head ⽤来显⽰档案的开头⾄标准输出中,⽽ tail 想当然尔就是看档案的结尾。

语法:head 选项 文件

功能:head ⽤来显⽰档案的开头⾄标准输出中,默认head命令打印其相应⽂件的开头10⾏。 

选项:-n 显示文件的前n行内容。


14.tail 指令

tail 命令从指定点开始将⽂件写到标准输出.使⽤tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename 会把 filename ⾥最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。

语法:tail 选项 文件

功能:⽤于显示指定⽂件末尾内容,不指定⽂件时,作为输⼊信息进⾏处理。常⽤查看⽇志⽂件。

选项:

  • -f 循环读取
  • -n<⾏数> 显示行数
举例:
# 基本功能演⽰
[whb@bite-alicloud test]$ tail temp.txt
hello 1991
hello 1992
hello 1993
hello 1994
hello 1995
hello 1996
hello 1997
hello 1998
hello 1999
hello 2000
[whb@bite-alicloud test]$ tail -3 temp.txt
hello 1998
hello 1999
hello 2000

模拟日志查看功能

# 综合问题
# 如何显⽰⽂件的[180,200]⾏的内容
[whb@bite-alicloud test]$ head -200 temp.txt | tail -20
hello 180
hello 181
hello 182
hello 183
hello 184
hello 185
hello 186
hello 187
hello 188
hello 189
hello 190
hello 191
hello 192
hello 193
hello 194
hello 195
hello 196
hello 197
hello 198
hello 199

15.date 指令

指定格式:date +%Y-%m-%d_%H:%M:%S

1.在显示方面,使用者可以设定欲显示的格式,格式设定为⼀个加号后接数个标记,其中常用的标记列表如下
  • %H : ⼩时(00..23)
  • %M : 分钟(00..59)
  • %S : 秒(00..61)
  • %X : 相当于 %H:%M:%S
  • %d : ⽇ (01..31)
  • %m : ⽉份 (01..12)
  • %Y : 完整年份 (0000..9999)
  • %F : 相当于 %Y-%m-%d
2.在设定时间方面
  • date -s //设置当前时间,只有root权限才能设置,其他只能查看。
  • date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
  • date -s 01:01:01 //设置具体时间,不会对⽇期做更改
  • date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
  • date -s “01:01:01 20080523″ //这样可以设置全部时间
  • date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
  • date -s “20080523 01:01:01″ //这样可以设置全部时间
3.时间戳
  • 时间->时间戳:date +%s
  • 时间戳->时间:date -d@1508749502
  • Unix时间戳(英⽂为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1⽉1⽇(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒

4.举例(空格的话要变成转义字符来显示)

# 显⽰常规时间
[whb@bite-alicloud test]$ date
Wed Jan 11 18:22:50 CST 2023
[whb@bite-alicloud test]$ date +%Y/%m/%d
2023/01/11
[whb@bite-alicloud test]$ date +%Y/%m/%d-%H:%M:%S
2023/01/11-18:23:20
# 显⽰时间戳
[whb@bite-alicloud test]$ date +%s
1673432636
# 时间戳转成可视时间
[whb@bite-alicloud test]$ date +%Y/%m/%d-%H:%M:%S -d @0
1970/01/01-08:00:00
[whb@bite-alicloud test]$ date +%Y/%m/%d-%H:%M:%S -d @100000
1970/01/02-11:46:40
[whb@bite-alicloud test]$ date +%Y/%m/%d-%H:%M:%S -d @1000000000
2001/09/09-09:46:40

16.cal 指令

cal命令可以⽤来显⽰公历(阳历)⽇历。公历是现在国际通⽤的历法,⼜称格列历,通称阳历。“阳历”⼜名“太阳历”,系以地球绕⾏太阳⼀周为⼀年,为西⽅各国所通⽤,故⼜名“西历”。

格式:cal 参数 年份

功能: ⽤于查看⽇历等时间信息,如只有⼀个参数,则表⽰年份(1-9999),如有两个参数,则表⽰⽉份和年份
常用选项:
  • -3 显⽰系统前⼀个⽉,当前⽉,下⼀个⽉的⽉历
  • -j 显⽰在当年中的第⼏天(⼀年⽇期按天算,从1⽉1号算起,默认显⽰当前⽉在⼀年中的天数)
  • -y 显⽰当前年份的⽇历

17.find 指令

  • Linux下find命令在⽬录结构中搜索⽂件,并执⾏指定的操作。
  • Linux下find命令提供了相当多的查找条件,功能很强⼤。由于find具有强⼤的功能,所以它的选
  • 项也很多,其中⼤部分选项都值得我们花时间来了解⼀下。
  • 即使系统中含有⽹络⽂件系统( NFS),find命令在该⽂件系统中同样有效,只你具有相应的权限。
  • 在运⾏⼀个⾮常消耗资源的find命令时,很多⼈都倾向于把它放在后台执⾏,因为遍历⼀个⼤的
  • ⽂件系统可能会花费很⻓的时间(这⾥是指30G字节以上的⽂件系统)。

语法:find pathname -options

功能:⽤于在⽂件树中查找⽂件,并作出相应的处理(可能访问磁盘)

常用选项:

  • -name 按照⽂件名查找⽂件
  • 其他选项需要在查,这个命令其实⽐较复杂
# 在指定路径下搜索执⾏名称的⽂件
[whb@bite-alicloud test]$ find ~ -name test.c
/home/whb/test_code/old_code/test.c
/home/whb/test_code/test.c
...

18.which 指令

功能:搜索系统指定的命令

举例:

[whb@bite-alicloud test]$ which ls
alias ls='ls --color=auto'
/usr/bin/ls
[whb@bite-alicloud test]$ which pwd
/usr/bin/pwd

19.whereis 指令

功能: ⽤于找到程序的源、⼆进制⽂件或⼿册
whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

20.grep 指令

语法: grep [ 选项 ] 搜寻字符串文件
功能: 在⽂件中搜索字符串,将找到的行打印出来
常⽤选项:
  • -i :忽略⼤⼩写的不同,所以⼤⼩写视为相同
  • -n :顺便输出⾏号
  • -v :反向选择,亦即显⽰出没有 '搜寻字符串' 内容的那一行

21.alias 指令

功能: 设置命令的别名
[whb@bite-alicloud test]$ alias hello='ls -a -l -n'
[whb@bite-alicloud test]$ which hello
alias hello='ls -a -l -n'
/usr/bin/ls
[whb@bite-alicloud test]$ hello
total 36
drwxrwxr-x 2 1003 1003 4096 Jan 11 17:59 .
drwx------ 22 1003 1003 4096 Jan 11 17:57 ..
-rw-rw-r-- 1 1003 1003 28667 Jan 11 18:29 temp.txt

22.zip/unzip 指令

语法:zip  压缩⽂件.zip  ⽬录或⽂件

功能:将⽬录或⽂件压缩成zip格式

常用选项:

-r:递归处理,将指定⽬录下的所有⽂件和⼦⽬录⼀并处理
关于 rzsz
这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输⽂件. 安装完毕之后可以通过拖拽的⽅式将⽂件上传过去。
sudo yum/apt install -y lrzlz

23.tar 指令

tar [-cxtzjvf] ⽂件与⽬录 ...
  • -c :建⽴⼀个压缩⽂件的参数指令(create 的意思);
  • -x :解开⼀个压缩⽂件的参数指令!
  • -t :查看 tarfile ⾥⾯的⽂件!
  • -z :是否同时具有 gzip 的属性?亦即是否需要⽤ gzip 压缩?
  • -j :是否同时具有 bzip2 的属性?亦即是否需要⽤ bzip2 压缩?
  • -v :压缩的过程中显⽰⽂件!这个常⽤,但不建议⽤在背景执⾏过程!
  • -f :使⽤档名,请留意,在 f 之后要⽴即接档名喔!不要再加参数!
  • -C : 解压到指定⽬录

24.bc 指令

bc命令可以很方便的进行浮点运算

ctrl+c,停止指令运行,退出


25.uname ‒r 指令

语法: uname [选项]
功能: uname⽤来获取电脑和操作系统的相关信息。
补充说明: uname可显⽰linux主机所⽤的操作系统的版本、硬件的名称等基本信息。
常用选项:
  • -a或‒all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称

重要的几个热键(高频需要按的按键) [Tab], [ctrl]-c, [ctrl]-d

  • [Tab]按键---具有『命令补全』和『档案补⻬』的功能
  • [Ctrl]-c按键---让当前的程序『停掉』
  • [Ctrl]-d按键---通常代表着:『键盘输⼊结束(End Of File, EOF 戒 End OfInput)』的意思;另外,它也可以⽤来取代exit
  • 上下键,可以翻阅历史命令
  • ctrl+r,历史命令的搜索
  • history,搜索历史命令

关机

语法: shutdown [选项]
常见选项:
  • -h:将系统的服务停掉后,立即关机,(我们买的云服务器永远不关机)
  • -r:在将系统的服务停掉之后就重新启动(超级用户下,reboot重启)
  • -t sec:-t 后⾯加秒数,亦即『过几秒后关机』的意思

以下命令作为扩展

  • 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
  • ⽂件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;
  • 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;
  • ⽹络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup; 
  • 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;
  • 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。

接下来就需要我们多练习这些指令,而不是去死记硬背,菜就多练嘛

完——


最近_王小帅

至此结束——

我是云边有个稻草人

期待与你的下一次相遇!

相关文章:

  • 【ArcGIS微课1000例】0144:沿线或多边形要素添加折点,将曲线线段(贝塞尔、圆弧和椭圆弧)替换为线段。
  • Spring MVC设计与实现
  • 【Java JUnit单元测试框架-60】深入理解JUnit:Java单元测试的艺术与实践
  • 架构思维:利用全量缓存架构构建毫秒级的读服务
  • 【C++ Qt】输入类控件(上) LineEdit、QTextEdit
  • 仓颉编程语言快速入门:从零构建全场景开发能力
  • 主成分分析(PCA)与逻辑回归在鸢尾花数据集上的实践与效果对比
  • PyTorch_张量索引操作
  • 【C++】 —— 笔试刷题day_25
  • [硬件电路-12]:LD激光器与DFB激光器功能概述、管脚定义、功能比较
  • Qwen2.5模型性能测评 - 速度指标
  • 【Linux】命令行参数与环境变量
  • LeetCode 热题 100 54. 螺旋矩阵
  • ES6入门---第三单元 模块四:Set和WeakSet
  • LLama-v2 权重下载
  • Webug4.0靶场通关笔记14- 第18关 文件上传之Nginx解析缺陷
  • Python-Django系列—视图
  • 【ArcGIS微课1000例】0145:如何按照自定义形状裁剪数据框?
  • Rust与C/C++互操作实战指南
  • 软考-软件设计师中级备考 10、文件管理、设备管理
  • 经济日报:以人工智能激活产业新增长
  • 这 3 种食物,不要放进微波炉!第 1 个就大意了
  • 竞彩湃|新科冠军利物浦留力?纽卡斯尔全力冲击欧冠
  • 中国海警局回应日本民用飞机侵闯我钓鱼岛领空:依法警告驱离
  • 纽约大都会博物馆展“萨金特与巴黎”:从艺术生到明星画家
  • 首日5金!中国队夺得跳水世界杯总决赛混合团体冠军