随笔三、Linux命令基础知识

    xiaoxiao2021-03-25  101

    一:相关知识:

    linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多中型,大型甚至是巨型项目都在使用linux

    linux的文件系统是采用层级式的树状目录结构/root/home/。。(windowsc\d\e\f盘。

    linux 7大运行级别:0  系统停止   1单用户  2多用户 不支持NFS  3多用户,命令行模式登陆(我们常用的运行级别)4 未用5 图形化界面6 重新启动。

    特点--免费,开源。

    --支持多线程,多用户,多并发。

    --安全性好。

    --对内存,文件管理优越。

    --Linux最小只有4m->嵌入式开发(手机用户多 多么庞大的市场)。

    缺点:操作相对困难。

    - /  ,根目录

    - root,存放root用户的相关文件

    - home,存放普通用户的相关文件(待会儿我新建用户,它就会在home目录给你创建个目录)

    - bin,存放常用命令的目录,cd /(目录切换到根目录,大家可以用个命令来看下pwdcd bin,lsl ,可以看到vi ,su命令,vi删掉 那么vi命令就用不了了)如visu

    - sbin,要具有一定权限才可以使用命令

    - mnt,默认挂载光驱和软驱的目录

    - etc,存放配置的相关文件(数据库,环境变量的配置)

    - var,存放经常变化的文件,如网络连接的sock文件

    - boot,存放引导系统启动的相关文件(文件被破坏了,Linux就起不来了 和windows类似)

    - usr,安装一个软件的默认目录,相当于windows下的program files

    shutdown h now:立即进行关机                                          shutdown r now:现在重新启动计算机

    root:超级管理员账号

    uname -r:查看系统版本                                  whoami:  查看当前用户

    netstat -an:  查找linux或者windows下所有的端口

    二:基本命令。

    1.=

    pwd

    显示当前目录。

    ls

    查看当前目录的内容。

    cd

    更改目录。

    ls  –a

    列举目录中的全部文件,包括隐藏文件。

    cd~

    转到/home/user下。

    ls  –l/ll

    列举目录中细节。

    clear

    清屏。

    ls  –f

    列举的文件显示文件类型。

    ls -s

    按文件大小排序列举。

    ls -R

    递归列举。

     Linux支持三种格式的shell脚本,分别是kshcshsh

    echo $变量名:输出变量名的值

    env:查看到所有环境变量

    set:查看所有环境和本地定义的临时变量

    localhost:表示主机名

    mkdir --help:查看命令的帮助信息

    man mkdir:查看命令的详细帮助

     

    2.文件管理命令:

     

    mkdir 文件夹名:创建空文件夹。

    rmdir 文件夹名:删除空文件夹。

     

    mkdir -p ./first/second:创建多层文件夹(firstsecond都不存在情况下建目录)。

    rmdir -p ./first/second/:删除second目录后。若first是空的,连first一块删除。

     

    touch 文件名:创建文件。

    rm -f 文件名:删除文件。

     

    rm -rf 文件名/文件夹 文件名/文件夹:同时删除两个目录及它们的内容。(强制性)

     

    cp 源文件路径/源文件名 目标路径:拷贝文件。

    cp -R 源文件路径/源目录名 目标路径:拷贝文件夹(连内容)。

     

    mv 源文件名 目标文件名:文件改名/移动文件(文件和文件夹一样操作)

    3.查看文件命令:

    1more文件名          :按回车一行,空格一页。不能向上下翻行。

    2less文件名          :按回车一行,空格一页。可以通过上下键上下翻行。按q就退出。

    3head -n文件名       :查看文件的前n行,n表示你要看的行数。

    4tail -n文件名       :查看文件的后n

    5cat文件名           :查看文件的所有内容

    6cat -n文件名        :查看文件的所有内容,并显示行数

    4. >      导入(复制)   cat A > B     A的内容导入到B(把原来的内容覆盖)

        >>    追加导入      cat A B >>C   AB的内容导入C

    5、对文件内容筛选查找,用 "管道:|" grep 命令。

    查找系统中80端口的信息:netstat -an | grep 80

    练习:查找ifcfg-eth0 中包含“OOT”字符串的信息

            cat ifcfg-eth0 | grep OOT

    6find 路径参数 参数值:返回值是一个路径

    find /home -size +10k:搜索指定大小的文件。

    find /root -name 文件名:

    7.locate 文件名:根据索引表查找文件,效率高(需要经常更新索引)。

    8.wc -l 文件名:统计行数

        wc -m 文件名:统计字符数

        wc -c 文件名:统计字节数

    9.(.tar)、压缩文件(.gz)、压缩包(.tar.gz.tgz)

    打包tar –cvf  f101.tar f101

      查看包内容:tar –tvf  f101.tar

      解包到当前目录:tar –xvf  f101.tar

      解包到指定目录:tar -xvf  f101.tar -C 指定目录

     

    对文件压缩:只能压缩一个文件(不能是文件夹)。

    gzip -1(压缩比1--9) f101.txt

    查看压缩包内容:gzip -l f101.gz

    解压:gzip -d f101.gz

                  gunzip f101.gz

    对包压缩:(1)先打包:tar -cvf f101.tar f101

           (2)再压缩:gzip -9 f101.tar(形成f101.tar.gz文件)。

    打包并压缩tar -czvf f101.tar.gz f101

    查看打包压缩包内容:tar -tzvg f101.tar.gz

    【附】windowszip解压:

    unzip -d f101/  f101.zip(解压到f101目录下)。

    三:网络配置命令。

    1.ifconfig -a:查ip信息

      ping ip地址:是否通

      setup

      service network restart:重启服务

      hostname:主机名

      ssh:被访问的机器的用户名@被访问的机器的IP

      scp -r  被访问的机器的用户名@被访问的机器的IP:/被复制的文件的路径 目标路径(远程复制文件/夹)

    2.文件下载命令:wget下载文件路径。

    3.useradd 用户名:

    useradd

    添加用户。

    groupadd  -g

     

    su –用户名

    切换用户。

    passwd

     

    groupadd  -n

    组改名。

    usermod –L/U

    锁定/解锁用户。

    groupadd

    添加分组。

    groupdel

    删除组。

    Userdel  -r

    彻底删除用户。

    usermod -a -G groupA user:将user用户加到groupA组中。

    4.1.权限:drwxr-xr-x  2 root root 4.0K 11-06 18:30 Desktop

          d表示是个普通文件夹,-表示普通文件

    第一个rwx,表示该文件所属的用户对其所拥有的操作权限

    第二个rwx,表示与该文件所属用户在同组内的用户对其所拥有的操作权限

    第三个rwx,表示不与该文件所属用户在同组内的用户对其所拥有的操作权限

    第一个root:表示该文件夹属于哪个用户

    第二个root:表示该文件夹属于哪个组

    drwxr-xr-x(一个组中可以包含0到多个用户)

      d表示是个普通文件夹,-表示普通文件

     urwx:文件拥有者具备的权限(u),7,

     gr-x:文件所属组中的其他用户所具备的权限(g),5,

     or-x:其他用户所具备的权限(o),5,

    最大是777(drwxrwxrwx),最小是000(d---------)。      chmod 777/u+rg+wx

    4.2.更改权限命令:

    1、更改单个文件的属主:

    语法:chown 用户名 文件名      chown wsg echo.sh

    2、更改文件夹的属主:

    语法:chown -R 用户名 文件名

    chown -R u101 Desktop/ #单独更改文件夹的拥有者(-R表示文件夹的所有子内容全部更改)

    3、更改单个文件的属组:

    语法:chgrp 组名 文件名       chgrp g1015 echo.sh

    4、更改文件夹的属组

    语法:chgrp -R 组名 文件名 chgrp -R g1015 Desktop/ #单独更改文件夹的所属组

    5、同时更改文件的拥有者和所属组

    语法:chown 用户名:组名 文件名 chown u101:g1015 install.log.syslog #同时更改文件的拥有者和所属组

    6、同时更改文件夹和文件夹下的所有内容的拥有者和所属组

    语法:chown -R 用户名:组名 文件名 chown -R u101:g1015 test01 #同时更改文件的拥有者和所属组

    四:==============

    cal

    查看日期

    date –s

    修改系统时间

    whoami

    当前登录用户

    date

    查看时间

    who

    查看有哪些用户登录了系统

    history

    查看历史命令

    less 文件名

    查看文件

    grep zpp /etc/passwd

    /etc/passwd文件中查找zpp字符串

    grep  -n

    查询并显示行号

    du –h 文件/

    查大小

    echo $变量名

    变量名的值

    chkconfig -list

    列出所有服务

    ps

    查看当前终端正在运行的进程

    ps –ef |grep  bash

    查看系统正在运行的进程名包含bash的进程。

    lsof –i 进程号

    显示指定进程号的进程名。

    df -h

    查磁盘信息

    free –m

    查看可同内存

    vmstat

    查看虚拟内存

     

     【例题】强制踢出已登录用户。

    方式一: ps -ef | grep 用户名  #查到用户登陆的进程号对应的pid

    kill -9 登陆进程号

    ps -ef | grep wushigui

    kill -9 3611     

    方式二:killall -9 -u 用户名

     killall -9 -u wushigui

    【重】sed -ne 5p:显示第5行数据。

    sed -ne 3,30ptermp:显示文件指定范围的行(例:第3行到第30)

    awk {print $2}:以空格分隔并显示第列数据。

    awk -F:‘{P[print $2}:以冒号分隔并显示第2列数据。

    【例题】在命令输入端显示192.168.2.13

    答案一: cat /etc/sysconfig/network-scripts/ifcfg-eth0 |sed -ne '5p'|awk -F= '{print  $2}

    [] cat /etc/sysconfig/network-scripts/ifcfg-eth0-----#查看文件的内容

         sed -ne '5p'-----#显示第5行数据

         awk -F= '{print  $2}-----#以“=”分割,显示第2列数据

    答案二:ifconfig | sed -ne 2p| awk '{print $2}' | awk -F: '{print $2}'

    答案三:ifconfig | awk '{print $2}' | sed -ne '2p' | awk -F: '{print $2}'

    [] awk '{print $2}' -------以空格分隔并且显示第2列数据

         awk -F: '{print $2}'------以‘:’分隔并且显示第二列数据

    五:=======

    1. vi模式命令

    :set nu

    显示行号。

    :q

    退出。

    :q!

    强制退出。

    :set nonu

    不显示行号。

    :wq

    保存并退出。

    :w 文件名

    另存为。

    :w

    保存。

    :n

    跳转到指定行。

     

     

    9:n,m/需要替换的字符串/替换字符串/参数。

    n表示从第n1行开始,表示一个具体的数字,比如:1

    m表示从第n2行结束,表示一个具体的数字,比如:20

    参数:g表示所有找出字符都替换没有确认。

    c表示每一次都确认

    i表示忽略大小写,但是i需要跟c或是g一起使用。

    Eg:s/is/IS/ #替换当前行第一个isIS

    :s/is/IS/g #替换当前行所有isIS

    10】换包含特殊字符的内容,如,把字符串li"n/u"x 置换为Linux,此时需要用到置换符\

    :1,$s/li\"n\/u\"x/Linux/g   #把特殊字符用\置换成普通字普通字符

    规则:特殊字符===\特殊字符

    [格式]:n,$s/       /   /g。【重点】

    2. 命令模式下的命令:

    G

    的末行

    ndd

    删除n

    D

    删除到行尾

    gg

    到首行

    u

    撤销

    yy

    复制一行

    $

    到尾行

    o

    新增一行并进入到编辑模式,向下增加。如果是大写的o,就是向上增加。

    /搜索字符

    字符串搜索,查找下一个,按n, 向下查找。如果向上查找,按N

    ^

    到行首

    i

    进入编辑模式,前编辑

    nyy

    复制n

    ng

    跳到n

    a

    进入编辑模式,后编辑

    p

    粘贴

    dd

    删除当前行

    x

    删除一个字符

     

     

    mount :挂载光驱

    umount:卸载挂载的文件系统

    rpm - ivh 软件名:安装软件

    rpm -e 安装包名:卸载软件

    转载请注明原文地址: https://ju.6miu.com/read-18771.html

    最新回复(0)