由于Linux系统的稳定、便捷、受攻击少等原因,很多平台环境会选择部署在Linux服务器上。在做业务数据分析、数据支撑时,如果不懂得Linux的两三道板斧,容易受到限制。本文总结数据分析相关的最常使用到的Linux操作。
linux系统里一切皆文件。 既然要操作文件,那么围绕此核心组织本文,看看文件管理及其周边操作。
一、man帮助命令
授人以鱼不如授人以渔,先介绍如何查帮助
格式:man 需要查询的命令
man man 查看man命令自身的帮助信息
man常用按键及用途
空格 向下翻页
PageDown 向下翻页
PageUp 向上翻页
home 去首页
end 去尾页
/关键词 从上至下搜索某个关键词
?关键词 从下往上搜索某个关键词
n 定位到下一个搜索到的关键词
N 定位到上一个搜索到的关键词
q 退出帮助文档
man帮助信息的结构
Name 命令的名称
Synopsis 参数的大致使用方法
Description 介绍说明
Examples 演示
Overview 概述
Default 默认的功能
Options 可用选项
Environment 环境变量
Files 用到的文件
Seealso 相关的资料
History 维护历史
二、常用系统工作命令
echo 在终端输出字符串或变量提取后的值
格式:
echo [字符串|$变量]
示例:
echo ABCD #ABCD
echo $var #变量var的值
date 显示及设置系统的时间或日期。只需在date命令中输入以“+”号开头的参数,即可按照指定格式来输出系统的日期时间。就可以将备份数据与指定格式的时间信息结合一起
格式:
date [选项][+指定的格式]
示例:
date
date “+%Y-%m-%d %H:%M:%S”
ps 用于查看系统中的进程状态
格式:ps [参数]
top 用于动态地监视进程活动及系统负载等信息
格式:top [参数]
kill 用于终止指定PID的服务进程
格式:kill [参数][进程PID]
三、目录操作
pwd 显示用户当前所处的工作目录
格式:pwd [选项]
cd 切换工作目录
格式:cd [工作目录]
示例:
cd- #返回上一次所处的目录
cd.. #进入上级目录
cd~ #进入当前用户的home目录
ls 显示当前选项中的文件信息
格式:ls [工作目录][文件]
示例:
ls -a #查看全部文件,包括隐藏文件
ls –l #查看文件的详细信息
mkdir创建空白的目录
格式:mkdir [选项][目录]
cp 复制目录或文件
格式:cp [选项] 源文件 目标文件
四、文件操作
cat 查看纯文本文件,适合内容比较少的文件
格式:cat [选项][文件]
示例:
cat –n initial.cfg #查看initial.cfg文件,并使用n选项显示行号
more查看纯文本文件,适合内容比较多的文件。more会在最下面使用百分比的形式来提示已经到文件的百分之几的内容,可以使用空格或回车向下翻页。
格式:more [选项][文件]
head 查看纯文本文档的前N行
格式:head [选项][文件]
示例:
head –n 20 initial.cfg #查看initial.cfg文件的前20行
tail查看纯文本文档的后N行
格式:tail [选项][文件]
wc 统计文本的行数、字数、字节数
格式:wc [参数][文本]
示例:
wc –l initial.cfg #显示initial.cfg文件的行数
wc –w initial.cfg #显示initial.cfg文件的单词数
wc –c initial.cfg #显示initial.cfg文件的字节数
diff 比较多个文本文件的差异
格式:diff [参数][文本]
mv 剪切文件或将文件重命名
格式:mv [选项]源文件[目标路径|目标文件名]
rm删除文件或目录
格式:rm[选项]文件
五、文本编辑
tr 替换文本中的字符
格式:tr [原始字符][目标字符]
示例:
先使用cat命令读取待处理的文本,然后通过管道符把文件内容传递给tr命令进行替换操作
cat initial.cfg | tr [a-z][A-Z] #替换initial.cfg文件中的英文小写字母为大写字母
cut 按“列”提取文本字符
格式:cut [参数][文本]
vi 编辑器
格式:vi [文本]
命令模式:空值光标移动,可以对文本进行复制、粘贴、删除和查找等工作
输入模式:文档录入
末行模式:保存或退出文档,以及设置编辑环境
六、解压缩与搜索
tar 对文件进行打包压缩或解压。适用于tar、tar.gz、tar.bz2格式
格式:tar [选项][文件]
grep用于在文本中执行关键词搜索,并显示匹配的结果
格式:grep [选项][文件]
-b 将可执行的文件当作文本文件搜索
-c 仅显示找到的行数
-I 忽略大小写
-n 显示行号
-v 反向选择,仅列出没有关键词的行
find 按照指定条件来查找文件
格式:find [查找路径]寻找条件 操作
七、重定向与管道
重定向
输入重定向:把文件导入到命令中
输出重定向:把原本要输出到屏幕的数据信息写入到指定文件中。分为标准输出重定向、错误输出重定向。
命令 < 文件 将文件作为命令的标准输入
命令 << 分界符 从标准输入中读入,直到遇到分界符才停止
命令 < 文件1 > 文件2 将文件1作为命令的标准输入,并将标准输出到文件2
命令 > 文件 将标准输出重定向到一个文件中(清空原有文件的数据)
命令 2> 文件 将错误输出重定向到一个文件中(清空原有文件的数据)
命令 >> 文件 将标准输出重定向到一个文件中(追加到原有内容的后面)
命令 2>> 文件 将错误输出重定向到一个文件中(追加到原有内容的后面)
管道符|
格式:命令A|命令B
把命令A原来要输出到屏幕的数据当作是后一个命令的标准输入
八、sqlplus操作数据库
最简单的调用sqlplus
sqlplus -S "sys/unimas as sysdba" << !
select to_char(sysdate,'yyyy-mm-dd') today from dual;
exit;
!
sqlplus的结果传递给shell
VALUE=`sqlplus -S "test/unimas" << !
set heading off
set feedback off
set pagesize 0
set verify off
set echo off
select to_char(sysdate,'yyyy-mm-dd') today from dual;
exit
!`
echo $VALUE
把shell参数传递给sqlplus
t_id="$1"
sqlplus -S "test/unimas" << !
set heading off
set feedback off
set pagesize 0
set verify off
set echo off
select teachername from teacher where id=$t_id;
exit
!
sqlplus的结果存储在文件中
sqlplus -S "test/unimas"<<EOF
set heading off
set feedback off
set pagesize 0
set verify off
set echo off
spool spool_file
SELECT * from teacher;
spool off
exit;
EOF
九、关于windows下的linux试验环境
推荐使用cygwin。cygwin是一个在windows平台上运行的linux模拟环境
可以到Cygwin的官方网站下载Cygwin的安装程序,地址是:http://www.cygwin.com/
下载后傻瓜式点击安装即可。
注意到安装中的下载,可以添加网易开源镜像http://mirrors.163.com/cygwin/ 或者 阿里云镜像http://mirrors.aliyun.com/cygwin/
成功安装后的运行环境