linux/ubuntu 常用命令


//////////////////linux下常用配置及命令////////////////////
查ip
在 fstab 中启用开机自动挂载模式
#自己的.bashrc常用配置(同/etc/profile系统变量配置):
PYTHONPATH=/home/sunlibo/caffe/python:$PYTHONPATH
PATH=/home/sunlibo/anaconda2/bin:$PATH
export LD_LIBRARY_PATH="/home/sunlibo/anaconda2/lib:$LD_LIBRARY_PATH"
sudo gedit ~/.bashrc 编辑个人用户的终端运行环境,设置一些用户环境变量,用source ~/.bashrc更新环境变量
echo $PYTHONPATH可查看是否导入成功
/etc/profile系统变量配置:须root!
#echo "export PATH=$PATH:/usr/git/bin" >> /etc/profile
# source /etc/profile


远程操作:
SSH远程登入Ubuntu或者Putty,port(默认为22),操作完,用exit退出:ssh slb103@填写你的IP
本地文件/文件夹  》》》 远程linux机:
scp -r /home/sunlibo/Downloads/file slb103@填写你的IP:/home/slb103//Downloads/
远程文件/文件夹  》》》 本地linux机:
scp -r slb103@填写你的IP:/home/slb103/Downloads/file /home/sunlibo/Downloads/


常用操作:
ps aux | grep vnc或ps ef | grep vnc或ps -e|grep ssh查看相关进程常与kill一块用查看相关程序的信息
查看用户及磁盘使用情况:
sudo du -sh /home/* | sort
运行一个脚本
bash ./install_openpose_if_cuda8.sh
make all -j$(NUM_CORES)
利用12个核根据makefile文件做编译:
make all -j12
另外:make all -j$(NUM_CORES)等价于make all -j${number_of_cpus}即利用所有核编译
多用&和|做管道命令
Ctrl+C – 停止当前命令
Ctrl+Z – 停止当前命令,并使用 fg 恢复
Ctrl+D – 注销当前会话,与 exit 相似
Ctrl+W – 删除当前行中的字
Ctrl+U – 删除整行
!! - 重复上次的命令
exit – 注销当前会话

几种效果等价的git clone写法:
git clone http://github.com/CosmosHua/locate 
git clone http://github.com/CosmosHua/locate.git 
git clone git://github.com/CosmosHua/locate 
git clone git://github.com/CosmosHua/locate.git new  #new是对克隆下来的仓库重命名


anaconda相关常用操作:
conda info --envs查看已建成的环境
python35                 /home/slb103/anaconda2/envs/python35
tesorflow27              /home/slb103/anaconda2/envs/tesorflow27
tf_keras                 /home/slb103/anaconda2/envs/tf_keras
root                  *  /home/slb103/anaconda2
conda命令:
conda --version或conda -v
conda create -n TensorFlow python=2.7新建环境
# 删除一个已有的环境
conda remove --name py35 --all
# 删除package
conda remove -n py35 numpy
conda install -c conda-forge opencv
conda install -n py35 numpy
source activate tensorflow 
source deactivate 退出tesorflow环境
conda list
conda update  更新软件包


文件操作:
gzip –d等价于gunzip命令
wget https://github.com/Itseez/opencv/archive/3.2.0.zip 使用wget下载,wget -c file – 断点续传
unzip opencv-3.2.0.zip
tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包并用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包并用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar zxvf parallel_studio*   #解压下载文件,或者tar jxvf parallel_studio* 
解压
tar –xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2   //解压 tar.bz2
tar –xZvf file.tar.Z   //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压
sudo cp lib* /usr/local/cuda/lib64/    #复制动态链接库,即可目录也可文件
sudo mv ippicv_linux_20151201.tgz /opencv-3.2.0/3rdparty/
./configure &&make&&make install从源代码安装:
dpkg -i pkg.deb – 安装包 (Debian)
ln -s file link – 创建 file 的符号连接 link
cat > file – 将标准输入添加到 file
sudo rm -r build//删除build文件,-f为强制删除
grep -r pattern dir – 递归搜索 dir 中匹配 pattern 的内容
command | grep pattern – 搜索 command 输出中匹配
pattern 的内容
bg – 列出已停止或后台的作业
fg n – 将作业 n 带到前台
top – 显示所有正在运行的进程
chmod 777 – 为所有用户添加读、写、执行权限
chmod 755 – 为所有者添加 rwx 权限, 为组和其他用户添加rx 权限
make all -j8 #用8个cpu核编译文件,或者make -j($nproc) 
chmod u+x qt-opensource-linux-x64-5.7.1.run 增加运行权限


vncviewer相关:
vnc远程复制:在linux中执行vncconfig -nowin& 或vncconfig &
在设置分辨率的时候,先netstat -tlup|grep vnc查看自己账户下的几个会话端口,如果用terminal设置好分辨率了,而没用杀掉所有开的会话进程,则进入新的端口号的新设置vnc窗口的分辨无法正常显示界面!所以正确的做法是:
1.netstat -tlup|grep vnc      显示自己账户下所开的界面会话端口
2.vncserver –kill :端口号     杀掉所有会话进程
3.vncserver -geometry 1440x900 后面的x为小写的英文字母“x”,即自己设置的分辨率大小才能生效
4.打开vncviwer连接新生成的端口号即可正常使用
vnc相关常用的:
vim .vnc/xstartup
sudo chmod a+x /etc/X11/xinit/xintric
sudo vim /root/.vnc/xstartup
$HOME/.dbus/session
sudo service lightdm restart
rm -rf .Xaut*
sudo dpkg-reconfigure lightdm
sudo chown slb103:slb103 .Xauthority
sudo rm -rf /home/slb103/.vnc
ls -a 然后找.xsession-errors
sudo ln -f -s /usr/bin/mate-session /etc/alternative/x-session-manager





查看命令:
date – 显示当前日期和时间
cal – 显示当月的日历
uptime – 显示系统从开机到现在所运行的时间
w – 显示登录的用户
whoami – 查看你的当前用户名
finger user – 显示 user 的相关信息
uname -a – 显示内核信息
cat /proc/cpuinfo – 查看 cpu 信息
cat /proc/meminfo – 查看内存信息
man command – 显示 command 的说明手册
df – 显示磁盘占用情况
du – 显示目录空间占用情况
free – 显示内存及交换区占用情况
ping host – ping host 并输出结果
whois domain – 获取 domain 的 whois 信息
dig domain – 获取 domain 的 DNS 信息
dig -x host – 逆向查询 host
pkg-config --modversion 来查看指定库的版本,比如查看opencv版本pkg-config --modversion opencv












****************************************************************************************
老版本
****************************************************************************************

您在安装 Ubuntu 系统时创建的用户,默认具有“sudo”权限
/*******************包管理相关******************************/ 
    一些常用的apt命令参数(更具体的可参见相关的帮助文档):
    sudo apt-get update 更新源
    sudo apt-get upgrade 更新已安装的包
    sudo apt-get dist-upgrade 升级系统
    sudo apt-get install package 安装包
    sudo apt-get install package - - reinstall 重新安装包
    sudo apt-get -f install 修复安装"-f = - -fix-missing"
    sudo apt-get clean && sudo apt-get autoclean 清理无用的包
    sudo apt-get autoremove 删除系统不再使用的孤立软件:
    sudo apt-get check 检查是否有损坏的依赖
    sudo apt-get remove package 删除包
    sudo apt-get remove package - - purge 删除包,包括删除配置文件等
    apt-cache show package 获取包的相关信息,如说明、大小、版本等
    apt-cache depends package 了解使用依赖
    apt-cache rdepends package 是查看该包被哪些包依赖
    sudo apt-get build-dep package 安装相关的编译环境
    apt-get source package 下载该包的源代码

    显示系统安装包的统计信息:apt-cache stats
    显示系统全部可用包的名称:apt-cache pkgnames
    显示包的信息:apt-cache show k3b


/**********************************************************/

查看当前所在目录的绝对路经:pwd
查看内核:uname -a
查看Ubuntu版本:cat /etc/issue 或 lsb_release -a
查看内核加载的模块:lsmod
查看PCI设备:lspci
查看USB设备:lsusb -v
查看网卡状态:sudo ethtool eth0
查看CPU信息:cat /proc/cpuinfo
显示当前硬件信息:sudo lshw
显示系统运行时间:uptime
查看当前的内存使用情况:free
动态显示进程执行情况:top
中止一个进程:kill 进程号 或 killall 进程名
强制中止一个进程:kill -9 进程号 或 killall -9 进程名
查看当前有哪些进程:ps -A
查看当前进程树:pstree
列出当前目录下的所有文件:ls -a
查看当前目录的子目录:ls -d */. 或 echo */.
一屏查看文件内容 :cat 文件名
分页查看文件内容:more 文件名
可控分页查看文件内容:less 文件名
根据字符串匹配来查看文件部分内容:grep 字符串 文件名
显示包含字符串的文件名:grep -l -r 字符串 路径
显示不包含字符串的文件名:grep -L -r 字符串 路径


增加用户:sudo adduser 用户名
删除用户:sudo deluser 用户名
修改当前用户的密码:passwd
修改用户密码:sudo passwd 用户名
修改用户资料:sudo chfn userid
如何禁用某个帐户:sudo usermod -L 用户名 或 sudo passwd -l 用户名
如何启用某个帐户:sudo usermod -U 用户名 或 sudo passwd -u 用户名
增加用户到admin组:sudo usermod -G admin -a 用户名
如何使用命令关闭显示器 :xset dpms force off
设置CPU的频率 :sudo apt-get install cpufrequtils;sudo cpufreq-info
命令关机:sudo halt
现在关机:sudo shutdown -h now
晚上11点自动关机:sudo shutdown -h 23:00
60分钟后关机:sudo shutdown -h +60
命令重启电脑:sudo reboot
现在重启电脑:sudo shutdown -r now
关闭笔记本的触摸板 :synclient touchpadoff=1
开启笔记本的触摸板:synclient touchpadoff=0
显示日历:cal
设置日期:date -s mm/dd/yy
设置时间:date -s HH:MM
将时间写入CMOS :hwclock –systohc
查看CMOS时间 :hwclock –show
读取CMOS时间 :hwclock –hctosys
从服务器上同步时间 :sudo ntpdate ntp.ubuntu.com
设置电脑的时区为上海:sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime



cd 命令。例如:
进入root目录,输入 "cd /"
进入到您自己的目录(home目录),输入 "cd"
进入当前目录的上一层目录,输入 "cd .." (译者注:cd 与 .. 之间有空格)
进入前一个操作的目录,输入 "cd -"
一次进入多层目录,输入 "cd /var/www" 与“cd ./var/www”区别,将会直接切换到/var的子目录/www中。另一个例子, "cd ~/Desktop" 将会进入到您的桌面目录
移动路径下的文件并改名:mv 路径/文件 /新路径/新文件名
复制文件或者目录:cp -av 原文件或原目录 新文件或新目录
快速查找某个文件:find 目录 -name 文件名
创建两个空文件:touch file1 file2
递归式创建一些嵌套目录:mkdir –p /tmp/xxs/dsd/efd
递归式删除嵌套目录:rm –fr /tmp/xxs
rm :这个命令用来移动或删除文件。对于非空的目录,用这个命令不能删除。
rmdir :命令rmdir 用来删除“空”目录。要删除目录和其中的所有内容,则需使用rm -r 。
mkdir :mkdir 命令用来创建目录。例如:"mkdir music" 将会创建一个 music 目录。


/************************网络相关介绍*******************/
屏蔽IPV6 :echo ‘blacklist ipv6′ | sudo tee /etc/modprobe.d/blacklist-ipv6
察看当前网络连接状况以及程序 :sudo netstat -atnp
查看ADSL的当前流量:sudo ethstatus -i ppp0
查看域名的注册备案情况:whois baidu.cn
查看到某一个域名的路由情况:tracepath baidu.cn
重新从服务器获得IP地址 :sudo dhclient
下载网站文档:wget -r -p -np -k http://www.xxx.com
如何5个线程下载:axel -n 5 http://www.xxx.com/downloadfile.zip
添加一个服务:sudo update-rc.d 服务名 defaults 99
删除一个服务 :sudo update-rc.d 服务名 remove
临时重启一个服务:/etc/init.d/服务名 restart
临时关闭一个服务:/etc/init.d/服务名 stop
临时启动一个服务:/etc/init.d/服务名 start
配置 ADSL :sudo pppoeconf
ADSL手工拨号:sudo pon dsl-provider
激活 ADSL:sudo /etc/ppp/pppoe_on_boot
断开 ADSL :sudo poff
查看拨号日志:sudo plog
如何设置动态域名:w3m -no-cookie -dump ‘http://usere:pass@members.3322.org/dyndns/update?system=dyndns&hostname=yourdns.3322.org’
根据IP查网卡地址 :arping IP地址
根据IP查电脑名 :nmblookup -A IP地址
查看当前IP地址 :ifconfig eth0 |awk ‘/inet/ {split($2,x,”:”);print x[2]}’
查看当前外网的IP地址 :w3m -no-cookie -dump www.123cha.com|grep -o ‘[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}’
查看当前监听80端口的程序 :lsof -i :80
查看当前网卡的物理地址:arp -a | awk ‘{print $4}’
同一个网卡增加第二个IP地址 :sudo ifconfig eth0:0 1.2.3.4 netmask 255.255.255.0
立即让网络支持nat :echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward; sudo iptables -t nat -I POSTROUTING -j MASQUERADE
查看路由信息:netstat -rn 或 sudo route -n
手工增加一条路由 :sudo route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
手工删除一条路由:sudo route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
修改网卡MAC地址的方法 :sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
统计当前IP连接的个数 :netstat -na|grep ESTABLISHED|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -r -n








/************************系统目录介绍*******************/



为了输入方便,您可以用 '~' 符号来代替您的home目录。
如果在用mv命令的时候前面加上了sudo,那么“~“这个符号将可以正常使用,终端会把他替换成你自己(普通用户)的home目录。而如果你用 ”sudo -i“或者”sudo -s“打开了一个root用户的终端,那么这时”~“将指代root用户的home目录,而非你自己的。

不要修改根目录(“/”)或/usr目录下的任何内容,除非真的清楚要做什么。这些目录最好和LINUX发布时保持一致。
·大多数工具和应用程序安装在目录:/bin,/usr/sbin, /sbin, /usr/x11/bin,/usr/local/bin。



/var目录包含在正常操作中被改变的文件:假脱机文件、记录文件、加锁文件、临时文件和页格式化文件等
/home目录包含用户的文件:参数设置文件、个性化文件、文档、数据、EMAIL、缓存数据等。这个目录在系统省级时应该保留。
/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等
    /proc目录的内容:
    /proc/cpuinfo关于处理器的信息,如类型、厂家、型号和性能等。
    /proc/devices当前运行内核所配置的所有设备清单。
    /proc/dma当前正在使用的DMA通道。/proc/filesystems当前运行内核所配置的文件系统。
    /proc/interrupts正在使用的中断,和曾经有多少个中断。
    /proc/ioports当前正在使用的I/O端口。
    举例,使用下面的命令能读出系统的CPU信息。
    cat/proc/cpuinfo

/sbin:/usr/sbin:/usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用。

/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
    X11R6 ---  该目录用于保存运行X-Window所需的所有文件。该目录中还包含用于运行GUI要的配置文件和二 进制文件。
    X386 --- 功能同X11R6,X11 发行版5 的系统文件
    boot --- 引导加载器所需文件,系统所需图片保存于此
    lib --- 根文件系统目录下程序和核心模块的公共库
    modules --- 可加载模块,系统崩溃后重启所需模块
    dev --- 设备文件目录
    etc --- 配置文件
    skel --- home目录建立,该目录初始化
    sysconfig --- 网络,时间,键盘等配置目录


/srv:网络服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内

/usr:应用程序存放目录,/usr/bin存放应用程序,/usr/share存放共享数据,/usr/lib存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local:存放软件升级包。/usr目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。这个目录也包含你的Linux发行版本的主要的应用程序,譬如,Netscape。
/usr/X11R6X-WINDOWS系统(version11, release 6)
/usr/X11 同/usr/X11R6(/usr/X11R6的符号连接)
/usr/X11R6/bin大量的小X-WINDOWS应用程序(也可能是一些在其它子目录下大执行文件的符号连接)。 
/usr/docLINUX的文档资料(在更新的系统中,这个目录移到/usr/share/doc)。
/usr/share独立与你计算机结构的数据,譬如,字典中的词。
/usr/bin和/usr/sbin类似与“/”根目录下对应的目录(/bin和/sbin),但不用于基本的启动(譬如,在紧急维护中)。大多数命令在这个目录下。
/usr/local本地管理员安装的应用程序(也可能每个应用程序有单独的子目录)。在“main”安装后,这个目录可能是空的。这个目录下的内容在重安装或升级操作系统后应该存在。


/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件/var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。建议单独分区,设置较大的磁盘空间lib --- 该目录下的文件在系统运行时,会改变;local --- 安装在/usr/local的程序数据,变化的;lock --- 文件使用特定外设或文件,为其上锁,其他文件暂时不能访问;run --- 系统运行合法信息
spool --- 打印机、邮件、代理服务器等假脱机目录。

/opt:给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下

/lib:/usr/lib:/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules,放着内核模块。

/bin:/usr/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。

/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。

你可能感兴趣的:(Ubuntu)