Linux基本指令3

14.时间相关的指令

在Linux中,如果我们想显示时间,就用date指令。

date显示

date 指定格式显示时间: date +%Y:%m:%d

date 用法:date [OPTION]... [+FORMAT]

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的 午夜)开始所经过的秒数,不考虑闰秒。

查看时间戳:

时间的转换:

15.cal指令

cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳 历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。

命令格式: cal [参数][月份][年份]

功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份

常用选项:

-3 显示系统前一个月,当前月,下一个月的月历

-j  显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)

-y  显示当前年份的日历

16.find指令:(非常重要) -name

Linux下find命令在目录结构中搜索文件,并执行指定的操作。

Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。

即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。

在普通用户下查可能会出现permission denied的报错,建议在root账号下查。

find:可以在指定的路径下进行文件的搜索,真的在磁盘文件中查找。

which 

whereis 也可以进行搜索:

whereis:在系统特定的路径下查找,既可以找到可执行程序,又可以找到手册,安装包、压缩包之类的。

 可以找到C语言的头文件,但找不到C++的头文件。

which是在指令路径下,/usr/bin,搜索指令文件。

语法: find pathname -options

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

常用选项: -name   按照文件名查找文件。

17.grep指令

cnt=0; while [ $cnt -le 100000 ];do echo "hello bit $cnt"; let cnt++; done

cnt=0; while [ $cnt -le 100000 ];do echo "hello bit $cnt"; let cnt++; done > log.txt,写入到log.txt的文件中。

显示文件大小:

第一个是按字节大小,第二个是按兆大小。

grep叫做行文本过滤工具。 

grep '9' log.txt会把文件中包含9的行打印出来。

> log.txt清空log.txt文件内容。

nano配置的指令是yum install -y nano。

grep参考文档

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

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

常用选项:

-i :忽略大小写的不同,所以大小写视为相同

-n :顺便输出行号

-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

18.zip/unzip指令:

扩展:计算机为什么要打包和压缩呢?

能被打包和压缩的一定是一个整体,本质是由多个文件变成一个文件,不容易造成文件缺失。打包压缩会使文件体积变小,如果文件体积过大的话会导致下载时间变长,存储占据空间变大。

有些云服务器的系统是没有zip和unzip的,安装zip和unzip要在root账户下安装,输入命令行yum install -y zip unzip就可以安装了。

普通用户切换为root用户:

 su 或者su -,再输入密码就可以了,再切换回去用ctrl + d就可以了。

语法: zip 压缩文件.zip 目录或文件

功能: 将目录或文件压缩成zip格式

常用选项: -r 递 归处理,将指定目录下的所有文件和子目录一并处理

19.tar指令(重要):打包/解包,不打开它,直接看内容

tar [-cxtzjvf] 文件与目录 .... 参数:

-c :执行打包和压缩这一动作

-x :解开压缩文件

-t :查看 tarfile 里面的文件

-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?

-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?

-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!

-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!

-C : 解压到指定目录

 解压并解包:

tar czf 文件名 打包的文件名表示打包压缩,tar tzf 文件名 打包的文件名表示预览,tar xzf 文件名 打包的文件名表示解压解包。

.tgz的全称:tar表示打包后缀,.gz表示压缩后缀,完整的写法是:XXX.tar.gz,简称XXX.tgz。

那么多压缩包我们该用哪一个呢?如果是在Linux下运转的就用tar包,tgz就行了,如果打包压缩的文件想让Windows当中的解包解压软件也能识别,直接使用zip就可以了。

解压到指定路径下:

解压后,在指定解压的地方会出现解压的文件。 比如这里的上级路径下就出现了d1和log.txt。

20.bc指令:

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

21.uname –r指令:

语法:uname [选项] 

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

补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。

常用选项: -a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。

el7代表渗透埃斯7的意思, x86代表体系结构,就是因特尔的x86,64位的,或者amd的,因特尔、amd是一样的。

查体系结构:

 x86_64等价于x64,x86等价于 32。

在Linux当中查内存:

free -k按照kb的方式,free -m表示按照mb的方式,free -g表示按照g的方式。

查磁盘:

可以查到系统当中,诸如文件系统(Filesystem)之类的, 买的云服务器默认只有一块盘,叫做vda1,是腾讯云或者阿里云分配的一个虚拟盘,它的大小默认50G,used表示已经用的,可用的还有45G,已经使用了6%,后面的表示挂载点,这里先不谈。

查CPU:

 op - mode(s):cpu的工作模式,支持32位和64位的工作模式,Byte Order:字节序列,小端。

22.重要的几个热键[Tab],[ctrl]-c, [ctrl]-d

[Tab]按键---具有『命令补全』和『档案补齐』的功能

当我们输入w,按两下tab键,能实现命令自动补全功能, 如果什么都没输入,直接按下tab键,能显示系统所支持的所有指令。所下图:

当前操作系统能支持的指令有1197条。

 ctrl + r:历史命令搜索,输入一个whi会自动出现相应历史命令。(输入whi不一定是唯一的)

文本编辑器nano,相当于linux下的记事本。输入nano --version ,如果出现下面的内容,说明Linux上是装有nano的。 

 Linux下创建普通文件,并写入东西:

写完之后怎么保存呢?

ctrl + x,上尖括号表示ctrl。

此时我们编译一下:

编译通过就出现了一个a.out的可执行程序。 

此时运行它就能跑了。

[Ctrl]-c按键---让当前的程序『停掉』

ctrl + d表示退出终端登录或者退出用户。

history 显示历史输入的命令:

Linux会记录默认记录最新的1000条命令。 

23.关机

语法:shutdown [选项] ** 常见选项:**

-h : 将系统的服务停掉后,立即关机。

-r : 在将系统的服务停掉之后就重新启动

-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思

reboot重启指令。

以下命令作为扩展:

◆ 安装和登录命令: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。

shell命令以及运行原理

Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。 而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。如何理解?为什么不能直接使用kernel?

从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)主要包含:

将使用者的命令翻译给核心(kernel)处理。

同时,将核心的处理结果翻译给使用者。

对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的 操作(比如进入D盘的操作,我们通常是双击D盘盘符或者运行起来一个应用程序)。

shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果再通过内核运行出结果,通过shell解析给用户。

liusiwei是用户名,iZwz9ctogovs0tec0eflllz是主机名,108是当前目录,$是命令行提示符。这一堆就叫做bash命令行。

输入指令的过程,本质就是输入字符串。 指令的本质就是编译好的程序和脚本,一定会在系统的特定路径下存放。

所有的指令,最终都要在OS(操作系统)内部运行,都是操作系统使用难度比较高,我们用户不能直接跟操作系统打交道,这个时候我们要用到图形化界面或者命令行解释器,命令行解释器就是bash命令行。

命令行存在的意义:1.进行命令行解释2.变相保护操作系统,对于用户的非法请求,直接拦截。

命令行解释器是个统称,在Linux下就叫做命令行,也叫做bash或者sh,有的也叫做shell,在Windows当中是一种图形化界面。

shell是所有命令行的统称,所有符合命令行解释器性质的我们都叫做shell,bash和sh是具体的、对应不同种类的解释器。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋悠然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值