linux/ubuntu 常用命令
来源:互联网 发布:linux镜像站 搭建 编辑:程序博客网 时间:2024/05/20 17:27
//////////////////linux下常用配置及命令////////////////////查ip在 fstab 中启用开机自动挂载模式#自己的.bashrc常用配置(同/etc/profile系统变量配置):PYTHONPATH=/home/sunlibo/caffe/python:$PYTHONPATHPATH=/home/sunlibo/anaconda2/bin:$PATHexport 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.shmake 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/python35tesorflow27 /home/slb103/anaconda2/envs/tesorflow27tf_keras /home/slb103/anaconda2/envs/tf_kerasroot * /home/slb103/anaconda2conda命令:conda --version或conda -vconda create -n TensorFlow python=2.7新建环境# 删除一个已有的环境conda remove --name py35 --all# 删除packageconda remove -n py35 numpyconda install -c conda-forge opencvconda install -n py35 numpysource activate tensorflow source deactivate 退出tesorflow环境conda listconda update 更新软件包文件操作:gzip –d等价于gunzip命令wget https://github.com/Itseez/opencv/archive/3.2.0.zip 使用wget下载,wget -c file – 断点续传unzip opencv-3.2.0.ziptar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包并用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gztar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包并用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2tar zxvf parallel_studio* #解压下载文件,或者tar jxvf parallel_studio* 解压tar –xvf file.tar //解压 tar包tar -xzvf file.tar.gz //解压tar.gztar -xjvf file.tar.bz2 //解压 tar.bz2tar –xZvf file.tar.Z //解压tar.Zunrar e file.rar //解压rarunzip file.zip //解压zip1、*.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 的符号连接 linkcat > file – 将标准输入添加到 filesudo 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/xstartupsudo chmod a+x /etc/X11/xinit/xintricsudo vim /root/.vnc/xstartup$HOME/.dbus/sessionsudo service lightdm restartrm -rf .Xaut*sudo dpkg-reconfigure lightdmsudo chown slb103:slb103 .Xauthoritysudo rm -rf /home/slb103/.vncls -a 然后找.xsession-errorssudo 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 – 逆向查询 hostpkg-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:0060分钟后关机: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/localtimecd 命令。例如:进入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/xxsrm :这个命令用来移动或删除文件。对于非空的目录,用这个命令不能删除。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 pppoeconfADSL手工拨号: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修改配置文件之前记得备份。
阅读全文