目录
[1. more 指令](#1. more 指令)
[2. less 命令(重要)](#2. less 命令(重要))
[3. head 指令](#3. head 指令)
[4. tail 指令](#4. tail 指令)
[5. date 指令](#5. date 指令)
[6. cal 命令](#6. cal 命令)
[7. find 指令](#7. find 指令)
[8. which 指令](#8. which 指令)
[9. whereis 指令](#9. whereis 指令)
[10. alias 指令](#10. alias 指令)
[11. grep 指令](#11. grep 指令)
[12. top 指令](#12. top 指令)
[13. zip/unzip 指令](#13. zip/unzip 指令)
[13.1 关于 rz / sz](#13.1 关于 rz / sz)
[13.1.1 云服务器传windows](#13.1.1 云服务器传windows)
[13.1.2 windows压缩包上传到云服务器](#13.1.2 windows压缩包上传到云服务器)
[13.1.3 两台云服务器之间互传文件](#13.1.3 两台云服务器之间互传文件)
[14. tar 命令(重要)](#14. tar 命令(重要))
[15. bc 命令](#15. bc 命令)
[16. uname -r 命令](#16. uname -r 命令)
正文开始:
1. more 指令
语法: more [选项]
**功能:**more命令,功能类似 cat
常用选项:
- -n 指定输出⾏数
- q 退出more
cpp
# -n 指定输出⾏数
# 输出temp.txt文件中的10行
more -10 temp.txt
2. less 命令(重要)
- less ⼯具也是对⽂件或其它输出进⾏分⻚显⽰的⼯具,应该说是linux正统查看⽂件内容的⼯具,功能极其强⼤
- less 的⽤法⽐起 more 更加的有弹性,在 more 的时候,我们并没有办法向前⾯翻, 只能往后⾯看
- 但若使⽤了 less 时,就可以使⽤ [pageup] [pagedown] 等按键的功能来往前往后翻看⽂件,更容易⽤来查看⼀个⽂件的内容
- 除此之外,在 less ⾥头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
语法: less [参数] ⽂件
功能:less与more类似,但使⽤less可以随意浏览⽂件,⽽more仅能向前移动,却不能向后移动,⽽且less在查看之前不会加载整个⽂件。
选项:
- -i 忽略搜索时的⼤⼩写
- -N 显⽰每⾏的⾏号
- /字符串:向下搜索"字符串"的功能
- ?字符串:向上搜索"字符串"的功能
- n:重复前⼀个搜索(与 / 或 ? 有关)
- N:反向重复前⼀个搜索(与 / 或 ? 有关)
- q:quit
3. head 指令
head 与 tail 就像它的名字⼀样的浅显易懂,它是⽤来显⽰开头或结尾某个数量的⽂字区块,head ⽤来显⽰档案的开头⾄标准输出中,⽽ tail 想当然尔就是看档案的结尾。
**语法:**head [参数]... [⽂件]...
**功能:**head ⽤来显⽰档案的开头⾄标准输出中,默认head命令打印其相应⽂件的开头10⾏。
选项:
- -n<⾏数> 显⽰的⾏数
cpp
[whb@bite-alicloud test]$ head temp.txt
hello 0
hello 1
hello 2
hello 3
hello 4
hello 5
hello 6
hello 7
hello 8
hello 9
[whb@bite-alicloud test]$ head -5 temp.txt
hello 0
hello 1
hello 2
hello 3
hello 4
4. tail 指令
tail 命令从指定点开始将⽂件写到标准输出.使⽤tail命令的-f选项可以⽅便的查阅正在改变的⽇志⽂ 件,tail -f filename会把filename⾥最尾部的内容显⽰在屏幕上,并且不断刷新,使你看到最新的⽂件内容.
语法: tail 必要参数 [⽂件]
功能:⽤于显⽰指定⽂件末尾内容,不指定⽂件时,作为输⼊信息进⾏处理。常⽤查看⽇志⽂件。
选项:
- -f 循环读取
- -n<⾏数> 显⽰⾏数
- 基础命令:
cpp
tail temp.txt - 显示文件最后10行(默认)
tail -3 temp.txt - 显示文件最后3行
- 显示第180-200行
cpp
head -200 temp.txt | tail -20
head -200 temp.txt- 先提取文件的前200行,这会输出:第1行到第200行|- 管道符,将前一个命令的输出作为后一个命令的输入tail -20- 从输入中提取最后20行,从前200行中提取最后20行,即:第181行到第200行
5. date 指令
指定格式显示时间: date +%Y:%m:%d
用法: date [OPTION]... [+FORMAT]
在显示方面,使⽤者可以设定欲显⽰的格式,格式设定为⼀个加号后接数个标记,其中常⽤的标记 列表如下:
- %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
在设定时间方面:
- 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″ //这样可以设置全部时间
时间戳:
- 时间->时间戳:date +%s
- 时间戳->时间:date -d@1508749502
- Unix时间戳(英⽂为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1⽉1⽇(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒
cpp
# 显⽰常规时间
[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
6. cal 命令
cal命令可以⽤来显⽰公历(阳历)⽇历。公历是现在国际通⽤的历法,⼜称格列历,通称阳历。"阳历"⼜名"太阳历",系以地球绕⾏太阳⼀周为⼀年,为西⽅各国所通⽤,故⼜名"西历"。
命令格式: cal 参数 [年份]
功能:⽤于查看⽇历等时间信息,如只有⼀个参数,则表⽰年份(1-9999),如有两个参数,则表⽰⽉份和年份
常用选项:
- -3 显⽰系统前⼀个⽉,当前⽉,下⼀个⽉的⽉历
- -j 显⽰在当年中的第⼏天(⼀年⽇期按天算,从1⽉1号算起,默认显⽰当前⽉在⼀年中的天数)
- -y 显⽰当前年份的⽇历
7. find 指令
- Linux下find命令在⽬录结构中搜索⽂件,并执⾏指定的操作。
- Linux下find命令提供了相当多的查找条件,功能很强⼤。由于find具有强⼤的功能,所以它的选项也很多,其中⼤部分选项都值得我们花时间来了解⼀下。
- 即使系统中含有⽹络⽂件系统( NFS),find命令在该⽂件系统中同样有效,只你具有相应的权 限。
- 在运⾏⼀个⾮常消耗资源的find命令时,很多⼈都倾向于把它放在后台执⾏,因为遍历⼀个⼤的⽂件系统可能会花费很⻓的时间(这⾥是指30G字节以上的⽂件系统)。
语法: find pathname -options
功能:⽤于在⽂件树中查找⽂件,并作出相应的处理(可能访问磁盘)
常用选项:
- -name 按照⽂件名查找⽂件
- 其他选项需要再查,这个命令⽐较复杂
cpp
# 在指定路径下搜索执⾏名称的⽂件
[whb@bite-alicloud test]$ find ~ -name test.c
/home/whb/test_code/old_code/test.c
/home/whb/test_code/test.c
8. which 指令
功能:搜索系统指定的命令
举例:
cpp
[whb@bite-alicloud test]$ which ls
alias ls='ls --color=auto'
/usr/bin/ls
[whb@bite-alicloud test]$ which pwd
/usr/bin/pwd
9. whereis 指令
功能:⽤于找到程序的源、⼆进制⽂件或⼿册
举例:
cpp
[whb@bite-alicloud test]$ whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
[whb@bite-alicloud test]$ whereis libc.so
libc: /usr/lib64/libc.so /usr/lib64/libc.a /usr/share/man/man7/libc.7.gz
10. 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
11. grep 指令
语法: grep [选项] 搜寻字符串 ⽂件
**功能:**在⽂件中搜索字符串,将找到的⾏打印出来
常用选项:
- -i :忽略⼤⼩写的不同,所以⼤⼩写视为相同
- -n :顺便输出⾏号
- -v :反向选择,亦即显⽰出没有 '搜寻字符串' 内容的那⼀⾏
cpp
# ⽂件内容
[whb@bite-alicloud test]$ cat temp.txt
abcd
ABCD
hello
bite
1234
#基本查找
[whb@bite-alicloud test]$ grep "abcd" temp.txt
abcd
# 忽略⼤⼩写的不同,所以⼤⼩写视为相同
[whb@bite-alicloud test]$ grep -i "abcd" temp.txt
abcd
ABCD
# 顺便输出⾏号
[whb@bite-alicloud test]$ grep -n "abcd" temp.txt
1:abcd
[whb@bite-alicloud test]$ grep -ni "abcd" temp.txt
1:abcd
2:ABCD
# 反向选择,亦即显⽰出没有 '搜寻字符串' 内容的那⼀⾏
[whb@bite-alicloud test]$ grep -v "abcd" temp.txt
ABCD
hello
bite
1234
[whb@bite-alicloud test]$ grep -vn "abcd" temp.txt
2:ABCD
3:hello
4:bite
5:1234
[whb@bite-alicloud test]$ grep -vni "abcd" temp.txt
3:hello
4:bite
5:1234
12. top 指令
top 是Linux系统中最重要的性能监控工具之一,用于实时显示系统进程和资源使用情况。
cpp
top # 启动top
top -d 5 # 每5秒刷新一次(默认3秒)
top -p 1234,5678 # 只监控特定PID的进程
top -u username # 只显示指定用户的进程
13. zip/unzip 指令
- 若发现zip 和unzip命令不存在,则:yum install -y zip unzip
语法: zip 压缩⽂件.zip ⽬录或⽂件
功能:将⽬录或⽂件压缩成zip格式
常用选项
- -r:递归处理,将指定⽬录下的所有⽂件和⼦⽬录⼀并处理
举例:
cpp
# 将 test2 打包压缩为test2.zip压缩包
zip -r test2.zip test2
# 将test2.zip压缩包解压缩
unzip test2.zip
# 将test2.zip压缩包解压到指定目录
unzip test2.zip -d /root
13.1 关于 rz / sz
这个⼯具用于 windows 机器和远端的 Linux 机器通过 XShell 传输⽂件. 安装完毕之后可以通过拖拽的方式将⽂件上传过去.
cpp
安装:yum/apt install -y lrzsz
13.1.1 云服务器传windows
cpp
sz test2.zip
输入后Xshell会自动弹窗:选择安装位置

13.1.2 windows压缩包上传到云服务器
cpp
# 直接输入 rz即可,输入后自动弹窗
rz
# Xshell也支持鼠标直接拖拽上传
输入后Xshell会自动弹窗:选择需上传的压缩包

cpp
# 而后可解压缩得到文件
unzip test2.zip
13.1.3 两台云服务器之间互传文件

scp 指令:远程拷贝命令
cpp
# scp test2.tgz 用户名@你的公网ip:目标机器指定的位置
scp test2.tgz root@12.12.21:/home/whb/code/test3
首次传送时会需要输入密码(password),需特别注意,以上图为例:若是需要从左边的机器向右边的机器传送压缩文件,则左边的机器会需要你输入密码,**注意:**输入的是你右边机器的密码
14. tar 命令(重要)
打包 / 解包,不打开它,直接看内容
语法: tar [-cxtzjvf] ⽂件与⽬录 ....
参数:
- -c :建⽴⼀个压缩⽂件的参数指令(create 的意思);
- -x :解开⼀个压缩⽂件的参数指令!
- -t :查看 tarfile ⾥⾯的⽂件!
- -z :是否同时具有 gzip 的属性?亦即是否需要⽤ gzip 压缩?
- -j :是否同时具有 bzip2 的属性?亦即是否需要⽤ bzip2 压缩?
- -v :压缩的过程中显⽰⽂件!这个常⽤,但不建议⽤在背景执⾏过程!
- -f :使⽤档名,请留意,在 f 之后要⽴即接档名喔!不要再加参数!
- -C : 解压到指定⽬录
示例:
cpp
# tar 选项 XXX.tgz srcdir 将后者打包为前者,如何打包则由选项控制
# 将test3目录打包压缩为test2.tgz压缩包
tar czf test2.tgz test3
若上述命令行执行不了,可:tar -czf test2.tgz test3 下述同理
# 展现打包压缩的过程
tar cvzf test2.tgz test3
# 解包为
tar xzf test2.tgz
# 指定目录解包
tar xzf test2.tgz -c /root
# 展现解包的过程
tar xvzf test2.tgz
15. bc 命令
bc命令可以很⽅便的进⾏浮点运算,相当于linux中的一个简单计算器

16. uname -r 命令
- 此命令可在自己的linux环境中查看自己的体系结构和系统内核版本
- 体系结构(芯片结构)为该计算机使用的CPU是什么架构的

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