应用程序
GUN(自自由操作系统计划GNU's Not Unix)下面绝大部分应用的编译系统都是用automake,很多应用都安装在了/usr/local/目录下。
usr 指 Unix System Resource
/usr/bin下面的都是系统预装的可执行程序,会随着系统升级而改变。bin 就是二进制(binary)英文缩写。
/usr/local/bin目录是给用户放置自己的可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同名文件。
sbin, 系统管理的必备程式
/etc,不是什么缩写,是and so on的意思 来源于 法语的 et cetera ,按照原始的UNIX的说法(linux文件结构参考UNIX的教学实现MINIX) 这下面放的都是一堆零零碎碎的东西,就叫etc。
另一种说法,"Editable Text Configuration":很多人也把/etc目录看成是一个放置我们系统程序的配置文件的地方。所以常看到这样的目录介绍
/etc - Usually contain the configuration files for all the programs that run on your Linux/Unix system.
如修改网络文件
sudo vim /etc/hosts
cd /usr/local/bin
ls -al //显示所有文件与文件夹的详细信息
例子:打开chrome
/usr/bin/google-chrome-stable
安装deb包
sudo dpkg -i ASAP-1.9-Linux-Ubuntu1804.deb
找到安装路径
whereis ASAP
动态链接库
sudo ldconfig
ldconfig命令的用途主要是在默认搜寻目录/lib
和/usr/lib
以及动态库配置文件/etc/ld.so.conf
内所列的目录下,搜索出可共享的动态链接库(格式如lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。缓存文件默认为/etc/ld.so.cache
,此文件保存已排好序的动态链接库名字列表,为了让动态链接库为系统所共享,需运行动态链接库的管理命令ldconfig,此执行程序存放在/sbin
目录下。
ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。
例子:
sudo gedit /etc/ld.so.conf.d/cuda.conf
add the line:
/usr/local/cuda/lib64
source /etc/profile #激活
sudo ldconfig #链接
例子:
sudo gedit ~/.bash_profile
add the lines
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
source ~/.bash_profile
sudo ldconfig
环境变量
“/bin”、“/sbin”、“/usr/bin”、“/usr/sbin”、“/usr/local/bin”等路径已经在系统环境变量中了,如果可执行文件在这几个标准位置,在终端命令行输入该软件可执行文件的文件名和参数(如果需要参数),回车即可。
如果不在标准位置,文件名前面需要加上完整的路径。不过每次都这样跑就太麻烦了,一个“一劳永逸”的办法是把这个路径加入环境变量。命令 “PATH=$PATH:路径”可以把这个路径加入环境变量,但是退出这个命令行就失效了。要想永久生效,需要把这行添加到环境变量文件里。“/etc/profile”对系统里所有用户都有效。
例子:以cuda为例
export PATH=/usr/local/cuda/bin:$PATH
例子:添加文件夹slim
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
pwd命令:Print Working Directory
添加完毕后可以用如下命令列出所有的shell赋予程序的环境变量。shell是UNIX/LINUX操作系统的脚本文件(命令组合),.sh文件。
export -p
或
echo $PATH
附录
ls : list(列出目录内容)
pwd : print work directory(打印当前目录,现示当前工作目录的绝对路径)
cd : change directory(改变目录)
rmdir: remove directory(删除目录)
mkdir: make directory(创建目录)
rm : remove(删除目录或文件)
mv : move file (移动文件)
cp : copy file(复制文件)
cat : concatenate(连锁)
cat file 1 file 2 >> file 3(把文件1和文件2的内容联合起来放进 文件3 中)
【系统|权限】
su : switch user(切换用户)
uname: unix name(用于打印当前系统相关信息)
chown: change owner(改变某和文件或目录所有者和所属的组,,)
chgrp: change group(用于改变文件或所属的用户组)
chmod: change mode(用于变更文件或目录的权限)
【进程|磁盘】
ps : process status(进程状态,类似于wins任务管理器)
常用参数: -auxf ps -auxf (进程现示状态)
df : disk free(显示磁盘可用空间数目信息及空间节点信息。换句话说,就是查看在任何安装的设备或目录中还剩多少自由空间)
du : disk usage(查看已使用空间)
【打包管理】
rpm : redhat package manger(红帽子打包管理器)
dpkg: debian package manager
apt: advanced package tool
【文件后缀】
文件结尾的rc: resource configratin(如 .xinitrc, .bashrc等)
knnxxx/snnxxx(位于rcx.d目录下):k(kill),s(service);nn(执行顺序号);xxx(服务标识)
.a(扩展名a): archive ,static library
.s(扩展名so): shared object,dynamically linked library
.o(扩展名o): olbject file, compiled result of c/c++ source file
【其他】
insmod: install module(载入模块)
lsmod: list modules(用于显示已加载到内核模块的状态信息)
rmmod:remove module
in -s : link -soft(创建一个软链接,相当于创建一个快捷方式)
touch man:manual
mkfs: make file system (创建linux系统文件)
fsck: file system check(用于检查并试图修复文件系统中错误)
ln : link file(用于文件创建连接分为硬盘连接和符号连接)
fg : foreground(用于后台作业放到前台终端运行)
bg : background(用于将作业放到后台运行)
umount: unmount(用于卸载已经加载的系统文件)
tar : tape archive
ldd : list dynamic dependencies
【部分linux 目录|参数 缩写】
bin = binarines
/dev = devices
/dev = etcetera
/lib = library
/proc = processes
/sbin= superuser binaries
/tmp= temporary
/usr= unix shared resources
/var= variable
? fifo= first in ,fitst out
grub= grand unified bootloader
ifs= internal field seperators
lilo= linux loader
mysql= my是最初作者的女儿的名字,sql=structured query language
php= personal home page tools=php hypertext preprocessor
ps = prompt string
perl= pratical extraction and report language=pathologically eclectic rubbish lister python得名于电视剧monty python's flying circus
tcl= tool command language
tk = toolkit
vt = video terminal
yast= yet another