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常用命令

  1. open
  2. pbcopy 和 pbpaste
  3. mdfind
  4. screencapture
  5. launchctl
  6. say
  7. diskutil
  8. 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 打包

  1. 打包:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
    tar -cvf /tmp/etc.tar /etc <仅打包,不压缩!
    tar -zcvf /tmp/etc.tar.gz /etc <
    打包后,以 gzip 压
  2. 查看包:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?
    tar -ztvf /tmp/etc.tar.gz
  3. 解压包:将 /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
posted @ 2018-08-09 19:42  一弓一土两亩田  阅读(949)  评论(0编辑  收藏  举报