diff --git "a/\344\275\234\344\270\232/20200606.md" "b/\344\275\234\344\270\232/20200606.md" new file mode 100644 index 0000000000000000000000000000000000000000..2e57e97bfa62764cb0c6e4f5c56cde2b863a7341 --- /dev/null +++ "b/\344\275\234\344\270\232/20200606.md" @@ -0,0 +1,69 @@ +创建/guanli 目录,在/guanli下创建zonghe 和 jishu 两个目录(一条命令) +mkdir -p guanli/zonghe guanli/jishu +添加组帐号zonghe、caiwu、jishu,GID号分别设置为2001、2002、2003 +groupadd -g 2001 zonghe --通过groupadd命令创建用户组 +groupadd -g 2002 caiwu --创建新组并指定其GID +groupadd -g 2003 jishu +cat /etc/group --查看系统上所有的组 +创建jerry、kylin、tsengia、obama用户,其中的kylin用户帐号在2020年12月30日后失效 +通过useradd命令创建用户 +usermod -e 2020-12-30 kylin --设置账户失效时间、 +验证账户时间是否生效 chage -l kylin +将jerry、kylin、tsengia、obama等用户添加到zonghe组内 +usermod -aG zonghe jerry +usermod -aG zonghe kylin +usermod -aG zonghe tsengia +usermod -aG zonghe obama +查看系统有哪些组:getent group +创建handy、cucci用户,其中cucci帐号的登录Shell设置为“/sbin/nologin” +useradd -s /sbin/nologin cucci --禁止用户登入SSH +将handy、cucci等用户添加到jishu组内 +usermod -aG jishu handy +usermod -aG jishu cucci +将上述的所有用户均要求加入到guanli组内 +通过usermod 命令的 -a 选项(表示追加)和 -G 选项(用于指定附加组) +可以通过id (指定用户)查看 +将zonghe组内的obama用户删除 +gpasswd -d obama zonghe +为jerry用户设置密码为“123456”(使用普通方法)为cucci用户设置密码为“redhat” +passwd 用户名--修改密码 +将jerry用户锁定,并查看锁定状态[root@localhost chen]# usermod -L jerry +usermode -L jerry --使用usermod命令的 -L 选项 +grep jerry /etc/shadow --通过查看 /etc/shadow 文件来验证用户的锁定状态 +查看 /etc/passwd 文件中用户的密码字段前添加一个 ! 符号,从而锁定用户账户,使其无法登录 结果jerry:!$6$rounds=656000$G63K4...encryptedpassword...:19000:0:99999:7::: + +打开两个xshell窗口,通过(who 或者 w)命令查看连接状态,并通过fuser杀掉其中一个 +在第一个窗口使用who或w查看连接状态 +fuser -k /dev/pts/1 --这里的/dev/pts/1是连接时的终端设备文件 +查看cucci用户,属于那些组,并查看其详细信息 +使用 id 命令查看 cucci 用户的UID、GID以及所属的组 +使用 finger 命令查看 cucci 用户的详细信息,包括用户名、真实姓名、家目录、登录Shell、最后登录时间等 +查看 /etc/passwd 和 /etc/group 文件来获取用户和组的信息 +手工创建账号student(预留) +useradd 用户名 +设置权限及归属:/guanli目录属组设为guanli, /guanli/zonghe目录的属组设为zonghe /guanli/jishu目录的属组设为jishu,设置3个目录都是禁止其他用户访问的权限 +确保 guanli、zonghe 和 jishu 这些组已经存在 +chown :guanli /guanli +chmod 770 /guanli +chown :zonghe /guanli/zonghe +chmod 770 /guanli +chown :jishu /guanli/jishu +chmod 770 /guanli +建立公共目录/ceshi允许技术组内的所有用户读取、写入、执行文件, 禁止其他用户读、写、执行 +mkdir /ceshi --创建目录 +chmod 770 /ceshi --修改权限 +清除jerry用户密码 +passwd -d jerry(也可以直接回车设置空密码) +锁定cucci用户密码并查看状态 +passwd -l cucci +grep jerry /etc/shadow --查看 /etc/shadow 文件来验证用户的锁定状态 +修改obama用户的UID为8888 +指定用户的UID:useradd -u obama 8888 +更改用户的UID:usermod -u Obama 8888 +通过passwd命令修改kylin用户的最长密码使用期限为60天 +chage -M 60 kylin --chage修改密码到期信息 -M最长期限-m最短期限 +通过id groups等命令查看用户handy信息 +创建用户handy +id handy --uid=1000(handy) gid=1000(handy) groups=1000(handy) +groups handy --handy : handy显示用户组的信息 +还可以通过[cat /groups/ less] handy /etc/passwd --/etc/passwd 包含所有用户的信息 \ No newline at end of file diff --git "a/\344\275\234\344\270\232/20240520.md" "b/\344\275\234\344\270\232/20240520.md" new file mode 100644 index 0000000000000000000000000000000000000000..054c40debffb2829a626ab5a14a20e8eeb2955e0 --- /dev/null +++ "b/\344\275\234\344\270\232/20240520.md" @@ -0,0 +1,20 @@ +配置完重启更新 +cd /sbin --进入sbin目录 +./reboot now --重启更新之后就可以使用root用户登陆(为修改过后的静态IP) +sbin是一个特殊的目录 用于存放系统管理和系统维护的关键性命令 + +配置环境变量 简单化ls的用法 +vim ~/.bashrc +alias l='ls -a --color=auto' --创建别名,使其默认使用彩色输出 +source ~/.bashrc --执行配置文件生效 +配置变量环境 设置当前系统字符集 以接受中文 +cd /etc/profile.d/ --正常在终端是输入不了中文可能会导致乱码 +输入命令 通过ls查看当前目录下的文件会有发现有一个bash_completion.sh编程文件 + +vim lang.sh --在当前目录创建后缀为.sh的文件 +export LC_ALL=C.utf8 --输入后保存 +source lang.sh --执行文件即可输入中文 +安装vim编辑器 +apt install vim -y +修改SSHD配置 允许使用root用户登陆 +vim /etc/ssh/sshd_config \ No newline at end of file diff --git "a/\344\275\234\344\270\232/20240522.md" "b/\344\275\234\344\270\232/20240522.md" new file mode 100644 index 0000000000000000000000000000000000000000..ed24b50b986ce13dc6cbb561da86960335cb9d45 --- /dev/null +++ "b/\344\275\234\344\270\232/20240522.md" @@ -0,0 +1,45 @@ +/bin:bin是Binary的缩写,这个目录存放着最经常使用的命令 + +/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件 + +/dev : dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的 + +/etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录 + +/home:用户的家目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的 + +/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库 + +/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件 + +/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下 + +/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了 + +/opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的 + +/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件 + +/root:该目录为系统管理员,也称作超级权限者的用户主目录 + +/sbin:这里存放的是系统管理员使用的系统管理程序 + +/selinux: 这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的 + +/srv:该目录存放一些服务启动之后需要提取的数据 + +/sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建 + +/tmp:这个目录是用来存放一些临时文件的 + +/usr: 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录 + +/usr/bin: 系统用户使用的应用程序 + +/usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序 + +/usr/src: 内核源代码默认的放置目录 + +/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件 + +/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run目录,应该让它指向run \ No newline at end of file diff --git "a/\344\275\234\344\270\232/20240523.md" "b/\344\275\234\344\270\232/20240523.md" new file mode 100644 index 0000000000000000000000000000000000000000..01c87f71e5074aa35513964e7f24479be3f05557 --- /dev/null +++ "b/\344\275\234\344\270\232/20240523.md" @@ -0,0 +1,72 @@ +想设置一个针对所有用户都生效的环境变量,请问应该放在哪个目录? +/etc/profile为所有用户设置变量环境 +/etc/profile.d/ 目录中的脚本会在用户登录时被读取 可以在 /etc/profile.d/ 目录中创建一个新的 .sh 文件来设置环境变量 +-- sudo vim /etc/profile.d/lang.sh +-- 文件中添加内容 export LC_ALL=C.utf8 +在修改完这些配置文件后,通常需要重启相关服务或重新登录用户才能使新的环境变量生效 +想设置一个针对当前root用户都生效的环境变量,请问应该放在哪个文件中? +添加到.bash_profile(.bashrc)或.profile文件中 +编辑完这些配置文件后,通常需要重新加载配置文件或重新登录才能使环境变量生效 +ls命令的作用是什么?常用的一些选项 及其意义具体是什么?常用用法有哪些? +命令ls用于列出目录或指定目录下的所有内容(含隐藏) + ls: 列出当前目录的内容。 + ls -l: 列出当前目录内容的详细信息 + ls -al: 列出当前目录所有内容(包括隐藏文件)的详细信息 + ls -lh: 列出当前目录内容的详细信息,并以易读的大小格式显示文件大小 + ls -lt: 列出当前目录内容,按修改时间排序 + ls -ld: 列出当前目录的详细信息,而不是目录的内容 + ls -R: 递归地列出当前目录及其所有子目录的内容 + ls /path/to/directory: 列出指定目录的内容 + ls -l /path/to/directory: 列出指定目录的详细内容 +切换当前工作目录的命令是什么? +cd 切换目录或指定目录 +如何查看当前目录? +pwd命令用于显示用户当前所处的工作目录 pwd [目录] +tree命令用于以树形显示目录下所有的文件 +如何创建一个文件 如何批量创建100个文件 +touch 文件名 +echo (“文本内容”>通过重定向)文件名 +mkdir 文件名 创建文件 +mkdir (文件名){1..100}(文件类型)批量创建 +mkdir 文件名/子文件{1..10} 批量创建子文件 +用户信息在哪个文件? +/etc/passwd 这个文件包含了系统上所有用户的基本信息 +如何删除一个文件夹?如果这个文件夹非空 又如何删除? +rmdir abc 只可以删除一个叫abc的空文件夹 +rm 文件名 只可以删除一个空、非空的文件夹 +rm -rf abc 强制(-f)递归(-r)删除 +rm -i 再删除文件时会询问确认删除 y是n不 +如何创建一个文件夹?如何一口气创建嵌套的文件夹 如:/root/lucy/cofee/sugar +mkdir abc 在当前目录创建名为abc的文件夹 +mkdir -p /aa/bb/cc 在根目录创建目录aa aa下嵌套创建bb以此类推 +查看文件内容 可以用那些命令?它们有什么区别? +cat --用于查看文件内容(搭配参数-n可以查看内容n行) +more --用于查看内容多的纯文本文件 +less --也是对文件或其他输出进行分页显示的工具 +tail --用于实时查看日志文件 +head -n 10 文件名 --查看文件前十行 +如何复制一个文件?如何移动一个文件?请举例说明 +复制通常使用cp命令 + cp [选项] 源文件 目标文件 + cp [选项] 源文件 目标目录/新文件名 +移动通常使用mv命令 + mv [选项] 源文件 目标文件或目录 +切换用户使用什么命令? 使用超级管理员执行某个命令怎么做? +使用sudo 用户名进行切换用户 `注意切换方式的root用户是不能执行超级管理员能执行的一些命令` +下载sudo:apt install sudo +如果你已经是以root用户登录,那么不需要使用sudo切换,可以直接执行管理员命令 +如果不是需要进入到 /etc/ssh/sshd_config配置文件进行修改允许root用户登陆 +如何检测本机网络是否可以上网? +使用IP address查看地址 通过终端ping +使用traceroute命令可以显示数据包到达目标地址所经过的路由,并显示每一跳的延迟 +vim有几种模式 这些模式分别可以做什么?模式之间切换又分别如何切换 +vim有三种模式分别是命令行模式、输入模式、末行模式 +使用vim编辑文件默认是命令行模式 在模式下可以使用方向键或kjhi四字母移动光标 还可以对文件内容进行复制、粘贴、替换、删除等操作 +在输入模式下(-- INSERT --进入输入模式的标志)可以对文件执行、写操作 +末行也称编辑用于对文件中的指定内容执行保存、查找或替换等操作 按“:”键出现符号 就可以执行相关操作 +默认就是命令行模式 按i、a或o进入编辑模式 按ESC回到命令行模式 在命令行模式输入冒号切换末行模式 编辑模式和末行模式之间不能切换 只能通过命令行模式切换 +如何设置本机网卡的IP地址信息? +进入vim编辑器下的 /etc/network/interfaces文件 +设置固定IP :address IP +设置子网掩码 :netmark 子网掩码 +设置网关 :gateway 网关 \ No newline at end of file diff --git "a/\344\275\234\344\270\232/20240524.md" "b/\344\275\234\344\270\232/20240524.md" new file mode 100644 index 0000000000000000000000000000000000000000..ec5edff6781fcb2ffb28da7b7a0103ff4f7dc553 --- /dev/null +++ "b/\344\275\234\344\270\232/20240524.md" @@ -0,0 +1,34 @@ +路径 +绝对路径:.(一个点)表示路径中的当前路径 +相对路径:..(两个点)表示父目录,即上一级目录 在Linux中 比如 /etc/aa/bb 第一个斜杠表示根目录是绝对 而第二个后是相对 +目录管理 +cd命令 --切换目录 +pwd命令 --显示当前目录 +ls命令 --列出指定路径下的内容,包括文件或文件夹 +tree命令 --以树型结构列出指定路径下的内容 +mkdir命令 --创建文件、创建嵌套目录 +rmdir命令 --删除空文件夹 +rm命令 --删除文件(搭配-r是会询问是否删除、搭配-f强制删除) +cp命令 --复制文件和目录 +mv命令 --移动文件和目录 +文件查看 +cat命令 --用于查看文件内容(搭配参数-n可以查看内容n行) +more命令 --用于查看内容多的纯文本文件 +less命令 --也是对文件或其他输出进行分页显示的工具 +tail命令 --用于实时查看日志文件 +文件和目录查找 +find命令 --用于按照指定条件来查找文件所对应的位置 +locate命令 --用于按照名称快速搜索文件所对应的位置 +whereis命令 --用于按照名称快速搜索二进制程序(命令)、源代码以及帮助文件所对应的位置 +which命令 --用于按照指定名称快速搜索二进制程序(命令)所对应的位置 +其他注意命令 +echo命令 --用于显示字符,也可以结合管理符、重定向符写入到文件 +date命令 --用于显示或者设置系统的时间和日期 +reboot命令 --用于重启系统,输入该命令后按回车键执行即可 +poweroff命令 --用于关闭系统,输入该命令后按回车键执行即可 +wget命令 --用于在终端命令行中下载网络文件 +ip address命令 --用于查看网卡配置于网络状态等信息 +last命令 --用于调取主机的被访问记录 +traceroute命令 --用于追踪路由信息命令 +history命令 --用于显示执行过的命令历史(历史命令会被保存到用户家目录中的.bash_history文件中) +touch命令 --用于创建空白文件或者文件的时间 \ No newline at end of file diff --git "a/\344\275\234\344\270\232/20240527.md" "b/\344\275\234\344\270\232/20240527.md" new file mode 100644 index 0000000000000000000000000000000000000000..131784c25090035a3e12747edfd7cfab07d19a57 --- /dev/null +++ "b/\344\275\234\344\270\232/20240527.md" @@ -0,0 +1,57 @@ +在当前目录下建立文件exam.c,将文件exam.c拷贝到/tmp这个目录下,并改名为shiyan.c? +touch exam.c --创建文件 exam.c +cp exam.c /tmp/shiyan.c --复制文件到 /tmp 目录并重命名为 shiyan.c +在任何目录下回到用户主目录? +pwd # 查看当前目录路径 +cd /home/username # 手动切换到主目录 +打印当前目录(隐藏文件也显示)? +ls -a --这里的-a选项告诉ls命令显示所有文件,包括以点(.)开头的隐藏文件(默认情况下,ls命令不会显示隐藏文件) +用长格式列出/home目录下所有的文件包括隐藏文件? +ls -la /home +-l:使用长格式列出文件详细信息,包括文件权限、链接数、所有者、组、大小和最后修改时间 +-a:显示所有文件,包括以点(.)开头的隐藏文件 +查看当前目录下所有的文件或目录(含.开头的),把查看结果生成文件1s.txt? +ls -a > ls.txt +>:重定向操作符,将ls命令的输出写入到ls.txt文件中,而不是显示在屏幕上(如果ls.txt文件已经存在,它将被覆盖;如果文件不存在,它将被创建) +将当前目录中扩展名为txt、doc和bak的文件全部复制到/home目录中? +cp *.txt /home/ 这三条命令分别复制当前目录下所有扩展名为.txt、.doc和.bak的文件到/home目录。 +cp *.doc /home/ +cp *.bak /home/ +如果/home目录中已经存在同名的文件,cp命令会询问您是否覆盖它们。如果您想要避免这些提示,可以在cp命令后面添加-n选项,这样就不会覆盖已存在的目标文件,例如:cp -n *.bak /home/ +如果您想要将所有这些文件一次性复制过去,并且不想看到任何提示,可以使用-f选项来强制复制: +cp -f *.txt *.doc *.bak /home/ +显示一个文件的最后10行用什么命令 +tail -n 10 文件名 +如何统计一个文件的行数? +可以使用wc命令的-l选项 wc -l 文件名 +如何创建一个新文件,并且向文件内部写入数据"清华大学",并在当前的文件里面追加数据"计算机科学与技术" +通过makdr或touch命令创建文件touch example.txt +使用echo命令重定向写入echo "清华大学" > example.txt (文件存在原内容会被覆盖) +如果要追加内容不想被覆盖echo "计算机科学与技术" >> example.txt +sbin 目录和 bin 目录有什么区别? +bin目录包含所有用户都需要的基本命令,而sbin目录包含主要用于系统管理和维护的命令 +vi 编辑器有几种模式? +命令模式 插入模式 可视化模式 +如何进入vi编辑器的插入模式 +按i a o字母即可进入插入模式 +如何进入vi编辑器的可视化模式 +在普通模式下按v键可以进入可视模式 +在vi 编辑器中如何复制一行 +进入普通模式 将光标移动到要复制的行的开始或任意位置 +执行yy命令(即按y两次)来复制当前行 +移动光标到目标位置 按p键粘贴复制的行 +在vi 编辑器中如何进行粘贴 +粘贴到光标之后: +将光标移动到您想要粘贴内容的位置。 +在普通模式下,按小写字母p +刚刚复制或删除的内容将被粘贴到光标所在位置的后面 + +粘贴到光标之前: +将光标移动到您想要粘贴内容的位置 +在普通模式下,按大写字母P +刚刚复制或删除的内容将被粘贴到光标所在位置的前面 +如何删除从3行到15行的所有数据 +在底线模式下输入:3,15d +: 进入命令行模式 +3,15 指定了一个范围,从第3行到第15行(包括第3行和第15行) +d 是删除命令,它会删除指定范围内的所有行 \ No newline at end of file diff --git "a/\344\275\234\344\270\232/20240529.md" "b/\344\275\234\344\270\232/20240529.md" new file mode 100644 index 0000000000000000000000000000000000000000..b638520a5353eff3c1b6337a1dda6a574fee9bd0 --- /dev/null +++ "b/\344\275\234\344\270\232/20240529.md" @@ -0,0 +1,41 @@ +光标移动练习 命令模式下: + +单位级 h j k l +单词级 w e b +块级 gg G 0 ^ $ H M L ngg nj nk +把下列句子按照第一句的正确顺序修改好并把多余的空行删除 + +this is a simple easy vim tutorial --这是一个简单易学的vim教程 + +tutorial vim this is a easy simple +tutorial easy vim simple a this is +simple a vim easy tutorial is this + +tutorial is easy vim a simple this + +- 打开vim编辑器在命令模式下按大写的gg会将光标移动到文件的第一行 +- 可以在命令模式使用yy复制第一行作为参考 +- 在命令模式通过p粘贴复制的行 +- 之后在底线模式使用:%d 删除所有行,除了第一行 +- 删除多余的空行: :%g/^$/d " +解决使用vim编辑器在文件中输入不了中文(中文乱码) +原因是文件编码跟vim编辑器编码不符 + +- 临时命令:在使用vim执行文件时底线输入 :set encoding=utf-8 (重新打开文件还是会乱码) +- 永久命令: +打开 /etc/vimrc 配置文件 + vim /etc/vim/vimrc +按大写的G到配置文件最后一行添加 + * set encoding=utf-8 * + set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 + set termencoding=utf-8 +(这些设置将 Vim 的内部编码、终端编码、文件编码都设置为 UTF-8,并且指定了文件编码的优先级) +按ESC退出 输入wq保存退出 +如何将游标显示行号 +临时命令(比如在指定文件):在底线模式输入 :set number +永久命令: +打开 /etc/vimrc 配置文件 + vim /etc/vim/vimrc +按大写的G到配置文件最后一行添加 set number + set nu +按ESC退出 输入wq保存退出 \ No newline at end of file diff --git "a/\344\275\234\344\270\232/20240530.md" "b/\344\275\234\344\270\232/20240530.md" new file mode 100644 index 0000000000000000000000000000000000000000..3b63958c6ae6940e4924fcc14c2a25841f8292c6 --- /dev/null +++ "b/\344\275\234\344\270\232/20240530.md" @@ -0,0 +1,38 @@ +vi/vim 的使用 +基本上 vi/vim 共分为三种模式:命令模式(Command Mode)、输入模式(Insert Mode)和命令行模式(Command-Line Mode) + +命令模式 +i -- 切换到输入模式,在光标当前位置开始输入文本 +x -- 删除当前光标所在处的字符 +: -- 切换到底线命令模式,以在最底一行输入命令 +a -- 进入插入模式,在光标下一个位置开始输入文本 +o -- 在当前行的下方插入一个新行,并进入插入模式 +O -- 在当前行的上方插入一个新行,并进入插入模式 +dd -- 剪切当前行 +yy -- 复制当前行 +p(小写) -- 粘贴剪贴板内容到光标下方 +P(大写)-- 粘贴剪贴板内容到光标上方 +u -- 撤销上一次操作 +Ctrl + r -- 重做上一次撤销的操作 +:w -- 保存文件 +:q -- 退出 Vim 编辑器 +:q! -- 强制退出Vim 编辑器,不保存修改 +若想要编辑文本,只需要启动 Vim,进入了命令模式,按下 i 切换到输入模式即可 +输入模式 +在命令模式下按下 i 就进入了输入模式,使用 Esc 键可以返回到普通模式 +字符按键以及Shift组合,输入字符 +ENTER,回车键,换行 +BACK SPACE,退格键,删除光标前一个字符 +DEL,删除键,删除光标后一个字符 +方向键,在文本中移动光标 +HOME/END,移动光标到行首/行尾 +Page Up/Page Down,上/下翻页 +Insert,切换光标为输入/替换模式,光标将变成竖线/下划线 +ESC,退出输入模式,切换到命令模式 +底线命令模式 +在命令模式下按下 :(英文冒号)就进入了底线命令模式 +:w:保存文件 +:q:退出 Vim 编辑器 +:wq:保存文件并退出 Vim 编辑器 +:q!:强制退出Vim编辑器,不保存修改 +按 ESC 键可随时退出底线命令模式 \ No newline at end of file diff --git "a/\344\275\234\344\270\232/20240531.md" "b/\344\275\234\344\270\232/20240531.md" new file mode 100644 index 0000000000000000000000000000000000000000..adfe6a136cf9e760104209769fb3869b128ec87b --- /dev/null +++ "b/\344\275\234\344\270\232/20240531.md" @@ -0,0 +1,63 @@ +第一部分:一般模式可用的光标移动、复制粘贴、搜索替换等 +移动光标的方法 +h 或 向左箭头键(←) 光标向左移动一个字符 +j 或 向下箭头键(↓) 光标向下移动一个字符 +k 或 向上箭头键(↑) 光标向上移动一个字符 +l 或 向右箭头键(→) 光标向右移动一个字符 ++ 光标移动到非空格符的下一行 +- 光标移动到非空格符的上一行 +n n表示『数字』例如,按下数字后再按空格键,光标会向右移动这一行的 n 个字符 +0 或功能键[Home] 移动到这一行的最前面字符处 (常用) +$ 或功能键[End] 移动到这一行的最后面字符处 (常用) +H 光标移动到这个屏幕的最上方那一行的第一个字符 +M 光标移动到这个屏幕的中央那一行的第一个字符 +L 光标移动到这个屏幕的最下方那一行的第一个字符 +G 移动到这个档案的最后一行 (常用) +nG n为数字 移动到这个文件的第 n 行 (可配合 :set nu) +gg 移动到这个文件的第一行 (常用) +n n为数字 光标向下移动 n 行 (常用) +搜索替换 +/word 向光标之下寻找一个名称为 word 的字符串 (常用) +?word 向光标之上寻找一个字符串名称为 word 的字符串 +n 这个n是英文按键 代表重复前一个搜寻的动作 +N 这个 N 是英文按键 与小写n刚好相反,为(反向)进行前一个搜寻动作 +删除、复制与粘贴 +x,X 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键) X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用) +nx n为数字,连续向后删除 n 个字符 +dd 剪切游标所在的那一整行(常用) +ndd n为数字。剪切光标所在的向下 n 行 +d1G 删除光标所在到第一行的所有数据 +dG 删除光标所在到最后一行的所有数据 +d$ 删除游标所在处,到该行的最后一个字符 +d0 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符 +yy 复制游标所在的那一行(常用) +nyy n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用) +y1G 复制游标所在行到第一行的所有数据 +yG 复制游标所在行到最后一行的所有数据 +y0 复制光标所在的那个字符到该行行首的所有数据 +y$ 复制光标所在的那个字符到该行行尾的所有数据 +p, P p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行 +c 重复删除多个数据 +u 复原前一个动作 (常用) +[Ctrl]+r 重做上一个动作 (常用) +. 使用小数点意思是重复前一个动作的意思 (常用) +第二部分:一般模式切换到编辑模式的可用的按钮说明 +进入输入或取代的编辑模式 +i, I 进入输入模式(Insert mode): +i 为(从目前光标所在处输入), I 为(在目前所在行的第一个非空格符处开始输入) (常用) +a, A 进入输入模式(Insert mode): +a 为(从目前光标所在的下一个字符处开始输入), A 为(从光标所在行的最后一个字符处开始输入) (常用) +o, O 进入输入模式(Insert mode): +这是英文字母 o 的大小写:o 为在目前光标所在的下一行处输入新的一行; O 为在目前光标所在的上一行处输入新的一行 (常用) +[Esc] 退出编辑模式,回到一般模式中 (常用) +第三部分:一般模式切换到指令行模式的可用的按钮说明 +指令行的储存、离开等指令 +:w 将编辑的数据写入硬盘档案中 (常用) +:w! 若文件属性为『只读』时,强制写入该档案 +:q 离开 vi (常用) +:q! 强制离开并不保存 +:wq 储存后离开 +:wq! 强制储存后离开 (常用) +vim 环境的变更 +:set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号 +:set nonu 与 set nu 相反,为取消行号 \ No newline at end of file diff --git "a/\344\275\234\344\270\232/20240603.md" "b/\344\275\234\344\270\232/20240603.md" new file mode 100644 index 0000000000000000000000000000000000000000..96afe87ea864779d773cf664cae823988e3b43b6 --- /dev/null +++ "b/\344\275\234\344\270\232/20240603.md" @@ -0,0 +1,42 @@ +创建用户 +使用 adduser 会提示引导用户创建新用户的信息 例如:创建密码,以及一些房间号、工作家庭电话及其他 使用 useradd 直接创建用户账号 后面需要额外手动设置家目录等其他配置 + +常用选项: +-d:指定用户的家目录 +-m:创建家目录 +-s:指定用户的登录shell +-u:指定用户的UID +-g:指定用户的主组 +-G:指定用户的附加组 +更改用户密码 +passwd 用户名 (执行命令后系统会要求输入两次新的密码) +切换用户(su和su-的区别) +su命令:当你使用su命令时,你将切换到指定的用户,但不会改变当前的工作目录,也不会加载目标用户的环境变量。这意味着,你将保持原来的环境变量配置和当前目录不变,只是以另一个用户的身份执行命令 使用su会发现执行一些命令的时候会提示权限不足 而su-这个-表示加载这个用户的环境变量从而可以直接执行 +su -命令:使用su -命令时,除了切换到指定用户外,还会模拟登录环境,这意味着它会改变工作目录到目标用户的家目录,并加载该用户的环境变量配置,从而为你提供一个更完整的用户环境 +usermod用于修改用户账户 +常用选项: +-d:更改用户的家目录 +-m:移动家目录,如果新目录不存在则创建 +-s:更改用户的登录shell +-u:更改用户的UID +-g:更改用户的主组 +-G:更改用户的附加组 +查看用户 +可以使用[cat /less/ grep]命令查看/etc/pwsswd文件 该文件包含所有用户的基本信息 如果想搜索特定的用户:grep 用户名 /etc/passwd + +使用who查看当前登录的用户 +查看家目录 ls /home +删除用户 +userdel 用户名 注意的是如果是通过adduser创建的用户通过这个命令删除不了家目录 + +解决一 直接rm -r /home/用户名 删除家目录 +解决二 通过userdel -r 用户名 删除用户的同时删除家目录 +解决三 如果已经删除了用户 最笨的方法就是创建用户在一同删除 +groupadd:用于创建新组 + -g GID:指定新组的GID。如果不指定,系统会自动分配一个GID + -r:创建一个系统组,GID会小于500(这个数字可能会根据不同的系统而有所不同) + -f:如果组已经存在,不显示错误信息,并返回成功状态 +groupdel:用于删除组 +passwd:用于设置或更改用户密码 +chown:用于更改文件或目录的所有者 +chgrp:用于更改文件或目录的所属组 \ No newline at end of file diff --git "a/\344\275\234\344\270\232/20240605.md" "b/\344\275\234\344\270\232/20240605.md" new file mode 100644 index 0000000000000000000000000000000000000000..c7994b57a2a30705e83380bd6d19a2f0aded68a0 --- /dev/null +++ "b/\344\275\234\344\270\232/20240605.md" @@ -0,0 +1,26 @@ +禁止用户登入SSH +nologin是一个特殊的shell,用于防止用户登录到系统。当你将一个用户的登录shell设置为nologin时,该用户将无法通过终端或SSH登录到系统 + +which nologin --查询是否有命令及位置 +usermod -s /sbin/nologin 用户名 --禁止用户登录 +cat /etc/passwd --查看用户的shell是否修改为nologin +修改用户对某个对象的权限 +在linux系统中 使用ls -l来查看文件信息 +drwxr-xr-x 2 root root 4096 Jun 4 20:05 lxx.txt +在Linux系统中,文件权限是通过对每个文件或目录设置三位一组权限来控制的,每组权限分别对应文件的所有者(User)、所属组(group)和其他用户(others) + +- 第一个字符表示文件类型而不是权限 这里的d表示lxx.txt是一个目录不是文件 +- rwxr-xr-x表示文件或目录的权限 +- 2表示该文件或目录下有两个子文件或目录 +- 第一个root表示这个目录或文件的拥有者是root用户 +- 第一个root表示这个目录或文件的所属也是root组 +- 4096表示文件或目录大小为4096个字节 +- Jun 4 20:05表示这个目录或文件最后的修改时间为6月4号20:05 +- lxx.txt是文件或目录的名称 +通常要修改权限时用chmod命令 +数字权限 4读 2写 1执行 chmod 744 lxx.txt (这里的7表示拥有者拥有rwx全部权限 而所属者和其他用户只有只读权限) + +字符权限 rwx +添加 -删除 + +chmod ugo+rw lxx.txt (这里的ugo分别表示拥有者、所属组、其他用户添加读和写的权限) +chmod a-x lxx.txt (这里的a表示所有用户去掉执行的权限) \ No newline at end of file diff --git "a/\344\275\234\344\270\232/20240607.md" "b/\344\275\234\344\270\232/20240607.md" new file mode 100644 index 0000000000000000000000000000000000000000..3185600206c7a8def5482f7658bc46eff130a065 --- /dev/null +++ "b/\344\275\234\344\270\232/20240607.md" @@ -0,0 +1,17 @@ +Linux 隐藏权限 +除了文件的读、写和执行权限外 还有一种隐藏权限 设置隐藏权限可以防止一些其他用户误操作或者恶意操作 + +使用加减类型来添加隐藏权限 +chattr +i 文件 添加隐藏权限 +chattr -i 文件 删除隐藏权限 (即可使用rm删除文件) +专用设置命令chattr +i:无法对文件进行修改 若对目录设置 该参数仅能修改子文件中的内容而不能新建或删除文件 +a:仅允许补充或者追加文件内容 无法覆盖和删除内容 +touch text --创建文件 +chattr +i text --当添加了隐藏权限时不可删除文件 +chattr +a text --设置可以追加内容 +echo "大家好我是小酥鱼" >> text --使用重定向将内容输入到text文件中 +专用查看命令lsattr +a:显示所有文件和目录 现行目录"."和上行目录".." +lsattr text --查看此文件隐藏权限 +查看时:----i---------e------- text \ No newline at end of file diff --git "a/\344\275\234\344\270\232/20240612.md" "b/\344\275\234\344\270\232/20240612.md" new file mode 100644 index 0000000000000000000000000000000000000000..768281011ef67db063837ce1aed6706de722d693 --- /dev/null +++ "b/\344\275\234\344\270\232/20240612.md" @@ -0,0 +1,77 @@ +crontab命令选项 +crontab -e: 编辑当前用户的 crontab 文件 `如果文件不存在,将会创建一个新的文件` +crontab -l: 列出当前用户的 crontab 文件内容 +crontab -r: 删除当前用户的 crontab 文件 +crontab -i: 在删除 crontab 文件之前提示用户确认。与 -r 选项一起使用除所有计划任务 `如果是root用户下执行该选项则会删除全部计划任务` +crontab命令设置格式 +# Example of job definition: +# .---------------- minute (0 - 59) +# | .------------- hour (0 - 23) +# | | .---------- day of month (1 - 31) +# | | | .------- month (1 - 12) OR jan,feb,mar,apr ... +# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat +# | | | | | +# * * * * * user-name command to be executed +分 时 日 月 周 命令 +* * * * * +- - - - - +| | | | | +| | | | +----- 星期中星期几 (0 - 6) (星期天 为0) +| | | +---------- 月份 (1 - 12) +| | +--------------- 一个月中的第几天 (1 - 31) +| +-------------------- 小时 (0 - 23) ++------------------------- 分钟 (0 - 59) + +crontab默认调度任务 脚本运行 +/etc/cron.hourly +/etc/cron.daily +/etc/cron.weekly +/ect/cron.mouthly +时间数值的特殊表示方法 +* 表示该范围内的任意时间 +, 表示间隔的多个不连续时间点 +- 表示一个连续的时间范围 +/ 指定间隔的时间频率 +周期任务练习 +每天3:00执行一次 +0 3 * * * echo "大知闲闲小知间间" >> lxx.txt +每周六2:00执行 +0 2 * * 6 +每周六1:05执行 +5 1 * * 6 +每周六1:25执行 +25 1 * * 6 +每天8:40执行 +40 8 * * * +每天3:50执行 +50 3 * * * +每周一到周五的3:40执行 +40 3 * * 1-5 +每周一到周五的3:41开始,每10分钟执行一次 +41/10 3 * * 1-5 +每天的10:31开始,每2小时执行一次 +31 10-22/2 * * * +每周一到周三的9:30执行一次 +30 9 * * 1-3 +每周一到周五的8:00,每周一到周五的9:00执行一次 +0 8,9 * * 1-5 +每天的23:45分执行一次 +45 23 * * * +每周三的23:45分执行一次 +45 23 * * 3 +每周一到周五的9:25到11:35、13:00到15:00之间,每隔10分钟执行一次 +25-35,0-59/10 9-11 * * 1-5 +0-59/10 13-15 * * 1-5 +每周一到周五的8:30、8:50、9:30、10:00、10:30、11:00、11:30、13:30、14:00、14:30、5:00分别执行一次 +30 8,9,10,11,13,14 * * 1-5 +50 8 * * 1-5 +0 10,11,14 * * 1-5 +0 5 * * 1-5 +每天16:00、10:00执行一次 +0 10,16 * * * +每天8:10、16:00、21:00分别执行一次 +10 8 * * * +16,21 * * * +每天7:47、8:00分别执行一次 +47 7 * * * +0 8 * * * \ No newline at end of file diff --git "a/\344\275\234\344\270\232/20240613.md" "b/\344\275\234\344\270\232/20240613.md" new file mode 100644 index 0000000000000000000000000000000000000000..66805fec0b7740630c1144524a39a7296f50bda3 --- /dev/null +++ "b/\344\275\234\344\270\232/20240613.md" @@ -0,0 +1,29 @@ +环境变量通常分为两类 +全局环境变量:这些变量对系统中的所有用户和进程都是可见的 +局部环境变量:这些变量通常只在当前的shell会话中可见,对其他用户和进程不可见 + PATH:决定了shell将搜索哪些目录以找到命令 + HOME:当前用户的主目录路径 + USER:当前登录的用户名 + PWD:当前工作目录 + SHELL:当前用户的shell程序路径 + EDITOR:用户的首选文本编辑器 + TERM:当前终端的类型 + LANG:系统语言和地区设置 + PS1:主提示符,是你在终端看到的命令提示符 +环境变量的设置和查看通常使用以下命令: +printenv:列出所有环境变量或某个特定的环境变量 +set:显示所有本地定义的变量,包括环境变量 +export:将局部变量导出为环境变量 +unset:删除一个环境变量 +全局环境变量配置文件: +/etc/environment:系统级别的环境变量配置文件,对所有的用户和进程都有效 +/etc/profile:为所有用户设置环境变量,通常用于设置全局的默认环境变量 +/etc/profile.d/*.sh:在登录时由/etc/profile执行的脚本,可以用来设置或修改环境变量 +用户级别的环境变量配置文件: +~/.bashrc:Bash shell的用户配置文件,用于非登录shell会话 +~/.bash_profile或~/.profile:Bash shell的用户配置文件,用于登录shell会话 +~/.bash_login:如果存在,Bash登录shell会尝试执行此文件 +~/.zshrc:Z shell (zsh)的用户配置文件,用于非登录shell会话 +~/.zprofile:Z shell (zsh)的用户配置文件,用于登录shell会话 +特定于会话的环境变量设置: +直接在终端中使用export命令设置的环境变量,只对当前shell会话有效 \ No newline at end of file diff --git "a/\344\275\234\344\270\232/20240614.md" "b/\344\275\234\344\270\232/20240614.md" new file mode 100644 index 0000000000000000000000000000000000000000..f97c8af794285b051f4876bd49c917774b54bb3e --- /dev/null +++ "b/\344\275\234\344\270\232/20240614.md" @@ -0,0 +1,32 @@ +进程管理常用命令 +每个进程都有一个唯一的标识符,称为进程ID(Process ID),简称PID。PID是系统为每个进程分配的一个正整数,用于在操作系统中唯一地识别一个进程。当系统启动一个新进程时,它会分配一个目前尚未使用的PID给该进程 + +ps:能列出系统中运行的进程 包括进程号、命令、CPU使用量以及内存使用量等 + ps -a 列出进程所有运行中/激活进程 + ps -ef 列出需要进程 + ps -aux 显示进程信息 + +pstree:通过显示进程的树状图来展示进程间的关系 + 需要安装psmisc包:apt install psmisc + pstree -p 显示进程的PID + pstree -u 显示进程的所属用户 + +top:监视系统中不同的进程所使用的资源 实时提供进程状态信息 可以使用进程显示数据指定出资源使用量 + 按M以内存的使用率排序 + 按N以PID排序 + 按q退出界面 + +htop:交互式的文本模式的进程查看器 + 是一个工具需要安装:apt install htop -y + +kill:通过进程的pid来结束终止进程 + kill -9 进程id(这里的-9表示强迫进程立即停止) + +killall:通过进程名称来结束终止进程 + kill 进程名称 + +pgrep:用于基于名称和其他属性查找进程的进程PID + pgrep -l:列出进程的名称和PID + pgrep -u:匹配特定用户的进程 + +w:提供当前登录的用户及其正在执行的进程信息 \ No newline at end of file diff --git "a/\344\275\234\344\270\232/20240619.md" "b/\344\275\234\344\270\232/20240619.md" new file mode 100644 index 0000000000000000000000000000000000000000..a19806488cead1ffc07419daf204f96e60917bfa --- /dev/null +++ "b/\344\275\234\344\270\232/20240619.md" @@ -0,0 +1,53 @@ +linux中服务管理及命令 +systemctl: 这是管理Systemd系统中服务的主要命令 + +启动服务:systemctl start [service_name] +停止服务:systemctl stop [service_name] +重启服务:systemctl restart [service_name] +查看服务状态:systemctl status [service_name] +设置服务开机自启:systemctl enable [service_name] +禁用服务开机自启:systemctl disable [service_name] +重新加载服务配置文件:systemctl reload [service_name] +linux中网络管理及命令 +ifconfig: 用于配置和显示网络接口的参数。在较新的系统中,这个命令可能已经被ip命令取代 + +显示所有网络接口:ifconfig +启用或禁用网络接口:ifconfig [interface] up 或 ifconfig [interface] down +配置IP地址:ifconfig [interface] [ip_address] netmask [subnet_mask] + +ip: 一个功能更强大的网络配置工具,用于配置和显示网络接口和路由 + +显示所有网络接口:ip link show +启用或禁用网络接口:ip link set [interface] up 或 ip link set [interface] down +配置IP地址:ip addr add [ip_address]/[subnet_mask] dev [interface] +删除IP地址:ip addr del [ip_address]/[subnet_mask] dev [interface] +显示路由表:ip route show +添加路由:ip route add [destination] via [gateway] +ping: 用于测试与另一个网络设备的连接是否畅通 + +测试与特定IP的连接:ping [ip_address] +traceroute: 用于跟踪数据包到达目的地的路径 + +跟踪到特定IP的路径:traceroute [ip_address] +netstat: 显示网络连接、路由表、接口统计信息等 + +显示所有连接:netstat -a +显示监听的端口:netstat -l +显示TCP连接:netstat -t +显示UDP连接:netstat -u +ss: 一个更现代的工具,用于查看网络连接信息,类似于netstat + +显示所有TCP连接:ss -t +显示所有UDP连接:ss -u +显示所有监听的端口:ss -l +hostname: 用于显示或设置系统的主机名 + +显示当前主机名:hostname +设置主机名:hostname [new_hostname] +dnsdomainname: 显示系统的DNS域名 +host: 用于执行DNS查找,可以将域名解析为IP地址,或者反之 + +解析域名:host [domain_name] +iptables: Linux下的防火墙工具,用于设置和管理网络访问控制 + +显示当前防火墙规则:iptables -L \ No newline at end of file diff --git "a/\344\275\234\344\270\232/20240624.md" "b/\344\275\234\344\270\232/20240624.md" new file mode 100644 index 0000000000000000000000000000000000000000..4baf0b3cabebc1adb1dbdf26896fe7800c31c44e --- /dev/null +++ "b/\344\275\234\344\270\232/20240624.md" @@ -0,0 +1,46 @@ +linux中磁盘管理及命令 +在Linux系统中进行磁盘分区、格式化、挂载、监控磁盘空间和进行逻辑卷管理 在使用这些命令时,务必要小心,因为不正确的操作可能会导致数据丢失 在执行关键操作之前,确保备份重要数据 + +fdisk: 用于磁盘分区。它提供了一个交互式界面来创建、删除、修改和重新调整分区大小 + 列出磁盘分区:fdisk -l + +parted: 类似于fdisk,但支持更大的磁盘和GPT分区表 + 打开磁盘进行分区:parted /dev/sdX + +mkfs: 用于创建文件系统 + 创建ext4文件系统:mkfs.ext4 /dev/sdX1 + +mkswap: 用于创建交换分区 + 创建交换分区:mkswap /dev/sdX2 + +swapon/swapoff: 用于启用或禁用交换分区 + 启用交换分区:swapon /dev/sdX2 + 禁用交换分区:swapoff /dev/sdX2 + +mount: 用于挂载文件系统 + 挂载分区:mount /dev/sdX1 /mount/point + +umount: 用于卸载挂载的文件系统 + 卸载分区:umount /mount/point + +df: 显示磁盘空间使用情况 + 显示所有文件系统的磁盘空间:df -h +du: 显示目录或文件的磁盘使用情况 + 显示目录大小:du -sh /directory + +lsblk: 列出所有可用的磁盘和分区,以及它们的挂载点 + 列出所有磁盘和分区信息:lsblk + +blkid: 用于查找或打印磁盘分区的UUID + 获取分区的UUID:blkid /dev/sdX1 + +partprobe: 更新内核的分区表信息 +更新分区表:partprobe + +lvm: Logical Volume Manager的命令集,用于管理逻辑卷 + 创建物理卷:pvcreate /dev/sdX1 + 创建卷组:vgcreate [volume_group_name] /dev/sdX1 + 创建逻辑卷:lvcreate -L [size] -n [logical_volume_name] [volume_group_name] + +fsck: 用于检查和修复文件系统 + 检查文件系统:fsck -f -t ext4 /dev/sdX1 \ No newline at end of file diff --git "a/\344\275\234\344\270\232/20240701.md" "b/\344\275\234\344\270\232/20240701.md" new file mode 100644 index 0000000000000000000000000000000000000000..16579ae314c3c1f96b1def88344c0df3d0a387f2 --- /dev/null +++ "b/\344\275\234\344\270\232/20240701.md" @@ -0,0 +1,7 @@ +Linux上安装 MySQL +apt update --更新系统软件源 +apt upgrade -y --更新系统版本 + +apt install mysql-server --安装Mysql +本地连接数据库 mysql -u root -p +查看所有的数据库 show detabases; \ No newline at end of file diff --git "a/\344\275\234\344\270\232/20240702.md" "b/\344\275\234\344\270\232/20240702.md" new file mode 100644 index 0000000000000000000000000000000000000000..33740bfbc26a7d94a8068c1be2ca927941facf1b --- /dev/null +++ "b/\344\275\234\344\270\232/20240702.md" @@ -0,0 +1,19 @@ +数据库的增删改查 +注意在MySQL环境下的所有命令都要带上分号符 + +mysql -u root -p --登入Mysql账户 +create database 库名; --创建数据库 +show databases; --查看数据库 +use 库名; --切换数据库 +create table 表名; --创建表 +show table; --查看表 +dorp database 库名; --删除数据库 +select * from user; --查询user表中所有数据 +delete from user; --删除表user所有数据,不改变其表结构 +insert into user(username, password) values('lxx', '123456'); --向表user插入数据 +、 +远程访问 + +update user set host='%' where user='root'; +grant all on root.* to 'root'@'%'; +flush privileges; \ No newline at end of file diff --git "a/\344\275\234\344\270\232/20240703.md" "b/\344\275\234\344\270\232/20240703.md" new file mode 100644 index 0000000000000000000000000000000000000000..06e770e077f767c84b0bea81a40b8c8cc5fc81cc --- /dev/null +++ "b/\344\275\234\344\270\232/20240703.md" @@ -0,0 +1,13 @@ +安装postgressql + +sudo apt-get update +sudo apt-get install postgresql postgresql-client + + +systemctl stop postgresql停止服务 +systemctl start postgresql开启服务 +systemctl restart postgresql重启数据库 + +库插入1000W条数据,并获取总时长 + +explain (ANALYZE,Timing)insert into bioa select generate_series(1,10000000),md5(random()::varchar),md5(random()::varchar),clock_timestamp(),md5(random()::varchar),md5(random()::varchar);