Linux-基础指令-3

时间相关的指令

 date显示 

 date 指定格式显示时间:

date +%Y:%m:%d

例子:

 而上述中的 %Y %m %d ·· 等等这些中间可以用很多的符号来分割, 如:" - "  " _ " " : " ···等等这些都是可以的,但是空格是不行的,因为Linux当中认为用 空格 分隔的是指令。

 输出格式:

%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

 时间戳的由来,由于各个地区时间不同,不同地区所在时区不同,当地的时间是不同的,而且互联网在进行交互的时候是很快的,为了实现时间的同一,创建了Unix时间戳,改时间戳是从 1970 年1月1日开始(UTC和GMT的午夜)开始所结经过的秒数,不考虑润秒。

 而且上述的时间戳是自增的,而上述的时间戳是,当前的时间转换的时间戳,我们还可以使用一下命令把 对应时间戳转化为 日期:

date -d @时间戳

 date -s  的用法:

扫描二维码关注公众号,回复: 15894065 查看本文章
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″ //这样可以设置全部时间

cal指令

 查看Linux 当中的日历。

 命令格式:

cal [参数][月份][年份]

 直接 cal  查看当前月份的日历:

 cal -3 查看当前月份前后月份,月份个数加起来3个月:

 cal 年份     查看输入年份的 全月日历:

-3 显示系统前一个月,当前月,下一个月的月历
-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y 显示当前年份的日历

 find指令

 -name 按照文件名查找文件

 命令格式:

find 目录 -name 文件名

可以在指定目录中以这个文件名寻找文件。

 上述我们在 usr 陆慕中寻找 pwd 这个目录,我们发现它报了 Permission denied 这个错,这个表示我们当前 普通用户没有权限访问这个文件。因为普通用户只能再 home 目录中自己的家目录中进行find操作,当在不在家目录中使用find 查询的时候就会报错。

find 查找文件,就是直接在磁盘文件当中好像查找。

 which 也可以查找,但是查找的是 在指令路径下,/usr/bin, 搜索指令文件;还有一种 whereis:在系统特定路径下,既可以找到可执行文件,又可以找到手册,安装包,压缩包等等的文件。

 grep指令

 行文本过滤工具:在文件中搜索字符串,将找到的行打印出来

语法: 

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

如果在指定文件中,没有搜索的字符串,就丢弃,如果有就打印在屏幕上。

 

 选项:

-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

 -v:

 -n:

 -i:

 grep 也可以使用 管道 和其他指令进行联用:

 使用之后 grep 不用再带文件名了,因为管道前就是文件名。

 在源文件当中查找某个函数在第几行:

 而像上述的查找不仅仅可以查找一个,还可以查找多个文件,如果找到了,会把目录也打印到结果当中:

 可以使用 -R 在某一目录路径下,递归式的寻找字符串:

zip/unzip指令

 我们都知道 打包 压缩 和 解压 ; 之所以要 打包 压缩,因为能被打包压缩的就是 一个整体,不管其中有多少个文件,打包压缩之后都是一个文件,这样做就不容易丢失,像这种文件缺失的情况,如果是全部丢失其实还好,如果是比较大的文件比如是 10g 文件,其中丢了几个文件,那么我们就不太好查找我们缺失的是哪几个文件。而且打包压缩之后,这个文件的体积也会变少,体积大就会出现,下载时间变长,储存空间变大等等的问题。

语法:

zip 压缩文件.zip 目录或文件
unzip 压缩文件.zip 目录或文件

现在我们创建了这个样一个目录(d1):

 现在我们直接把这个 目录使用 zip 命令压缩:

以上就是我们进行 压缩和 解压的过程,但是我们发现解压出来的文件夹只有 d1,这是因为,对于 zip 解压命令,如果我们不加选项,默认去压缩的话,它会把这个指定的目录当做是一个文件来压缩,那么他就只会压缩这个目录,如上述我们就使用默认的 zip 命令压缩,我们解压出来就只有这个 d1 这个目录。

 为了避免上述情况,我们可以使用 -r 递 归处理,将指定目录下的所有文件和子目录一并处理。

当然,我们可以一次压缩多个 文件或目录:

 当然我们在解压的时候,可以不进入其他路径,而解压到其他路径当中:

unzip 压缩文件名.zip -d 解压的目的地路径

 如上述就是把 d1.zip 当中的文件解压到 text 这个路径之下。

zip 和 unzip 这两个指令不一定是默认安装的,直接输入 zip 指令 如果出现一下报错就是没有安装:

 如果需要手动安装的话,首先需要登录 root用户 ,然后输入以下命令:

yum install -y zip unzip

然后就可以自动安装了。

 

 以上是在云服务器上的操作,其他环境需要自己查找安装方式。

进入 root 的方式,退出的话按下 ctrl + D 就可以退出。

 tar指令

  压缩和解压的方式有很多种,像上述的有 zip 的方式,还有 rar , 7z 等等很多种方式,所以我们使用 tar 指令就可以对多种压缩方式来进行 操作。

语法:

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

对应选项:

-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录

实例:

范例一:将整个 /etc 目录下的文件全部打包成为 `/tmp/etc.tar`
[root@linux ~]# tar -cvf /tmp/etc.tar /etc<==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩
特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~
如果加 j 参数,则以 .tar.bz2 来作为附档名啊~
上述指令在执行的时候,会显示一个警告讯息:
『`tar: Removing leading `/" from member names`』那是关於绝对路径的特殊设定。

范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,就得要加上 z 这个参数了!这很重要的!

范例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,
我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz ,
则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc
则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!

范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已[root@linux ~]# cd /tmp
[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,
就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!
范例五:将 /etc/ 内的所有文件备份下来,并且保存其权限!
[root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc
这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!

范例六:在 /home 当中,比 2005/06/01 新的文件才备份
[root@linux ~]# tar -N "2005/06/01" -zcvf home.tar.gz /home

范例七:我要备份 /home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件!
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -cvf - /etc | tar -xvf -
这个动作有点像是 cp -r /etc /tmp 啦~依旧是有其有用途的!
要注意的地方在於输出档变成 - 而输入档也变成 - ,又有一个 | 存在~
这分别代表 standard output, standard input 与管线命令啦

但是,其实主要运用只有 三种,如下:

tar czf xxx ----    #打包压缩
tar tzf xxx.tgz ----  # 预览
tar xzf xxx.tgz ----  #压缩解包

上述中 c 的意思是 打包,z 是 以 zip 的方式压缩打包 , f 后面紧跟的就是包名,t 就是 预览,预览就相当于是我们在windows 当中双击某个 压缩文件,打开一个目录,这个目录中有这个压缩文件中的压缩的所有文件,但是此时并没有对这个压缩文件进行 解压操作,只是查看。而 x 就是解压操作。上述的 tgz 是 tar.gz    的缩写,而 这里 t 代表的是 tar 是打包后缀,gz 代表的是压缩后缀。

 像上述我我们使用的 都是 像 cxf 这样的选项,使用 -cxf 这样的方式也是可以的,但是有些 Linux 的环境可能不支持。

 tar -C 打包压缩到指定路径:

tar cxf xxx.tgz -C 目标路径

 使用上述的方式就可以把 打包压缩文件到指定 目录下。 

 关于 tar 和 zip 的使用建议:

 如果我们打包压缩的文件就只是在 Linux环境下使用,那么建议使用 tar 命令;如果我们想在 Linex 当中打包压缩的文件在 windows 环境下也能识别,那么我们可以使用 zip 来进行打包压缩。但是其实现在 windows 中已经有很多的软件可以识别很多的 打包压缩的方式了,所以我们使用单单使用 tar 也行。

 bc 指令

 相当于是 Linux 当中的 计算器,他可以很轻松的进行 浮点运算。

我们可以直接输入 bc ,那么他就相当于是 计算器了,我们输入一个表达式,回车他就可以帮我们输出结果:

 退出就输入 quit 就行。

 当然也可以使用管道:

 name指令

uname用来获取电脑和操作系统的相关信息。
uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息

我们一般是使用 -a 选项来 输出详细的全部信息:

 如上,依次输出的是:

内核名称,主机名,内核版本号,内核版本,硬件名,处理器类
型,硬件平台类型,操作系统名称

 

 几个快捷键([Tab],[ctrl]-c, [ctrl]-d)

 【tab】键:指令的快速补全。

 如上图,我们想补全which 指令,那么我们需要输入 whic 之后 在按下 【tab】键,他就会自动补全。如果只输入 w     wh     whi   ,按下两次【tab】键之后就会在屏幕上显示这个关键字的相关指令,如上图所示。

我们还可以只按下两次 【tab】 键来直接查看全部的指令,并显示当前 系统中有多少个 命令:

【ctrl + r】 :历史命令搜索,我们按下 【ctrl + r】在输入相关的命令,就会出现我们之前写过的这个命令的相关命令:

 也就是说,我们在Linux 当中输入的命令不是输入了就输入了,他会在一个文件当中保存这些命令,我们使用 history 这个命令就可以查看我们之前使用过的命令:
 

在Linux当中默认是会记录 1000 条最新的命令,因为是储存在文件当中,所以,如果我们退出了 当前操作系统,在进入这个命令历史也会记录。 

【ctrl + c】:结束当前异常进程。

【ctrl + d】:退出当前模块,比如我们在 nano中修改文件,我们就可以直接使用  【ctrl + d】退出当前进程,他相当于是在键盘上输入 结束(End Of File, EOF 戒 End OfInput)的意思。我们可以一直按 【ctrl + d】退出当前用户,在按【ctrl + d】退出xshell。

 nano

 Linux 当中记事本,

语法:

nano 文件名

使用 nano --varsion 命令查看 nano 命令是否在当前Linux 操作系统之下安装,如果没有安装,输入以下命令自动安装:

yum install -y nano

在使用 nano 文件名  就能进入这个文件,对这个文件进行修改:

 

 使用ctrl + 上图中字母就可以实现对应操作。

我们使用 ctrl + x 退出,此时他会问我们是否保存,我们选 y :

 关机指令  (shutdown)

 我们可以输入这个指令来进行关机的操作。

语法:

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

相关选项:

-h : 将系统的服务停掉后,立即关机。
-r : 在将系统的服务停掉之后就重新启动
-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思

需要注意 的是 Linux 操作系统(服务器),是永远不关机的,如果主机关了,那么其他的【普通用户】就不能再使用这个 Linux 操作系统了。

猜你喜欢

转载自blog.csdn.net/chihiro1122/article/details/130680228