连续复制
一键复制
一键打包

命令替换

把字符串里面的命令先执行再把该字符串输出,与PHP的“”里面的变量被执行一样。

  • $(COMMAND)

  • COMMAND

[root@baidu120 ~]# echo "The directory is $(pwd)"
The directory is /root
[root@baidu120 ~]# touch ./file-$(date +%F-%H-%M-%S).txt
[root@baidu120 ~]# ls
a                             install.log
anaconda-ks.cfg               install.log.syslog
file-2017-03-30-19-52-22.txt
[root@baidu120 ~]# echo "The directory is `pwd`"        
The directory is /root

权限

  1. 文件:

    • r:可读,可以用类似cat等命令查看文件内容

    • w:可写,可以编辑或删除此文件

    • x:可执行,可以命令提示符下当作命令提交给内核运行

  2. 目录:

    • r:可以对此目录执行ls列出内部所有文件

    • w:可以在此目录创建文件

    • x:可以使用cd切换进此目录,也可以使用ls -l查看详细信息

  3. 用数字表示:

    • 0 000 ---:无权限

    • 1 001 --x:执行

    • 2 010 -w-:写

    • 3 011 -wx:写和执行

    • 4 100 r--:读

    • 5 101 r-x:读和执行

    • 6 110 rw-:读和写

    • 7 111 rwx:读写执行

chmod命令

1. 修改三类用户的权限

chmod MODE file

  • -R

  • --reference=/path/somefile file 参考修改【修改和前面的somefile的权限一样】

    [root@baidu120 tmp]# chmod 057 yum.log

2.修改某类用户或某些类用户的权限

u,g,o,a
chmod 用户类别=MODE file,...

[root@baidu120 tmp]# chmod u=rwx /tmp/yum.log
[root@baidu120 tmp]# chmod g=r,o=r /tmp/yum.log
[root@baidu120 tmp]# chmod go=r /tmp/yum.log 
[root@baidu120 tmp]# ls -l /tmp/yum.log
-rwxr--r--. 1 tom root 0 3月  25 07:01 /tmp/yum.log

3.修改某类用户的某位或者某些位的权限

u,g,o,a

chmod 用户类别+|-MODE file

[root@baidu120 tmp]# chmod go+w /tmp/yum.log
[root@baidu120 tmp]# ls -l /tmp/yum.log     
-rwxrw-rw-. 1 tom root 0 3月  25 07:01 /tmp/yum.log
[root@baidu120 tmp]# chmod +x /tmp/yum.log  
[root@baidu120 tmp]# ls -l /tmp/yum.log   
-rwxrwxrwx. 1 tom root 0 3月  25 07:01 /tmp/yum.log

特殊权限(难)

SUID:运行某程序时,相应的进程的属主是文件自身的属主,而不是启动者;

chmod u+s FILE

chmod u-s FILE
如果该FILE本身原来有执行权限则SUID显示为s,原来没有执行权限显示为S

注意:SUID用于二进制可执行文件,对目录和非二进制可执行文件没什么意义

【现在rm的权限】
[root@baidu120 tmp]# ls -l /bin/rm
-rwxr-xr-x. 1 root root 58960 10月 15 2014 /bin/rm
[root@baidu120 tmp]# ls -l abc
-rw-r--r--. 1 root root 0 4月   2 19:55 abc

【普通用户删除abc】
[baidu120@baidu120 ~]$ rm /tmp/abc
rm:是否删除有写保护的普通空文件 "/tmp/abc"?y
rm: 无法删除"/tmp/abc": 不允许的操作

【给rm添加s权限,注意看我当前操作的用户】
[root@baidu120 tmp]# ls -l /bin/rm
-rwsr-xr-x. 1 root root 58960 10月 15 2014 /bin/rm

【再次删除,没有abc文件了】
[baidu120@baidu120 ~]$ rm /tmp/abc   
[baidu120@baidu120 ~]$ ls /tmp
def             keyring-V2LdqH      rc.d
inittab         keyring-ydeVD8      rc.local

SGID:运行某程序时,相应的进程的属组是文件自身的属组,而不是启动者所属的基本组;

用法和上面的一样【g+s , g-s】,现在介绍一种常用的用法【用于目录】: