[Linux]Summary

I tried to copy something.

//slow
cp -Rn frames_test/* frames/  
///faster because of parelleling]
ls -1 frames_test/ | xargs -P 16 -I{} cp -Rnv frames_test/{} frames/ 
ls $WORK/newTest/lisa-caffe-public/examples/LRCN_activity_recognition/frames | xargs -P 16 -I{} find $WORK/newTest/lisa-caffe-public/examples/LRCN_activity_recognition/frames/{} -size 0 >> $WORK/log.txt &
//, /media/na下有三个文件夹/a,/b,/c
// 在/a,/b,/c文件夹下分别新建一个文件夹na
root@ken:/media/na# ls | xargs -I{} mkdir {}/na
ls | xargs -I{} chown na {}/na/

top

top -c -u 15M54105

use “q” to exit.

统计某文件夹下文件、文件夹的个数

(http://blog.sina.com.cn/s/blog_464f6dba01012vwv.html)

统计某文件夹下文件的个数ls -l |grep "^-"|wc -l
统计某文件夹下目录的个数ls -l |grep "^d"|wc -l
统计文件夹下文件的个数,包括子文件夹里的ls -lR|grep "^-"|wc -l
如统计/home/han目录(包含子目录)下的所有js文件则:
ls -lR /home/han|grep js|wc -l
ls -l "/home/han"|grep "js"|wc-l
统计文件夹下目录的个数,包括子文件夹里的ls -lR|grep "^d"|wc -l
ls -lR长列表输出该目录下文件信息(R代表子目录注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)
grep "^-"这里将长列表输出信息过滤一部分,只保留一般文件,
如果只保留目录就是 ^dwc -l统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。
如果只查看文件夹ls -d 只能显示一个.find -typed 可以看到子文件夹
ls -lF |grep/ls -l |grep'^d'只看当前目录下的文件夹,不包括往下的文件夹

chmod

chmod +x test.sh
chmod +s caffe/

http://blog.chinaunix.net/uid-20864319-id-448817.html

SUID/SGID/Sticky Bit (档案特殊权限):
SUID (Set UID): 会制作出 s 的权限,权限数字是 4 。这个权限只能作用于可执行文件,不可作用于目录,shell script也不行。使一般使用者在执行文件时,暂时具有该文件拥有者的权限。通常用户去运行一个文件都是以它当前用户去运行的,而chmod u+s则使得任何时候这个文件都以它的user所有者的身份运行
SGID (Set GID): 制作出 s 权限,权限数字是 2 。这个权限可以作用于目录和文件。作用于目录时,在该目录下建立的所有文件和目录的group都会是该目录的group;作用于文件时,则不论使用者是谁,在执行该程序的时候, 他的有效群组 (effective group) 将会变成该程序的群组所有人 (group id)。chmod g+s
Sticky Bit: 制作出 t 权限,权限数字是 1 。can be assigned to files and directories on Unix-like systems。在该权限作用的目录里,如果使用者具有w,x权限,那么他所创建的文件和目录,只有档案的拥有者和root才能删除。
注意:在字符表示权限时,s和t是出现在x的位置的,意思是在可执行的文件和目录时,它们才是有意义的。如果文件或目录本身u、g或o就没有可执行权限,那么它所在的权限组出现的是S或者T,表示空的意思。用数字表示权限,就是在rwx前面加上4、2、1的组合就是了,如1777。

group

newgrp t2g-shinoda2011修改用户组
chgrp t2g-shinoda2011 log.txt修改文件log.txt所在的用户组

& 后台运行

apsvvfb@t2a006172: ./test.sh &

apsvvfb@t2a006172:

use “q”+ process ID to terminate it.

CTRL +Z

强制停止

find,grep

查找当前路径下叫做abc.txt的文件
find . -name "abc.txt"
显示所有所有大小为0的文件:find ./ -size 0
显示所有大于10k的文件:find . -size +10k
显示所有小于10k的文件:find .-size -10k
////在当前目录下的所有子文件夹下的所有文件里查找.
grep -r "layer"

diff

diff a.txt b.txt -y > result.txt

ldd

ldd ./build/tools/caffe
或是
ldd ./build/tools/caffe.bin

链接

http://www.cnblogs.com/itech/archive/2009/04/10/1433052.html
Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。

【硬连接】
硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

【软连接】
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

2.通过实验加深理解
[oracle@Linux]touch f1          #创建一个测试文件f1  
[oracle@Linux]
ln f1 f2 #创建f1的一个硬连接文件f2
[oracle@Linux]ln -s f1 f3       #创建f1的一个符号连接文件f3  
[oracle@Linux]
ls -li # -i参数显示文件的inode节点信息
total 0
9797648 -rw-r–r– 2 oracle oinstall 0 Apr 21 08:11 f1
9797648 -rw-r–r– 2 oracle oinstall 0 Apr 21 08:11 f2
9797649 lrwxrwxrwx 1 oracle oinstall 2 Apr 21 08:11 f3 -> f1

从上面的结果中可以看出,硬连接文件f2与原文件f1的inode节点相同,均为9797648,然而符号连接文件的inode节点不同。

[oracle@Linux] echoIamf1file>>f1[oracle@Linux] cat f1
I am f1 file
[oracle@Linux] catf2Iamf1file[oracle@Linux] cat f3
I am f1 file
[oracle@Linux] rmff1[oracle@Linux] cat f2
I am f1 file
[oracle@Linux]$ cat f3
cat: f3: No such file or directory

通过上面的测试可以看出:当删除原始文件f1后,硬连接f2不受影响,但是符号连接f1文件无效

3.总结
依此您可以做一些相关的测试,可以得到以下全部结论:
1).删除符号连接f3,对f1,f2无影响;
2).删除硬连接f2,对f1,f3也无影响;
3).删除原文件f1,对硬连接f2没有影响,导致符号连接f3失效;
4).同时删除原文件f1,硬连接f2,整个文件会真正的被删除。

你可能感兴趣的:([Linux]Summary)