linux删除非a的文件
shopt -s extglob 启用正则
rm -rf !(a*)
linux系统dist-upgrade和upgrade的区别
apt-get upgrade 和 apt-get dist-upgrade 本质上是没有什么不同的。
只不过,dist-upgrade 会识别出当依赖关系改变的情形并作出处理,而upgrade对此情形不处理。
例如软件包 a 原先依赖 b c d,但是在源里面可能已经升级了,现在是 a 依赖 b c e。这种情况下,dist-upgrade 会删除 d 安装 e,并把 a 软件包升级,而 upgrade 会认为依赖关系改变而拒绝升级 a 软件包。
sudo cd为什么不能够执行
问题描述
我想要
cd
到/etc/docker
,但是它给我一个权限不够
的错误,然后,我想到使用sudo cd /etc/docker
时,它告诉我sudo: cd:找不到命令
。
于是,郁闷的我就去上网找了下原因。
问题分析
cd
不是一个应用程序而是Linux内建的命令,而sudo
仅仅只对应用程序起作用。
sudo foo
只意味着以root权限运行foo程序
所以,sudo cd /etc/docker
会报sudo: cd:找不到命令
。
验证
> type cd
cd is a shell builtin
注意,关于cd是不是内建命令,OS X 10.8中cd不是内建命令(可以参考what-is-the-point-of-the-cd-external-command),具体其他的版本的OS X我就不清楚了,大部分的Linux系列(Ubuntu、CentOS和ArchLinux)中cd都是内建命令
解决方法
- 使用
sudo -i
命令提升用户权限
> sudo -i
> cd /etc/docker
- 使用
sudo -s
命令打开特殊shell
> sudo -s
> cd /etc/docker
上面都可以使用exit命令退出,也可以使用Ctrl+D快捷键退出
ld a.o
readelf -s a.o
objdump -r a.o
at -t libc.a
/ = lib.exe
objdump -t libc.a
gcc -c -fno-builtin hello.c
ar -x libc.a
ld hello.o printf.o
cat /proc/{pid}/maps 虚拟空间分布
ldconfig
man 2 read 系统调用手册
本文来自博客园,作者:CharyGao,转载请注明原文链接:https://www.cnblogs.com/Chary/articles/12846240.html