美文网首页
Linux命令

Linux命令

作者: 不知名小号 | 来源:发表于2017-10-21 13:51 被阅读20次

    1. 命令组成:

    命令本身 参数 执行位置

    2. 文件系统的树结构

    • linux有不同的分区sda1,sda2,但是只有一个文件系统树,在文件系统树的对应文件夹挂载分区。(挂载点)。

    • 根目录不是root目录。

    绝对路径:以斜杠/开头,从根目录往下一级一级走。

    相对路径:相对于当前工作目录而产生的路径。

    以“.”开头,一个点表示当前目录,两个点表示上一级目录。
    pwd打印当前目录
    cd改变当前工作目录。
    cd -:返回上一个当前目录
    *cd *:去根目录
    cd ..:到上级目录

    3.文件系统的操作指令:

    常用指令

    在linux系统中,一切都是文件

    拷贝copy:cp file dir

    移动move:mv file1 file2

    重命名:rename:mv(与移动相同)

    删除:remove

    参数-r表示对目录进行操作
    例如:删除一个文件夹:rm -r <目录>

    创建文件:touch a.txt

    创建目录:mkdri dir

    查看文件:cat file

    查看文件类型:file a.txt

    查看当前目录下的文件:ls
    ls的参数-a:显示隐藏文件

    mkdir和touch创建的文件或文件夹前加“.”表示创建隐藏的文件或文件夹。

    less 分页查看文件

    通配符

    <输入>+*:自动补全对应的文件名

    打包和压缩

    解压

    unzip <文件名>

    打包

    zip -r <文件名> <相应的目录>

    tar.gz解压

    tar zxvf ***.tat.gz

    tar.gz压缩

    tar zcvf ***.tar.gz

    tar.bz2解压

    tar jxvf ***.tar.bz2

    tar.bz2压缩

    tar jcvf ***.tar.bz2

    4. 重定向

    三个重要的文件

    在linux中一切的东西都是文件:文件,目录,甚至硬件都是文件。

    三个重要文件:文件描述

    • 0为标准输入文件stdin
    • 1为标准输出文件stdout
    • 2为标准错误输出文件stderr。后面两者不会输入到文件,而是在屏幕输出。

    几个重定向的方式

    输出重定向符:

    把输出打印到文件中
    执行语句+>+文件名
    重定向符默认是先清空后输出的,如果要文件在后面添加输出则用“>>“
    执行语句+>>+文件名
    另一种连接方式:
    cat file1 file2会连续输file1和file2,所以只需要把结果给file就好了
    cat file1 file2>file

    错误输出重定向

    默认情况错误输出不能重定向到文件中,如果非要加,则:
    错误语句 2>文件名
    2代表标准错误输出文件stderr

    标准输入重定向

    执行语句+<+文件名

    管道符:“|”

    作用

    将一个命令的输出作为另一个命令的输入

    cat files.txt|uniq
    uniq是去除重复命令,上面语句的意思是将cat语句的输出结果去重之后输出。
    cat files.txt|grep txt
    grep代表查找,意思就是只输出txt的文件名。
    cat file.txt|sort
    将输出结果进行排序

    5. 文件权限

    r读权限,w写权限,x执行权限
    ls -l 文件名查看文件的权限
    对于目录来说,写权限代表我们能够创建删除重命名里面的文件。
    对于目录回来说,执行权限代表能够cd它。

    chmod

    'chmod 110110110 a.txt'
    每三位数以此代表用户 群组 游客的权限,三位数中的每位数代表读权限,写权限,执行权限。
    chmod 666 a.txt
    将每个三位数转化成对应的八进制
    'chmod u+x a.txt'

    6. linux进程

    获取进程号

    PID=Process ID
    'ps'查看进程
    ‘ps aux’查看当前所有进程情况

    后台执行

    执行命令+&(回车)后台执行程序
    Ctrl+Z暂停进程+bg后台运行
    ‘fg’回到前台

    kill命令

    kill -9 PID强制退出进程

    7. linux搜索

    locate

    locate +字符打印出所有含有输入字符的文件。并定位到目录

    find

    find+目录显示对应目录下的所有文件
    'find +目录+|grep ***'显示所有对应目录下包含****的文件
    只想看到文件:后面加-type f
    只想看到目录:后面加-type d

    find . -type f -exec grep -ni hello '{}' ';' -print
    

    8. 网络操作

    ssh 用户名@网址连接服务器
    在本地及其上运行ssh-keygen
    在主目录上打开.ssh,cd ~/.ssh
    执行ls就会看到id_rsa id_rsa.pub
    有.pub后缀的是公钥,另一个是私钥。把.pub放到/home/peter/.ssh/authorized_keys
    命令:ssh-copy-id 用户名@地址然后一路回车
    这样子以后再ssh就不用输入密码啦。

    9. 安装软件

    手动安装

    把可执行文件链接到PATH中

    ln -s 可执行文件目录 ~/bin/链接名字
    以后只要输入链接名字就能执行文件了。

    安装软件的三个步骤:

    在源代码文件夹里执行
    ./confirm
    make
    sudo make install

    deb包

    dpkg -i ***.deb安装deb包
    dpkg -l 列出系统上所有安装过的deb包

    软件仓库安装

    sudo apt-get install 软件名安装仓库中的软件

    软件卸载

    sudo apt-get remove 软件名删除软件
    sudo apt-get purge 软件名 连配置文件一起删除

    shell编程

    指定解析器

    #! /usr/bin/env bash指定解析器为bash

    位置参数

    $0 $1 $2分别代表程序名和第1第2个参数
    $#代表一共有多少个参数
    例:

    #! /usr/bin/bash
    Number of arguments:$#
    The program name is:$0
    The first argument is:$1
    

    脚本中的语句不在当前shell执行
    如果要在当前shell执行,就
    source **.sh

    for循环

    用脚本给文件加上.txt后缀
    在rename.sh中

    #! /usr/bin/bash
    cd $1
    for file in a b c
    do
      mv $file $file.txt
    done
    

    执行

    touch a b c
    ./rename.sh .
    

    其中“.”是参数,表示当前目录
    但是这样,要是文件名不是abc,那我们的脚本就失效了。
    键盘左上角,esc键下方有一个“`”符,在脚本中用“ `”扩起来的语句执行的结果可以当作脚本语句使用
    可以把rename.sh改成如下

    #! /usr/bin/bash
    
    cd $1
    echo I am in `pwd`
    
    for file in `ls`
    do
      mv $file $file.txt
    done
    

    执行的时候参数也是一个目录
    ./rename.sh .

    相关文章

      网友评论

          本文标题:Linux命令

          本文链接:https://www.haomeiwen.com/subject/nmeiuxtx.html