Linux下载和在在虚拟系统安装以及linux的常用命令解说

来源:互联网 发布:ncbi geo数据库 编辑:程序博客网 时间:2024/05/18 20:36

在开始深度学习之前,linux的下载和安装是第一步,我选择了我在文章中给出了下载安装的教程网址,希望对初学者有用,里面包含了初学linux的常用命令,如果练习完这些命令则算是比较初级的入门了linux,整个文档是我自己的学习流程!

一、Linux概述、命令以及操作

1.1认识linux

(1)操作系统:连通硬件和软件的枢纽,如:win7,Mac,Android,IOS等

(2)Unix:操作系统的鼻祖,由于语言兼容性从BCLP -> B -> C

(3)Minix:mini-unix,用于教育

(4)Linux:ubuntu,redhat,fedora,suse

(5)开源:可下载可执行文件及源代码。闭源:可下载可执行文件,不能下载源代码。

(6)Linux内核版:只包含内核,可用于扩展。下载网址:www.kernel.org

(7)Linux发行版:一般使用的都是发行版,下载地址:http://cn.ubuntu.com/

(8)虚拟机VMware workstation12安装步骤:

https://jingyan.baidu.com/album/4b52d702a155a4fc5c774bcf.html?picindex=7

VMware Workstation 12序列号: 5A02H-AU243-TZJ49-GTC7K-3C61N 

(9)虚拟机VMware workstation12安装Linex步骤:

http://www.linuxdiyf.com/linux/20066.html

1.2 Linux文件和目录

(1)’/’:根目录

(2)’.’:当前目录

(3)’..’:上一级目录

(4)’r’:读

(5)’w’:写

(6)’x’:可执行

1.3 Linux命令-文件磁盘管理(在终端输入)

(1)加大字体:ctrl  shift  ‘+’  ;变小字体:ctrl  ‘-‘

(2)ls:list,显示当前路径下所有文件和文件夹

    ls –l:以列表方式显示文件的详细信息。显示是文件夹还是文件,一般蓝色是文件夹,白色是文件,最前面是’d’的是文件夹,最前面是“-”的是文件。

    ls –h:配合–l以人性化的方式显示文件大小。一般写作:ls –lh ,即显示单位为kb

    ls –a:显示指定目录下所有子目录与文件,包含隐藏文件。

    ls ../:列出当前路径的上一级文件夹里面的文件和文件夹

    ls *.c:显示相同后缀为.c的文件

    ls h*:显示1开头的文件

    ls h*.c:显示h开头.c的文件,*可代表多位

    ls 1?3.py:?代表一位数字或者字母,?只代表一位

    ls 1[0123456789]3.py:显示1开头,1234567890中任何一位为中间位置,3.py结尾的文件,即[]代表某一位的范围

    ls \*a:如果*a命名的文件则需要加反斜杠,表示转义

(3)ls > ls.txt:重定向,将显示在屏幕上的当前目录的列表写入到ls.txt中,且一个’>’表示将ls.txt文档中的内容替换

    ls –lha >> ls.txt:重定向,将显示在屏幕上的当前目录的详细信息列表继续写入到ls.txt中,两个’>>’表示继续将内容写入ls.txt文档中,不删除之前的内容。

(4)more ls.txt:分屏显示,即由于ls.txt文件内容太多,只显示其中一部分,如果需要继续浏览,则按空格键继续显示下一屏。

(5)ls –lha | more:管道’|’,将lha显示的内容放到管道’|’里面,more可用于取管道里面的信息。

(6)pwd:查看当前路径

(7)cd:跳转路径

    cd ..:当前文件夹上一级目录

    cd ./xyz/或者cd xyz/:跳转到当前文件夹的xyz文件夹,这是相对路径

    cd /bin/:绝对路径,一般路径较长的使用绝对路径

    cd +’xxx’+ tab键:自动补全命令,补全’xxx’后面没有写完的命令

    cd ~:当前路径的家目录

    cd -:快速回到上一次路径

(8)clear:清屏

(9)history:到当前为止的命令

(10)ls –help:列出ls的选项

(11)man ls:解释ls,空格更换一屏显示,上下更换每行显示,’h’ for help,’q’ for quite

(12)touch 1.py:创建文件1.py

(13)gedit 1.py:编辑1.py的内容

(14)cat 1.py:查看1.py内的东西

    cat 1.py>2.py:用1的内容覆盖2的内容

    cat 1.py>>2.py:将1.py的内容添加到2.py后面

    cat 1.py 2.py >> 3.py:将1.py和2.py的文件放入到3.py,显示顺序为3.py然后1.py,最后2.py。可以添加无限个文件

(15)mkdir file:创建名为file的目录

(16)rmdir file:删除名为file的目录,但是只能删除空文件夹,一旦文件夹有东西就没法删除

(17)rm file:删除名为file文件。

    rm fire –r:递归删除目录下的内容,即先删除文件再删除文件夹,在删除文件时一定要加-r

    rm fire –rf:等价于rm fire –r –f,直接删除文件

(18)ln –s 1.py 1link.py:软链接,即建立一个链接1link.py指向1.py,当删除1.py之后,它的链接文件1link.py就找不到文件了,也没有内容。

    ln 2.py 2link.py:硬链接,即建立一个链接2link.py指向2.py,当删除2.py之后,它的链接文件2link.py依旧表示2.py文件的内容。相当于给同一个文件有两个名字2.py和2link.py,当删除其中一个文件时,只是删除文件名,直到删除所有文件名则删除文件,可通过ls –l来查看有几个文件名。

(19)grep ‘000’ 1.py:在1.py中搜索000,结果红色显示

    grep –n ‘000’ 1.py:在1.py中搜索000,结果红色显示且显示行数

    grep –n ‘^22’ 1.py:在1中以22开头的,结果红色显示且显示行数

    grep –n ‘[Hh]ello’ 1.py:在1中的hello和Hello,结果红色显示且显示行数

(20)find ./ -name 1.py:在当前目录下查找名为1.py的文件

    find ./ -name 1.py:在当前目录下查找名为1.py的文件

    find /home -name 1.py:在绝对路径下查找名为1.py的文件、

    find / -name 1.py:在根目录下查找名为1.py的文件,ctrl c结束

    find /home -name 1*:在根目录下查找名字带1的文件

(21)cp 1.py test:复制1.py到test文件夹下面

    cp test1 test2 –r:复制文件夹,文件夹一定添加-r,表示依次拷贝test1中的文件

(22)tree:以树的形式显示该文件夹下面的文件

    tree /home:以树的形式显示home文件夹下面的文件

(23)sudo apt install tree:如果提示’tree’未安装,可通过此命令进行安装

(24)mv 1.py test:剪切1.py到test文件夹下面

    mv test1 test2:剪切文件夹,表示依次拷贝test1中的文件

    mv 1.py 111.py:剪切文件夹,文件夹一定添加-r,表示依次拷贝test1中的文件

(25)tar –cvf test.tar 1.py 2.py 3.py:打包,’c’指定生成打包文件,’v’显示进度,’f’指定档案文件名称,后面一定跟文件名。这句话的作用是在当前文件夹下生成一个名为test.tar的打包文件,并且将1.py,2.py,3.py打包到里面,只打包不压缩。

(26)tar –xvf test.tar:解包,’x’指定解压文件,’v’显示进度,’f’指定档案文件名称,后面一定跟文件名。这句话的作用是在当前文件夹下解压一个名为test.tar的打包文件。

(27)gzip –r test.tar test.tar.gz:压缩,可直接写成gziptest.tar,’-r’表示压缩所有子目录。

(28)gzip –d test.tar.gz:解压,这句话的作用是在当前文件夹下解压一个名为test.tar的打包文件。

(29)tar –zcvf test.tar.gz *.py:打包和压缩带*.py的文件到test.tar.gz中。

(30)tar –zxvf test.tar.gz:解压缩test.tar.gz到当前文件夹中。

(31)tar –zxvf test.tar.gz –C ../mytest:解压缩到指定文件夹中,’-C’指定文件夹。

(32)tar –jcvf test.tar.bz2 *.py:打包和压缩带*.py的文件到test.tar.bz2中。

(33)tar –jxvf test.tar.bz2:解压缩test.tar.bz2到当前文件夹中。

(34)zip myzip.zip *.py:打包和压缩带*.py的文件到myzip.zip中。

(35)uzip –d test myzip.zip:解压缩文件到test文件夹中。

(36)which ls:找出ls的路径

1.4 Linux命令-系统相关命令

(1)cal:查看系统今天日历

    cal 2015:查看系统2015年日历

(2)date:查看系统今天的相关信息

    date 010203042016.05:修系统日期到2016年01月02日03点04分05秒

(3)ps –aux:当前与系统相关的运行进程

(4)top:动态显示进程,按’q’退出

(5)exit:退出超级管理员

    sudo –s:获得超级管理员权限

(6)ctrl + shift + t:打开一个新的命令界面

(7)kill pidNumber:关闭一个运行的程序,其中pidNumber是指通过ps –aus显示的PID列的数字。

    kill -9 pidNumber:强制关闭一个运行的顽固程序。

(8)python 1.py:通过python运行1.py这个程序

(9)reboot:重启(重要)

(10)shutdown:关机(重要)

    shutdown –r now:重启,shutdown会给别的用户提示。

    shutdown –h now:立马关机

    shutdown –h 20:20:20:20关机

    shutdown –h +10:10分钟后关机

(11)init 6:重启

    init 0:关机

(12)df:查看占用空间

    df -lh:带存储单位显示占用空间

(13)du -alh:检测目录所占磁盘空间。

1.5 Linux命令-管理和权限

(1)who:查看谁登录了电脑,tty7表示终端,可通过按ctrl+Alt+F1(或者F2-6任意一个)登录到终端字符界面,在字符界面通过按ctrl+Alt可拿出鼠标,按ctrl+Alt+F7返回终端图形界面。Linux可用多用户登录,当多个界面登录时会显示所有登录的用户和终端。

    who –q:显示当前登录数

    whoami:显示自己登录的名

(2)ifconfig:查看配置网卡,查看网址

(3)ping 192.168.153.128:测试远程主机连通性

    ssh mei@192.168.153.128:远程控制ubuntu。

    exit:退出登录。

(3)useradd xuan -m:新建用户。在home下添加以一个新的用户xuan,注意只能在超级管理员权限可用创建,并自动创建家目录xuan。

    passwd xuan:添加新建的用户xuan的密码。

    passwd:也用于修改目前登录的用户的密码。

    su –xuan:在exit退出超级管理员权限后输入,可以切换到新用户xuan。

    cat /etc/passwd:查看用户名。

    userdel –r xuan:删除用户。’-r’表示同时删除文件夹。可通过查看用户名来检查是否删除成功。

(4)cat /etc/group:查看当前有哪些用户组。

    groupmod +三次tab键:查看用户组。

    groupadd www:创建用户组www。

    groupdel www:删除用户组www。

    groups mei:查看用户mei在哪些组,可以查看相关权限。

    cat /etc/group | grep ‘sudo’:查看sudo用户组有哪些用户。

    usermod –g xuan xuanzi:将xuan用户加入xuanzi用户组,注意一般’-g’表示修改用户的默认用户组。

    usermod -a–G xuan xuanzi:将xuan用户加入xuanzi用户组,注意’-a’和’-G’配合使用表示给用户添加用户组。

(5)修改权限

①字母法

    chmod u+w 1.py:表示1.py的拥有者增加w权限   。

    chmod g-r 1.py:表示1.py的拥有者的同组者减少r权限。

    chmod o=rw 1.py:表示修改其他人对1.py的权限为rw。

    chmod u=rwx,g=rw,o=r:表示对于1.py,拥有者的权限为rwx,同组者的权限为rw,其他人的权限为r。

    chmod u=,g=,o=:表示对于1.py,拥有者,同组者,其他人都没有任何权限。

    chmod a=rw 1.py:表示修改所有人对1.py的权限为rw,’a’表示all。

②数字法:r=4,w=2,x=1

    chmod 751 1.py:表示拥有者对1.py的权限为4+2+1,即rwx,同组者。

(6)chown xuan 1.py:修改文件拥有者为用户xuan。

(7)chgrp xuanzi 1.py:修改文件所属的用户组为用户组xuanzi。

(8)sublime:一个编辑软件,便于写代码。

1.6 Linux软件下载安装

(1)ping www.baidu.com:检查是否可以联网,网络适配设置成NET)

(2)gedit /etc/apt/sources.list:更新源,打开之后全选剪切,然后粘贴(3)中复制的东西,最后复制回去。

(3)此处给出清华大学开源软件镜像站网址:

    https://mirrors.tuna.tsinghua.edu.cn

在网址下找出ubuntu并且复制对应版本。

(3)sudo apt-get update:更新资源库

(4)sudo apt-get install sl:安装sl软件。

(5)sl:在用户状态输入,观察运行结果,显示一个跑火车。

(6)在需要超级管理员权限又不想切换到超级管理员,可以直接在命令前面添加sudo。

(7)sudo apt-get remove sl:删除软件al。

    sudo apt-get remove package --purge:删除软件包以及配置文件。

(8)sudo apt-get install sl --reinstall:重安装sl软件。

(9)sudo apt-cache search package:重安装安装包。

(10)sudo apt-cache show package:显示安装包信息。

(11)sudo apt-get -f install:修复安装。

(12)sudo apt-get build-dep packge:安装相关的编译环境。

(13)sudo apt-get packge:更新已安装的安装包。

(14)sudo apt-get dist-packge:升级系统。

(15)sudo apt-cache depends package:了解使用该安装包依赖哪些包。

(16)sudo apt-cache repends package:查看被哪些安装包依赖。

(17)sudo apt-get source packge:下载该包的源代码。

(18)sudo apt-get clean & sudo apt-get autoclean:清除无用的包。

(19)sudo apt-get check:检查是否有损坏的包。

1.7 Linux常用服务器构建-ftp服务器(文件传输协议)

(1)sudo apt-get install vsftpd:安装vsftpd服务器。

(2)sudo gedit /etc/vsftpd.conf:配置vsftpd服务器。

(3)sudo gedit /etc/vsftpd.chroot_list:在里面放置登录vsftpd服务器的用户名。

(4)chmod u-w ftp:去掉文献拥有者的权限。

(5)sudo mkdir share:在ftp文件夹新建一个文件夹用于存放用户分享的东西。

(6)sudo /etc/init.d/vsftpd restart:重启fpt服务器以完成配置。

(7)ftp 192.168.153.128:测试。

(9) putsomefile:上传文件。

(10)get somefile:下载文件。

1.8 Linux常用服务器构建-ssh和scp服务器

①ssh服务器搭建

(1)sudo apt-get openssh-server:安装ssh服务器。

(2)ssh mei@192.168.153.128:远程登录用户mei,IP为192.168.153.128。

②scp

(1)sudo apt-get openssh-server:在使用之前要求安装openssh-server。

(2)scp本地文件名 远程用户@远程IP:远程的路径:将本地文件传输到远程用户的指定路径。如:scp 1.py mei@192.168.153.128: /home/mei/file

(3)scp -r当前本地文件名 远程用户@远程IP:路径:加-r表示传输文件夹。

(4)scp 远程用户@远程IP:远程的路径本地文件名 ./:将远程用户指定路径的文件传输到本地。如:scp mei@192.168.153.128:/home/mei/file/1.py ./

(5)scp –r远程用户@远程IP:路径 ./:加-r表示传输文件夹。

1.9 Linux里面的vi使用细则

vi hello.py:若当前路径有hello.py则直接打开,如果没有则建立。

(1)命令模式进入编辑模式,在命令模式可以按’i’,’a’或者’o’进行切换,其中:

    i:插入,从目前光标所在之处插入所输入的字,即光标左边。

    a:增加,目前光标所在的下一个字开始输入文字,即光标右边。

    o:向下插入新的一行,从行首开始输入文字。

    I:跳到行首。

    A:跳到行尾。

    O:向上插入新的一行,从行首开始输入文字。

(2)编辑模式下需要切换到命令下,按ESC键。如需离开vi及存文件则在末行模式下,在命令模式下可按冒号“:”进入末行模式,其中:

    :w  保存

    :wq 保存和退出,也可写:x。

    :q! 强制离开并放弃编辑的文件

(3)在命令模式下可按上下左右键移动光,标,也可用字母移动,注意只是移动,不进入编辑,其中:

    j:表示下移

    k:表示上移

    h:表示左移

    l:表示右移。

    L:光标移到最后一行行首

    G:快速定位到行,如9G表示快速定位到第9行。

    gg:光标移到文件开头。

    M:光标移到中间行

    w:向后移动一个字

    b:向前移动一个字

    {:按段上移

    }:按段下移

    ctrl –d:向下翻半屏

    ctrl –u:向上翻半屏

    ctrl –f:向下翻一屏

    ctrl –b:向上翻一屏

(4)删除,在命令模式下进行

    x:删除光标右边一个字符,即光标所在。

    X:删除光标左边一个字符。

    d0:删除本行光标以前的所有字符。

    D:删除本行光标以后的所有字符。

(5)撤销

    u:表示撤销上一个操作。

    ctrl –r:反撤销。

(6)缩进

    >>:向右缩进

    <<:向左缩进

    :1,5>:表示1-5行向右缩进

    :1,5<:表示1-5行向左缩进

(7)复制粘贴

    yy:复制光标所在行

    p:在光标所在行的下一行粘贴

(8)剪切

    dd:剪切光标所在那一行,3dd表示剪切光标所在行在内的3行。

(9)选中

    v:选中光标所在行,可以按上下扩展选中行,一般用在整体缩进时的选中。

(10)替换,在末行模式下进行

    %s/待替换字符/替换后字符/g:将整篇文章中的某个字符替换成其他字符。如:%s/h/HEELO/g,即将h替换成HELLO。

    1,10s/待替换字符/替换后字符/g:将1-10行中的某个字符替换成其他字符。如:1,23s/h/HEELO/g,即将1-23行h替换成HELLO。

(11)查找:输入/,进入末行模式,在斜杠后面输入需要查找的内容,可以通过n往下依次查找,N往上依次查找。