分类存档: Linux基础

Linux执行History下的命令

当你在shell(控制台、终端随便叫)中输入并执行命令时,shell会自动把你的命令记录到历史列表中, 一般保存在用户目录下的.bash_history文件中。默认保存1000条,当然你可以更改这个值。 使用history命令来显示列表,可以跟一个整数表示希望显示最后的多少条命令。如下: $ history 10 526 ls web/ 527 clear 528 ls -a 529 histor …

继续阅读 »

Mac OS ssh 连接提示 Permission denied (publickey) 怎么破?

ssh准备连接远程服务器却遭提示” Permission denied (publickey) “, 这是由于您没有将公钥( publickey ) 添加到本地 ssh 环境造成的,或者是由于多日未 进行ssh 登录操作,本地 publickey 失效造成的。我的mac os x 环境隔几天没有登录ssh 就会报 “Permission denied ” 啦。只要 使用 ssh-add 命令再次添 …

继续阅读 »

Linux如何管理本机的多个ssh密钥

我的config文件配置 详情参考: linux管理多个ssh公钥密钥:http://www.tuicool.com/articles/VBraEbm coding.netSSH公钥配置:https://coding.net/help/doc/account/ssh-key.html git:如何管理本机的多个ssh密钥:https://segmentfault.com/a/11900000056 …

继续阅读 »

如何用awk取重复记录的第一条记录和最后一条记录

附录 1、awk ‘! a[$0]++’ 怎么理解? 这是一个非常经典的去重复项的awk语句,虽然短小,不过涉及到了不少知识点,下面一一解读: <1> :”!” 即非。 <2>:a[$0],以$0为数据下标,建立数组a <3>:a[$0]++,即给数组a赋值,a[$0]+=1 <4> :那么组合起来,awk是怎么执行!a[$0]++的呢? 即: ‘!a[$0]+ …

继续阅读 »

Linux的traceroute命令详解

不同环境上的命令 windows里的是tracert Linux里的命令是traceroute 路由跟踪traceroute工具说明 Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。 Tracert 工作原理 路由扫描工具的原理都是存活时间 …

继续阅读 »

Linux 对一个文件或目录设置多个组的权限(ACL权限:getfacl,setfacl)方法

ACL的使用 ACL即Access Control List 主要的目的是提供传统的owner,group,others的read,write,execute权限之外的具体权限设置,ACL可以针对单一用户、单一文件或目录来进行r,w,x的权限控制,对于需要特殊权限的使用状况有一定帮助。如,某一个文件,不让单一的某个用户访问。 ACL使用两个命令来对其进行控制 getfacl:取得某个文件/目录的A …

继续阅读 »

虚拟机中为Linux添加硬盘并进行分区和格式化的方法

有时候我们需要为Linux添加新的硬盘,如现有硬盘空间不足。下面以在虚拟机中添加硬盘为例,概要叙述给Linux添加硬盘的步骤。 1、在“物理上”为虚拟机添加一块硬盘:在vmware的setting里有。 2、重启系统让linux识别新添加的硬盘。 3、给硬盘分区(fdisk): 4、格式化分区(mkfs): -b 指定数据块大小 5、挂载分区(mount): mount 物理设备名 挂载点(空目录 …

继续阅读 »

Linux/Windows下如何检测(远程)主机上的某个端口是否开启

如何检测(远程)主机上的某个端口是否开启,今天遇到一个问题就是在某某局点需要在某某防火墙上开放某些端口,但是我在某某防火墙上放开后,告知还是不能进行连接,我就想如何检测本机或者远程主机是否开放某某端口问题。 检测(远程)主机机是否开放某某端口: windows下 1、在cmd里面使用netstat -an命令来查看 开放的TCP和UDP端口。 2、在cmd里面使用start /min telnet …

继续阅读 »

Sed常见问题整理

Sed如何在匹配行前后加入一行 a 追加内容 sed ‘/匹配词/a\要加入的内容’ example.file(将内容追加到匹配的目标行的下一行位置) i 插入内容 sed ‘/匹配词/i\要加入的内容’ example.file 将内容插入到匹配的行目标的上一行位置) 示例: #我要把文件的包含“chengyongxu.com”这个关键词的行前或行后加入一行,内容为“allow chengyon …

继续阅读 »

yum源安装软件常见问题整理

使用阿里云的yum源安装软件,总是提示 Error: Package: glibc-headers-2.12-1.80.el6_3.6.x86_64 (updates) Requires: kernel-headers >= 2.2.1 Error: Package: glibc-headers-2.12-1.80.el6_3.6.x86_64 (updates) Requires: ker …

继续阅读 »

在SHELL中执行MYSQL命令的方法

在shell开发中,很多时候我们需要操作mysql数据库(比如:查询数据、导出数据等),但是我们又无法进入mysql命令行的环境,就需要在shell环境中模拟mysql的环境,使用mysql相关命令,本文总结几种shell操作mysql的方法,供大家参考。 方案1 使用-e进行参数传递 语法: MYSQL_HOME/bin/mysql -u用户名 -p密码 -D数据库名 -e “sql 语句” 示 …

继续阅读 »

如何在Linux MySQL客户端中执行系统命令

在linux下可以用mysql命令登陆连接到mysql服务器,如果这时需要执行shell命令,例如查看某个目录下的文件列表,其实不需要退出mysql客户端,只需要在mysql提示符下输入system或\! 再加上系统命令即可。 mysql> system ls -l mysql>\! ls -l

Linux中的Shell用SSH自动登录远程服务器后执行命令并自动退出

SSH命令格式 usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-L [bind_address:]port:host: …

继续阅读 »

SSH使用expect自动输入密码、命令实现非交互式密码授权

Linux ssh下执行ssh命令远程登录其他机器,总是需要输入密码,如果人工去登录,输入密码那还可以,但是让程序自动化登录远程ssh服务器,并执行命令就比较麻烦了。 Linux下有个程序是expect,它可以模拟键盘,输入文本。 安装expect 机器上一般是没有这个命令的,需要安装expect 根据具体的操作系统,执行如下命令: sudo apt-get install expect yum …

继续阅读 »

Linux配置SSH密钥登录详解及客户端测试使用无密码登录

Linux SSH登录的两种方式 使用密码验证登录 通常VPS或服务器开通后都是直接提供IP和root密码,使用这种方式就是通过密码方式登录。如果密码不够强壮,而且没有安装DenyHosts之类的防止SSH密码破解的软件,那么系统安全将存在很大的隐患。 如果你安装DenyHosts并设置邮件提醒,你每天可能会受到数封DenyHosts Report将前来破解SSH密码的IP加入/etc/hosts …

继续阅读 »