Bootstrap

linux系统中常用文件&日常使用命令记录

我们办公机是Ubuntu系统;

记录下工作中经常使用的几个文件或命令或一些零碎的知识点: (该文档会持续更新

查看系统信息:

uname -a

cat /etc/product-info

cat /etc/os-version

存放系统启停脚本

/etc/init.d/ 

存放源信息

/etc/apt/sources.list

apt日志信息,当你执行了一个apt命令后发现系统重启有问题,可以通过这个文件详细查找安装卸载了哪些包

/var/log/apt/history.log 

/usr/local  该目录用于存放用户自行编译安装的软件或者第三方应用程序,区别于操作系统发行版自带的默认软件。


/usr/local/lib 和 /usr/lib,用途不同,举个例子:

如果python是系统自带的,那一般sudo pip安装目录会在/usr/lib/pythonX.X/site-packages目录;

如果python是自己安装的,那一般sudo pip安装目录会在/usr/local/lib/pythonX.X/site-packages目录;

如果pip安装时,未加sudo,则安装目录会在$HOME/.local/lib/pythonX.X/site-packages目录;

以上三个查找目录从下往上,建议pip安装不加sudo。

但是如果pip安装的包有命令行工具,那建议是加sudo安装(/usr/local/bin),否则命令会安装到$HOME/.local/bin目录,不是系统环境变量,就无法读取;


/usr/bin和/usr/sbin的区别:

/usr/bin存放普通用户能使用的命令程序,如ls、cp;

/usr/sbin存放只有超级用户能使用的命令程序,如iptables、fdisk;

从zero设备文件中写入一个文件,指定大小,用于测试时构造任意大小的文件; 

dd if=/dev/zero of=xxx.txt bs=1M count=100M

deb包的安装命令:

apt 命令:

aptitude install xxx   # 当安装包依赖不满足时,可以使用此命令解决依赖关系

apt policy xxx   # 查看包的版本号

apt install xxx   # 安装包

apt autoremove xxx   # 卸载包,会自动清理不再需求的依赖包

apt remove xxx   # 程序的配置文件、数据等都会保留;

apt purge xxx    #  程序的配置文件会被删除,但是数据会保留,如果想彻底删除需要手动删除数据目录;

dpkg 命令:

dpkg -i  xxx   # 安装包

dpkg -r xxx   # -remove , 卸载包

dpkg -P xxx  #  -purge,卸载包

dpkg -l xxx   # 简明地列出软件包的状态。安装还是仅存配置?等信息

dpkg -L xxx  # 列出属于指定软件包的文件。用来查这个包都存了哪些目录;

dpkg -s xxx   # 显示指定软件包的详细状态。包名、架构、版本、依赖包等信息;

当应用闪退时需要提供coredump日志

sudo apt install systemd-coredump   # 安装包

ulimit -c unlimited   # 收集信息不限制字符数,否则默认ulimit -c 为0

coredumpctl list   # 崩溃后执行此命令,查找崩溃的应用信息,包括PID

coredumpctl  debug PID    # 获取具体的进程崩溃日志即可

python有些三方包,考虑到系统依赖等问题,都是需要通过apt安装,但是如果用虚拟环境的话,就没办法在虚拟环境安装此类包,因为apt不分虚拟环境,所以就通过拷贝文件目录的方式到虚拟环境。

假如需要在python虚拟环境安装的包是python3-numpy;

apt download python3-numpy    # 下载deb包

dpkg -x python3-numpy_1%3a1.16.2.3-1+dde+sign_amd64.deb python3-numpy   # 将下载的包抽提到一个目录

cp ./python3-numpy/usr/lib/python3/dist-packages/*    $虚拟环境/lib/python3/dist-packages  # 将三方包复制到虚拟环境

 

;