Linux笔记
只记录自己看着不大熟悉的东西
man -k passwd 列出所有可能是查找项
cp -p (-p为保留权限和修改时间)
find /usr/include -name socket.h -print -exec file '{}' \;
;表示有参数, {}为find的结果,\是;的转义符.{}必须放入''中
whereis vs which
whereis强大点,还可以显示man page
grep -n(显示行号) "asdfasd" *.txt
标准输入
cat
标准输出
cat>Phones
[your input]
Ctrl+D
标准错误输出
ls -l foo 2> error.log
将标准输出和标准错误输出定向到同一个文件
ls -l foo 2> error.log 1>&2, 如果一个符号依赖于另一个符号,就必须依照从左到右的顺序指定重定向。
>>代表追加
命令1|&命令2
将命令1的标准输出和标准错误输出和命令2的标准输入相连
命令1|tee 文件列表|命令2
cat text.cxx text.cxx~|grep "main"|tee file1 file2|wc -l
chmod可以修改的权限位一共有4个3bit,SUID,SGID,粘滞位
SUID位
SUID位的文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权。如果所有者是root的话,那么执行人就有超级用户的特权了。这时该位将变成一个安全漏洞,因此不要轻易设置方位 。
SUID位显示有s和S之分,如果用户本来没有执行权限,用chmod u+s 文件,设置SUID位,用ls -l显示的话是S,如果事先已有了执行权限,显示为s.
SGID与上相同,不过是组ID,命令为chmod g+s 文件.
粘滞位
要求操作系统在可执行程序退出后,仍在内存中保留该程序的映象。这样做是为了节省大型程序的启动时间,不过会占用系统资源。 命令为chmod +t 文件
用&加在命令最后,将命令放入后台
find / -name foo -print>foo.paths 2>/dev/null&
ps a 终端上所有的进程
ps -e 所有进程
ps aux 详细信息
ps auf|more 详细信息,包括进程关系
fg/bg %进程号
把进程转移到前台/后台
kill -l 列出所有信号编号
Ctrl+Z将程序挂起
tar归档解档
tar -zcf gc.tar.gz ./yfgc/
tar -zxf gc.tar.gz