【Linux入门】Linux指令(2)
目录
- 【Linux入门】Linux指令(2)
- 时间相关的指令
- cal指令
- find指令(重要,选项很多)-name
- grep指令
- zip/unzip指令
- tar指令(重要)
- bc指令
- uname -r指令
- 重要的几个热键[Tab],[ctrl]-c, [ctrl]-d
- 关机(服务器不能随便关机)
- shell命令以及运行原理
时间相关的指令
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
- date显示日期
- date +%Y显示当前年份
- date +%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的午夜)开始所经过的秒数,不考虑闰秒
- date +%s显示当前的时间戳
- date -d @+时间戳将时间戳转换为对应的时间
- date +%Y… -d @+时间戳将时间戳转换为对应格式的时间
cal指令
cal命令可以用来显示公历(阳历)日历。
命令格式: cal [参数][月份][年份]
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
常用选项:
-3 显示系统前一个月,当前月,下一个月的月历
-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y 显示当前年份的日历
- cal -3显示系统前一个月,当前月,下一个月的月历
- cal -j显示在当年中的第几天
- cal -y显示当前年份的日历
find指令(重要,选项很多)-name
Linux下find命令在目录结构中搜索文件,并执行指定的操作。
Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多(需要了解)
即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。
在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。
语法: find pathname -options
功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
常用选项(其中一个):
-name 按照文件名查找文件。
-
如果需要知道find指令的其他选项,我们可以借助man指令:
-
find +路径名 -name test.c找出该路径下所有的test.c文件
从根目录路径下找出所有test.c文件 -
find +路径名 -name * +文件后缀找出该路径下所有以.c结尾的文件
-
find +路径名 -name *找出该路径下所有文件
注:find查找也会涉及到权限问题
部分搜索指令:
find:可以在指定路径下进行文件的搜索
which:可以搜索指令,包括一些指令的信息
whereis:在系统特定的路径下查找,既可以找到可执行程序,又可以找到手册、安装包、压缩包之类的
grep指令
grep是一个行文本过滤工具,按行进行过滤
语法: grep [选项] 搜寻字符串文件(可以使用一个或多个文件路径)
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:
-i:忽略大小写的不同,所以大小写视为相同
-n:顺便输出行号
-v:反向选择,亦即显示出没有’搜寻字符串’内容的那一行
-
grep ‘9’ +文件名把文件中包含’9’的内容打印出来
-
grep ‘hello’ +文件名把文件中包含hello的内容打印出来
-
cat +文件名 | grep 选项 +文本grep还可以与cat联用输出含有该文本的行内容
zip/unzip指令
前言:为什么
要打包压缩呢?
- 能打包压缩的,一定是一个整体,由多个文件压缩成一个文件,这样不容易造成文件缺失。
- 打包压缩使文件体积变小,缩短下载时间,减少存储占据空间。
语法: zip 压缩文件.zip 目录或文件
功能: 将目录或文件压缩成zip格式
常用选项:
-r 递归处理,将指定目录下的所有文件和子目录一并处理
- zip 文件名.zip 文件将文件打包(可以是多个文件)
- zip -r 目录名.zip 目录名将整个目录进行打包(打包目录-r不能少,否则目录里的文件不会被打包)
- unzip +文件名.zip直接将文件解压
- unzip +文件.zip -d 目标目录路径(将文件解压到目标目录)
附:
安装zip和unzip:切换为root用户,输入指令:yum install -y zip unzip
tar指令(重要)
tar命令一般内置,作用:打包/解包,不打开它,直接看内容,tar命令的选项很多。
语法:tar [-cxtzjvf] 文件与目录 … 参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录
打包和压缩的方案有很多种
-
tar czf +文件名.tgz +要打包压缩的文件 对文件进行打包压缩
-
tar tzf +文件名。tgz +要预览的文件不解压的情况下预览文件内容
-
tar xzf +要解压的文件.tgz解压文件
-
tar xzf +文件名.tgz -C +指定的路径将文件解压到指定路径下
tar—打包后缀
.gz—压缩后缀
如果文件在Linux互相流转,用tar好一些。
如果文件要在windows,可以用zip
bc指令
bc命令可以方便地进行浮点运算(计算器)
- 输入quit退出计算器
- echo “1+2+3” | bc 可以利用管道进行计算
bc指令还可以用于二进制运算
obase=16 (设置输出为16进制)
ibase=2(设置输入为2进制)
uname -r指令
语法:uname [选项]
功能: uname用来获取电脑和操作系统的相关信息。
补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。
常用选项:
-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类
型,硬件平台类型,操作系统名称
el7:centos7
x86_64:64位机器
x86:32位机器
附:
其他查询系统的指令:
- free查内存信息(可以带-k(以kb) -m(以mb) -g(以gb)选项)
- df -h查磁盘信息
- lscpu查cpu信息
Little Endian:小端
重要的几个热键[Tab],[ctrl]-c, [ctrl]-d
[Tab]按键—具有『命令补全』和『档案补齐』的功能
[Ctrl]-c按键—让当前的程序『停掉』
[Ctrl]-d按键—通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可以用来取代exit
[Ctrl]-r按键—历史命令搜索
- 按两下Tab键补齐命令
- ctrl + r + 历史指令搜索历史命令(默认记录最新1000条历史命令(可以修改))
- ctrl + d也可以用来关闭xshell(两次ctrl d)
- history查询历史命令列表
关机(服务器不能随便关机)
语法:shutdown [选项]
常用选项:
-h : 将系统的服务停掉后,立即关机。
-r : 在将系统的服务停掉之后就重新启动
-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思
扩展命令:
◆ 安装和登录命令: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解析给用户。
linux指令篇结束