zoukankan      html  css  js  c++  java
  • Linux 环境下一些常用命令(四)

    转自 http://www.oschina.net/translate/20-advanced-commands-for-middle-level-linux-users

       31. 命令: rm

    'rm' 标准移除命令。rm 可以用来删除文件和目录。

    删除目录

    root@tecmint:~# rm PassportApplicationForm_Main_English_V1.0
    
    rm: cannot remove `PassportApplicationForm_Main_English_V1.0': Is a directory

    'rm' 不能直接删除目录,需要加上相应的'-rf'参数才可以。

    root@tecmint:~# rm -rf PassportApplicationForm_Main_English_V1.0

    警告: "rm -rf" 命令是一个破坏性的命令,假如你不小心删除一个错误的目录。一旦你使用'rm -rf' 删除一个目录,在目录中所有的文件包括目录本身会被永久的删除,所以使用这个命令要非常小心。

        32. 命令: echo

    echo  的功能正如其名,就是基于标准输出打印一段文本。它和shell无关,shell也不读取通过echo命令打印出的内容。然而在一种交互式脚本中,echo通过终端将信息传递给用户。它是在脚本语言,交互式脚本语言中经常用到的命令。

    root@tecmint:~# echo "Tecmint.com is a very good website"
    
    Tecmint.com is a very good website

    创建一小段交互式脚本

    1. 在桌面上新建一个文件,命名为 ‘interactive_shell.sh‘  (记住必须带 ‘.sh‘扩展名)。
    2. 复制粘贴如下脚本代码,确保和下面的一致。

     
    #!/bin/bash
    
    echo "Please enter your name:"
    
    readname
    
    echo"Welcome to Linux $name"

    接下来,设置执行权限并运行脚本。

    root@tecmint:~# chmod 777 interactive_shell.sh

    root@tecmint:~# ./interactive_shell.sh
    
    Please enter your name:
    
    Ravi Saive
    
    Welcome to Linux Ravi Saive

    注意: ‘#!/bin/bash‘ 告诉shell这是一个脚本,并且在脚本首行写上这句话是个好习惯。. ‘read‘ 读取给定的输出.

      33. 命令: passwd

    这是一个很重要的命令,在终端中用来改变自己密码很有用。显然的,因为安全的原因,你需要知道当前的密码。

    root@tecmint:~# passwd
    
    Changing password fortecmint.
    
    (current) UNIX password: ********
    
    Enter new UNIX password: ********
    
    Retype new UNIX password: ********
    
    Password unchanged   [这里表示密码未改变,例如:新密码=旧密码]
    
    Enter new UNIX password: #####
    
    Retype new UNIX password:#####

    34. 命令: lpr

    这个命令用来在命令行上将指定的文件在指定的打印机上打印。

    root@tecmint:~# lpr -P deskjet-4620-series 1-final.pdf

    注意: "lpq"命令让你查看打印机的状态(是开启状态还是关闭状态)和等待打印中的工作(文件)的状态。

    35. 命令: cmp

    比较两个任意类型的文件并将结果输出至标准输出。如果两个文件相同, ‘cmp‘默认返回0;如果不同,将显示不同的字节数和第一处不同的位置。

    以下面两个文件为例:

    file1.txt
    root@tecmint:~# cat file1.txt
    
    Hi My name is Tecmint
    file2.txt
    root@tecmint:~# cat file2.txt
    
    Hi My name is tecmint [dot] com

    比较一下这两个文件,看看命令的输出。

    root@tecmint:~# cmp file1.txt file2.txt
    
    file1.txt file2.txt differ: byte 15, line 1


    36. 命令: wget

    Wget是用于非交互式(例如后台)下载文件的免费工具.支持HTTP, HTTPS,FTP协议和 HTTP 代理。

    使用wget下载ffmpeg

    root@tecmint:~# wgethttp://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2
    
    --2013-05-22 18:54:52--  http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2
    
    Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59
    
    Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80... connected.
    
    HTTP request sent, awaiting response... 302 Found
    
    Location: http://kaz.dl.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2 [following]
    
    --2013-05-22 18:54:54--  http://kaz.dl.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2
    
    Resolving kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)... 92.46.53.163
    
    Connecting to kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)|92.46.53.163|:80... connected.
    
    HTTP request sent, awaiting response... 200 OK
    
    Length: 275557 (269K) [application/octet-stream]
    
    Saving to: ‘ffmpeg-php-0.6.0.tbz2’
    
    100%[===========================================================================>] 2,75,557    67.8KB/s  in 4.0s  
    
    
    
    2013-05-22 18:55:00 (67.8 KB/s) - ‘ffmpeg-php-0.6.0.tbz2’ saved [275557/275557]
    

    37 命令: mount

    mount 是一个很重要的命令,用来挂载不能自动挂载的文件系统。你需要root权限挂载设备。

    在插入你的文件系统后,首先运行"lsblk"命令,识别出你的设备,然后把分配的设备名记下来。

    root@tecmint:~# lsblk
    
    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    
    sda      8:0    0 931.5G  0 disk
    
    ├─sda1   8:1    0 923.6G  0 part /
    
    ├─sda2   8:2    0     1K  0 part
    
    └─sda5   8:5    0   7.9G  0 part [SWAP]
    
    sr0     11:0    1  1024M  0 rom 
    
    sdb      8:16   1   3.7G  0 disk
    
    └─sdb1   8:17   1   3.7G  0 part

    从这个输出上来看,很明显我插入的是4GB的U盘,因而“sdb1”就是要挂载上来的文件系统。以root用户操作,然后切换到/dev目录,它是所有文件系统挂载的地方。

    root@tecmint:~# su
    
    Password:
    
    root@tecmint:~# cd /dev

    创建一个任何名字的目录,但是最好和引用相关。

    root@tecmint:~# mkdir usb

    现在将“sdb1”文件系统挂载到“usb目录.

    root@tecmint:~# mount /dev/sdb1 /dev/usb

    现在你就可以从终端进入到/dev/usb或者通过X窗口系统从挂载目录访问文件。

    38. 命令: gcc

    gcc 是Linux环境下C语言的内建编译器。下面是一个简单的C程序,在桌面上保存为Hello.c (记住必须要有‘.c‘扩展名)。

    #include <stdio.h>
    
    int main()
    
    {
    
      printf("Hello world
    ");
    
      return0;
    
    }

    编译
    root@tecmint:~# gcc Hello.c
    运行
    root@tecmint:~# ./a.out
    
    Hello world

    注意: 编译C程序时,输出会自动保存到一个名为“a.out”的新文件,因此每次编译C程序 “a.out”都会被修改。 因此编译期间最好定义输出文件名.,这样就不会有覆盖输出文件的风险了。

    用这种方法编译
    root@tecmint:~# gcc -o Hello Hello.c

    这里‘-o‘将输出写到‘Hello‘文件而不是 ‘a.out‘。再运行一次。

    root@tecmint:~# ./Hello
    
    Hello world

    39. 命令: g++

    g++C++的内建编译器。下面是一个简单的C++程序,在桌面上保存为Add.cpp (记住必须要有‘.cpp‘扩展名)。

     
    #include <iostream>
    
    using namespace std;
    
    int main()
    
        {
    
              int a;
    
              int b;
    
              cout<<"Enter first number:
    ";
    
              cin >> a;
    
              cout <<"Enter the second number:
    ";
    
              cin>> b;
    
              cin.ignore();
    
              int result = a + b;
    
              cout<<"Result is"<<"  "<<result<<endl;
    
              cin.get();
    
              return0;
    
         }
    编译
    root@tecmint:~# g++ Add.cpp
    运行
    root@tecmint:~# ./a.out
    
    Enter first number:
    
    ...
    
    ...

    注意:编译C++程序时,输出会自动保存到一个名为a.out”的新文件,因此每次编译C++程序 “a.out”都会被修改。 因此编译期间最好定义输出文件名.,这样就不会有覆盖输出文件的风险了。

     

    40. 命令: java

    Java 是世界上使用最广泛的编程语言之一. 它也被认为是高效, 安全和可靠的编程语言. 现在大多数基于网络的服务都使用Java实现. 

    拷贝以下代码到一个文件就可以创建一个简单的Java程序. 不妨把文件命名为tecmint.java (记住: '.java'扩展名是必需的).

    class tecmint {
    
      public static void main(String[] arguments) {
    
        System.out.println("Tecmint ");
    
      }
    
    }

    用javac编译tecmint.java
    root@tecmint:~# javac tecmint.java
    运行
    root@tecmint:~# java tecmint

    注意: 几乎所有的Linux发行版都带有gcc编译器, 大多数发行版都内建了g++ 和 java 编译器, 有些也可能没有. 你可以用aptyum 安装需要的包.

     

  • 相关阅读:
    python的内置方法 isinstance && issubclass
    python类的内置方法
    反射(python内置方法)
    类装饰器 @property
    多态与多态性
    组合(对象1.属性=对象2)
    类的封装
    多继承 mro 继承顺序 与 菱形继承(钻石继承)
    类的继承派生&&重写
    封装 继承 多态 派生 组合定义 && 对象之间交互
  • 原文地址:https://www.cnblogs.com/wanghang/p/6298918.html
Copyright © 2011-2022 走看看