Linux常用命令
Vim command
Ctrl-f 即 PageDown 翻页。
Crtl-b 即 PageUp 翻页。
shift + g 移到文件尾部
查找
/
和 ?
替换 s/str1/str2/g
- 基本替换,替换当前行第一个str1->str2
s/str1/str2/
n,$/s/str1/str2/g
n,$ -> n行到末行;
尾部g -> 多次替换%s/str1/str2/
% ->每一行处理%s/str1/str2/gc
最后的c表示,交互确认
删除行
- 光标所在行以下的N行,Ndd
- 单行删除,:1(待删除行)d
- 多行删除 ,:1,10d
复制行
- nyy
- yy
- p 粘贴
Shell 命令
ELSE
- 显示系统信息
sw_vers
- zsh update :
upgrade_oh_my_zsh
find ~ -iname "screen*"
mdfind -name "Photo 1.PNG"
curl ip.gs
查看当前终端网络
brew command
- 下面是homebrew的一些命令:
- brew search 搜索软件包
- brew install 安装软件包
- brew uninstall 卸载软件包
- brew info 查询软件包信息
- brew list 查询已经安装的软件包
- brew update 更新
- brew deps 显示包依赖
- brew info formula
- brew cleanup 清理
- brew cask list -v
brew unlink name
brew link name
Mac常用命令
- open
- pbcopy 和 pbpaste
- mdfind
- screencapture
- launchctl
- say
- diskutil
- brew
pbcopy & pbpaste
pwd | pbcopy
pbpaste
tee
echo hello 2>&1 | tee tmp.txt
ssh & scp
- ssh 远程登录
ssh user@host
- scp copy files between host on a network
scp user1@host1:source_file user2@host2:target_file
scp -r user1@host:/path/src/dir user2@host:/path/dstparent
ls & grep & rm & xargs
- rm特定文件
ls -1 a*.txt | grep -v 'a\w*.txt' | xargs rm -v
tar 打包
- 打包:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
tar -cvf /tmp/etc.tar /etc
<仅打包,不压缩!
tar -zcvf /tmp/etc.tar.gz /etc
<打包后,以 gzip 压 - 查看包:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?
tar -ztvf /tmp/etc.tar.gz
- 解压包:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下
cd /usr/local/src
tar -zxvf /tmp/etc.tar.gz
ps 查看进程
- ps
ps aux | grep 'pattern'
df , du, lsblk查看磁盘空间
- df -- display free disk space
df -hl
查看磁盘剩余空间 - du -- display disk usage statistics
du -sh *
查看当前文件夹下文件大小 - lsblk -- linux下,列出块设备
umout 卸载USB等存储设备
- umount
umount path
卸载挂在path的设备,path可有df得到
find 命令
- find + cp
find ../vgg16Lab_2 -type f -name '*.prototxt' -exec cp "{}" ./ \;
find . -type f -name "*.txt"
boot分区,内核清理
- 查看系统现有内核
dpkg --get-selections|grep linux-image
- 查看现在使用的内核
uname -a
- 清理/boot分区
主要的思路就是选择性删除你不想继续使用的内核,清理出/boot分区空间即可
sudo apt-get purge 内核名称
- 清理残留文件
清理/usr/src目录,删除你已经卸载的内核目录
dpkg & apt-get
- 查看已安装包
sudo dpkg -i
apt-cache search package 搜索软件包
apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-get install package 安装包
sudo apt-get install package --reinstall 重新安装包
sudo apt-get -f install 修复安装
sudo apt-get remove package 删除包
sudo apt-get remove package --purge 删除包,包括配置文件等
sudo apt-get update 更新源
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
apt-cache depends package 了解使用该包依赖那些包
apt-cache rdepends package 查看该包被哪些包依赖
sudo apt-get build-dep package 安装相关的编译环境
apt-get source package 下载该包的源代码
sudo apt-get clean && sudo apt-get autoclean 清理无用的包
sudo apt-get check 检查是否有损坏的依赖
dpkg -r 卸载软件包.不是完全的卸载,它的配置文件还存在.
dpkg --info "软件包名" --列出软件包解包后的包名称.
dpkg -l --列出当前系统中所有的包.可以和参数less一起使用在分屏查看.
dpkg -l |grep -i "软件包名" --查看系统中与"软件包名"相关联的包.
dpkg -s 查询已安装的包的详细信息. dpkg -L 查询系统中已安装的软件包所安装的位置.
dpkg -S 查询系统中某个文件属于哪个软件包.
dpkg -I 查询deb包的详细信息,在一个软件包下载到本地之后看看用不用安装(看一下呗).
dpkg -i 手动安装软件包(这个命令并不能解决软件包之前的依赖性问题),如果在安装某一个软件包的时候遇到了软件依赖的问题,可以用apt-get -f install在解决信赖性这个问题.
dpkg -reconfigure 重新配置
dpkg -P 全部卸载(但是还是不能解决软件包的依赖性的问题)
清除处于rc状态的软件包
dpkg -l |grep ^rc|awk '{print $2}' |tr ["\n"] [" "] | sudo xargs dpkg -P -
NVIDIA 命令
- sudo service lightdm stop
- sudo lspci | grep nouveau
- ls /dev/nvidia*
- sudo /usr/bin/nvidia-uninstall
- sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl
- cat /proc/driver/nvidia/version
后台执行命令nohup, &, 重定向2>&1
nohup ping www.ibm.com &
Linux
shuf 命令
随机打乱txt文件每一行
shuf in.txt -o out.txt
用户切换 su、sudo
su username $只是切换用户
su - username $切换用户 及 工作路径和环境变量
sudo
查看内核版本
uname -a $查看当前内核版本
ubuntu 文件夹打不开
sudo killall nautilus
更改用户密码 passwd
passwd #change current user password
passwd username #change username's password
Python相关命令
pip
pip search packagename $查看安装包
sudo pip install packagename $安装包
linux command
# conda
## virtual environment
$ conda create -n tensorflow python=2.7
$ source activate tensorflow
$ source deactivate tensorflow
$ conda create -n [name] #创建名为name的conda环境,如tensorflow
$ source activate [name] #激活并进入创建的环境
$ source deactivate [name] #退出名为name的环境,回到系统默认环境
$ conda remove -n [name] --all #删除创建的conda环境
$ conda info -envs #查看所安装环境列表,创建的环境都在`~/anaconda2/envs/`目录下面
$ conda list #查看已经安装的包
$ conda install [packagename] #安装具体的包,加-n [name]可以安装到指定环境
$ conda list -n [name] #name环境下安装了哪些包
$ conda update -n [name] [packagename] #升级name环境的名为packagename的包
$ conda remove -n [name] [packagename] #删除name环境的名为packagename的包
# system info
$ free -m
## gpu info
$ lspci
$ lspci | grep -i vga/nvidia #show gpu info
$ lspci -v -s 00:0f.0 #gpu detail
$ nvidia-smi
## cpu info
$ cat /proc/cpuinfo #cpu概况信息
$ cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l #查看物理cpu个数
$ cat /proc/cpuinfo |grep "processor"|wc -l #查看逻辑cpu个数
$ cat /proc/cpuinfo| grep "cpu cores"| uniq #查看每个CPU中的核心数
$ cat /proc/cpuinfo |grep MHz|uniq #查看CPU主频
$ cat /proc/cpuinfo | grep "siblings" #每个物理CPU中的逻辑CPU
### 这里我们需要得到一个公式计算:
### A - 总核数 = 物理CPU个数 X 每颗物理CPU的核数
### B - 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
$ uname -a #查看VPS系统的位数
$ uptime #查看系统运行时间、用户数
$ du -sh #查看知名目录文件大小
$ head -n 1 /etc/issue #查看操作系统版本
$ fdisk -l #查看磁盘分区
# pip
$ pip --version
$ pip list [-outdated]
$ pip install packagename
$ pip uninstall packagename