用着用着就发现,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. 在Linux上安装最新版java的JDK

    之前写过一篇关于MC建服的文章(http://www.cnblogs.com/apollospotatolikett/p/6149042.html),文章中使用的JDK不是最新的版本,当时没有细说如何 ...

  2. js生成验证码并检验

    <html> <head> <title>验证码</title> <style type="text/css"> #co ...

  3. requirejs+angularjs搭建SPA页面应用

    AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJS有着诸多特性,最为核 ...

  4. (转)CentOs上配置samba服务

    前 言 在我们使用 Windows 作为客户机的时候,通常有文件.打印共享的需求.作为Windows 网络功能之一,通常可以在 Windows 客户机之间通过 Windows Network 固有的功 ...

  5. c++的转换

    1.静态转换 static_cast 用于明确定义的变换 ,包括 编译器允许的非强制转换和不太安全但定义清楚的变换.ps:(非强制变换,窄化变换,隐式转换,类层次静态定位,void*强制转换) 2.常 ...

  6. java中类型转换

    1.基本数据类型转换    char, byte,short,int,long,float,double,boolean (1)小类型数据可以直接赋给大类型数据          例:char a=' ...

  7. PCFG -- 基于统计方法生成语法树

    语法树的作用 一棵语法树不仅包括了词性(part of speech), 还包括了短语(如名词短语, 动词短语)和结构化的信息(如主语, 谓语和宾语). 这些信息是进行机器翻译所必须的, 例如机器翻译 ...

  8. unity 计时器

    2017年1月3号,周二,晴. //设置时间 float tempTime = 5; void OnGUI(){ //设置显示 GUI.Label (new Rect(100,100,100,100) ...

  9. c# 列举所有窗口和子窗口

    private delegate bool WNDENUMPROC(IntPtr hWnd, int lParam); [DllImport("user32.dll", Exact ...

  10. Oracle Profile 使用

    一.目的: Oracle系统中的profile可以用来对用户所能使用的数据库资源进行限制,使用Create Profile命令创建一个Profile,用它来实现对数据库资源的限制使用,如果把该prof ...