Linux奇技淫巧

1、history显示历史命令

两个感叹号其实是bash的一个特性,称为事件引用符(event designators)。!!其实相当于!1,引用前一条命令,当然也可以!2引用历史第2条命令,!50引用历史第50条命令。默认情况下bash会在
~/.bash_history文件内记录用户执行的最近500条命令,history命令可以显示这些命令。

2.以HTTP方式共享当前文件夹的文件

$ python -m SimpleHTTPServer
这命令启动了Python的SimpleHTTPServer模块,考虑到Python在绝大多数的Linux发行版当中都默认安装,所以这个命令很可能是最简单的跨平台传文件的方法。命令执行后将在本机8000端口(本机防火墙需开放8000端口)开放HTTP服务,在其他能访问本机的机器的浏览器打开http://ip:8000即打开一个目录列表,点击即可下载。

3. 实时某个目录下查看最新改动过的文件

watch -d -n 1 ‘df; ls -FlAt /path’
在使用这条命令时你需要替换其中的 /path 部分,watch 是实时监控工具,-d 参数会高亮显示变化的区域,-n 1 参数表示刷新间隔为 1 秒。
df; ls -FlAt /path 运行了两条命令,df 是输出磁盘使用情况,ls -FlAt 则列出 /path 下面的所有文件。
ls -FlAt 的参数详解:
-F 在文件后面加一个文件符号表示文件类型,共有 /=>@| 这几种类型, 表示可执行文件,/ 表示目录,= 表示接口( sockets) ,> 表示门, @ 表示符号链接, |表示管道。
-l 以列表方式显示
-A 显示 . 和 …
-t 根据时间排序文件

4、利用中间管道嵌套使用SSH

ssh -t host_A ssh host_B
如果目标机器host_B处于比较复杂的网络环境,本机无法直接访问,但另外一台host_A能够访问到host_B,而且也能被本机访问到,那上述命令就解决了方便登录host_B的问题。
但理论上这个过程是可以无限嵌套的,比如:
ssh -t host1 ssh -t host2 ssh -t host3 ssh -t host4 …

5、清空屏幕

<CTRL+l>;
这个跟reset命令重置终端的作用有些类似,其实都只是发送一段控制序列,让终端的显示复位。
还可以这样运行:
tput clear
tput是专门用来控制终端的一个小工具,也挺强大的,详细信息运行man tput查看。

6、我想知道一台服务器什么时候重启完

ping -a IP
ping命令有个audible ping参数,-a,当它终于ping通你的服务器时会让小喇叭叫起来。

7、艺术字生成器

艺术字生成器,由ASCII字符组成,把文本显示成标题栏。

安装:luffy@ubuntu:~$ yum -y install figlet
运行:luffy@ubuntu:~$ figlet come on baby

8、CentOS清理内存

 cat /proc/sys/vm/drop_caches

0 -默认是0;
1-清空页缓存;
2-清空inode和目录树缓存;
3-清空所有缓存

[root@bak ~]# sync 

注意:在清空缓存之前使用sync命令同步数据到磁盘

[root@bak ~]# echo 3 > /proc/sys/vm/drop_caches
[root@bak ~]# free -m  #发现缓存明显减少了

Mem 行(第二行)是内存的使用情况。
Swap 行(第三行)是交换空间的使用情况。
total 列显示系统总的可用物理内存和交换空间大小。
used 列显示已经被使用的物理内存和交换空间。
free 列显示还有多少物理内存和交换空间可用使用。
shared 列显示被共享使用的物理内存大小。
buff/cache 列显示被 buffer 和 cache 使用的物理内存大小。
available 列显示还可以被应用程序使用的物理内存大小。

9、删除时排除某一个或多个文件、文件夹

1.确认extglob已经开启

# shopt extglob

如果是off,开启extglob

# shopt -s extglob

-s开启,-u关闭

2.新建几个文件和文件夹进行测试

# touch main.c  main.h  hello.c  hello.h hello.a
# mkdir dir1 dir2 dir3

保留hello.c hello.h dir1

#rm -rf  !(hello.c|hello.h|dir1)

感叹号后不能有空格。排除多个文件用|符号分开

10、复制目录同时排除某个子目录

使用cp命令复制的时候,只能排除一个目录不被复制,如果想排除两个或者多个目录的话,就需要使用rsync命令来实现了,看下面的例子

如果要排除/home/data目录下面的a、b、c、三个目录,同时拷贝其它所有目录到/bak,执行以下命令

yum install rsync #安装rsync
rsync -av --exclude data/a --exclude data/b --exclude data/c data /bak

注意:–exclude后面的路径不能为绝对路径,必须为相对路径才可以,否则出错。

11、vi 编辑

1、定位行

G:    #直接定位到最后一行
1G:   #直接定位到第一行
nG:   #直接定位到第n行

2、文本搜索
如果vi或vim打开一个很大的文件,不易查找到对应的内容。可以用查找命令:
末行模式下输入"/关键字",输入的关键字会高亮显示,按"n"向下查找,按"N"向上查找。

3、恢复以及乱码问题
(1)在vi或vim中误删了东西,想要恢复的方法:
按ESC退出编辑模式,再按u键撤销之前的修改内容。
(2)在用vi或vim打开文件时,如果出现了特殊符号或是乱码,可以通过以下命令尝试:
vim -b test.txt
(-b一般用来查看对应的二进制文件的)

12、终端录制记录

开始
script -a example.txt

结束
exit

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值