Linux基础命令(2)
- Fskey servername
- scp命令
- grep 命令
- find 命令
- echo 命令
- xargs 命令
- file 命令
- cat 命令
- /dev/null
- tar 打包
- gzip 压缩
- 示例:打包和压缩
- awk 命令
- 综合示例
Fskey servername
保存登陆信息,下次登陆不必再输入密码
Fskey username@192.168.0.2
scp命令
说明
用于2个 linux 主机间复制文件
格式:
scp [可选参数] file_source file_target
示例
从“本次”复制到“远程”:
复制文件:scp local_file_path username@192.168.0.2:remote_folder_path
复制目录:scp -r local_file_path username@192.168.0.2:remote_folder_path
从 “远程” 复制到 “本地”:
复制文件:scp username@192.168.0.2:remote_folder_path local_file_path
复制目录:scp -r username@192.168.0.2:remote_folder_path local_file_path
grep 命令
grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来
示例
在文件4.txt中查找含student的行
grep student 4.tx
在所有以d开头的文件中查找含test的行
grep 'test' d*
在aa.js、bb.js、cc.js文件中查找含test的行
grep 'test' aa.js bb.js cc.js
从当前文件夹的所有子文件(包含子目录中的文件)中查找含test的行
grep 'test' . -r
示例:-E(开启正则查找)
查找含“template/”或“static/”的行
grep -E "template/|static/" test.text
查找含“template/|static/”的行
grep "template/|static/" test.text
查找含“$”的行
grep "\\$" test.text
find 命令
在指定目录下查找文件,查找的范围包含了“指定目录”的子目录。
格式
find pathname -options
* -print: find命令将匹配的文件输出到标准输出
* -type:
* b - 块设备文件。
* d - 目录。
* c - 字符设备文件。
* p - 管道文件。
* l - 符号链接文件。
* f - 普通文件。
* -name:按照文件名查找文件。
示例
列出当前用户目录(/home/username/)下的所有文件,下面两句命令作用相同
find $HOME -print
find ~ -print
在当前目录下的所有.svn文件夹
find . -type d -name '.svn'
在当前目录下查找文件名包含ent的文件
find . -type f -name '*ent*'
echo 命令
向屏幕上打印输出;或将内容输出到某一文件中。
示例:
打印222
echo '222';
将222“输出”到log.txt,会替换到原文件里的内容。
echo '222' >log.txt;
将222“追加”到log.txt
echo '222' >>log.txt;
清空log.txt
echo >log.txt
逐行读取t.js的文件,追加到Log.txt中
while read line;
do
echo $line >>log.txt;
done <'t.js'
xargs 命令
大多数 Linux 命令都会产生输出:文件列表、字符串列表等。
但如果要使用其他某个命令并将前一个命令的输出作为参数该怎么办?使用xargs。
示例:
在当前目录下查找“.svn”文件夹,并产出这些文件夹。“find”命令查找,然后将查找出的内容传给后面的“rm”命令
find . -type d -name ".svn" | xargs rm -rf;
file 命令
辨识文件类型,有些类似windows中的"查看->详细信息列表"
示例
列出当前目录下所有“文件”和“文件夹”的信息
file ./*;
列出当前目录下“docs”文件夹的信息
file ./docs;
cat 命令
输出,类似于echo;但其可以对输出的内容进行加工
参数:
n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
v 或 --show-nonprinting
示例:
textfile的内容为:
aaa bbb
ccc
把 textfile1 的档案内容加上行号后输入到 textfile2 这个档案里
cat -n textfile1 > textfile2; textfile2的内容为:
1 aaa
2
3 bbb
4 ccc
把 textfile1 的档案内容加上行号(空白行不加)之后将内容附加到 textfile2 里。
cat -n textfile1 > textfile2; textfile2的内容为:
1 aaa 2 bbb
3 ccc
把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
cat -b textfile1 textfile2 >> textfile3
此为清空/etc/test.txt档案内容,使用echo不能完全清空文件内容,文件仍有一个空行符。
cat /dev/null > /etc/test.txt
cat 也可以用来制作 image file。例如要制作软碟的 image file,将软碟放好后打
cat /dev/fd0 > OUTFILE
相反的,如果想把 image file 写到软碟,请打
cat IMG_FILE > /dev/fd0
/dev/null
把/dev/null看作"黑洞". 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到. 然而, /dev/null对命令行和脚本都非常的有用.
示例
禁止标准输出,原本要输出的内容,现被写入到"/dev/null"中,从而不显示任何内容
cat filename >/dev/null;
带有编号的示例
- 2 # 如果"$filename"不存在,将不会有任何错误信息提示
- 3 ...
- 还有其他的编号
禁止标准输出和标准错误的输出
cat filename 2>/dev/null >/dev/null
tar 打包
所谓打包,就是把多个文件(夹)组成一个集合。linux下只能对一个文件进行压缩,所以如果想对多个文件进行压缩的话,就必须先打包。
格式: tar -参数 压缩后的文件名 需要压缩的文件
参数
- -c :建立一个压缩文件的参数指令(create 的意思);
- -x :解开一个压缩文件的参数指令!
- -t :查看 tarfile 里面的文件!
- 特别注意,c/x/t 仅能存在一个!因为不可能同时压缩与解压缩。
- -z :是否需要用 gzip 压缩?
- -j :是否需要用 bzip2 压缩?
- -v :压缩的过程中显示文件!
- -f :使用档名,请留意,f后面紧跟归档的文件名
gzip 压缩
对打包后的文件进行压缩
示例:打包和压缩
压缩
将整个 "/etc" 目录下的文件全部打包成为 "/tmp/etc.tar"
tar -cvf /tmp/etc.tar /etc; # 仅打包,不压缩
tar -zcvf /tmp/etc.tar.gz /etc; # 打包,并以 gzip 压缩
tar -jcvf /tmp/etc.tar.bz2 /etc; # 打包,并以 bzip2 压缩
解压和解包
gzip -d test.tar.gz; # 将“test.tar.gz”解压为“test.tar”
tar -xf test.tar; # 将“test.tar”的包解开
上述两步骤可以合称为:
tar -zxvf .tar.gz; # 解开一个gizp压缩的包
tar -xvf .tar; # 解开一个tar包
awk 命令
awk是一种用于处理数据和生成报告的编程语言。一般的使用格式是:
awk '{pattern + action}' {filenames}
文件test.txt的内容如下,相应的分割符号为两个空格
aa2 bb3 cc4
dd ee ff
gg ee hh
执行命令:awk '{print $2}' test.txt,该命令的“pattern”部分为空,就是匹配所有行,输出结果如下
bb3
ee
ee
执行命令:awk '/e/ {print $2}' test.txt,该命令会匹配含有字符"e"的行,输出结果如下
ee
ee
综合示例
svn st | grep -E 'template/|static/' | grep -E 'M|?' | awk '{print $2}'
上述命令的功能是,筛选出当前版本库内“template”和“static”两个目录下修改的文件,并打印出这些文件,详解:
* 第一部分:显示文件和子目录的状态
* 第二部分:筛选出含template/或static/的行
* 第三部分:筛选出含M或?的行
* 第三部分:只输出文件的地址列
Linux基础命令(2)的更多相关文章
- 第四节,Linux基础命令
第四节,Linux基础命令 命令是系统操作员对系统传入的指令,传入指令后回车,系统接收到指令做出相应的行为 1.查看用户位于系统什么位置 [pmd]检查操作用户位于系统的什么位置 命令 ...
- 【Python之路】第一篇--Linux基础命令
pwd 命令 查看”当前工作目录“的完整路径 pwd -P # 显示出实际路径,而非使用连接(link)路径:pwd显示的是连接路径 . 表示当前目录 .. 表示上级目录 / 表示根目录 ls ...
- linux基础命令学习笔记(二)
linux基础命令学习笔记(二) 1.kill :终止进程 kill pid (唯一标示一个进程) kill -9 强制终止 kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...
- 2.Linux基础命令
linux内一切皆文件,没有文件夹只有目录,目录也是一种文件 1.一些常用按键: 将鼠标的光标从虚拟机里切换回来:Ctrl+Alt 拖动Ubuntu内的对话框:Alt键+鼠标左键拖动 清屏:Ctrl+ ...
- linux基础命令一
linux基础命令一 1.date命令 date命令介绍:显示或者设置系统日期 date命令的语法: 显示日期:date [options...] [+FORMAT] FORMAT:为显示日期的格 ...
- linux基础命令:
linux基础命令: 显示 echo 输出我写的内容 ls 查看当前目录的文件 pwd 查看当前目录 ifconfig 查看网卡信息 grep 过滤 -v 取反 -n man 查看命令的帮助信息 md ...
- 常用的linux基础命令
常用的linux基础命令 1.ls 显示目录属性 -l:(也可以简写成ll),列表显示权限等属性 -a:显示所有文件包括隐藏文件等 -d:只列出目录本身 2.chgrp 改变档案所属群组 eg:chg ...
- Linux基础命令-文件与目录
Linux基础命令-文件与目录 参考:<鸟哥linux私房菜>五-七章,17/12/5复习,18/01/15复习 文件权限 rwx421:用户,用户组,其他 umask查看默认权限:000 ...
- Linux基础命令回顾
前言 说到linux基础命令,网上一搜一箩筐,想学也有很多教程,如果你不幸看到此篇文章,想看就认真看完,毕竟你点进来了不是嘛? 我每次写的文章都是为了分享自己的学习成果或重要知识点,希望能帮助更多的人 ...
- linux常用命令大全(linux基础命令+命令备忘录+面试复习)
linux常用命令大全(linux基础命令+命令备忘录+面试复习)-----https://www.cnblogs.com/caozy/p/9261224.html
随机推荐
- SQL多表连接查询(具体实例)
本文主要列举两张和三张表来讲述多表连接查询. 新建两张表: 表1:student 截图例如以下: 表2:course 截图例如以下: (此时这样建表仅仅是为了演示连接SQL语句.当然实际开发中我们 ...
- 细数Python的特殊方法一:集合类
1. 特殊方法汇总列表 2. 仿集合类 __len__:返回对象的长度 __getitem__:获得某一项的值 __setitem__:设置莫一项的值 __delitem__删除某一项 __c ...
- STL源代码剖析 容器 stl_map.h
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie map ------------------------------------------ ...
- j2ee高并发时使用全局变量需要注意的问题
原文:https://blog.csdn.net/jston_learn/article/details/21617311 开发中,全局变量的使用很频繁,但对于多线程的访问,使用全局变量需要注意的地方 ...
- [1-1] 把时间当做朋友(李笑来)Chapter 1 【心智的力量】 摘录
今天开了读书笔记这一专题,主要是对自己今后读的书有一个小小的记录,也为解决自己读书多年的存在的一些习惯的问题. 打小就喜欢书,可能最早的书是家人买的看图识动物.还记得七八岁时见书摊上的书时赖着不走央求 ...
- 人工智能 VS 机器学习 VS 深度学习
(原文:) The Difference Between AI, Machine Learning, and Deep Learning? (译文:) 人工智能 . 机器学习 和 深度学习的区别? 作 ...
- ML:交叉验证Cross-Validation
PRML中首章绪论的模型选择,提到两个方法: 1.交叉验证(Cross-Validation) 2.赤池信息准则(Akaike Information Criterion),简称:AIC. 交叉验证是 ...
- unity3d为对象添加脚本的两种方法
首先添加一个物体,然后新建一个C#脚本.接下去有两种方法把C#脚本与物体绑定. 1.在类声明上方添加如下代码: [AddComponentMenu("a/b")] 这句话表示在该物 ...
- REP-20147 Cannot implement column link for this detail SQL query. Converting to group link.
注:本文为原创,作为学习交流使用,转载请标明作者及出处,作者保留追究法律责任的权力. Lumen Su lzsu1989#gmail.com (#=@) www.cnblogs.com/lzsu198 ...
- Navicat for MySQL再谈之无奈之下还是去安装Navicat Premium
不多说,直接上干货! 首先,Navicat for MySQL没有查看数据库属性. 其次,没有这个功能多和强大,在走过一段弯路之后,果断放弃Navicat for MySQL,而使用Navicat P ...