Linux shell用法和技巧

检查远程端口是否对bash开放:

让进程转入后台:


将进程转到前台:


产生随机的十六进制数,其中n是字符数:


在当前shell里执行一个文件里的命令:


截取前5个字符:


SSH debug 模式:


SSH with pem key:


用wget抓取完整的网站目录结构,存放到本地目录中:


一次创建多个目录:


列出包括子进程的进程树:


创建 war 文件:


测试硬盘写入速度:


测试硬盘读取速度:


获取文本的md5 hash:


检查xml格式:


将tar.gz提取到新目录里:


使用curl获取HTTP头信息:

修改文件或目录的时间戳(YYMMDDhhmm):


用wget命令执行ftp下载:


生成随机密码(例子里是16个字符长):


快速备份一个文件:


访问Windows共享目录:


执行历史记录里的命令(这里是第100行):


解压:


输入多行文字(CTRL + d 退出):


创建空文件或清空一个现有文件:


与Ubuntu NTP server同步时间:


用netstat显示所有tcp4监听端口:


qcow2镜像文件转换:


重复运行文件,显示其输出(缺省是2秒一次):


所有用户列表:


Mount root in read/write mode:


挂载一个目录(这是不能使用链接的情况):


动态更新DNS server:


递归grep所有目录:


列出前10个最大的文件:


显示剩余内存(MB):


打开Vim并跳到文件末:


Git 克隆指定分支(master):


Git 切换到其它分支(develop):

Git 删除分支(myfeature):

Git 删除远程分支


Git 将新分支推送到远程服务器:


打印历史记录中最后一次cat命令:


运行历史记录里最后一次cat命令:


找出/home/user下所有空子目录:


获取test.txt文件中第50-60行内容:

运行最后一个命令(如果最后一个命令是mkdir /root/test, 下面将会运行: sudo mkdir /root/test):


创建临时RAM文件系统 – ramdisk (先创建/tmpram目录):


Grep whole words:


在需要提升权限的情况下往一个文件里追加文本:


列出所有kill signal参数:


在bash历史记录里禁止记录最后一次会话:


扫描网络寻找开放的端口:

设置git email:


To sync with master if you have unpublished commits:


将所有文件名中含有”txt”的文件移入/home/user目录:


将文件按行并列显示:


shell里的进度条:


使用netcat将数据发送到Graphite server:


将tabs转换成空格:


Skip bash history:


去之前的工作目录:


拆分大体积的tar.gz文件(每个100MB),然后合并回去:


使用curl获取HTTP status code:


设置root密码,强化MySQL安全安装:


当Ctrl + c不好使时:


获取文件owner:


block设备列表:


找出文件名结尾有空格的文件:


找出文件名有tab缩进符的文件


用”=”打印出横线:


 

0

Linux防CC攻击脚本

Linux防CC攻击脚本

多数CC攻击在web服务器日志中都有相同攻击的特征,我们可以根据这些特征过滤出攻击的ip,利用iptables来阻止。

 

0

CentOS7忘记root密码的解决办法

偶尔把Linux系统的密码忘记了并不用慌, 只需简单几步就可以完成密码的重置工作。本文基于CentOS7环境进行操作,由于CentOS的版本是有差异的, 继续之前请确定好版本。

第1步:重启Linux系统主机并出现引导界面时,按下键盘上的e键进入内核编辑界面,如图所示。

CentOS7忘记root密码的解决办法

第2步:在linux16参数这行的最后面追加”rd.break”参数,然后按下Ctrl + X组合键来运行修改过的内核程序。CentOS7忘记root密码的解决办法

第3步:进入到系统的紧急求援模式,如图所示。CentOS7忘记root密码的解决办法

第4步:依次输入以下命令,等待系统重启操作完毕,耐心等待后就可以使用新密码来登录Linux系统了。


 

0

Linux 服务器的时间如何校准?

安装NTP

执行NTP命令校准时间

自动校准时间命令,加入到cron

插入后,保存退出即可。

UTC时间问题

服务器采用ntp更新时间,经常牵扯到UTC是否开启的问题,开启了时间就会快8个小时。

可以使用如下命令解决:

使用rdate将stdtime.gov.hk服务器的时间抓取回来,然后写入硬件

rdate的命令使用方法

 

0

利用 scp 远程上传下载文件/文件夹

1.命令格式

scp [参数] [原路径] [目标路径]

命令功能

scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。

命令参数

2、从服务器下载文件

例如scp root@192.168.0.101:/home/kimi/test.txt

把192.168.0.101上的/home/kimi/test.txt的文件下载到 /tmp/local_destination

3、上传本地文件到服务器

例如scp /var/www/test.php root@192.168.0.101:/var/www/ 把本机/var/www/目录下的test.php文件
上传到192.168.0.101这台服务器上的/var/www/目录中

4、从服务器下载整个目录

例如:scp -r root@192.168.0.101 /home/kimi/test /tmp/local_dir

5、上传目录到服务器

例如:scp -r test root@192.168.0.101:/var/www/ 把当前目录下的test目录上传到服务器的/var/www/ 目录

0

Linux 远程拷贝 scp 命令及 not a regular file 问题解决方法

scp 文件名  root@远程ip:/路径/
将本地home目录下的test.tar的文件拷贝到远程主机192.168.1.23的/home/adm/目录下,则命令为:scp /home/test.tar root@192.168.1.23:/home/adm/  回车后输入密码就可以了
scp提供了几个选项  在scp后加就行了
    -p 拷贝文件的时候保留源文件建立的时间。
    -q 执行文件拷贝时,不显示任何提示消息。
    -r 拷贝整个目录   www.2cto.com
    -v 拷贝文件时,显示提示信息。

 

linux 下scp传文件时错误 scp: /usr/tools: not a regular file 不能成功传送 解决方法

1:有可能没权限 chmod 777

2:  在使用scp时加上-r 参数 scp -r root@192.168.16.5:/usr/tools/xxxx

0

linux通过grep根据关键字查找日志文件上下文

linux通过grep根据关键字查找日志文件上下文内容

1、在标准unix/linux下的grep命令中,通过以下参数控制上下文的显示:

2、查找的结果比较大时,为了方便定位问题,也可以重定向到文件中,比如:

3、统计包含某个关键字的个数

4、如果一行最多一个关键字,可以简写为:

5、查看grep版本的方法是

Grep命令详细说明:

 

0

rm删除某指定文件之外的所有文件

1、rm -rf !(1.txt) 删除1.txt之外的所有文档,必须在文件夹内执行

2、rm -rf [^1]* 删除不是1开头之外的文件,不能加”

3、ls |grep -v ‘1.txt’ |xargs rm

4、find ./ -type f |grep -v ‘1.txt’ |xargs rm

5、find ./ -type f \! -name “1.txt” -exec rm -rf {} \;

0