• Linux常用操作命令


    转自:

    https://www.cnblogs.com/wj-1314/articles/7928562.html

    如何连接Linux服务器?

      我们一般会通过终端工具连接远程Linux服务器,我们现在的远程Linux服务器在虚拟机上,所以我们可以使用终端工具在Windows上直接连接到虚拟机上的Linux服务器,然后实战操作该Linux服务器。

      首先连接虚拟机,然后配置网络,配置网络之前需要进入Linux系统里面。

      连接windows和Linux,通过配置网络连接,如何查看网络是否连接了呢?

      我们可以在终端测试,输入 ifconfig

    常见的Linux命令实战

       在Linux中,我们常用命令取操作,所以现在,我们说一下常见的指令

    1
    2
    3
    4
    5
    6
    7
    ls 查看当前目录下有什么文件和文件夹
     
    cd 进入当前目录
     
    mkdir 创建文件夹
     
    touch 创建文件

      

      常用指令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    1su 进入root权限帐户解决帐户权限不够的问题
     
    2cd 进入根目录
     
    3ls 查看当前目录
     
    4cd ../ 返回上一层目录 cd /直接返回根目录
     
    5rm 删除文件或文件夹 rm -f 删除文件rm-rf 删除文件夹
     
    6mkdir 创建文件夹 touch 创建文件
     
    7 cp 复制文件cp / / / mv 移动文件 mv / / /
     
    8 vim 打开txt文件编辑 cat 查看txt文件
     
    9 find /name 文件检索

      

    su 进入root权限

    mkdir 新建一个文件

    ls查看目录

    rm删除文件

    touch 创建一个文件  eg:  touch a.txt

    tar 解压缩

    vim编辑文件里面的内容

    cat查看文件

    find主要用于查找名为什么什么的文件

    1.1 pwd命令

    该命令的英文解释为print working directory(打印工作目录)。输入pwd命令,Linux会输出当前目录。

    1.2 cd命令

    cd命令用来改变所在目录。

    cd /      转到根目录中
    cd ~     转到/home/user用户目录下
    cd /usr 转到根目录下的usr目录中-------------绝对路径
    cd test 转到当前目录下的test子目录中-------相对路径

    1.3 ls命令

    ls命令用来查看目录的内容。

    选项 含义
    -a 列举目录中的全部文件,包括隐藏文件
    -l 列举目录中的细节,包括权限、所有者、组群、大小、创建日期、文件是否是链接等
    -f 列举的文件显示文件类型
    -r 逆向,从后向前地列举目录中内容
    -R 递归,该选项递归地列举当前目录下所有子目录内的内容
    -s 大小,按文件大小排序
    -h 以人类可读的方式显示文件的大小,如用K、M、G作单位
    ls -l examples.doc 列举文件examples.doc的所有信息

    1.4 cat命令

    cat命令可以用来合并文件,也可以用来在屏幕上显示整个文件的内容。

    cat snow.txt 该命令显示文件snow.txt的内容,ctrl+D退出cat。

    1.5 grep命令

    grep命令的最大功能是在一堆文件中查找一个特定的字符串。

    grep money test.txt

    以上命令在test.txt中查找money这个字符串,grep查找是区分大小写的。

    1.6 touch命令

    touch命令用来创建新文件,他可以创建一个空白的文件,可以在其中添加文本和数据。

    touch newfile 该命令创建一个名为newfile的空白文件。

    1.7 cp命令

    cp命令用来拷贝文件,要复制文件,输入命令:

    cp <source filename> <target filename>

    cp t.txt Document/t    该命令将把文件t.txt复制到Document目录下,并命名为t。

    选项 含义
    -i 互动:如果文件将覆盖目标中的文件,他会提示确认
    -r 递归:这个选项会复制整个目录树、子目录以及其他
    -v 详细:显示文件的复制进度

    1.8 mv命令

    mv命令用来移动文件。

    选项 说明
    -i 互动:如果选择的文件会覆盖目标中的文件,他会提示确认
    -f 强制:它会超越互动模式,不提示地移动文件,属于很危险的选项
    -v 详细:显示文件的移动进度

    mv t.txt Document    把文件t.txt 移动到目录Document中。

    1.9 rm命令

    rm命令用来删除文件。

    选项 说明
    -i 互动:提示确认删除
    -f 强制:代替互动模式,不提示确认删除
    -v 详细:显示文件的删除进度
    -r 递归:将删除某个目录以及其中所有的文件和子目录

    rm t.txt   该命令删除文件t.txt

    1.10 rmdir命令

    rmdir命令用来删除目录。

    常用指令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    ls          显示文件或目录
     
         -l           列出文件详细信息l(list)
     
         -a          列出当前目录下所有文件及目录,包括隐藏的a(all)
     
    mkdir         创建目录
     
         -p           创建目录,若无父目录,则创建p(parent)
     
    cd               切换目录
     
    touch          创建空文件
     
    echo            创建带有内容的文件。
     
    cat              查看文件内容
     
    cp                拷贝
     
    mv               移动或重命名
     
    rm               删除文件
     
         -r            递归删除,可删除子目录及文件
     
         -f            强制删除
     
    find              在文件系统中搜索某文件
     
    wc                统计文本中行数、字数、字符数
     
    grep             在文本文件中查找某个字符串
     
    rmdir           删除空目录
     
    tree             树形结构显示目录,需要安装tree包
     
    pwd              显示当前目录
     
    ln                  创建链接文件
     
    more、less  分页显示文本文件内容
     
    head、tail    显示文件头、尾内容
     
    ctrl+alt+F1  命令行全屏模式

      

    系统管理命令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    stat              显示指定文件的详细信息,比ls更详细
     
    who               显示在线登陆用户
     
    whoami          显示当前操作用户
     
    hostname      显示主机名
     
    uname           显示系统信息
     
    top                动态显示当前耗费资源最多进程信息
     
    ps                  显示瞬间进程状态 ps -aux
     
    du                  查看目录大小 du -h /home带有单位显示目录信息
     
    df                  查看磁盘大小 df -h 带有单位显示磁盘信息
     
    ifconfig          查看网络情况
     
    ping                测试网络连通
     
    netstat          显示网络状态信息
     
    man                命令不会用了,找男人  如:man ls
     
    clear              清屏
     
    alias               对命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit
     
    kill                 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。

      

    打包压缩相关命令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    gzip:
     
    bzip2:
     
    tar:                打包压缩
     
         -c              归档文件
     
         -x              压缩文件
     
         -z              gzip压缩文件
     
         -j              bzip2压缩文件
     
         -v              显示压缩或解压缩过程 v(view)
     
         -f              使用档名

      

    例:

    tar -cvf /home/abc.tar /home/abc              只打包,不压缩

    tar -zcvf /home/abc.tar.gz /home/abc        打包,并用gzip压缩

    tar -jcvf /home/abc.tar.bz2 /home/abc      打包,并用bzip2压缩

    当然,如果想解压缩,就直接替换上面的命令  tar -cvf  / tar -zcvf  / tar -jcvf 中的“c” 换成“x” 就可以了。

    关机重启机器

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    shutdown
     
         -r             关机重启
     
         -h             关机不重启
     
         now          立刻关机
     
    halt               关机
     
    reboot          重启

      

     Linux管道

    将一个命令的标准输出作为另一个命令的标准输入。也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。

    例:grep -r "close" /home/* | more       在home目录下所有文件中查找,包括close的文件,并分页输出。

    Linux软件包管理 

    dpkg (Debian Package)管理工具,软件包名以.deb后缀。这种方法适合系统不能联网的情况下。

    比如安装tree命令的安装包,先将tree.deb传到Linux系统中。再使用如下命令安装。

    sudo dpkg -i tree_1.5.3-1_i386.deb         安装软件

    sudo dpkg -r tree                                     卸载软件

    注:将tree.deb传到Linux系统中,有多种方式。VMwareTool,使用挂载方式;使用winSCP工具等;

    APT(Advanced Packaging Tool)高级软件工具。这种方法适合系统能够连接互联网的情况。

    依然以tree为例

    1
    2
    3
    4
    5
    6
    7
    sudo apt-get install tree                         安装tree
     
    sudo apt-get remove tree                       卸载tree
     
    sudo apt-get update                                 更新软件
     
    sudo apt-get upgrade       

      

    将.rpm文件转为.deb文件

    .rpm为RedHat使用的软件格式。在Ubuntu下不能直接使用,所以需要转换一下。

    sudo alien abc.rpm

    vim使用

    vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。

    命令模式下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    :q                      退出
     
    :q!                     强制退出
     
    :wq                   保存并退出
     
    :set number     显示行号
     
    :set nonumber  隐藏行号
     
    /apache            在文档中查找apache 按n跳到下一个,shift+n上一个
     
    yyp                   复制光标所在行,并粘贴
     
    h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)

      

    用户及用户组管理

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    /etc/passwd    存储用户账号
     
    /etc/group       存储组账号
     
    /etc/shadow    存储用户账号的密码
     
    /etc/gshadow  存储用户组账号的密码
     
    useradd 用户名
     
    userdel 用户名
     
    adduser 用户名
     
    groupadd 组名
     
    groupdel 组名
     
    passwd root     给root设置密码
     
    su root
     
    su - root
     
    /etc/profile     系统环境变量
     
    bash_profile     用户环境变量
     
    .bashrc              用户环境变量
     
    su user              切换用户,加载配置文件.bashrc
     
    su - user            切换用户,加载配置文件/etc/profile ,加载bash_profile

      

    更改文件的用户及用户组

    sudo chown [-R] owner[:group] {File|Directory}

    例如:还以jdk-7u21-linux-i586.tar.gz为例。属于用户hadoop,组hadoop

    要想切换此文件所属的用户及组。可以使用命令。

    sudo chown root:root jdk-7u21-linux-i586.tar.gz

    文件权限管理

    三种基本权限

    1
    2
    3
    4
    5
    R           读         数值表示为4
     
    W          写         数值表示为2
     
    X           可执行  数值表示为1

    转自:

    https://www.cnblogs.com/wj-1314/articles/9485832.html

    一,Linux使用nohup命令后台运行程序

      在Linux服务器上搭建web服务器,用ssh客户端登录后使用 ./startservice.sh 脚本启动服务,但是当ssh断开连接后起的服务器也会停掉。这时就可以使用下面命令运行服务,这样在ssh断开后服务也不会停。

    1
    nohup ./startservice.sh >>nohup.out 2 > &1 &

      上面代码的用途:不挂断地运行命令。

      语法:nohup Command  [Arg ... ] [&]

      描述:nohup命令运行由Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup命令运行后台中的程序。要运行后台中的 nohup命令,添加 & (表示“and” 的符号)到命令的尾部。

      所以上面命令中带 & 的命令行,即使 terminal(终端)关闭,或者电脑死机程序依然运行(前提是将程序提交给服务器)。

      上面 2>&1 的意思就是把标准错误(2) 重定向到标准输出(1),而标准输出又导入文件 output里面,所以结果是标准错误和标准输出都导入文件output里面了。至于为什么需要将标准错误重定向到标准输出的原因,那就归结为标准错误没有缓冲区,而 stdout 有。这就会导致 >output 2>output 文件被output 被打开两次,而 stdout 和 stderr 将会竞争覆盖,这肯定不是我们相要的。

      操作系统中有三个常用的流:

    • 0:标准输入流 stdin
    • 1:标准输入流 stdout
    • 2:标准错误流 stderr

      一般当我们用 > console.txt,实际是 1>console.txt的省略用法;< console.txt ,实际是 0 < console.txt的省略用法。

    二,ctrl+c,ctrl+d,ctrl+z在linux程序中意义和区别

    ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样.

      ctrl+c是强制中断程序的执行,,进程已经终止。

      ctrl+z的是将任务中止(暂停的意思),但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,用户可以使用fg/bg操作继续前台或后台的任务,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行.

      例如:当你vi一个文件是,如果需要用shell执行别的操作,但是你又不打算关闭vi,因为你得存盘推出,你可以简单的按下ctrl+z,shell会将vi进程挂起~,当你结束了那个shell操作之后,你可以用fg命令继续vi你的文件。

    ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF。

    注:在shell中,ctrl-d表示推出当前shell

    三,Linux文件夹中的文件颜色

      今天看到Linux文件夹中的文件颜色,很是好奇,所以百度一下,满足了自己的好奇心。

    绿色文件: 可执行文件,可执行的程序 
     
    红色文件:压缩文件或者包文件
     
    蓝色文件:目录
     
    白色文件:一般性文件,如文本文件,配置文件,源码文件等 
     
    浅蓝色文件:链接文件,主要是使用ln命令建立的文件
     
    红色闪烁:表示链接的文件有问题
     
    黄色:表示设备文件
     
    灰色:表示其他文件
     
      在终端输入ls-l就会出现花花绿绿的东西,如下:
     

      共显示了七列信息,从左至右依次为:权限、文件数、归属用户、归属群组、文件大小、创建日期、文件名称。


    四,Linux中ls和ll的区别

      ll 列出来的结果详细,有时间,是否可读写等信息 ,象windows里的 详细信息
      ls 只列出文件名或目录名 就象windows里的  列表

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    ll不是命令,是ls -l的别名
     
    ls 命令可以说是linux下最常用的命令之一。
    -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
    -b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
    -c 输出文件的 i 节点的修改时间,并以此排序。
    -d 将目录象文件一样显示,而不是显示其下的文件。
    -e 输出时间的全部信息,而不是输出简略信息。
    -f -U 对输出的文件不排序。
    -g 无用。
    -i 输出文件的 i 节点的索引信息。
    -k 以 k 字节的形式表示文件的大小。
    -l 列出文件的详细信息。
    -m 横向输出文件名,并以“,”作分格符。
    -n 用数字的 UID,GID 代替名称。
    -o 显示文件的除组信息外的详细信息。
    -p -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通

      

    五,Linux里sh命令是做什么的?

    1
    2
    3
    4
    5
    6
    7
    8
        sh或是执行脚本,或是切换到sh这个bash里,默认的shell是bash,你
    可以试试tcsh啊,csh啊,ksh,zsh什么的,看看别的shell是什么样子的。
    当然,linux中sh是链接到bash上的,所以sh与bash在功能上是没有区别的。
     
        还有就是在执行脚本的时候是用sh + 脚本名的方式来执行,其实,大部
    分的时候,简单脚本只要权限设置正确,可以直接执行,不需要sh命令的
     
    ---------------------

    六,文件类型的详细说明

    6.1  文件类型

    普通文件(regular file)

      就是一般存取的文件,由ls -al显示出来的属性中,第一个属性为 [-],例如 [-rwxrwxrwx]。另外,依照文件的内容,又大致可以分为:

      1、纯文本文件(ASCII):这是Unix系统中最多的一种文件类型,之所以称为纯文本文件,是因为内容可以直接读到的数据,例如数字、字母等等。设 置文件几乎都属于这种文件类型。举例来说,使用命令“cat ~/.bashrc”就可以看到该文件的内容(cat是将文件内容读出来)。

      2、二进制文件(binary):系统其实仅认识且可以执行二进制文件(binary file)。Linux中的可执行文件(脚本,文本方式的批处理文件不算)就是这种格式的。举例来说,命令cat就是一个二进制文件。

      3、数据格式的文件(data):有些程序在运行过程中,会读取某些特定格式的文件,那些特定格式的文件可以称为数据文件(data file)。举例来说,Linux在用户登入时,都会将登录数据记录在 /var/log/wtmp文件内,该文件是一个数据文件,它能通过last命令读出来。但使用cat时,会读出乱码。因为它是属于一种特殊格式的文件。

    目录文件(directory):

      就是目录,第一个属性为 [d],例如 [drwxrwxrwx]。

        1,连接文件(link):类似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]。

      2,设备与设备文件(device):与系统外设及存储等相关的一些文件,通常都集中在 /dev目录。通常又分为两种:

      3,块设备文件:就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 [b]。

      4,字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c]。

      5,套接字(sockets):这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 [s],最常在 /var/run目录中看到这种文件类型。

      6,管道(FIFO,pipe):FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p]。

    6.2 文件结构

      /:根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。

      /bin:bin 就是二进制(binary)英文缩写。在一般的系统当中,都可以在这个目录下找到linux常用的命令。系统所需要的那些命令位于此目录。

      /boot:Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录。

      /cdrom:这个目录在刚刚安装系统的时候是空的。可以将光驱文件系统挂在这个目录下。例如:mount /dev/cdrom /cdrom

      /dev:dev 是设备(device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。这一点和常用的windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。

      /etc:etc这个目录是linux系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。要用到的网络配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等都在这个目录下。

      /home:如果建立一个用户,用户名是"xx",那么在/home目录下就有一个对应的/home/xx路径,用来存放用户的主目录。

      /lib:lib是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。因此,千万不要轻易对这个目录进行什么操作,一旦发生问题,系统就不能工作了。

      /lost+found:在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。

      /mnt:这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom等目录。可以参看/etc/fstab的定义。

      /media:有些linux的发行版使用这个目录来挂载那些usb接口的移动硬盘(包括U盘)、CD/DVD驱动器等等。

      /opt:这里主要存放那些可选的程序。

      /proc:可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。

      /root:Linux超级权限用户root的家目录。

      /sbin:这个目录是用来存放系统管理员的系统管理程序。大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目录是相似的,凡是目录sbin中包含的都是root权限才能执行的。

      /selinux :对SElinux的一些配置文件目录,SElinux可以让linux更加安全。

      /srv 服务启动后,所需访问的数据目录,举个例子来说,www服务启动读取的网页数据就可以放在/srv/www中

      /tmp:临时文件目录,用来存放不同程序执行时产生的临时文件。有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。

      /usr这是linux系统中占用硬盘空间最大的目录。用户的很多应用程序和文件都存放在这个目录下。在这个目录下,可以找到那些不适合放在/bin或/etc目录下的额外的工具

      /usr/local:这里主要存放那些手动安装的软件,即不是通过“新立得”或apt-get安装的软件。它和/usr目录具有相类似的目录结构。让软件包管理器来管理/usr目录,而把自定义的脚本(scripts)放到/usr/local目录下面、。

      /usr/share :系统共用的东西存放地,比如 /usr/share/fonts 是字体目录,/usr/share/doc和/usr/share/man帮助文件。

      /var:这个目录的内容是经常变动的,看名字就知道,可以理解为vary的缩写,

      /var下有/var/log 这是用来存放系统日志的目录。

      /var/ www目录是定义Apache服务器站点存放目录;

      /var/lib 用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地。

    七, Linux下的chmod +x是什么意思,为什么要使用这个?

      一个start.sh文件,本来是灰色的(普通的文件),如果执行chmod +x 给了权限,文件颜色就变成绿色。

      如果使用chmod -x 则就会变成灰色(普通的文本颜色),普通的文本颜色是不能执行的,执行会报错。

    7.1  chmod +x 和 chmod u+x的区别

      设置谁拥有执行这个文件权限。chmod +x 和chmod a+x 是一样的,一般没有明确要求,就可以使用chmod +x。

  • 相关阅读:
    ASP.NET 学习日志
    igoogle 小工具
    nios ann 语音识别
    ASP 3.5 读书笔记
    C# delegate and event 续
    paper
    网站白痴的 ASP.NET website 学习日志
    盒子模型
    将对象序列化成json
    不错的Oracle 存储过程例子
  • 原文地址:https://www.cnblogs.com/acm-icpcer/p/11615695.html
Copyright © 2020-2023  润新知