• Linux系统笔记参考


    Linux系统笔记

    一、基本命令

    1、简单的几个命令
    ls:显示指定目录下的文件目录清单(list)
    cd:切换目录,改变当前的工作目录(change directory)
    cd ~ 或 cd 切换到用户主目录(用户家目录)
    cd / 切换到根目录
    cd … 上一级目录
    cd . 当前目录
    pwd:显示当前的工作目录 (print working directory)
    man:查看帮助 – (命令行界面无该命令)-- yum install man 安装
    du:用于显示目录或文件的大小
    -h:以KB,MB,GB为单位,提高信息的可读性
    -c或–total:除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
    补充:在windows和虚拟机之前切换鼠标:Ctrl + Alt

    2、文件基本操作命令
    2.1 ls 命令
    作用:显示指定目录下的文件清单

    不带参数:显示指定目录中的文件清单,如果没有指定任何目录,则默认为当前目录
    [root@Server ~]# ls 显示当前目录下的内容
    [root@Server /]# ls etc 显示etc目录下的内容(可以是相对路径或绝对路径)
    ls -a 显示所有文件 包含隐藏文件(以.开头的文件)
    ls -A 显示所有文件 包含隐藏文件
    ls -t 查看目录下的所有文件和目录
    ls -l 显示文件的详细信息
    ls -R 递归显示目录下的文件包括子文件
    ls -laR 多个参数结合使用
    2.2 mkdir / rmdir 命令
    作用:创建目录/删除目录(文件夹)

    mkdir 创建目录
    mkdir homework 创建一个homework目录
    mkdir -p homework/a/b/c/d 连续创建多级目录 (了解)
    mkdir d{1…9} 同时创建d1、d2…d9目录 (了解)
    rmdir 删除目录(只能删除空目录)
    -p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。
    -v --verbose 显示指令执行过程
    2.3 rm命令
    作用:删除文件或目录

    rm 文件名

    rm -i 文件名 :提示是否删除 (与用户交互)默认有提示 人机交互–

    rm -f 文件名 :强制删除 (force)

    rm -r 目录名 :删除目录(删除目录时,必须加-r参数)

    rm -rf 目录名 强制删除目录,不会有提示
    2.4 cp命令
    作用:拷贝文件或目录

    cp 原文件名 新文件名
    cp 1.txt 11.txt
    cp 1.txt homework/1.txt
    cp -r 原目录名 新目录名 (拷贝目录必须加-r参数)
    cp -r homework homework2
    2.5 mv命令
    作用:移动文件或目录

    mv 原文件名/目录名 新文件名/目录名
    mv 1.txt homework/1.txt 移动文件(剪切)
    mv 1.txt 1.md 重命名
    2.6 touch命令
    作用:创建文件

    touch 文件名 — touch 1.txt

    2.7 find命令
    作用:通过磁盘查找文件

    find path -option [ -print ]

    ​ 表达式:与时间有关的参数:

    -name: 通过文件名查找

    -user name : 列出文件所有者为name的文件
    -group name : 列出文件所属用户组为name的文件
    -uid n : 列出文件所有者为用户ID为n的文件
    -gid n : 列出文件所属用户组为用户组ID为n的文件
    -mtime:通过时间查找

    -mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件

    -mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名

    -mtime -n : 列出在n天之内(含n天本身)被更改过的文件名

    -newer file : 列出比file还要新的文件名

    -mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件

    -amin n : 在过去 n 分钟内被读取过

    -anewer file : 比文件 file 更晚被读取过的文件

    -atime n : 在过去n天内被读取过的文件

    -cmin n : 在过去 n 分钟内被修改过

    -cnewer file :比文件 file 更新的文件

    -ctime n : 在过去n天内被修改过的文件

    -empty : 空的文件

    -gid n or -group name : gid 是 n 或是 group 名称是 name

    -ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写

    -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写

    -size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。

    -type c : 文件类型是 c 的文件。

    2.8 du命令
    ​ -h 在档案系统大小使用 GB、MB、KB 等的格式来展示。

    2.9 通配符

    • 匹配任意多个字符
      rm .txt 删除所有的后缀为txt的文件
      rm a
      删除所有的以a开头的文件
      ?匹配一个字符
      rm ?.txt 删除文件名只有一个字符的txt文件
      3、显示文件内容
      3.1 cat命令
      作用:显示文件内容在屏幕中 查看文件内容

    cat 1.txt:在屏幕上显示1.txt的内容
    cat 1.txt > 文件名:将1.txt的内容重定向覆盖到文件里
    cat 1.txt >> 文件名:将1.txt的内容重定向追加写到文件里
    3.2 more和less命令
    作用:分屏显示,非常适合显示超过一屏的文本文件。 按空格翻页

    more /etc/httpd/conf/httpd.conf

    less /etc/httpd/conf/httpd.conf

    按q键退出显示

    在less下 输入/关键字 可以搜索

    3.2 head/tail命令
    作用:显示文件头/尾10行内容

    head httpd.conf 显示头10行
    tail httpd.conf 显示尾10行
    tail -f 实时监测文件内容
    3.3 echo命令
    作用:显示文字

    echo string > filename:打印string到filename

    echo string >> filename:打印string追加到filename

    4、搜索文件内容grep
    作用:根据关键字搜索并显示关键字所在的行

    用法:grep [参数] 关键字 文件名

    grep l 1.txt 显示出l所在的行

    grep “o w” 1.txt 如果要查找中间有空格的 需要加’ '或“ ”

    grep -i L 1.txt 忽略大小写查找 即大写L和小写l都可查找到

    grep -v l 1.txt 显示不匹配的行

    grep -n l 1.txt 显示匹配的行的行号

    grep -c l 1.txt 显示匹配的总行数

    grep -E 将样式为延伸的正则表达式来使用。

    二、管理用户、组的命令
    Linux采用组来组织和管理用户

    在Linux中每个用户有唯一的用户标识符UID,该UID是一个无符号整数。

    同时每个用户也必须至少属于一个组,也有组标识符GID。

    其中UID与GID独立编号。

    查看用户信息(cat /home/etc/passwd)
    用户名:密码:UID:GID:描述:宿主目录:

    1、groupadd 添加组
    [root@server ~]# groupadd group1 新增组

    [root@server ~]# groupadd -g 888 group1 新增组并指定GID 一般不建议手动指定id

    功能:创建一个新组group1,其GID号为已存在GID号的下一个顺序编号

    说明:创建一个组的同时会在/etc/group文件中为该组增加相应的一行,用来记录该组的名称、GID号及成员等信息。

    2、groupdel 删除组
    [root@server1 ~]# groupdel group2

    功能:删除指定的组

    注意:当某个组是某现有用户的主要组时,则不能被删除。

    3、useradd 添加用户,创建用户
    [root@server1 ~]# useradd user1 新增用户 如果没有指定用户组,则用户自己成为一组

    功能:创建一个用户user1,同时在/etc/passwd文件和/etc/shadow文件增加一行,并自动为用户创建相应的主目录:/home/user1。 普通用户的家目录

    说明:/etc/passwd文件记录了系统中每个用户的用户名、UID号、 GID号、主目录、shell等信息。

    [root@server1 ~]# useradd -u 600 -g group1 -G group2 -d /home/student1 user1

    功能:创建用户user1,其中参数

    -p 设置用户密码

    -u 指定UID号为600;

    -g 指定用户的主要组为group1(或ID);

    -G 指定用户的附加组为group2,每个用户可以有多个附加组;

    -d 指定用户的主目录为/home/student1。

    -e 设置用户失效时间日/月/年

    chage -l 用户名 查询用户失效时间

    -s 设置用户的登陆shell

    gpasswd命令是Linux下工作组文件/etc/group和/etc/gshadow的管理工具,用于指定要管理的工作组

    ​ -a : 添加用户到组

    ​ -d : 从组删除用户

    ​ -A:指定管理员

    ​ -M:指定组成员和-A的用途差不多;

    ​ -r:删除密码;

    ​ -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。

    查看用户所在的组

    [root@server1 ~]# groups user1

    修改用户所在的组

    [root@server1 ~]# usermod -g group2 user1

    4、passwd 密码管理
    [root@server1 ~]# passwd user1 改变口令

    =>输入两次密码即可

    功能:root管理员为用户指定密码 。

    [user1@server1 ~]$ passwd 改变用户自身密码

    =>输入当前密码

    =>输入两次新密码即可

    功能:用户为自己修改密码。(字母+数字+符号)

    普通用户只能修改自己的密码

    [root@server1 ~]# passwd -d user1 删除密码
    ​ Removing password for user user1.

    ​ passwd: Success

    ​ 功能:参数-d 可以删除指定的用户user1口令,即以user1登录时无需口令。

    [root@server ~]# passwd -l user1 禁止用户登录

    Locking password for user user1.

    passwd: Success

    功能:参数-l 可以给指定的用户user1加锁,即禁止该用户登录,用户密码失效。

    [root@server1 ~]# passwd –u user1 恢复该用户登录

    Unlocking password for user user1.

    passwd: Success.

    功能:参数-u 可以给指定的用户user1解锁,即恢复该用户登录。

    切换用户:# su user1

    5、userdel 删除用户
    [root@server1 ~]# userdel user1 删除用户

    功能:删除指定的用户user1。

    [root@server1 ~]# userdel -r user2

    功能:删除指定的用户user2,同时删除其主目录。

    6、id 显示用户信息
    [root@server1 ~]# id user1

    uid=501(user1) gid=501(user1) groups=501(user1)

    功能:显示用户的UID、GID及所属的组信息。

    7、usermod
    usermod 用户
    -c<备注>  修改用户帐号的备注文字。
    -d登入目录>  修改用户登入时的目录。
    -e<有效期限>  修改帐号的有效期限。
    -f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。
    -g<群组>  修改用户所属的群组。
    -G<群组>  修改用户所属的附加群组。
    -l<帐号名称>  修改用户帐号名称。
    -L  锁定用户密码,使密码无效。
    -s  修改用户登入后所使用的shell。
    -u  修改用户ID。
    -U  解除密码锁定
    三、文件属性
    1、chown 改变文件的所有者
    [root@server1 ~]# chown user1 hello.txt

    功能:将指定文件hello.txt的所有者改为user1。

    [root@server1 ~] chown -R user1 homework

    功能:参数-R表示递归 将目录下的所有文件的所有者改为user1

    同时改变文件的属主和属组

    chown user:group 文件名 创建数组

    2、chgrp 改变文件的所属组
    [root@server1 ~]# chgrp group1 hello.txt

    功能:将指定文件hello.txt的属组改为group1。

    [root@server1 ~] chgrp -R group1 homework

    功能:参数-R表示递归

    3、chmod 改变文件权限
    [root@server1 ~]# ls -l

    -rw-r–r-- 1 Mr_lee staff 29 12 14 16:15 1.txt
    drwxr-xr-x 4 Mr_lee staff 136 10 11 18:44 Applications
    第1列:表示是否是目录或文件 -代表文件 d代表目录 第2-4列:表示用户权限 user 第5-7列:表示所在的组权限 group 第8-10列:表示其他人权限 other

    r : read 可读 w : write 可写 x : execution 可执行 u : user g : group o : others a : all 等价于ugo

    =: 表示赋予(设置)指定权限,要注意它会覆盖原权限

    +: add permission 添加权限

    -: take away permission 移除权限

    示例:

    chmod a+rwx 1.h 给所有人(ugo)添加可读可写可执行权限
    chmod go-wx 1.h 给所在的组和其他人移除写和执行权限
    数字表示法:chmod 755 1.h 等价于 用户:rwx 所在组:r-x 其他人:r-x 即r = 2^2 , w = 2^1 , x = 2^0 ,而 “-” = 0

    chmod 777 1.txt

    chmod 400 1.txt

    四、进程操作
    1、ps命令
    功能:查询在当前控制台上运行的进程。

    -e:查看所有进程

    -f:全格式输出

    -ef:查询系统中所有运行的进程,包括后台进程,而且可以显示出每个进程的父进程号。

    -a:显示现行终端机下的所有程序,包括其他用户的程序。

    -c:类似于ps -a,不包括路径

    -au:显示更详细的资讯

    -aux:显示所有包含其他使用者的进程

    ​ 功能:查询系统中所有运行的进程,包括后台进程,其中参数a是所有进程,参数x包括不占用控制台的 进程,参数u显示用户。

    2、pstree命令 (了解)
    树状格式显示进程列表

    [user1@server ~]$ pstree

    带进程号的树状格式显示进程列表

    [user1@server ~]$ pstree -p

    3、top命令(了解)
    [user1@server ~]$ top

    功能:动态地显示系统中的进程。

    4、kill命令(杀掉指定进程 )
    kill 3029:杀掉pid为3029的进程

    kill -9 3029:强制杀掉pid为3029的进程

    补充:| 管道 – 连接两个命令的输入和输出,将一个命令的输出作为另一个命令的输入

    ​ ps -ef | grep bash 查找包含bash的进程 管道查询

    五、文本编辑器vi命令
    1、简介
    vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。

    vi编辑器的三种模式是command(命令行)模式、inser(插入)模式和visual(可视化)模式

    vi abc.txt 进入编辑器,此时并不能编辑文本,

    需要通过输入【i/I、o/O、a/A、r/R】进入编辑模式,可修改文本文件,

    在编辑模式中修改完毕后,输入【esc】切换回命令行模式,

    在命令行模式中输入【:wq、:q、:x】即退出

    2、保存/退出
    以下指定需要在命令行模式下输入:

    :w 保存文本
    :q 不保存文本并退出vi
    :q! 不保存文本并强制退出vi (常用)
    :wq 保存文本并退出vi (常用)
    3、编辑模式
    进入文本编辑器,输入【i/I、o/O、a/A、r/R】进入编辑模式:

    i:在光标处插入(常用)
    I:在光标所在行第一个非空格字符处插入 – 行首 (常用)
    o:在光标所在行的下一行插入新的一行(常用) – Other
    O:在光标所在行的上一行插入新的一行
    a:在光标所在位置的下一个字符处开始插入
    A:在光标所在行的最后一个位置开始插入 – 行尾 (常用)
    r:替换光标所在位置的字符(只替换一次)
    R:一直替换光标所在位置的字符,直到按(esc)键为止
    4、删除、复制、粘贴、撤消
    ​ dd:删除(剪切)光标所在行
    ​ ndd: 删除(剪切)光标所在的向下n行 5dd
    ​ yy: 复制当前行
    ​ nyy: 复制光标所在的向下n行 6yy
    ​ p: 将已复制的数据在光标下一行粘贴
    ​ P: 将已复制的数据在光标上一行粘贴
    ​ u: 撤消删除
    ​ shift + g 文件尾
    ​ shift + G 文件头
    六、IP
    1、IP
    ifconfig :查看ip地址

    ping:用于检测主机

    ssh:Linux的远程传输服务

    wget:wget [参数] [URL地址]启动参数:

    whereis:查找数据(比find快得多,whereis通过Linux数据库的索引来查找,find通过搜索硬盘来查找。

    ​ 缺点:但是数据库不是实时更新的,约一周一次)

    -b 定位可执行文件。
    -m 定位帮助文件。
    -s 定位源代码文件。
    -u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
    -B 指定搜索可执行文件的路径。
    -M 指定搜索帮助文件的路径。
    -S 指定搜索源代码文件的路径。
    which:用于查找文件(在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果)

    -n<文件名长度>  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
    -p<文件名长度>  与-n参数相同,但此处的<文件名长度>包括了文件的路径。
    -w  指定输出时栏位的宽度。
    -V  显示版本信息。
    3、设置防火墙
    systemctl status firewalld.service(systemctl status firewalld)(firewall-cmd --state):查看防火墙状态
    看防火墙状态命令:firewall-cmd --state //running 表示运行
    systemctl stop firewalld.service(systemctl stop firewalld):关闭防火墙
    systemctl start firewalld.service( systemctl start firewalld):启动防火墙
    永久放行某个服务: firewall-cmd --permanent --zone=public --add-service=ssh//永久
    临时放行某个服务: firewall-cmd --zone=public --add-service=ssh //临时放行,重新启动系统后失效。
    当我们重新放行某个服务后需要重新加载一下防火墙,命令如下: firewall-cmd --reload
    如果不放行某个服务,其命令如下: firewall-cmd --permanent --zone=public --remove-service=ssh//永久
    临时不放行某个服务: firewall-cmd --zone=public --remove-service=ssh
    临时关闭某个服务后,也需要重载防火墙: firewall-cmd --reload
    获取所有支持的服务: firewall-cmd --get-service(通过此命令可以查看到防火墙所支持的所有服务,这里查询到的服务,防火墙可放行你,也可以不放行你) firewall-cmd --get-service | grep ssh(其中“|”为管理命令,前面的查询到的数据能过管道符传送给右边的命令进行过虑。)
    查询SSH服务在防火墙中是否放行,yes代表放行,no代表不放行,例如我要查看ssh服务是不是被防火墙放行,可用: firewall-cmd --query-service ssh
    七、服务
    1、服务设置
    查看服务状态

    systemctl status/stop/start/restart 服务名

    service 服务名 status/stop/start/restart
    2、开机关机指令
    reboot 重启系统或服务

    shutdown

    -r 重启系统
    -h now 现在关机
    poweroff 关机

    3、crontab命令(定时函数)
    -e:执行文字编辑器来设定时程表,内定的文字编辑器是 vi
    -r : 删除目前的时程表
    -l : 列出目前的时程表
    语法:

            • program

    | | | | | ±-- 要执行的程序
    | | | | ±--------- 星期中星期几 (0 - 6) (星期天 为0)
    | | | ±-------------- 月份 (1 - 12)
    | | ±------------------- 一个月中的第几天 (1 - 31)
    | ±------------------------ 小时 (0 - 23)
    ±----------------------------- 分钟 (0 - 59)
    *表示每分钟 a-b表示从第a分钟到第b分钟
    */n表示每n分钟时间间隔执行一次 a,b,c,…表示第a,b,c,…分钟执行
    4、date命令
    作用:

    +:以加号开头可以用来显示系统的日期与时间

    date

    Wed Jun 23 20:42:55 PDT 2021

    date ‘+%c’

    Wed 23 Jun 2021 08:44:59 PM PDT

    date ‘+%D’ //显示完整的时间

    06/23/21

    date ‘+%x’ //显示数字日期

    06/23/2021

    date ‘+%T’ //显示24小时制时间

    20:46:25

    date ‘+%X’ //显示12小时制时间

    08:47:11 PM
    -s:以-s作为开头,则表示要设定时间 修改时间date-s
    date [-u] [-d datestr] [-s datestr] [–utc] [–universal] [–date=datestr] [–set=datestr] [–help] [–version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]
    八、软件安装
    1、tar命令
    参数

    c 压缩文件
    x 解压文件
    z 格式为gzip
    j 格式为bz2
    v 显示执行文件列表
    f 要操作的文件
    直接解压

    tar –zxvf xxx.tar / xxx.tar.gz

    tar -zxvf 909.tar.gz -C /root (我们可以利用大写-C将解压后的文件指定相关的目录。)

    2、Yum命令
    基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装。

    -y 当安装过程提示选择全部为 “yes”
    -q 不显示安装的过程
    Yum是centOS独有的安装命令,需要外网环境,可以自动加载安装文件,及其所有依赖资源,并自动完成软件安装。

    九、补充
    1、clear(清屏命令)
    2、cd(回到当前用户的家目录命令)
    3,查linux的IP地址:ifconfig
    4、ssh
    远程连接协议选择ssh协议,端口号为:22

    在进行远程操作的时候要确保sshd的进程是开启的:

    查看状态:systemctl status sshd.service
    启动服务:systemctl start sshd.service
    重启服务:systemctl restart sshd.service
    停止状态:systemctl stop sshd.service
    netstat -anp|grep :22

    在进行远程链接的时候注意关闭防火墙:

    systemctl stop firewalld.service(systemctl stop firewalld)

    启动防火墙的命令:

    systemctl start firewalld.service( systemctl start firewalld)

    查看防火墙状态:

    systemctl status firewalld.service(systemctl status firewalld)(firewall-cmd --state)

    如果通过ifconfig查询不到IP则表明网关是关闭,此时需要修改网关的配置文件:

    1、cd /etc/sysconfig/network-scripts/2、ls查看网卡的配置文件cfg-ens333

    3、修改该文件 vi cfg-ens33

    4,我们需要首先找到ONBOOT=no ,需要修改为ONBOOT=yes然后保存退出。

    5、重启网络服务: service network restart

    查看防火墙状态命令: firewall-cmd --state //running 表示运行 获取所有支持的服务: firewall-cmd --get-service(通过此命令可以查看到防火墙所支持的所有服务,这里查询到的服务,防火墙可放行你,也可以不放行你) firewall-cmd --get-service | grep ssh(其中“|”为管理命令,前面的查询到的数据能过管道符传送给右边的命令进行过虑。) —————————————————————————— 查询SSH服务在防火墙中是否放行,yes代表放行,no代表不放行,例如我要查看ssh服务是不是被防火墙放行,可用: firewall-cmd --query-service ssh —————————————————————————————————————————————————— 永久放行某个服务: firewall-cmd --permanent --zone=public --add-service=ssh//永久 临时放行某个服务: firewall-cmd --zone=public --add-service=ssh //临时放行,重新启动系统后失效。 当我们重新放行某个服务后需要重新加载一下防火墙,命令如下: firewall-cmd --reload 如果不放行某个服务,其命令如下: firewall-cmd --permanent --zone=public --remove-service=ssh//永久 临时不放行某个服务: firewall-cmd --zone=public --remove-service=ssh 临时关闭某个服务后,也需要重载防火墙: firewall-cmd --reload

    5、vi编辑器的三种模式
    Command(命令)模式,用于输入命令

    Insert(插入)模式,用于插入文本

    Visual(可视)模式,用于视化的的高亮并选定正文

    十、Linux虚拟机不显示IP地址的三种解决方法
    第一种
    在命令行输入reboot命令,意味重新启动,看看是否可行。

    第二种
    1、先关闭虚拟机

    2、打开虚拟网络编辑器

    3、选择VMnet8

    4、等待虚拟机自己重新配合置,配置好之后,重新启动 输入用户名和密码 输入命令:ifconfig

    第三种
    在虚拟机上依次运行以下三行命令:

    systemctl stop NetworkManager
    systemctl disable NetworkManager
    systemctl start network.service

    在这里欢迎大家的点赞、关注、评论,以此来促进大家互相学习交流,同时可以让新加入的小伙伴更快的了解新知识!!!

    以上内容如有侵权,请联系作者进行删除

    ≧◠◡◠≦ 1分2分都是爱,感谢已经打赏的老板,和正在打赏的老板们 ≧◠◡◠≦

  • 相关阅读:
    【计算机视觉】图像增强----图像的傅立叶变换
    附加进程 到远程服务器中Docker容器内 调试
    ps抠图怎么抠出来,自学ps软件photoshop2022,ps怎么抠出想要的部分-笔记记录
    jenkins集成maven环境
    Spring Data JPA使用@DynamicInsert和@DynamicUpdate注解进行动态插入和更新
    Java版本+企业电子招投标系统源代码+支持二开+Spring cloud
    PDF文档如何解密?3个软件值得收藏
    孙卫琴的《精通Vue.js》读书笔记-插槽slot的基本用法
    发如雪SQL Based on practice(二)
    85智慧楼宇建设解决方案
  • 原文地址:https://blog.csdn.net/life_boy/article/details/120249648