01-Linux操作系统+指令

一、Linux操作系统
    操作系统定义:操作系统直接运行在计算机上的系统软件, 它是与硬件打交道和控制软件运行的计算机程序。
    
    虚拟机:就是模拟一个真实的计算机,好比一个虚拟的电脑,对于学习一个新的操作系统就可以通过虚拟机来完成。
        注意:虚拟机之间是相互独立的,删除虚拟机不会对其它虚拟机产生影响,当然也不会对电脑本身生影响
 
    Linux内核:是操作系统内部操作和控制硬件设备的核心程序,它是由芬兰人林纳斯开发的。
        Linux发行版:是Linux内核与各种常用软件的组合产品,通俗来说就是我们常说的Linux操作系统。(Ubantu、CentOS、Redhat)
 
二、Linux命令
   
快捷键:↑ 重复上次使用过的命令;同理 ↓ ;history 显示使用过的所有历史命令;Tab自动补全要输入的文件名
Ctrl+c  停止正在执行的命令
    
    1.查看目录命令
        ls:    查看当前目录下的路径信息
        tree:    以树状方式显示目录
        pwd:    查看当前目录路径
        clear:    清除终端命令  快捷键:Ctrl+l
        ctrl + shift +“+”    放大窗口字体
        ctrl + “-”            缩小窗口字体
 
    2.切换目录命令
        cd 目录    切换到指定目录
        cd ~    切换到当前用户的主目录    注意:cd后面不写目录等价于cd ~
        cd ..    切换到上一级目录
        cd .    切换到当前目录
        cd -    切换到上一次目录
 
    3.相对路径和绝对路径    
        绝对路径: 一般以 根目录/ 为开始位置 整个路径信息完整清晰
        相对路径: 以当前所在路径为参考路径 使用方便快捷
        注意:
            在代码编写中建议使用绝对路径,使得代码阅读清晰同时减少错误
 
        示例:
            1.使用绝对路径切换到桌面
                cd /home/python/Desktop
            2.在dbs目录以相对路径切换到桌面
                当前路径  /home/python/dbs
                cd ../Desktop
            3.在桌面使用相对路径切换到上一级目录的上一级目录
                当前路径  /home/python/Desktop/itcast/01
                cd ../../
 
    4.创建、删除文件和目录命令
        touch 文件名    创建指定文件
        mkdir 目录名    创建目录(文件夹)
        rm       文件名    删除指定文件----------unlink 文件名 也可以删除文件,但是没有rm可以设置的参数
        rmdir 目录名    删除空目录
 
        注意:  删除非空目录: rm 非空目录名 –r(-r: 递归删除目录及其内容)
                    在文件或者目录前面加上 . 表明创建的是隐藏文件
 
    5.复制、移动文件和目录命令
        cp:复制(拷贝)文件、拷贝目录    
            eg:cp A B -r     把A拷贝到B文件夹,如果没有B文件夹,新建B
            注意:  cp目录需要加上一个-r选项(-r: 递归拷贝目录及其内容)
                    同一个目录下不能出现相同的文件名
 
        mv:移动文件、移动目录、重命名
            重命名:mv后同为文件夹或者同类型文件,执行重命名操作
 
        注意:            
        cp:复制目录需要加上 –r 选项
        mv:移动目录不需要加选项
        mv:可以重命名文件和目录
 
    6.终端命令格式
        command [-options] [parameter]
            command:命令名, 比如: ls、pwd
            [-options]:选项,可以有零个、一个或者多个选项,多个选项可以合并,比如使用的 -r 就是选项。
            [parameter]:参数,可以有零个、一个 或者 多个参数, 比如: touch 文件名、mkdir 目录名、cd 目标目录(路径),这些文件名和目录名都是参数。
        要点注意:
            选项:用于调整命令的功能,比如:-r选项调整cp命令的功能。
            参数:命令的操作对象,一般是文件名或者目录名。
            对于命令,它的选项和参数一般情况下没有顺序要求
 
    7.查看命令帮助的方式
        --help    command --help
        
        man        man command
            空格    显示下一屏信息
            回车    显示下一行信息
            b        显示上一屏信息
            q        退出
 
三、Linux命令选项的使用
    1.查看目录信息命令选项
        ls命令选项
            -l    以列表方式显示,默认是字节
            -h    智能的显示文件大小
            -a    显示隐藏文件和隐藏目录
            注意: ll 相当于 ls -al
            文件类型说明:- 表示文件类型;d 表示文件夹
            文件权限说明:
                由三个三元组字符组成
                第一个三元字符组代表文件所有者用户的权限
                第二个代表文件用户组的权限,
                第三个代表其他用户的权限:
                r 表示可读,w 表示可写
                x 表示可执行,- 表示没有权限
 
                硬连接数表示:有多少种方式可以访问当前文件或者文件夹
 
    2.创建、删除文件夹命令选项
        1.mkdir命令选项
            -p 创建所依赖的文件夹(层级套aa/bb/cc)
        2.rm命令选项
            -i    交互式提示 ---------------只能删除文件
            -r    递归删除目录及其内容)----可以删除文件夹及其内容
            -f    强制删除,忽略不存在的文件,无需提示
            -b  只能删除空文件夹
        总结:
            创建嵌套文件夹使用 “mkdir –p” 嵌套目录
            删除空目录使用“rmdir 目录名”或者“rm –r 目录名”
            删除非空目录使用“rm –r 目录名”
 
    3.拷贝、移动文件和文件夹命令选项
        1.cp
            -i    交互式提示
            -r    递归拷贝目录及其内容
            -v    显示拷贝后的路径描述
            -a    支持拷贝文件夹并且文件夹中的文件权限不丢失
        2.mv
            -i    交互式提示
            -v    显示移动后的路径描述
        总结:
            拷贝文件防止覆盖使用“cp –i”操作
            拷贝文件夹使用“cp –r”操作
            移
 
四、高级Linux命令及选项
    1.重定向命令(没有写入文件时会创建)
        >    如果文件存在,会覆盖原有文件内容,相当于文件操作中的‘w’模式
        >>    如果文件存在,会追加写入文件末尾,相当于文件操作中的‘a’ 模式
    2.echo 内容   会直接输入内容     可使用:echo Holle > a.txt    建立a并将Holle写入其中
 
        把运行语句错误重定向到指定文件:./a.py &> 1.txt 
tree
    2.查看文件内容命令
        cat        查看小型文件
        more    查看大型文件
        less    也可查看大型文件,同more,唯一区别不会自动退出需要在:后加q 退出
        
        |(管道)管道,一个命令的输出可以通过管道做为另一个命令的输入,相当于一个容器。(一般结合more命令使 用,主要是分配查看终端显示内容。)
        管道&more:
                     空格 显示上一屏信息
                    回车 显示下一行信息
                    f    显示下一屏信息
                    q    退出
 
        总结:
            查看小文件内容使用 cat 命令, 查看大文件内容使用 more 命令,查看终端显示内容并分屏展示,使用管道结合 more 命令。
 
    3.链接命令
        软链接(ln -s):
            类似于Windows下的快捷方式,当一个源文件的目录层级比较深,我们想要方便使用它可以给源文件创建一个软链接。
        注意:尽量使用绝对路径,否则可能失效;删除源文件,软链接会失效;目录也可以创建
 
    4.查找文件内容命令
        grep:查找/搜索文件内容
            -v    显示不包含匹配文本的所有行
            -n    显示匹配行号
            -i    忽略大小写
        grep命令结合正则表达式使用
            ^以指定字符串开头;$以指定字符串结尾;. 匹配一个非换行符的字符
        注意:
            grep 还可以查找管道中的内容;比如:ls / | grep ‘lib’
            grep 可以省略查找内容的引号;比如:ls / | grep lib, grep hello 1.txt
 
    5.查找文件命令
        find 在指定目录下查找符合条件的文件
            -name 根据文件名查找文件-------------find 目录 -name 文件名
        通配符:模糊搜索
            * 代表0个或多个任意字符---------在文件夹内科表示该文件夹内所有的文件和文件夹 rm * -r 删除当前目录下所有内容
            ?代表任意一个字符
        注意:
            通配符不仅能结合 find 命令使用,还可以结合其它命令使用,
            比如: ls、mv、cp 等,这里需要注意只有find命令使用通配符需要加上引号。
            ls 1?1.txt   -->  123.txt
 
    6.压缩和解压缩命令
        后缀:.gz和.bz2的压缩包需要使用tar命令来压缩和解压缩
        tar:压缩和解压缩命令
            -c    创建打包文件
            -v    显示打包或者解包的详细信息
            -f    指定文件名称, 必须放到所有选项后面
            -z    压缩(.gz)
            -j    压缩(.bz2)
            -x    解压缩
            -C    解压缩到指定目录---------tar 选项 压缩包 -C 指定目录
        注意:
            .bz2和.gz的区别在于,前者比后者压缩率更高,后者比前者花费更少的时间(注意在压缩较大文件时)
 
    7.文件权限命令
        左数第一列是文件类型和权限;第三列用户名;第四列用户组;第五列文件大小;第六列文件修改时间;第七列文件名
        chmod:修改文件权限
            字母法:chmod u/g/o/a+/-/=rwx 文件名
                u    user 表示该文件的所有者
                g    group 表示用户组
                o    other 表示其他用户
                a    all 表示所有用户
                +    增加权限
                -    撤销权限
                =    设置权限
                r可读  w可写  x可执行    -无任何权限
                    注意:目录可读类似ls  可写类似移除、修改   可执行类似cd,即切换命令
 
            数字法:chmod 权限值 文件名
                r    可读,权限值是4
                w    可写,权限值是2
                x    可执行,权限值是1
                -    无任何权限,权限值是0
                
                注意:chmod 5 1.txt-------------给的数字不是3个的时候从右至坐赋值 本例为o
 
    8.获取管理员权限的相关命令
        sudo命令:
            sudo -s    切换到root用户,获取管理员权限------------某次操作使用
            sudo    某个命令的执行需要获取管理员权限可以在执行命令前面加上sudo------大量操作谨慎使用
 
        组管理:都要通过sudo操作,否则没有权限
groupadd 组名        添加组
groupdel 组名        删除组
cat /etc/group        确认组信息---------etc文件下存放的是系统配置文件
chgrp -R 组名 文件/目录    递归修改文件/目录的所属组
        
        创建用户、设置密码、删除用户
 
        查看家目录:ll /home
        whoami命令:查看当前用户
        
        exit:退出登录用户
            注意:    如果是切换后的登陆用户,退出则返回上一个登陆账号。
                    如果是终端界面,退出当前终端。
 
        who:查看所有登录用户
        passwd:修改用户密码,不指定用户默认修改当前登录用户密码
        which:查看命令位置
        shutdown –h now:立刻关机 -----------now可以改为关机时间几分钟,3表示3分钟后关机 
       shutdown -r 时间:重启            -r 选项表示重新启动reboot
 
    9.远程登录、远程拷贝命令
        1.ssh:远程登录
            想要使用ssh服务,需要安装相应的服务端和客户端软件。
            安装步骤:
                假如Ubuntu作为服务端,需要安装ssh服务端软件. 执行命令: sudo apt-get install openssh-server
                客户端电脑如果是macOS系统则不需要安装ssh客户端软件,默认已经安装过了,直接可以使用ssh命令
                客户端电脑如果是Windows系统则需要安装OpenSSH for Windows这个软件
 
            ssh命令格式: ssh 用户名@ip地址
                在一台电脑上ssh客户端和服务端软件都可以安装
                在Ubuntu安装ssh客户端命令: sudo apt-get install openssh-client
                安装了ssh客户端软件就可以使用ssh命令了
                ssh是专门为远程登录提供的安全性协议,常用于远程登录
 
                拓展:sp -ef/aux    查看正在运行的所有程序
 
        2.scp:远程拷贝
            scp是基于ssh进行安全的远程文件拷贝的命令,也就是说需要保证服务端和客户端电脑安装了相应的ssh软件
            1. 远程拷贝文件:
                scp 本地文件 远程服务器用户名@远程服务器ip地址:指定拷贝到远程服务器的路径    
                scp 远程服务器用户名@远程服务器ip地址:远程服务器文件 指定拷贝到本地的路径    
            2. 远程拷贝目录:
                scp -r 本地目录 远程服务器用户名@远程服务器ip地址:指定拷贝到远程服务器的路径
                scp -r 远程服务器用户名@远程服务器ip地址:远程服务器目录 指定拷贝到本地的路径
                -r 表示递归拷贝整个目录
 
        3.配置别名:每次ssh 用户@ip 太麻烦了     配置好别名后直接ssh 别名就可远程登录
            
            在用户家目录下打开.ssh隐藏文件,在里面新建config文件,用gedit打开文件写入如下格式文件
Host 别名
    HostName 远程服务器的IP
    User 远程服务器用户名
    Port 登录的服务器端口号22
 
            FileZilla软件:是一个免费开源的FTP软件, 可以可视化方式上传和下载文件
 
            注意:
                1. ssh命令是远程登录主机电脑,相当于直接操作的是远程电脑。
                2. scp命令是可以把本机文件拷贝到远程主机,也可以把远程主机文件远程拷贝的本机,注意:拷贝文件夹需要加-r选项。
                3. 大量的文件上传和下载可以通过可视化工具FileZilla来完成。
    10.vim编辑器:vi 文件
        是一款功能强大的命令文本编辑器,可以对远程服务器的代码直接进行修改,这样操作起来更加快速和方便。
        工作模式:命令、编辑i、末行:模式
        注意点:编辑模式和末行模式之间不能直接进行切换,都需要通过命令模式来完成。
        
        末行模式命令:
    • :w    保存
    • :wq  保存退出
    • :x     保存退出
    • :q!    强制退出
        vim命令模式常用命令:
 
11.ifconfig  查看网卡的信息 直接回车查看
        计算机中可能会有物理网卡和虚拟网卡,物理网卡一般用ensXX表示
 
    ping ip地址 ---------检测到目标主机是否连接正常
    ping 127.0.0.1-------检测本地网卡工作正常       数值越大速度越慢ms
 
 
 
 
 
posted @ 2019-04-16 19:11  小轩窗の家  阅读(286)  评论(0编辑  收藏  举报