用着用着就发现,linux的每个命令都是那么的深奥而富有技巧,实用而淫荡。。真可谓奇技淫巧....

初学的真不易掌握。。。

http://www.cnblogs.com/include/archive/2011/12/31/2308298.html

!eventid 重复历史事件id eventid

!!重复上一个

^aa^bb  --- 不需要空格

ls b* 理出b* 目录下的文件

!so                重复最近以so开始的命令

!! &               会在最后一个命令的末尾加上& (可以加上任意内容)
!:0                挑选出命令的名称,而不是整行
!:3                第参数

!^                 第一个参数
!$                 最后一个参数

sudo 这个也是非常难懂难掌握的命令。。

sagtax:

1

sudo -h │ -K │ -k │ -L │ -l │ -V │ -v

2    --- 通过-u制定用户

sudo [-bEHPS] [-p prompt] [-r role] [-t type] [-u username│#uid] [VAR=value]
{-i │ -s │ command}

http://www.cnblogs.com/jisi5789/archive/2013/04/16/3024869.html

sudo !!

Once a user has been authenticated, a timestamp is updated and the user may
then use sudo without a password for a short period of time (5 minutes unless overridden
in sudoers).

有的地方写着每次执行sudo都需要输入密码——只能执行一次啊,有的地方说可以有5分钟空闲idle。。。 我测试是后者

man sudo:

Once a user has been authenticated, a timestamp is updated and the user may
then use sudo without a password for a short period of time (5 minutes unless overridden
in sudoers).

1 从非root用户切换到root权限 ———— 这个时候不需要密码

2 从root用户切换到非root权限 ———— 这也是完全可以的!! 第一次需要 目标用(如root)的密码!、idle5分钟需要密码

5)配置权限
配置权限的格式如下:
USER_FLAGHOST_FLAG=(RUNAS_FLAG) COMMAND_FLAG
如果不需要密码验证的话,则按照这样的格式来配置
USER_FLAGHOST_FLAG=(RUNAS_FLAG) NOPASSWD:COMMAND_FLAG

mv

http://www.cnblogs.com/java07/archive/2011/06/13/3124771.html

语 法:mv [-bfiuv][--help][--version][-S <附加字尾>][-V <方法>][源文件或目录][目标文件或目录]

补充说明:mv移动文件或目录或更改文件或目录名称

参 数:
-b或--backup 若需覆盖文件则覆盖前先行备份
-f或--force 若目标文件或目录与现有文件或目录重复则直接覆盖现有文 件或目录
-i或--interactive 覆盖前先行询问用户
-S<附加字尾>或
--suffix=<附加字尾> 与-b参数并使用指定备份文件所要附加字尾
-u或--update 移动或更改文件名时若目标文件已存且其文件日期比源文件新则覆盖目标文件
-v或--verbose 执行时显示详细信息

测试

# mv -iv aaa/* aab
mv: overwrite `aab/aaa.txt'? y
`aaa/aaa.txt' -> `aab/aaa.txt'

# mv -b aaa/* aab
linux:/opt/software/lktest/aa # ll aab/
total 0
-rw-r--r-- 1 root root 0 Mar 12 16:00 aaa.txt
-rw-r--r-- 1 root root 0 Mar 12 18:11 aaa.txt~

如果出现cannot overwrite directory b/a' with non-directory , 则加-f参数可以解决,

可如果出现mv: cannot move `ac/aab' to `ae/aab': Directory not empty 则,比较麻烦。。

我测试发现默认情况下(不加bifu之类的参数)mv是会覆盖文件的,但是不会覆盖目录(空目录,自然,也是可以的 ):

mv ac/* ae
mv: cannot move `ac/aa' to `ae/aa': Directory not empty
mv: cannot move `ac/aab' to `ae/aab': Directory not empty

mv -f ac/* ae
mv: cannot move `ac/aa' to `ae/aa': Directory not empty
mv: cannot move `ac/aab' to `ae/aab': Directory not empty

mv -u ac/* ae      
mv: cannot move `ac/aa' to `ae/aa': Directory not empty
mv: cannot move `ac/aab' to `ae/aab': Directory not empty

mv -b ac/* ae    -- 加b参数就好了!

ll -r ae    --- 但是它备份了,我想要是不是备份,而是直接覆盖,怎么办?
total 16
-rw-r--r-- 1 root root 0 Mar 12 15:57 asf.txt
drwxr-xr-x 3 root root 4096 Mar 12 18:32 aa~
drwxr-xr-x 2 root root 4096 Mar 12 18:32 aab~
drwxr-xr-x 2 root root 4096 Mar 12 18:22 aab
-rw-r--r-- 1 root root 0 Mar 12 16:00 aaa.txt
drwxr-xr-x 3 root root 4096 Mar 12 16:04 aa

 实在是无能为力,---mv本身不支持这样,我搞再久都没事白搭。 (我本以为这么简单的功能,linux 应该有提供的吧,就不断尝试,结果,2小时过去了。。。还是。。)

应该学会变通! ___  先cp -r aa/* ab; 然后rm -rf aa   ----   cp有覆盖已重复文件、文件夹的功能!!

对于cp -r aa/ ab  效果和 cp -r aa ab 是一样的! 只是把aa放置到了ab下面———— 我现在需要的是aa目录下面所有放置到ab目录下面 ,所以cp -r aa/* ab ~!!

—— 对于mv也一样:如果aa是目录,aa和aa/是一个意思。

mv 没有r 选项!!

linux奇技淫巧的更多相关文章

  1. linux奇技淫巧 4

    压缩解压 tar 即可压缩也可以解压 c 压缩 如果没有z.j参数,则表示,只打包,不压缩. 就说, t 查看 z 以gzip方式压缩 相当于 gzip ?.. j 以bzip方式压缩 bzip2 ? ...

  2. linux奇技淫巧 2

    压缩解压==================================================================================== unzip xx.zi ...

  3. Linux 奇技淫巧

    为了整理这些命令,花了我一个晚上的时间,但是不弄明白,我就是不爽啊. 1.cmatrix 命令 黑客帝国,就是酷炫,先按F11全屏效果更佳 安装:luffy@ubuntu:~$ sudo apt-ge ...

  4. 40个超有趣的Linux命令行彩蛋和游戏

    40个有趣的Linux命令行彩蛋和游戏,让你假装成日理万机的黑客高手.附一键安装脚本,在树莓派和ubuntu云主机上亲测成功,有些还可以在Windows的DOS命令行中运行. 本文配套B站视频:40个 ...

  5. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  6. Linux系统中使用netcat命令的奇技淫巧

    netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据.通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它.使用netcat命令所能完成的事情令人惊讶. netcat所做的 ...

  7. linux shell编程-bash的奇技淫巧

    本文主要讲bash脚本中容易出错和很少用但是用起来有意想不到效果的部分. 循环: 正常的for循环: for i in a b c 1 2 3; do echo "$i" done ...

  8. 【奇技淫巧】linux 定时任务 crontab 反弹 shell

    日期:2018-11-26 13:47:34 介绍:如何使用定时任务来反弹 shell? 0x01. 基本命令 参数 -e:编辑该用户的计时器设置: -l:列出该用户的计时器设置: -r:删除该用户的 ...

  9. 深入理解 JavaScript,以及 Linux 下的开发调试工具

    前言 JavaScript 是我接触到的第二门编程语言,第一门是 C 语言.然后才是 C++.Java 还有其它一些什么.所以我对 JavaScript 是非常有感情的,毕竟使用它有十多年了.早就想写 ...

随机推荐

  1. spring+struts2的jar

  2. 【温故Delphi】Win32API之GetTempFileName

    所遇问题 新建的算量工程文件暂时保存到临时文件中,代码中调用了Win32 API——GetTempFileName 但在一台笔记本上,函数返回了一个空字符串! 为了查明原因想到了好用的GetLastE ...

  3. Linux 查看进程、清理缓存、查看磁盘空间、查看宽带的命令

    一.查看进程 查看所有的进程命令:ps 查看指定的进程命令:ps -ef|grep java (java 指的是服务名称) 结束进程命令:kill -9  9028 (9028指的是PID) 二.清理 ...

  4. Jade之Plain Text

    Plain Text jade提供了3种得到纯文本的方法. Piped Text 添加纯文本的一个最简单的方法就是在文本最前面加|符号即可. jade: p | It must always be o ...

  5. some tips learn from work experience

    1.you can't avoid office politics 2.you'll never have a job which you "can't quit" - if yo ...

  6. Spring绑定表单数据

    Spring提供了一些jsp页面常用的form标签,很大程度上提高了我们开发的速度,不用再一个个的标签去绑定属性,而且后台接收数据也很简单,可以直接接收object对象作为属性.官方form标签介绍的 ...

  7. express教程

    原文地址 http://javascript.ruanyifeng.com/nodejs/express.html JavaScript 标准参考教程(alpha) 草稿二:Node.js Expre ...

  8. ListView之头部浮动效果

    ListView 中有时需要在顶部固定一个浮动栏,当向上滑动 ListView 时,浮动栏固定在顶部,当向下滑动 ListView 到其 HeaderView 可见时,浮动栏成为ListView的一部 ...

  9. Python学习之路-Day4

    1.函数 函数定义 def  func(aa):         def:表示函数的关键字  func:函数名,即函数的名称,可根据函数名调用函数 print('.....')        prin ...

  10. OpenMP之数值积分(求圆周率Pi)(sections)

    // Pi.cpp : 定义控制台应用程序的入口点. //求圆周率PI #include "stdafx.h" #include <windows.h> #includ ...