zoukankan      html  css  js  c++  java
  • linux基本命令,目录文件操作

    GNU是一个自由软件操作系统—就是说,它尊重其使用者的自由。GNU操作系统包括GNU软件包(专门由GNU工程发布的程序)和由第三方发布的自由软件。GNU的开发使你能够使用电脑而无需安装可能会侵害你自由的软件。

    我们很熟悉的Linux就是采用了GPL.GPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样.GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售.这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了.

      GPL协议的主要内容是只要在一个软件中使用(“使用”指类库引用,修改后的代码或者衍生代码)GPL协议的产品,则该软件产品必须也采用 GPL协议,既必须也是开源和免费.这就是所谓的“传染性”.GPL协议的产品作为一个单独的产品使用没有任何问题,还可以享受免费的优势.

      由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础.

      最常见的开源协议,使用它作为授权协议的有大名鼎鼎的 Linux .GPL最显著的两个特点就是网上称为的“病毒性传播”和“不允许闭源的商业发布”.

    修改网卡
    1.修改配置文件名称
    /etc/sysconfig/network-scripts/
 名称为:ifcfg-xxx
    2.修改配置文件内的 device 和name
    3.修改内核参数
    vi /etc/sysconfig/grub
    quiet 前加入 net.ifnames=0 biosdevname =0
    4.更新参数
    grub2-mkconfig -o /boot/grub2/grub.cfg
    5.重启
    shutdown -r now
    ```

    # 远程连接出现异常的排查思路


    01. 确保网络链路是否通畅
    ping IP地址信息

    解决问题:
    a. 虚拟网络设置是否正确
    b. 虚拟主机网卡设置
    c. 虚拟主机系统中网络地址配置
    d. 在系统的服务中(window+r->services.msc vmware nat services 是否开启)
    e. 确认物理主机上有和虚拟主机相同虚拟网卡信息(地址配置正确)

    02. 有你的女朋友阻止你

    解决问题:
    a. 网络安全服务进行了阻止(iptables firewalld 防火墙服务)


    03. telnet 地址信息 服务端口号

    解决问题:

    a. 确认远程连接服务是否开启
    b. 确认服务端口号信息是否发生了变化

    关机

    shutdown   halt关闭不切电源慎用

    poweroff  切电源  init 0

    shutdown -h 3  3分钟后关机  

    后面加-c可以终止命令

    shutdown -r  重启

    shutdown -r now

    帮助命令 man mannual 帮助手册信息
    man 命令信息shutdown
    命令帮助信息中, 语法中的中括号信息可有可无

    补充说明:有些命令是不能通过man手册获取帮助信息

    [root@oldboysh03-znb ~]# man shutdown
    SHUTDOWN(8) shutdown SHUTDOWN(8)

    NAME 第一个部分:简单说明命令的作用
    ​ shutdown - Halt, power-off or reboot the machine
    ​ 暂停; 断电 or 重启服务器

    SYNOPSIS 第二个部分:命令使用规范(命令语法)
    ​ shutdown [OPTIONS...][TIME] [WALL...]

    DESCRIPTION 第三个部分:命令的详细描述说明
    ​ shutdown may be used to halt, power-off or reboot the machine.

    OPTIONS 第四个部分:命令的参数说明
    ​ The following options are understood:

    --help
    Print a short help text and exit.

    -H, --halt
    Halt the machine.

    快捷键

    ctrl + l  清屏

    ctrl+ s  锁屏

    ctrl +q  退出锁屏

    CTRL+ a  光标移到最前方

    ctrl+e   光标移到最后方

    ctrl+u   光标到行首剪切

    CTRL+k 光标到行尾剪切

    ctrl+  c  中断命令执行

    ctrl +y 粘贴

    ctrl+ 方向左右  按照英文单词移动光标

    tab  补全

    pwd

    显示当前路径

    cd ..上一级

    cd ~家目录

    cd / 根目录

       

    ls 查看不隐藏的文件

    ls -a 查看所有

    按照时间反向排序,显示最新创建的数据信息
    ls -ltr

    创建文件夹

    mkdir  路径

    路径开头不存在的话  mkdir  -p   路径

    创建文件

    touch    路径或文件

    touch {st1,st2}

    4)在空文件中生成据

    信息
    ​ echo 将信息进行输出

    强调:在linux系统中,尽量不要输入中文符号信息(命令行)
    [root@oldboysh03-znb oldboy]# echo "hello world“
    > ^C
    [root@oldboysh03-znb oldboy]# ”“”“’‘’‘’》《【】¥¥¥¥()

    ​ [root@oldboysh03-znb oldboy]# echo hello world
    ​ hello world

    ​ # 希望将指定的信息输出到指定文件中
    ​ [root@oldboysh03-znb oldboy]# echo hello world > /oldboy/oldboy.txt
    ​ [root@oldboysh03-znb oldboy]# cat /oldboy/oldboy.txt
    ​ hello world
    ​ [root@oldboysh03-znb oldboy]# echo oldboyedu.com > /oldboy/oldboy.txt
    ​ [root@oldboysh03-znb oldboy]# cat /oldboy/oldboy.txt
    ​ oldboyedu.com
    ​ [root@oldboysh03-znb oldboy]# echo oldboyedu02.com >> /oldboy/oldboy.txt
    ​ [root@oldboysh03-znb oldboy]# cat /oldboy/oldboy.txt
    ​ oldboyedu.com
    ​ oldboyedu02.com

    3)如何查看文件信息
    ​ cat 查看文件信息命令
    ​ [root@oldboysh03-znb oldboy]# cat /etc/hosts
    ​ 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ​ ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

    利用cat命令和整合多个文件信息到一个文件中
    ​ [root@oldboysh03-znb oldboy]# cat oldgirl.txt
    ​ hello world
    ​ [root@oldboysh03-znb oldboy]# cat oldboy.txt oldgirl.txt
    ​ oldboyedu.com
    ​ oldboyedu02.com
    ​ hello world
    ​ [root@oldboysh03-znb oldboy]# cat oldboy.txt oldgirl.txt >olddog.txt
    ​ [root@oldboysh03-znb oldboy]# cat olddog.txt
    ​ oldboyedu.com
    ​ oldboyedu02.com
    ​ hello world

    5)对文件或目录数据信息进行拷贝(复制)
    ​ copy --- cp
    ​ 语法格式 cp 参数信息 要进行复制的信息 复制到什么位置

    # 将/etc/hosts文件复制到/oldboy目录中

    常见问题:
    在复制文件时,不要再文件名称后面加上/ 一般只有目录后面有/
    [root@oldboysh03-znb oldboy]# cp /etc/hosts /oldboy
    [root@oldboysh03-znb oldboy]# ll /oldboy/
    total 16
    drwxr-xr-x. 3 root root 18 Dec 5 09:33 hedanchun
    -rw-r--r--. 1 root root 158 Dec 5 10:53 hosts
    -rw-r--r--. 1 root root 30 Dec 5 10:17 oldboy.txt
    -rw-r--r--. 1 root root 42 Dec 5 10:41 olddog.txt
    drwxr-xr-x. 2 root root 6 Dec 5 09:31 oldgirl
    -rw-r--r--. 1 root root 12 Dec 5 10:40 oldgirl.txt
    [root@oldboysh03-znb oldboy]# cp /etc/hosts /oldboy01
    [root@oldboysh03-znb oldboy]# ll /oldboy01
    -rw-r--r--. 1 root root 158 Dec 5 10:53 /oldboy01

    正确复制文件方法
    [root@oldboysh03-znb oldboy]# cp /etc/hosts /oldboy/
    cp: overwrite ‘/oldboy/hosts’? y
    说明:文件没有存在会直接复制, 如果已经存在会提示是否覆盖

    如何正确复制目录信息
    [root@oldboysh03-znb oldboy]# cp /etc/sysconfig/ /oldboy/oldgirl/
    cp: omitting directory ‘/etc/sysconfig/’
    [root@oldboysh03-znb oldboy]# cp -r /etc/sysconfig/ /oldboy/oldgirl/
    [root@oldboysh03-znb oldboy]# ll /oldboy/oldgirl
    total 4
    drwxr-xr-x. 6 root root 4096 Dec 5 11:03 sysconfig


    ​ [root@oldboysh03-znb oldboy]# cp -a /etc/ /oldboy/oldgirl/
    ​ [root@oldboysh03-znb oldboy]# ls /oldboy/oldgirl
    ​ etc sysconfig

    # 对文件或目录数据信息进行剪切(移动)

    move -- mv
    mv 参数 要移动数据信息 移动到什么位置
    移动/etc/selinux/config 到 /oldboy/shanghai/
    [root@oldboysh03-znb oldboy]# ls /oldboy/shanghai
    ls: cannot access /oldboy/shanghai: No such file or directory
    [root@oldboysh03-znb oldboy]# mkdir /oldboy/shanghai
    [root@oldboysh03-znb oldboy]# mv /etc/selinux/config /oldboy/shanghai/
    [root@oldboysh03-znb oldboy]# ls /oldboy/shanghai/
    config


    [root@oldboysh03-znb oldboy]# mv /etc/selinux/config /oldboy/shanghai/
    mv: cannot stat ‘/etc/selinux/config’: No such file or directory
    [root@oldboysh03-znb oldboy]# mv /oldboy/shanghai/config /etc/selinux/
    [root@oldboysh03-znb oldboy]# ls /etc/selinux/
    config final semanage.conf targeted tmp

    可以对文件信息进行重命名操作
    [root@oldboysh03-znb oldboy]# ls
    hedanchun hosts oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai
    [root@oldboysh03-znb oldboy]# mv hosts hosts01
    [root@oldboysh03-znb oldboy]# ls
    hedanchun hosts01 oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai

    7)数据的删除命令
    remove -- rm
    rm 参数 要删除的数据信息

    # 删除oldboy目录中的hosts01文件
    [root@oldboysh03-znb oldboy]# ls
    hedanchun hosts01 oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai
    [root@oldboysh03-znb oldboy]# rm hosts01
    rm: remove regular file ‘hosts01’? y
    [root@oldboysh03-znb oldboy]# ls
    hedanchun oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai

    # 删除目录操作
    [root@oldboysh03-znb oldboy]# ls
    hedanchun oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai
    [root@oldboysh03-znb oldboy]# rm shanghai/
    rm: cannot remove ‘shanghai/’: Is a directory
    [root@oldboysh03-znb oldboy]# rm -r shanghai/
    rm: remove directory ‘shanghai/’? y

    # 如何强制删除数据信息
    [root@oldboysh03-znb oldboy]# rm -f olddog.txt
    [root@oldboysh03-znb oldboy]# ls olddog.txt
    ls: cannot access olddog.txt: No such file or directory
    [root@oldboysh03-znb oldboy]# rm -fr hedanchun
    [root@oldboysh03-znb oldboy]# ls hedanchun -d
    ls: cannot access hedanchun: No such file or directory

    [root@oldboysh03-znb oldboy]# rm -fr / oldboy/oldboy.txt
    rm: it is dangerous to operate recursively on ‘/’
    rm: use --no-preserve-root to override this failsafe
    [root@oldboysh03-znb oldboy]# rm -fr / --no-preserve-root
    说明:默认从centos6.7 开始就有/目录自我保护机制
    # 文本编辑命令说明

    vi == nodepad++
    vi 你要编辑的文件信息

    # 编辑文件的操作步骤
    第一个里程:利用vi命令打开文件
    vi oldboy.txt

    第二个里程:进入到编辑模式,开始编辑文件
    按键盘上 小写字母 i == insert

    第三个里程:进行编辑

    第四个里程:退出编辑模式
    按 esc 进行退出

    第五个里程:关闭打开的文件
    :wq w-write q-quit 保存退出
    :q 不保存进行退出

    less+文件名 ##分页浏览,按q退出
    head -n 1 文件名 ##显示文件的前1行
    tail -n 1 文件名 ##显示文件的后1行

    sed -n '5,5p' 文件名  显示文件第5行
    wc -l 文件名 ##查看文件行数
    wc -w 文件名 ##查看文件字数
    wc -c 文件名 ##查看文件字节数

    su - username               ##超户切换到普通用户不用密码,普通用户切换到超户用密码

    mkdir -p +目录名 ##递规创建(同时创建文件夹)
    rm -f ##强行删除不提示
    rm -r ##删除目录,有提示
    ls -d directory ##列出目录本身
    ls -R ##递规显示目录中的内容
    cp -r directory directory1 ##复制目录

    bash特性

    一、Tab补全

    二、查看命令的执行情况

    bash通过状态返回值来输出次结果

    三、命令行历史

    命令历史一般记录在.bash_history文件中,默认记录1000条

    四、命令行展开

                  ~:当前用户的家目录

                   ~USERNAME:  给定用户的家目录        比如cd ~      cd ~ nick 

                  {}:可写一个以逗号分割的列表,将其展开为多个路径

                   /tmp/{x/{a,b},y,z}  = /tmp/x/a/,/tmp/x,b  ,  /tmp/y/,/tmp/z/

    五、快捷键

    六、别名

    在type一个命令的时候有时候出现像这样的

    [root@localhost ~]# type ls
    ls is aliased to `ls –color=auto’

    ls是 ls–color的别名;

    我们可以用alias查看现有的别名信息

    我们也可以定义别名

    alias   x=‘xx’

    给xx命令取别名x(只在当前有效)

    以后就可以按x来替代xx

    [root@localhost ~]# alias k=’cat -n’
    [root@localhost ~]# k /tmp/fstab
    1
    2 #
    3 # /etc/fstab
    4 # Created by anaconda on Sat Mar 31 17:44:44 2018
    5 #
    6 # Accessible filesystems, by reference, are maintained under ‘/dev/disk’
    7 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    8 #
    9 UUID=8c871ca3-ae83-463b-b8af-f282002eae08 / xfs defaults 0 0
    10 UUID=f3445f8b-4d91-48b1-9586-d3f991e5f8cf /boot xfs defaults 0 0
    11 UUID=3f5344d8-cf5a-4596-9acc-2ecd76cb2bec swap swap defaults 0 0
    12 /dev/sr0 /media iso9660 defaults 0 0
    13

    我们也可以取消别名

    用unalias +别名就可以

    [root@localhost ~]# unalias k

    七、通配

             (1)  *  任意数量的字符 :  0+

                             a*b    a-b之间可以任意数量的字符,可以没有,也可以很多个

           (2)? 任意单个字符   : 1

                            a?b    a-b之间有且一个字符

            (3)[ ]   匹配指定范围内的任意单个字符 :  指定范围  1

                      [0-9] :  0-9之间任意单个字符

                      [a-z]:不区分字符大小写

             (4) [^]  匹配指定范围之外的任意单个字符 : 指定范围之外 1
                      [^0-9]   0-9之外的字符

                     [^a-z]    非大写和小写字母字符

            专用字符集合:(使用的时候需要外加 '[ ]')就像[[:digit:]]
                          [:digit:]:任意数字,相当于0-9

                          [:lower:]:任意小写字母

                          [:upper:]: 任意大写字母

                           [:alpha:]: 任意大小写字母

                            [:alnum:]:任意数字或字母

                             [:punct:]:标点符号

  • 相关阅读:
    MongoDB 基础命令行
    AngularJS 监控对象属性:$watch和$digest
    AngularJS核心01:如何启动
    免费的编程中文书籍索引
    AngularJS Intellisense in Visual Studio 2012
    SQL Server中Rowcount与@@Rowcount
    VS 关于 .sln 文件和 .suo 文件
    Dart 基础重点截取 Dart 2 20180417
    io.netty.resolver.dns.DnsNameResolverContext
    mybatis BigDecimal Double Long 的坑爹事
  • 原文地址:https://www.cnblogs.com/wrqysrt/p/10798423.html
Copyright © 2011-2022 走看看