• Linux系统命令与权限


    回顾:

             所有的IT知识都时候依托以OSI七层模型(TCP/IP四层);

             协议:(规定)

             应用层协议:http https(B/S)  ssh telnet smtp pop3 imap ftp tftp dns dhcp

             传输层:tcp udp -- 端口

             网络层:路由协议  被路由协议(IPv4 IPv6) x.x.x.x

             数据链路层:以太网协议 MAC ff:ff:ff:ff:ff:ff:ff 全球唯一

             物理层:01的电信号

    一、Linux的目录结构

           1、Linux的磁盘管理

                       fdisk  --  分区(逻辑边界)写入文件系统;-l  磁盘的命名

                       mkfs -t //指定文件系统格式;

                       mount 要挂载的设备 挂载点  【存储设备在Linux系统上必须挂载】

                       umount 要挂在的设备/挂载点

                       df -h

                       /etc/fstab 实现开机自动挂载

               /     /bin  /sbin

                    /etc

                    /usr    /usr/local/

                    /var

                   /opt

                   /sys  /proc

                   /tmp

                   /lib  /lib64

                   /home /root

                   /cdrom  /media  /mnt

           2、常见的关于目录文件操作的命令:

                        ls   文件通配符globbing  *  ?  [ ]  ^   $ 

                        cd    .    ..    ~   -   绝对路径与相对路径

                        grep       

                       正则表达式 1、字符串匹配 . [] [^] [:digit:] [:alpha:] ...   

                                          2、次数匹配 * ? {m}  {m,n}  {0,n}  {m,} 

                                          3、位置锚定  ^ $   <   /> 

                                          4、分组 (ab)*  abababab

                                                ab*   abbbbb        

                                                 .*              

                                                 -v

                                                  -i

                                               ^$  -- 空白行

                                              mkdir -pv 同时创建多级子目录

                                               rm -r

                                              rmdir  删空目录

                                              tree -L -d

    二、文件相关的命令

           1、创建和删除操作

                 Touch    摸    修改时间戳 stat (atime mtime ctime),如果没有该文件就创建该文件

                       -C

                       MMDDhhmm[CC]YY.ss

                                top -->  查看进程【CPU:sy  ur】

                       -a

                  Rm

                       *find* 【范围】 -file d  -name a* [文件属性]

                       -exec 命令 {};

                       -ok 命令 {};

                       | xargs 命令 ;

                       Mkdir        -pv

            2、拷贝和移动文件

                 Cp -a  //携带所有文件属性一块复制

                 Mv  move  1、移动文件 2、修改文件名称

                       mv a b

                       mv /tmp/a  /root/

                文件名扩展

                       {}

                       创建目录  姓名_学号 赵云_00001

                       mkdir {赵云,石磊}_{00001,00002}

                                赵云_00001

                                赵云_00002

                                石磊_00001

                                石磊_00002

           3、查看文件内容

                Cat  一次性查看文件中所有内容

                       cat /etc/init.d/

                More        //man命令

                       /

                       ?

                       q

                Less 在更多的清下,查看大文件,我们使用less

                Tail   默认查看倒数10行

                       -n       tail -n 20 文件名   简化:-20

                       *-f*     不退出文件,实时查看文件内容

               Head         查看行首

                       -n      head -n 20 文件名   简化:-20

           4、其他

                Echo  -e -n

                       echo $PATH

                       -n  // print("Hello World",end=' ')  print("Hello World")

                                    print("Hello World")

                       -e  识别

                                echo -n -e "Hello World "

               重定向 > 和 >>

                       fd 文件标识符

                                0      标准输入

                                1      标准输出

                                2      错误输出

                        程序 = 指令 + 数据

                                   代码     变量

                        变量里面的数据从何而来?通过代码执行的数据又输出到哪里?

                                         规定:默认标准输入为--键盘  标准输出为--显示器

                       而重定向就是用来改变输入和输出的;

                                         输出重定向

                                >       覆盖重定向  默认工作中不能使用 set -C 去掉这个功能,同时 >| 可以进行强制重定向(set +C开启覆盖重定向功能)

                                >>     追加重定向 在原有的文件上,在添加追加的数据即可;

              扩展:

                       在Linux中,命令输出除了默认输出结果以外,还返回一个命令执行状态的结果;返回0代表命令执行成功,而返回非0则是失败;$? 存储上一条命名的执行状态结果;

                       在工作中,我们往往不需要命令输出的结果,而只需要命令执行的状态,我们就会使用 重定向 将输出结果重定向至 空文件(/dev/null)

                       cat a.txt > /dev/null

             输入重定向

                                <  把后面的文件,交给前面的命令来执行;

                                tr 命令,将前面的内容替换为后面的内容

                                         tr abc ABC < a.txt   

                                << 将多行内容同时输入,用在 cat 命令中

                                cat >>文件<<EOF

                                >a

                                >EOF

              错误输出重定向

                                2>  需要带上 fd(文件标识符)

                                2>>  追加的错误重定向输出

              扩展优化:

                           cat a.txt > /dev/null

                          cat a.txt 2> /dev/null

                          &> /dev/null  无论命令执行正确与否,都将输出内容指定到/dev/null

                          &>> [普通文件]

              管道

                          command 1 | comand 2 | command 3 | command 4 | .........

                          将前面的命令的执行结果,输出给后面一条命名执行;

                        【Linux思想:结合小功能,完成复杂功能】

                         tail -7 /etc/fstab | cut -d' ' -f1

                         cut 切

                                 -d  指定分隔符‘ ’

                                 -f  取的列  1-3  1,3   1

    三、Linux远程

          1、查看或配置网卡信息

                网卡和IP地址

                   ifconfig

                   没有该命令,我们需要安装网络包工具(net-tools)

                  apt install net-tools

                 若果,网卡没有起来,我们需要修改默认的网卡配置文件;

                /etc/network/interfaces

                vim /etc/network/interfaces

                         1)动态 - dhcp

                                auto eth0

                                iface eth0 inet dhcp

             【修改配置文件,就需要重启服务】

                                /etc/init.d/networking restart

                        2)静态 - 手动去配置

                                address 192.168.94.10

                                netmask 255.255.255.0

                                gateway 192.168.94.1   

           2、远程管理机制

                Ssh 开启Ubuntu的ssh端口的监听功能; tcp-22

                netstat -tnl  // t -- tcp协议  n -- 不做解析

                          如果没有:apt install openssh-server -y

                                           /etc/init.d/ssh start

             【Ubuntu默认只能使用普通用户进行远程连接】

               ssh teacher@192.168.94.10

               centos下,直接使用root用户远程登录即可;

               ssh root@192.168.94.10

            3、 无密码远程登陆

  • 相关阅读:
    单例模式及C++实现代码
    Nginx学习笔记4 源码分析
    探讨C++ 变量生命周期、栈分配方式、类内存布局、Debug和Release程序的区别2
    SVM学习资料
    11 款最好 CSS 框架
    发布Activex全过程
    Integer.parseInt(String s, int radix)方法介绍(修正版)
    Windows 各种计时函数总结(QueryPerformanceCounter可以达到微秒)
    不断摸索发现用 andy 模拟器很不错,感觉跟真机差不多
    Qt中提高sqlite的读写速度(使用事务一次性写入100万条数据)
  • 原文地址:https://www.cnblogs.com/xiaoaqiqi/p/11305279.html
Copyright © 2020-2023  润新知