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

Linux基础指令【下】

注:前期学习指令可能会比较枯燥,但是真的很重要。那就想象自己是一个计算机大神,在黑框框哐哐哐敲代码。最后,一定要记住,不要死记硬背、不要死记硬背、不要死记硬背!孰能生巧,了解为主!!!

一、man 指令

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

语法 : man [选项] 命令

如果想要退出帮助手册 -->  按 一下 'q' 即可! 

1.1. printf

但是此时如果我们想查找的不是 指令 printf , 而是函数 printf ,该如何呢?

在此之前 ,先了解 man手册分为9章(不同系统可能有所差异)

  • 1 是普通的命令

  • 2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么

头文件)

  • 3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件

  • 4 略

  • 5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义

  • 6 是给游戏留的,由各个游戏自己定义

  • 7 是附件还有⼀些变量,比如像environ这种全局变量在这里就有说明

  • 8 是系统管理用的命令,这些命令只能由root使用,如ifconfig

  • 9 略

所以可以使用 : man 3 printf 指令来查找    printf库函数

有些同学的云服务器,在输入  man 3 printf 会出现下面的报错:

这是因为,云服务器是一个线上环境(生成环境) , 是专门给项目部署的服务器 。 而这种环境不会给我们提供太多功能 , 会给我们暂时去掉。因为已经有能把项目部署到服务器的能力了,再放太多东西,会比较占空间 。所以会把一些man 的功能会去掉 , 但是不一定所有的服务器的man是残缺,具体的还需要看服务器所提供的产商。

yum install -y man man-pages                                                  //centos 安装 man

apt install -y man man-pages                                                  //ubuntu 安装 man

二、cp 指令

在介绍这个指令之前,我先输出一个知识点 : Linux 下 一切皆文件

2.1 echo 指令

1) echo 命令可以把后面的内容写在显示器文件里。

2) echo 默认向显示器文件写入 , 如果加了 > (输出重定向) , 就可以指定文件进行写入。

                    

3) 输出重定向写入某文件:

           如果文件不存在,则先创建文件。再进行写入

           如果文件存在,先清空,再写入。

4)如果直接 >某个普通文件  可以有清空文件的功效 ;如果文件不存在,可以有创建文件的功效。

5)追加重定向 >>  : 向指定文件进行数据追加

6) < (输入重定向) : 默认是从键盘上读 , 有了 < , 就可以指定从某一个文件上读

7)小知识 : 其实在 Linux 下, 单引号或者双引号都可以表示字符串

1.    > 某个文件 : 

1)文件存在 --> 清空

2)  文件不存在  --> 创建

2.     任何具有输出功能的指令都可以使用输出重定向来指定写入的文件:

3.   追加重定向 >> : 向指定文件追加内容

4.   输入重定向< : 在指定文件中读取数据,默认是在键盘里读取数据

2.2 cp 指令

1. 语法 : cp [选项] 源文件或目录 目标文件或目录
2.   功能: 复制文件或目录
3. 常用选项:
1) -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
2) -r 递归处理, 将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符 号链接,则⼀律视为普通文件处理

# cp普通⽂件
cp myfile.txt myfile-backup.txt# 将多个⽂件拷⻉到指定路径下
# *表⽰通配符,匹配所有.txt结尾的⽂件名
cp *.txt dir # 拷⻉前询问
cp -i myfile.txt myfile-backup.txt# 递归强制拷⻉整个⽬录
cp -rf test test-backup

2.3 指令

注意:

通常不建议把自己写的 a.out 命令放在 usr/bin目录下 , 因为会污染别人的指令池

2.4 ll 指令

1. Linux 命令行允许我们通过 alias 命令来给特定的指令取别名 。 

2 . 

2)所以 ll 就是 ls -l 的别名 。

注意 , 一般不建议太过于频繁的加别名,因为会有记忆成本 , 时间一长可能会忘记。

三、mv 指令

mv命令是move的缩写,可以⽤来移动文件或者将文件改名(move (rename) files , 经常用来备份文件或者目录
语法: mv [选项] 源文件或目录 目标文件或目录

1) 剪切文件 : 

mv a.out ..

2) 剪切文件夹:

四、cat 

1)功能 : 打印目标文件内容

2)语法 : cat [选项][文件]

3)选项:

tac 目标文件 --> 倒置的作用

五、日志

1) 形象说明一下:日志就是记录我们的每一个操作 , 作用是 , 下次电脑"生病"时,工程师就像医生翻看病历本一样查看日志,快速找到"咳嗽(错误)"是什么时候开始的 , 这样可以帮助程序员很快的定位出Bug ! 

2) 如何查看日志?

cat 只能一次打印出文本内容 , 不能上下翻阅 ,可以用于 小文件的查询 。

但是对于大文件 , cat 命令就不太方便了,不能上下翻阅 , 也不能查询 ,

这里推荐使用 less

 

5.1 more

1.  语法: more [选项]
2. 功能:more命令,功能类似 cat
3. 常用选项:
1)-n 输出指定行数
2)q 退出more
# 命令⾏输出多⾏⽂本[root@hcss-ecs-b52b lesson2]# cnt=0; while [ $cnt -le 10000 ]; do echo "hello bite $cnt"; let cnt++; done > temp.txt# -n 指定输出⾏数
[root@hcss-ecs-b52b lesson2]# more -10 temp.txt
hello bite
hello bite
hello bite
hello bite
hello bite
hello bite
hello bite
hello bite
hello bite
hello bite
--More--(0%)

 

5.2 less 指令

1.  less 工具也是对文件或其它输出进行分页显示的⼯具,应该说是linux正统查看文件内容的工具, 功能极其强大
2. less 的用法比起 more 更加的有弹性,在 more 的时候,我们并没有办法向前面翻, 只能往后面看
3. 但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看⼀个文件的内容
4. 除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

1)语法: less [参数] 文件

2) 功能:less与more类似,但使⽤less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。

5.3 head 指令

head 与 tail 就像它的名字—样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块, head 用来显示档案的开头至标准输出中,而 tail 就是看档案的结尾。

//默认显示前10行
head file//从头开始,显示指定行数的内容
head -n file 

 5.4 tail 指令

//默认显示后10行
tail file//从尾部开始,显示指定行数的内容
tail -n file 

思考:如果向查看大文件任意区间的文本内容呢?

[2000,2020]?

上面的 | 是管道的意思 , 把 head -2021 temp.txt 的结果喂给 tail -21 , 让它进行加工!

管道:可以处理级联的多个操作(命令) , 可以批量化 、 流水线化对文本文件进行加工

//tac 逆置
head -2021 temp.txt | tail 21 | tac//w -> word 、c-> count 、l->line 可以统计行数
head -2021 temp.txt | tail 21 | tac | wc -l

 

六、时间相关指令

6.1 date

1. 在显示方面,可以设定自定义显示的格式,格式设定为⼀个加号后接数个标记,其中常用的标记列表如下:
1)  %H :小时
2)%M : 分钟
3)%S : 秒
4) %X : 相当于 %H:%M:%S
5) %d : 日
6)%m : 月份
7)%Y : 完整年份
8)%F : 相当于 %Y-%m-%d

 

[root@hcss-ecs-b52b lesson2]# date[root@hcss-ecs-b52b lesson2]# date +%Y-%m-%d_%H:%M:%s

6.2 时间戳

1)时间->时间戳:date +%s
2)Unix时间戳(英文 为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1⽉1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒

# 显⽰常规时间
datedate +%Y/%m/%ddate +%Y/%m/%d-%H:%M:%S# 显⽰时间戳
date +%s# 时间戳转成可视时间
date +%Y/%m/%d-%H:%M:%S -d @0
date +%Y/%m/%d-%H:%M:%S -d @100000
date +%Y/%m/%d-%H:%M:%S -d @1000000000

6.3 cal 

cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳⼀周为⼀年,为西方各国所通用,故又名“西历”。
命令格式: cal 参数 [年份]
功能:用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份 和年份

1)cal  : 显示当前月份的日历 

2)cal -3 :  显示当前月的前一个月 +  当前月 + 当前月的下一个月  

3) cal 年 : 年的全部月份的日历

任何操作系统都有提供日历,在我们windows 下,日历在右下角

七、find

1) 语法: find pathname -options
2) 功能 : 用于在文件树中查找文件,并作出相应的处理(可能访问磁盘)
3)常用选项:
  • -name 按照文件名查找文件
  • 其他选项需要再查 , 这个命令其实比较复杂
# 在指定路径下搜索执⾏名称的⽂件
find ~ -name test.c

find  和 which 有什么区别?

八、grep

1)是什么 ? 

是一个行文本过滤工具

2)语法:  grep [选项] 搜寻字符串 文件

3)功能:在文件中搜索字符串,将找到的行打印出来

4)常用选项:

# ⽂件内容
cat temp.txt#基本查找
grep "abcd" temp.txt# 忽略⼤⼩写的不同,所以⼤⼩写视为相同
grep -i "abcd" temp.txt# 顺便输出⾏号
grep -n "abcd" temp.txt# 反向选择,亦即显⽰出没有 '搜寻字符串' 内容的那⼀⾏
grep -v "abcd" temp.txtgrep -vn "abcd" temp.txtgrep -vni "abcd" temp.txt

 

注:Linux 不区分单引号或双引号 

       grep 对大小写敏感!

九、重要的几个热键

1. 【Tab】按键 : 具有  命令补全  和  档案补齐 的功能。

2. 【Ctrl + c 】  : 让当前的程序停掉(中断)  --> 多用于程序异常的情况。

3. 【Ctrl + d 】  : 通常代表着 -> 键盘输入结束(End Of File , EOF 或 End Oflnput) 的意思 ; 另外,也可以用来取代 exit 

4. 【上下键】     : 可以上下翻阅历史命令

5. 【Ctrl + r 】   :搜素历史命令

相关文章:

  • EBO的使用
  • 数字智慧方案5974丨智慧农业大数据应用平台综合解决方案(79页PPT)(文末有下载方式)
  • [vscode]全局配置nim缩进
  • 【工具变量】上市公司治理水平数据集-含参考文献及dta、xlsx格式(2003-2023年)
  • ClackyAI:下一代智能云开发环境的技术革新与实践价值
  • 多节点监测任务分配方法比较与分析
  • 数字智慧方案5976丨智慧农业顶层设计建设与运营方案(59页PPT)(文末有下载方式)
  • 面经-计算机网络——OSI七层模型与TCP/IP四层模型的对比详解
  • Umi-OCR项目(1)
  • 第七章:赤 色广播计划的全面启动
  • VAO与VBO的相关操作
  • Hive数据倾斜 常见解决办法
  • DeepSeek V3 训练策略:FP8混合精度与多Token预测
  • Python 常用内置函数详解(八):对象属性操作getattr()、setattr()、delattr()、hasattr()、vars()函数详解
  • ​基于51单片机的数字温度计—可显示负数
  • esp32cam开发板的引脚使用和测试
  • 《跨越边界:探索跨端框架中通用状态管理方案设计》
  • 数据库Mysql_约束
  • 响应式布局,在飞帆平台中如此简单
  • 红利底波是什么意思?
  • 净海护渔,中国海警局直属第一局开展伏季休渔普法宣传活动
  • 五一期间全国高速日均流量6200万辆,同比增长8.1%
  • 乌方公布矿产协议详情:未提债务义务,包含美再援助条款
  • 八成盈利,2024年沪市主板公司实现净利润4.35万亿元
  • 上海科创再出发:“造星”的城和“摘星”的人
  • 铁路迎来节前出行高峰,今日全国铁路预计发送旅客1870万人次