Linux终端命令格式

Linux终端命令格式

1. 终端命令格式 command [-options] [parameter]
    command: 命令,比如ls
   -options: 选项 , 用于修饰命令, 比如说查看详细列表  ls -l
   parameter:参数 , 描述命令要操作的对象 ,比如 ls -l  /opt
      /opt是参数    -l 是选项
                                    
   提示: -options  和 parameter 可以无序
    
 示例1: 详细显示 /opt目录下面的文件列表信息
   ls /opt  -l
 
2. 查阅命令帮助信息
    a. command --help 
    命令:     ls --help
      
    b. man(manual) command    
        manual: 手册,说明书
        命令: man  ls
     
3. 命令终端提示符介绍    
    linux: python@ubuntu:/opt$ 
          1. python: 用户名
          2. ubuntu: 主机名 (命令:hostname)
          3. /opt: 路径
          4. $ :用户类型 : $ (普通用户)  # (超级用户)


常用的命令

1. ls (list) 
    格式: ls  [-options] [parameter] 
          ls  [选项]...  [文件]...
              
    a. 常用选项:
        - l : 查看详情
        - a : 查看所有文件
        - h : 配合 -l 以人性化的方式显示文件大小 ,比如 3123456 byte  --》3M  
        
        示例1: 查看家目录下的文件
            ls /home/python
            ls -l /home/python

        示例2: 查看家目录下的所有文件
            ls -a /home/python
        
        示例3: 详细查看家目录下的文件,并且以更友好的方式显示文件大小
            ls -lah /home/python
    
    b.文件列表详情组成
        命令: ls -lh /home/python

        文件详情列表:
        drwxr-xr-x 2 python python 4.0K 5月  16  2016 Music
         第一部分: drwxr-xr-x
            1. 第一个字符: 文件类型   d(目录)  -(普通文件)  l(链接文件)
            2. 第2个字符到第10个字符   :  文件权限
               rwxr-xr-x : 分为三组 (属主用户,属主用户的组,其他用户)
               r: 读
               w: 写
               x: 执行
               -: 无权限
         第二部分: python python
            1. 第一个python : 文件的属主用户, 即创建该文件的用户
            2. 第二个python: 属主用户的组



    c. 通配符
       1. * : 代表0个或者多个任意字符
       
          示例1: 查看/bin目录中以r开头的所有文件
            命令: ls /bin/r*


       2. ?:代表一个任意字符
       
          示例2: 查看/bin目录中以r开头的只有两个字符的文件
            命令: ls /bin/r?
 
    d. 
        "." 代表当前目录,".." 代表上一级目录

        以 "." 开头的文件为隐藏文件,需要用 -a 选项才能显示
        
2. clear : 清除终端屏幕
    clear , 快捷方式 ctrl+L
  
3. pwd  (print work directory) :显示工作目录  ,显示绝对路径
    python@ubuntu:~$ pwd
    /home/python


4. cd  (change directory) :切换目录
    a. 相对路径与绝对路径
       相对路径: 以当前位置开始的路径
       绝对路径: 以'/'根路径开始的路径

       示例1:分别以相对路径和绝对路径进入到桌面
            (当前目录是用户家目录)
            1. 相对路径
               cd Desktop
               cd ./Desktop
             
            2. 绝对路径
               cd /home/python/Desktop


       示例2:分别以相对路径和绝对路径进入/bin目录中
            (当前目录是用户家目录)
            1. 相对
                cd ../../bin
            2. 绝对
                cd /bin

    b. 常用的目录切换      
        1. cd .     : 切换到当前目录
        2. cd ..    : 切换到上一级目录
        3. cd ~     : 切换到用户家目录
        4. cd -     : 切换到上一次的目录

5. mkdir (make directory):创建目录

    格式: mkdir [选项]... 目录...

    示例1: 在桌面创建python1目录
       (当前目录是家目录)
        绝对路径: mkdir /home/python/Desktop/python1
        相对路径: mkdir ./Desktop/python1
      
    示例2: 在python1目录中一次创建a/b/c 级联目录
        (当前目录是桌面目录)
          mkdir ./python1/a/b/c -p
         提示: 假如一次创建多个目录(递归创建、级联创建) 带 -p选项
        
6. touch  : 创建文件
    格式: touch [选项]... 文件...

   示例1: 在桌面的python1目录中创建info.txt 文件
        touch  info.txt

   示例2: 在桌面的python1目录中一次创建 a.py ,b.py ,c.py 三个文件
        touch a.py b.py c.py
7. rm (remove) : 移除,删除文件或者文件夹
    格式: rm [选项]... [文件]...

    a. 选项: 
      - i: 删除文件时给予提示
      - f: 强制删除,假如要删除的文件不存在,也不报错
      - r: 递归删除,假如要删除目录,则必须带该选项
      
    示例1: 删除python1中的a.py 文件
         1. rm  a.py 
         2. python@ubuntu:~/Desktop/python1$ rm -i a.py
            rm:是否删除普通空文件 'a.py'? y
            python@ubuntu:~/Desktop/python1$ ls

        3. python@ubuntu:~/Desktop/python1$ rm a.py
            rm: 无法删除'a.py': 没有那个文件或目录
           python@ubuntu:~/Desktop/python1$ rm a.py -f
           python@ubuntu:~/Desktop/python1$ 


    示例2: 删除桌面python1目录中的a目录
        python@ubuntu:~/Desktop/python1$ rm a
        rm: 无法删除'a': 是一个目录
        python@ubuntu:~/Desktop/python1$ rm a -r

        提示: 要删除目录,则带-r选项


8. cp (copy) : 复制  

  格式  cp [选项] <源文件>  <目标文件>
     
     (当前的目录是Destop/python1)
    示例1: 拷贝桌面python1目录的info.txt 到 当前a目录下
            cp ./info.txt  ./a

    示例2: 拷贝桌面python1目录的info.txt 到 当前a目录下,且改名order.txt
        cp info.txt a/order.txt
        
    示例3: 拷贝当前a目录到桌面
        1. 相对路径写法
           cp a  ../   -r 
        2. 绝对路径写法
            cp /home/python/Desktop/python1/a  /home/python/Desktop  -r

        注意:当拷贝目录时,带-r 选项


​ 9. mv: move :移动或者重命名文件
​ 格式 : mv <源文件> <目标文件|或者文件夹>
​ 示例1: 把桌面python1目录的a.py 移到 当前a目录下
​ mv a.py ./a

​ 示例2: 把桌面python1目录的b.py 重命名为body.py
​ mv b.py body.py

示例3: 把桌面python1目录移到家目录下
mv python1 ~
提示: 移动目录不要带 -r 选项


​ 10. tree: 以树形方式显示文件列表
​ 示例: 以树形方式显示家目录的文件
​ tree ~
​ tree /
​ (ctrl+c : 停止命令)

​ 11. history: 显示历史命令
​ 1447 cd …
​ 1448 ls
​ 1449 mv python1 ~
​ 1450 ls ~
​ 1451 tree
​ 1452 tree ~
​ 1453 tree /
​ 1454 history
​ python@ubuntu:~/Desktop$ !1447
​ 提示: !与1447之间不能有空格

12. 重定向命令: >   >>
    将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中


    示例1: 把家目录的文件信息写到桌面的files.txt文件中
       (当前目录是桌面)
       ls ~ > files.txt 
        
    示例2: 把/opt的文件信息追加到桌面files.txt文件内容后面
       ls /opt > files.txt
       ls ~  >> files.txt
        
     提示: '>' 重定向方式 会覆盖原来的内容,'>>' 重定向方式则会追加到文件的尾部。
    
13. cat: 查看文件内容
    格式: cat [选项]... [文件]...
    
    示例1: 在桌面创建one.py,two.py文件,并且通过cat查看文件内容
       touch one.py 
       touch two.py
       gedit one.py
       cat one.py
       cat two.py
       cat one.py two.py


    示例2: 把one.py  two.py 合并到 three.py 文件中,再通过cat查看
        cat one.txt two.txt > three.py
        cat three.py

    示例3: 使用cat查看/opt/sublime_text/sublime.py 文件内容
      cat /opt/sublime_text/sublime.py

14. more : 分屏显示文件的内容
    示例1: 使用more查看/opt/sublime_text/sublime.py 文件内容
    more /opt/sublime_text/sublime.py
          提示: 使用空格键 切换屏幕

其他:

1. ubuntu界面自适应
    vmware查看--》自动调整大小--》自动适应客户机

2. 设置root账号密码
    python@ubuntu:/home$ sudo passwd root     设置root密码
    [sudo] python 的密码:                     输入python用户的密码
    输入新的 UNIX 密码:                        设置root用户的密码
    重新输入新的 UNIX 密码: 
    passwd:已成功更新密码
    python@ubuntu:/home$ su root               切换用户
    密码: 
    root@ubuntu:/home# cd python
    root@ubuntu:/home/python# 
  1. 在桌面创建test目录
    mkdir test
    2. 拷贝/opt/sublime_text 目录下的文件 到test目录中
    (只复制文件,不复制目录)
    cp /opt/sublime_text/* ./

linux命令

1. |  : 管道命令
  管道:一个命令的输出可以通过管道作为另一个命令的输入
    示例1: 分别用ls 和 tree命令查看 根目录/ 的内容,且分屏显示
    1. ls / | more
    2. tree / | more


2. ln  : 链接命令  

    格式: ln [选项] 目标 链接名  
           ln 目标  链接名: 默认创建硬链接
         选项: -s  : soft 创建软链接, 好比windows中的快捷方式

    示例1 :在桌面创建一个01.txt文件,对该文件创建软连接01_s_link.txt
        ln -s 01.txt 01_s_link.txt

    示例2:在桌面创建一个01.txt文件,对该文件创建硬连接01_link.txt
        ln  01.txt 01_link.txt
        
   软链接与硬链接相同点与区别 
        1. 软链接与硬链接最终都是指向同一个文件存储区域(文件描述符)
        2. 当源文件名删除, 软链接变成无效链接,而硬链接还可以打开源文件的内容
        3. 文件详细列表显示时, 软链接的文件类型是 l,而硬链接是 -
        4. 软连接可以链接文件和目录,而硬链接只能链接文件
 提示: 如果是在目标文件所在目录以外的目录创建软链接,那么软链接的目标文件路径写绝对路径
  1. grep: 查找某个文件的文本 ,显示匹配行
    ​ 格式:grep [-选项] ‘搜索内容串’ 文件名
    ​ 选项:
    ​ - i: 不区分大小写
    ​ - n: 显示匹配行的行号
    ​ - v: 显示不匹配的行

    示例1: 把家目录中的文件信息写入桌面的home.txt中, 并且查找D字符
    1. ls ~ > home.txt
    2. grep ‘D’ home.txt
    3. grep -i ‘D’ home.txt
    4. grep -in ‘D’ home.txt
    5. grep -inv ‘D’ home.txt

    示例2: 查询mysql程序是否运行(拓展)
    命令: ps -aux | grep ‘mysql’

      提示: ps命令 (process),  查看当前运行的进程 ,-aux: 以bsd的格式显示内容
    
  2. find:查找文件

    格式 find [路径] [-name|-size|-perm] [匹配规则]

    a> 按名称查找
    示例1:查找test目录中扩展名是py的文件
    find ./ -name ‘.py’
    find ./ -name '[sc]
    ’ : 查找以c或者s开头的文件

    b>按大小查找
    示例2:查找test目录大于2M的文件
    find ./ -size +2M

    c>按权限查找
    find ./ -perm 权限值
    permission :权限

    示例3:查找出test目录中属主用户有读写权限,同组用户及其他用户只有读权限的文件
    rw-r–r-- 6 4 4
    命令: find ./ -perm 644

    示例4:查找出test目录中属主用户有读写执行权限,同组用户及其他用户只有读和执行权限的文件
    rwx r-x r-x 7 5 5
    421
    命令: find ./ -perm 755

  3. tar: 打包压缩命令
    格式 : tar [选项] 打包后的文件名 要打包的文件
    选项:

    1. c :创建打包文件,归档文件
    2. v :显示打包或者拆包详情
    3. f :指定打包后的文件名称,f后面接xxx.tar文件
    4. x :解包,拆包
    5. z :以gzip压缩或者解压文件
    6. C : 解压到指定路径,-C 选项 后面接解压后存放文件的目录
  示例1: 对test目录下的所有文件打包成my.tar 文件
       tar -cvf my.tar *

  示例2: 对my.tar 文件进行拆包
       tar -xvf my.tar 
  
  示例3: 对test目录下的所有文件打包且以gzip格式压缩 成 my.tar.gz文件
    tar -czvf my.tar.gz *
   
  示例4:  对my.tar.gz 解压及拆包到桌面的test2目录中
    1. tar -xzvf my.tar.gz
    2. mkdir ~/Desktop/test2
       tar -xzvf my.tar.gz -C  ~/Desktop/test2


6. gzip (了解)
  格式: gzip  [选项]  被压缩的文件|需解压的文件
     选项 -d :表示解压
     
  示例1:对test目录下的sublime_text 文件 使用gzip格式压缩
     gzip sublime_text
  示例2:使用gzip命令解压文件
    gzip -d sublime_text.gz
      
7. chmod :对文件或目录设置权限
    a>字母法
    格式: chmod u/g/o/a +/-/= rwx 文件
          用户:
            u: 属主用户
            g: 同组的其他用户
            o:其他用户
            a: 所有用户
          授权:
            +: 添加权限
            -:移除权限
            =:赋值权限

         权限:
            r: 读
            w:写
            x:执行 ,对于目录,假如用于x权限,则能打开目录
            - :无权
        
    示例1: 对test2目录下的sublime.py 文件的拥有者用户及同组用户添加执行权限,对其他用户添加写权限

       chmod u+x,g+x,o+w  sublime.py
    示例2: 对test2目录下的sublime.py同组用户移除执行权限,对其他用户设置无权限
        chmod g-x,o=- sublime.py
        chmod g-x,o= sublime.py
        
    b>数字法
      格式:chmod  权限数字表示法 文件名
      
    示例3:使用数字法对test2目录的sublime.py所有用户均设置读写执行权限
        chmod 777 sublime.py
  1. which : 查找命令的位置
    ​ 示例:分别查看ls和shutdown两个命令在哪个目录中
    ​ 1. which ls
    ​ 2. which shutdown

  2. 与用户相关命令(who、sudo、passwd、su、exit)

    a> who : 当前登录的用户
    示例1:查看当前哪些用户在登录
    python@ubuntu:~/Desktop$ who
    python tty7 2018-08-02 08:45 (:0)
    python pts/0 2018-08-02 10:27 (192.168.19.90)
    1. python: 登录的用户名
    2. tty7 : 本地登录
    3. pts: 远程登录
    (192.168.19.90) : 远程登录的主机ip地址

    b> sudo : superuser do : 超级用户授权当前用户执行命令
    格式: sudo command

​ 示例2:在/opt目录下创建images文件夹
​ python@ubuntu:/opt$ mkdir images
​ mkdir: 无法创建目录"images": 权限不够
​ python@ubuntu:/opt$ sudo mkdir images
​ [sudo] python 的密码:
​ python@ubuntu:/opt$ ls

    c> passwd : 设置用户密码
       格式: sudo passwd 用户名
       示例3:设置python用户密码

        python@ubuntu:/opt$ sudo  passwd python 
        输入新的 UNIX 密码: 
        重新输入新的 UNIX 密码: 
        passwd:已成功更新密码


    d> su : 切换用户
        示例4:使用su命令切换到root用户
        su root
       
    e> exit : 退出用户登录
      1. 如果是ubuntu图形界面打开的命令终端,退出当前终端
      2. 如果是使用ssh远程登录,退出登录账户
      3. 如果是切换后的登录用户,退出则返回上一个登录账号

        示例5:使用exit命令退出命令终端界面
           exit 


​ 10. 关机相关命令(reboot、shutdown)

​ a> reboot: 重启
​ b> shutdown: 关机
​ -h: halt ,停掉系统,并没有掉电,主板是通电的
​ 1. shutdown –r now :立即重启
​ 2. shutdown -h now :立即关机
​ 3. shutdown -h 20:25 :指定某个时间关机
​ 4. shutdown -h +10 : 10分钟后关机

二、 ubuntu软件的安装与卸载

四种安装软件的方式:
格式文件
    通过apt-get包管理器从软件源   通过deb格式的离线软件包安装
    直接解压gzip等压缩中在线安装
    从软件源码手动编译安装

1. 离线安装
    a> 直接解压gzip等压缩格式文件
    
    示例1: 解压 pycharm.tar.gz 文件到 /opt/mysoft ,并且运行pycharm软件
      1. sudo mkdir /opt/mysoft
      2. sudo tar -xzvf pycharm.tar.gz  -C  /opt/mysoft
      3. 执行命令:
      python@ubuntu:/opt/mysoft/pycharm-community-2017.2.4/bin$ ./pycharm.sh  


     提示: xxx.sh是linux 可执行的shell脚本文件
    
    b> 通过ubuntu支持的安装包安装 
        ubuntu 支持deb格式  ,deb格式是Debian系统(包含Debian和Ubuntu)专属安装包格式 ,好比android支持apk格式的

    格式:
        sudo dpkg -i xxx.deb # 安装包 
           -i : install   
        sudo dpkg -r package # 删除包  ,删除程序
          -r :remove
            
    示例2: 在ubuntu环境中安装和卸载网络助手软件
        安装: sudo dpkg -i cc.deb
           cc.deb:文件名
         卸载 sudo dpkg -r mnetassist
           mnetassist:包名

         提示: 查看安装的程序的包名
             dpkg -l | grep 'netass'
  1. 通过apt-get包管理器从软件源中在线安装(最常用的方式)

    apt-get 常用命令:
    sudo apt-get install package
    sudo apt-get remove package
    sudo apt-get update 更新源

    示例3: 安装sl包,并且演示效果
    安装: sudo apt-get install sl
    卸载: sudo apt-get remove sl

三、 vim 软件的使用
​ 1. 三种工作模式:
​ 命令模式
​ 编辑模式
​ 末行模式

    a> 命令模式:打开文件,默认进入此模式,通过命令的方式对文档进行编辑,比如复制,粘贴,删除行等操作
    b> 编辑模式: 在命令模式中按i或者a进入编辑模式,可输入文本进行编辑文档。按'esc'退出编辑模式,进入命令模式
    c> 末行模式: 在命令模式按':' 进入末行模式,在末行模式中可实现查找替换文本、保存退出文件等操作,按'esc'进入命令模式

2. 命令模式下的vim操作(了解)
    a> 进入编辑模式
        1. i或者a  (i在光标前添加文本,a在光标后添加文本)
    b> 移动光标
        1. 方向箭头  (上下左右)
        2. hjkl     (上下左右)
        3. G和gg    (G 文档最后一行, gg 文档首行)

    c> 删除命令
        1. dd和n dd   (dd删除光标所在行,5 dd删除指定行数,从光标所在行开始计算)

    d> 撤销与恢复命令
        1. u       (撤销)
        2. ctrl+r  (恢复)

    e> 复制粘贴命令
        1. yy 和 n yy  (yy复制当前行,5 yy复制5行)
        2. p和n p      (p在光标所在位置向下新开一行粘贴,5p 粘贴5次)
    
    示例1: 复制2行内容, 放在末尾进行粘贴
        2yy(复制)  G(进入末尾)   p(粘贴)

    示例2: 删除当前光标所在行,及以下的2行的数据
        3dd

3. 末行模式下的vim操作(了解)
    a> 查找替换操作
        1. /str  (查找字符串)
            在命令模式直接按/ 符号, 进入末行模式
           /ab (查询ab字符 ,enter回车后,按n指向下一个匹配的字符,去掉高亮显示:noh)
        2. %s/str/reg/g (替换字符串)
            在命令模式直接按:符号, 进入末行模式
             %(多行操作)
             s( 替换命令,默认替换当前行)
             /str (要替换的文本)
             /reg  (替换的规则)
             /g(一行中替换多次)

        示例3: 查找文档中的ab字符
            在命令模式直接按/ 符号, 进入末行模式
           /ab (查询ab字符 ,enter回车后,按n指向下一个匹配的字符,去掉高亮显示:noh)
            
        示例4: 把文档中的abc字符改为xyz
           在末行模式中替换
            :%s/abc/xyz/g

    b> 保存退出命令
        1. w  (保存文档)
        2. q  (退出文档)
        3. wq (保存且退出文档)
        4. x  (保存且退出文档)
        5. q! (不保存退出文档)
        6. set number/nonumber (显示行号或者隐藏行号)
        7. :9 (定位到某行)

四、 SSH服务
1. SSH介绍
ssh(Secure Shell): 安全外壳 是一种网络安全协议,内部采用RSA算法实现加密与解密。利用SSH协议可以有效防止远程管理过程中的信息泄露问题

2. ssh服务器安装
   sudo apt-get install openssh-server
    dpkg 
    pip  安装到dist-packages
    apt-get
3. 远程登录服务端
        
   a> Linux\Mac系统 通过ssh命令客户端远程登录服务端 
      linux\mac 默认已经安装了ssh的客户端
     格式 : ssh 用户名@服务器IP
     命令:   ssh python@192.168.19.89
            python@ubuntu:~$ ssh python@192.168.19.89
            The authenticity of host '192.168.19.89 (192.168.19.89)' can't be established.
            ECDSA key fingerprint is SHA256:/O0d2GZ+OZ85kT+GacHP5WrgpMeJwyWBOSfk1xTidXQ.
            Are you sure you want to continue connecting (yes/no)? yes
            Warning: Permanently added '192.168.19.89' (ECDSA) to the list of known hosts.
            python@192.168.19.89's password: 


​ b> windows中使用ssh客户端工具putty\xshell 远程登录服务端
​ windows没有ssh命令,使用第三方ssh客户端工具来方法

​ 1. ping 服务端的ip地址
​ ping 192.168.19.89

2. 使用putty\xshell 第三方ssh客户端工具远程登录ssh服务端

4. 基于ssh的文件上传下载

    a> scp命令
        scp(secure copy)安全拷贝,基于ssh协议的远程文件拷贝命令,拷贝目录需要加 -r 选项
        提示: windows环境不支持该命令 
        
        1. 安全拷贝远程主机文件到本地
          格式: scp RemoteUserName@RemoteHostIp:RemoteFile FileName
                 scp python@192.168.19.89:Desktop/uu.txt ./

        2. 安全拷贝本地文件到远程主机
          格式: scp FileName RemoteUserName@RemoteHostIp:RemoteFile
             scp cc.txt python@192.168.19.89:Desktop
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值