目录
重要的几个热键[Tab],[ctrl]-c, [ctrl]-d
more指令
输入以下代码会让file.txt文件产生一万行代码
count=0; while [ $count -le 10000 ]; do echo "hello world ${count}"; let count++; done > file.txt
输入cat file.txt查看里面的内容
但有个缺陷,这样不好观察到前面的内容
我们可用more指令来观察,输入more file.txt,more的特点是把一个屏幕打满,就不再继续往后打印,如果想观察后面的要不断按回车,more不能往上翻
more -n file.txt
可查看file.txt文件的前n行内容
less指令
less指令也是把一个屏幕给打满, 若想观察下面的也可以按回车
也可按↑或↓来进行翻阅查看
退出less按Q
-i
忽略搜索时的大小写
-N 显示每行的行号
/字符串: 向下搜索“字符串”的功能
?字符串: 向上搜索“字符串”的功能
n 重复前一个搜索(与 / 或 ? 有关)
N: 反向重复前一个搜索(与 / 或 ? 有关)
q: quit
输入less file.txt查看文件,按回车
若要查看第999行内容输入/999回车即可
若要查看含有999的数字,我们一直按n即可
若想重新回到最开始按G即可
我们touch test9-13.c文件
输入vim test9-13.c可对这个文件进行书写
写一个死循环程序
写好之后,按ESC在输入:wq即可退出
跑起来后进入死循环,我们按ctrl+C即可退出
ctrl+C:终止异常的命令
head和tail指令
根据刚才的文件,我们输入 head file.txt此时只会显示头部的一些内容,默认为10行
输入tail file.txt,会显示后面几行的内容
中间加-n会显示最后n行
如果想拿去[999,1009]的内容呢?
我们可把前1009行输出到另一个文件里
这种方法是通过创建临时文件,如果是大文件则比较浪费空间
管道
上面的方法通过创建临时文件,比较麻烦,下面我们用管道来解决
这个|叫管道,管道就是我们日常生活中见到的,都是用来传输资源的
计算机传输的主要资源是数据,管道是用来传到数据的
file.txt 把内容输出到管道里,tail从管道里读
管道可以连接多条命令,可以批量化,流水化处理数据
wc 命令:统计文本行个数
管道可以称之为管道文件,这是一个内存级别的文件,没有在磁盘上
时间相关的指令
date显示
date 指定格式显示时间: date +%Y:%m:%d
date 用法: 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
这种查看时间不太美观,我们可对其进行优化
显示时间戳
时间戳是从1970年1月1日00:00到现在的秒数
该数据是单向递增具有唯一性的
把时间戳转回日期
当时间戳为0,显示8点,是因为时间戳开始的时间不是北京时间是一个外国时间,所以显示北京时间8点
Cal指令
命令格式: cal [参数][月份][年份]
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
-3 显示系统前一个月,当前月,下一个月的月历
-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y 显示当前年份的日历
cal只有-1和-3,没有-4 -5 -2之类的命令
find指令:(灰常重要) -name
Linux下find命令在目录结构中搜索文件,并执行指定的操作。
Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。
即使系统中含有网络文件系统( NFS), find命令在该文件系统中同样有效,只你具有相应的权限。在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)语法: find pathname -options
功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘
-name 按照文件名查找文件在家目录下找到file.txt文件
find会从家目录开始查找file.txt文件
which
which
该如何看待linux下的各种命令,其实这些命令本质上就是可执行程序(工具,命令,指令)
我们编写的C/C++代码编译后形成了.exe文件
定位上跟可执行程序一模一样
win下的安装一个软件,Linux也会有安装一个软件,其实这个过程更多的就是拷贝
我们可看到ls存在于这个路径下
运行程序的时候:1.找到它 2.运行它
这样也能执行ls命令,输入它的路径就能找到它,找到之后就能运行
which就是帮我们找到它
which在系统路径中,查找特定的指令所在的路径
还有一个命令whereis
whereis查找:除了指令之外只要是包括ls内容的所有文档都会显示,就是把跟ls有关的显示出来
alias
alias在上面的which命令执行后可以看到,alias叫做给一条命令起别名
输入alias zhansgan='ls-al'
相当于给ls-al起了个别名叫zhangsan
输入zhangsan就跟输入ls -al一个效果
重新登陆后,别名就会失效。起别名只在本次登陆中有效
grep指令
语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来grep会把包含888的文本行过滤出来
-i :
忽略大小写的不同,所以大小写视为相同
-n : 顺便输出行号
-v : 反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行
grep是行文本过滤的工具
通过管道进行逆置
加-n可显示行号
-v可反向匹配,即显示出不包含888的内容
找到函数中main
现在我们修改文件,让文件里大小写乱序
输入语句后,可显示我们要查看的内容,由此课间grep对大小写很敏感
-i对大小写不敏感
xargs是参数的意思
如果不想让echo输出的命令通过管道交给ls,这样的话是不行的,ls只能通过默认的方式取走,ls不会读取前面的这些命令
但是ls有命令行参数,我们通过管道把这些数据转化成命令行参数交给ls,就如同执行了ls -l -a -i,我们用xargs即可
xagrs:将管道的输出结果,作为命令行参数,交给后面的程序
zip/unzip指令
打包和压缩
打包和压缩
打包:将东西放在一起
压缩:采用某种压缩算法,压缩它的存储空间
这样便于传输,或者归档
比如:我们下载软件的时候,我们下载的是一个压缩包
市面上各种后缀的压缩包,是非常多的解压工具非常多,linux下也是如此
语法: zip 压缩文件.zip 目录或文件
功能: 将目录或文件压缩成zip格式-r 递 归处理,将指定目录下的所有文件和子目录一并处理
将test2目录压缩: zip test2.zip(压缩后形成的新文件) test2/*(要压缩的对象)
解压到tmp目录: unzip test2.zip -d /tmp开始压缩
压缩完成后可以看到一个.zip文件
把zip移动到上一级目录,之后输入cd..进入上一级目录
用unzip解压后
我们发现这里面什么都没有
我们加入-r
我们删掉project所有内容之后,对压缩包解压
可以看到解压完成
我们新创建一个路径
删除刚才的压缩包
现在我们指定解压到afternoon目录下,解压的时候加-d
此时解压成功
tar指令(重要):打包/解包,不打开它,直接看内容
tar [-cxtzjvf] 文件与目录 .... 参数:
-c :
建立一个压缩文件的参数指令(create 的意思);
-x : 解开一个压缩文件的参数指令!
-t : 查看 tarfile 里面的文件!
-z : 是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j : 是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v : 压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f : 使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录
tar.gz这种写法比较繁琐
tar压缩 -czvf选项 project.tgz生成的压缩文件 project要压缩的对象
v是显示压缩过程
此时生成了压缩包
在当前路径下解压
压缩:-czvf 解压:xzvf
我们将压缩包解压到这个路径下
解压,注意-C,C是大写
bc指令
bc命令可以很方便的进行浮点运算,bc命令可以帮我们运算
+-*/和%都可以
uname –r指令
语法: uname [选项]
功能: uname用来获取电脑和操作系统的相关信息。
补充说明: uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
在lINUX下查看体系结构(x86)和内核版本
uname-r查看内核版本
如64位错做系统,基于x64处理器,这个叫体系结构
重要的几个热键[Tab],[ctrl]-c, [ctrl]-d
[Tab]按键---具有『命令补全』和『档案补齐』的功能
[Ctrl]-c按键---让当前的程序『停掉』
[Ctrl]-d按键---通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可
以用来取代exit输入a按tab
输入whi按tab
ctrl+d快速退出
关机
语法: shutdown [选项] ** 常见选项: **
-h
-r: 将系统的服务停掉后,立即关机。
: 在将系统的服务停掉之后就重新启动-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思
云服务器不关机,halt,shutdown
输入history可查看历史记录
也可保存历史记录到一个文件中history >test.txt