Linux基础知识
文件夹解释
usr目录
/usr/bin:自己安装的软件的二进制执行文件(命令),例如cmake
,gcc
等
/usr/include:存放头文件,例如stdlib.h
,iostream
(存放于c++/7)等
/usr/lib:常用的动态链接库和软件包的配置文件
/usr/share:帮助文档和共享文档,例如man
,cmake-3.10/Modules/FindCURL.cmake
/usr/local/:用户级的程序目录,用户自己编译的软件默认会安装到这个目录下。
/usr/local/bin: 本地增加的命令
==/usr/local/lib ==:本地增加的库根文件系统
var目录
/var/cache/apt/archives:这个是利用apt-get install命令安装软件的临时存放软件包的位置
/var/lib/apt/lists:这个是用来存放已安装和未安装的软件列表的位置。我们用apt-get install的时候,实际上是从镜像源上下载软件,而镜像源的软件列表就存在这个lists文件中。通过apt-get update,就可以根据镜像源更新软件列表。
etc目录
/etc/apt/source.list:这个用来存放软件源站点目录,当我们执行apt-get install 的时候,实际上就是去这些站点下载的软件包。而且,这个文件的内容我们可以自己修改,因为有些源站点可能会被墙,所以可以修改为国内的一些镜像源。上面的那个lists文件里面放的那些软件列表,就是从source.list中给出的站点上找到的。
python目录
- Debian的软件管理器安装的Python在
usr
目录下:
- 从Debian的软件管理器下载的包会在
/usr/lib/python2.7/dist-packages/
目录下; - 从Debian软件管理器下载pip,再通过pip下载的包会出现在
/usr/local/lib/python2.7/dist-packages
目录下。
- 从源码编译的python,同时自带了pip指令,则用该pip安装的包会在
/home/yinzp/.local/lib/python2.7/site-packages
目录下。
因此取决于用哪个binary
,用Debian软件管理器提供的则安装在dist-packages
,用手动安装的则安装在site-packages
。
文件类型
占用磁盘空间
普通文件:-
目录文件:d
软连接:l
伪文件
不是真正的文件,不占用磁盘空间,只占用内存
字符设备文件:c
块设备文件:b
管道文件:p
套接字:s
Linux命令
ctrl+h
:显示隐藏文件夹
lsb_release -a
:查看Ubuntu当前版本的codename
文件操作
cd ~
:打开当前用户主目录
cd /
:打开主目录
cp -r dirname1 dirname2
:将文件夹1移动到文件夹2下面
# 拷贝当前文件夹下所有txt至{dirname}文件夹下
cp ./*.txt {direname}
tar命令
基础的-c
表示压缩,-x
表示解压缩,-f
用于指定压缩包的名称,-v
显示进程(verbose)
- 对于.tar结尾的文件
压缩:
tar -cf all.tar *.jpg
增加文件进压缩包
tar -rf all.tar *.gif
解压缩:
tar -xvf all.tar
- 对于.gz结尾的文件,需要通过调用gzip来解压,
-z
参数
tar -xzvf all.tar.gz
- 对于.bz2结尾的需要通过
-j
调用bzip2来解压
tar -xjvf all.tar.bz2
查找类
-
查找文件
参考
find /usr/lib -name libopencv.*
:区分大小写
find /usr/lib -iname libopencv.*
:不区分大小写 -
查找文件内容:
grep -r BEVDET ./work
:指定目录下递归查找包含"BEVDET"的文件;
查看文件md5值
Linux:
md5sum {filename}
Windows:
# 查看MD5,等同于Linux md5sum
certutil -hashfile {filename} MD5
# 查看SHA1
certutil -hashfile {filename} SHA1
# 查看SHA256
certutil -hashfile {filename} SHA256
安装卸载软件
sudo apt-get update
:更新本地保存的软件清单
sudo apt-get upgrade
:升级软件包
sudo apt-get install <软件名>
:下载应用
sudo apt-get --purge remove <软件名>
:卸载程序和所有配置文件。
sudo apt-get remove <软件名>
:只卸载程序,但保留配置文件。
sudo apt-get clean
:清理缓存文件
apt-key add <file>
: - add the key contained in
sudo aptitude install XXX
:安装软件,同时智能的给出库之间的依赖关系,并给出调整建议(如降级或删除某个库)
dpkg命令
sudo dpkg -i ~/Download/xxxxxx.deb
:安装软件
dpkg -L packagename
:安装完包后,可以用此命令查看软件安装到什么地方。
dpkg -l packagename
:显示安装的包
dpkg -l | grep pkgname
:按关键字匹配查找已经安装的包
dpkg -s pkgname
:列出安装的包的信息和依赖
dpkg -c package.deb
:列出包的内容
pip命令
先通过sudo apt-get install python3-pip
安装pip3
接下来用pip3 install xxx
安装的库都会在/home/yinzp(username)/.local/lib/python3.6/site-package
目录下
进程
kill -9 PID
:杀死pid进程
ps -ef | grep yolov5*
:process status缩写,查询名字包含yolov5的进程,第一行是pid,第二行是ppid
设备
nvidia-smi
:查看nvidia显卡驱动和显卡使用情况
lspci | grep NVIDIA
:查看NVIDIA显卡型号
sudo prime-select nvidia
:切换nvidia显卡
sudo prime-select intel
:切换intel显卡
sudo prime-select query
:查看当前使用的显卡
内存占用
du是disk usage的缩写
du -h --max-depth=1
当前目录下往下一层所有目录和文件磁盘占用
VIM命令
vim ~/.vimrc
在最后一行添加set number
,永久显示行号
移动光标
gg
: 到文件头部。
G
: 到文件尾部。
^
:跳到行首。
$
:跳到行尾。
H
: 把光标移到屏幕最顶端一行。
M
: 把光标移到屏幕中间一行。
L
: 把光标移到屏幕最底端一行。
复制粘贴
yy:复制整行文字;
[n]dd
:剪切n行;
p
:光标之后粘贴;
P
:光标之前粘贴;
SSH类命令
ssh
ssh zhouping@xcdl190211
当一段时间内不发送包时会断开连接
packet_write_wait: Connection to 10.130.252.100 port 22: Broken pipe
因此需配置每隔一段时间发送一个空包:ServerAliveInterval
,该配置文件在~/.ssh/config
文件中,可自己创建
Host *
ServerAliveInterval 120 # 每隔一段时间向服务器发送空包
Host server211 # 服务器别名(用于ssh登录)
HostName xcdl190211 # 服务器IP
Port 22
IdentityFile ~/.ssh/id_rsa
User zhouping # 登录账户
sftp
sftp ezmovexap
get [file_name]
exit