diff --git "a/\347\216\213\345\250\201\346\226\214/20240516_Deiban\347\263\273\347\273\237\345\256\211\350\243\205\350\246\201\345\201\232\347\232\204\344\272\213\346\203\205.md" "b/\347\216\213\345\250\201\346\226\214/20240516_Deiban\347\263\273\347\273\237\345\256\211\350\243\205\350\246\201\345\201\232\347\232\204\344\272\213\346\203\205.md" new file mode 100644 index 0000000000000000000000000000000000000000..9532735e10fa5aefd0f8d6395aa86212de3ef8d9 --- /dev/null +++ "b/\347\216\213\345\250\201\346\226\214/20240516_Deiban\347\263\273\347\273\237\345\256\211\350\243\205\350\246\201\345\201\232\347\232\204\344\272\213\346\203\205.md" @@ -0,0 +1,57 @@ +#### 虚拟机的设置 + +1. 更新系统软件源 +2. 更新系统 +3. 安装vim(vim可以理解是一个语言) +4. 编辑静态的ip +5. 编辑配置sshd配置,允许远程的账号登入 +6. 配置环境变量 +7. 设置当前的语言字符集 + +###### 安装node的两种方式: + +1. 使用nvm管理器来管理node的版本 +2. 直接从官网下载安装包来安装 + +刚安装完Deiban系统: + +1. 更新系统软件源:apt update + +2. 更新系统:apt upgrade -y + +3. 安装vim:apt install vim -y + +4. 编辑网卡配置,设置静态IP: + + + +1. ###### 修改SSHD配置,允许root用户远程登录 + +``` +vim /etc/ssh/sshd_config + +# 取消如下代码的注释,并且将其值设置为yes,以允许root用户的远程登录 +PermitRootLogin yes +``` + +###### 2. 配置环境变量,简单化ls的用法 + +/etc/profile.d/ls.sh + +``` + export LS_OPTIONS='--color=auto' + alias ls='ls $LS_OPTIONS' + alias ll='ls $LS_OPTIONS -l' + alias l='ls $LS_OPTIONS -lA' +``` + +3. ###### 配置环境变量,设置当前系统字符集,以接受中文 + +/etc/profile.d/lang.sh + +``` +export LC_ALL=C.utf8 +``` + + + diff --git "a/\347\216\213\345\250\201\346\226\214/20240520_linux\345\205\245\351\227\250\346\223\215\344\275\234\345\221\275\344\273\244\345\222\214\347\233\256\345\275\225.md" "b/\347\216\213\345\250\201\346\226\214/20240520_linux\345\205\245\351\227\250\346\223\215\344\275\234\345\221\275\344\273\244\345\222\214\347\233\256\345\275\225.md" new file mode 100644 index 0000000000000000000000000000000000000000..c27b041639dea512fa6a3606409a1cb3384f01b2 --- /dev/null +++ "b/\347\216\213\345\250\201\346\226\214/20240520_linux\345\205\245\351\227\250\346\223\215\344\275\234\345\221\275\344\273\244\345\222\214\347\233\256\345\275\225.md" @@ -0,0 +1,118 @@ +###### 查看IP:ip address + + + +默认情况下超级管理员进不去 + +得使用自己 创建的账户进去 + +###### 提升权限: + +su root + +输入密码 + +进入/home/wwb# + +/home/wwb# cd + +``` +wwb@robin:~$ su root +密码: +root@robin:/home/wwb# cd +root@robin:~# +root@robin:~# apt update +命中:1 http://mirrors.ustc.edu.cn/debian bookworm InRelease +命中:2 http://mirrors.ustc.edu.cn/debian bookworm-updates InRelease +命中:3 http://security.debian.org/debian-security bookworm-security InRelease +正在读取软件包列表... 完成 +正在分析软件包的依赖关系树... 完成 +正在读取状态信息... 完成 +所有软件包均为最新。 +root@robin:~# apt upgrade +正在读取软件包列表... 完成 +正在分析软件包的依赖关系树... 完成 +正在读取状态信息... 完成 +正在计算更新... 完成 +升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。 +root@robin:~# +``` + +###### 安装vim + +apt install vim -y + +###### 运行注册用户直接登录 + +1. vim /etc/ssh/sshd_config + +2. 找到PermitRootLogin prohibit-password ---- 按X取消注释 + +3. 在prohibit-password 命令模式按dw删除掉这串代码 + +4. 在PermitRootLogin后 输入yes + +5. 按Esc ——> :wq保存退出 + + + +###### 使用超级管理员直接登录 + +1. vim /etc/network/interfaces + +2. iface ens33 inet dhcp 命令模式按dw删除dhcp + +3. iface ens33 inet static + +4. address IP地址(不要和虚拟机冲突)192.168.92.111 + +5. netmask 子网掩码 + +6. gateway 网关地址 + + + +###### 重启(不是超级管理员只能这样执行) + +cd /sbin + +./reboot now + +###### 重启(超级管理员) + +reboot now + + + +###### 可以中文输入 + +1. cd /etc/profile.d + +2. vim lang.sh (lang是名字(随意取),一定要是sh后缀) + +3. export LC_ALL=C.utf8 + +4. 按Esc ——> :wq保存退出 + +5. source lang.sh + + + + + +###### ls -al :a:显示所有文件 l:以列表的形式展开 + +###### 简化ls: + +1. cp ~/.bashrc ls.sh + +2. vim ls.sh + +3. 解除以下注释: + +``` + export LS_OPTIONS='--color=auto' + alias ls='ls $LS_OPTIONS' + alias ll='ls $LS_OPTIONS -l' + alias l='ls $LS_OPTIONS -lA' +``` \ No newline at end of file diff --git "a/\347\216\213\345\250\201\346\226\214/20240522_Linux\345\270\270\347\224\250\347\233\256\345\275\225\345\222\214debain\345\256\211\350\243\205\346\205\242\347\232\204\350\247\243\345\206\263\345\212\236\346\263\225.md" "b/\347\216\213\345\250\201\346\226\214/20240522_Linux\345\270\270\347\224\250\347\233\256\345\275\225\345\222\214debain\345\256\211\350\243\205\346\205\242\347\232\204\350\247\243\345\206\263\345\212\236\346\263\225.md" new file mode 100644 index 0000000000000000000000000000000000000000..941ce305773bc9086016715756d6369e08e8e65b --- /dev/null +++ "b/\347\216\213\345\250\201\346\226\214/20240522_Linux\345\270\270\347\224\250\347\233\256\345\275\225\345\222\214debain\345\256\211\350\243\205\346\205\242\347\232\204\350\247\243\345\206\263\345\212\236\346\263\225.md" @@ -0,0 +1,64 @@ +### Linux就是一个内核 + +优点: + +1. Linux免费 +2. Linux可靠性、安全性都比较高 +3. Linux对硬件资源的要求较低 CPU 内存 宽带 + +Windows服务器版本优点: + +1. 简单好上手 + +### Linux各个发行版才是完整的,真正的操作系统 + +### 在虚拟中安装Debian12很慢的原因(PS:需要2个小时以上) + +1. 没有开启CPU的虚拟化选项(PS:前提是CPU支持,然后可以通过Bios启用CPU虚拟化支持 VT VD) + +2. 一路回车下一步(PS:在选择安装软件的时候,忘记去掉桌面应用的安装:Gnone GDE) + +3. 未选择国内的软件源,导致下载很慢 + + +## 常用目录: + +1. /bin (Binary) + + 存放系统核心命令(二进制文件),如ls、cp等 + +2. /boot + + 存放启动系统所需的引导文件,包括内核文件 + +3. /etc (Editable Text Configuration) + + 存放系统配置文件 + +4. /home + + 用户的家目录,每个用户都有一个独立的子目录 + +5. /root + + 超级用户(root)的家目录 + +6. /var (Variable) + + 存放系统运行时产生的变量数据,如日志文件、缓存等 + +7. /tmp (Temporary) + + 用于存放临时文件的目录 + +8. /dev (Device) + + 用于存放设备文件的目录,Linux中一切皆文件,设备也通过文件进行访问 + +9. proc (Process) + + 虚拟文件系统,包含正在运行的进程信息 + +10. /srv (Service) + + 存放特定服务的数据目录,如存储HTTP服务器的网页目录 \ No newline at end of file diff --git "a/\347\216\213\345\250\201\346\226\214/20240523_Linux\350\257\276\345\240\202\344\275\234\344\270\232.md" "b/\347\216\213\345\250\201\346\226\214/20240523_Linux\350\257\276\345\240\202\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..d149fb354a28dffd71f592f9e79dc954100fe02d --- /dev/null +++ "b/\347\216\213\345\250\201\346\226\214/20240523_Linux\350\257\276\345\240\202\344\275\234\344\270\232.md" @@ -0,0 +1,295 @@ +1. 想设置一个针对所有用户都生效的环境变量,请问应该放在哪个目录中? + + /etc/profile文件 + + 用VI在文件/etc/profile文件中增加变量,该变量将会对 Linux 下所有用户有效,并且是“永久的” + +2. 想设置一个针对当前root用户生效的环境变量,请问应该放在哪个文件中? + + 只对当前[root]用户生效: vi /root/.bash_profile + + 保存退出 ——【:wq】 + + 使环境变量立即生效——【source /root/.bash_profile 】 + +3. ls命令的作用是:用于显示指定工作目录下的内容。包括文件和子目录. + + 常用的选项及其意义: + + - -a:显示所有文件,包括以.开头的隐藏文件 + - -l:使用详细列表格式显示文件和文件夹的详细信息,包括文件权限、所有者、大小、修改时间等 + - -d:仅显示目录本身,而不显示目录下的文件 + - -h:以人类可读的格式显示文件大小,如KB、MB等 + - -t:按照修改时间排序文件,最新修改的文件排在最前面 + - -r:按照逆序(从后往前)排列文件 + - -i:显示文件的inode号码(索引号) + + 常用用法包括: + + - `ls`:列出当前目录下的所有文件和文件夹。 + - `ls -l`:以详细列表格式显示当前目录下的文件和文件夹。 + - `ls -a`:显示所有文件,包括隐藏文件。 + - `ls -lh`:以人类可读的格式显示详细信息。 + - `ls -t`:按照修改时间顺序列出文件。 + - `ls -r`:以逆序排列文件。 + - `ls -F`:在文件名后加上标识符,以区分文件类型。 + - `ls -d`:仅显示目录本身,不显示目录下的文件。 + +4. 切换当前工作目录的命令是什么? + + cd + +5. 如何查看当前工作目录 + + pwd + +6. 如何创建一个文件 + + 1. touch 文件名.后缀 + + 2. vi 文件名.后缀 + + 3. vim 文件名.后缀 + + 4. cat > 文件名.后缀 (ctrl+z退出编辑模式自动保存) + + 5. cat >> 文件名.后缀 (ctrl+z退出编辑模式自动保存) + + 6. ls > 文件名.后缀 + + 7. ls >> 文件名.后缀 + + + + 如何批量创建100个文件? + + - touch file{1..100} + + 创建100个文件,文件名file0,file1 ......file100 + + - touch test{001..100}.txt + + 创建100个文件,文件名test001.txt,test002.txt ......test100.txt + + + +7. 用户信息在哪个文件? + + etc/passwd + +8. 如何删除一个文件夹? + + 删除空文件夹: + + - rmdir mydir + + - rm -d mydir + + + + 如果这个文件夹非空,又如何删除? + + rm -r abc (ps:-r(递归)标志) + + rm -rf abc,可以在不要求确认的情况下强行删除或删除写保护的内容。 + + + +9. 如何创建一个文件夹? + + mkdir 文件夹名 + + 如果一口气创建嵌套的文件夹如/root/lucy/cofee/sugar ? + + mkdir -p /root/lucy/cofee/sugar + +10. 查看文件内容,可以用哪些命令?它们有什么区别? + + - ###### more指令 —— 分页显示文件内容 + + 以一页一页的形式显示文件内容,按空白键显示下一页内容,按Enter键会显示下一行内容,按 b 键就会往回(back)一页显示,其基本用法如下: + + more file1 查看文件file1的文件内容; + + more -num file2 查看文件file2的内容,一次显示num行; + + more +num file3 查看文件file3的内容,从第num行开始显示; + + - ###### less指令 —— 可以向前或向后查看文件内容 + + 查看文件内容时可以向前或向后随意查看内容; + + less指令的基本用法为: + + less file1 查看文件file1的内容; + + less -m file2 查看文件file2的内容,并在屏幕底部显示已显示内容的百分比; + + 按空格键显示下一屏的内容,按回车键显示下一行的内容; + + 按 U 向前滚动半页,按 Y 向前滚动一行; + + 按[PageDown]向下翻动一页,按[PageUp]向上翻动一页; + + 按 Q 退出less命令; + + - ###### head指令 —— 查看文件开头的内容(默认情况下,只显示文件的头10行内容;) + + head指令的基本用法: + + head -n <行数> test 显示文件内容的前n行; + + 例:head -n 5 test 显示文件test 的前5行内容 + + head -c <字节> test 显示文件内容的前n个字节; + + 例:head -c 20 test 显示文件test 的前20个字节内容 + + - ###### tail指令 —— 显示文件尾部的内容(默认情况下只显示指定文件的末尾10行) + + tail指令的基本用法: + + tail test 显示文件test 的尾部10行内容; + + tail -n <行数> test 显示文件尾部的n行内容; + + 例:tail -n 5 test 显示文件test 的末尾5行内容 + + tail -c <字节数> test 显示文件尾部的n个字节内容; + + 例:tail -c 20 test 显示文件test的末尾20个字节 + + - ###### cat指令 —— 显示文件内容(如果文件内容过多,则只会显示最后一屏的内容) + + 基本用法: + + cat test 用于查看文件名为test的文件内容; + + cat -n test 查看文件名为test 的文件内容,并从1开始对所有输出的行数(包括空行)进行编号; + + cat -b test 查看文件名为test的文件内容,并从1开始对所有的非空行进行编号; + + + + + + +11. 如何复制一个文件?如何移动一个文件?请举例说明 + + 复制一个文件:cp + + cp test.txt rule —— 将文件test.txt复制到目录rule上 + + cp -r test1 test2 —— 将目录test1复制到目录test2上(-r:用于递归复制,复制目录的子目录和文件) + + cp -f:覆盖,不给提示 + + cp -i:在覆盖前给出提示 + + 移动一个文件:mv + + mv test.txt rule —— 将文件test.txt移动目录rule上 + + + +12. 切换用户使用什么命令?使用超级管理员执行某个命令怎么做? + + ###### 切换用户使用的命令: + + 切换用户的命令:su 用户名 + + 从普通用户切换到root用户:su root + + ###### 使用超级管理员执行某个命令怎么做? + + 在命令前加上sudo + +13. 如何检测本机网络是否可以上网? + + - 使用ping + + - nslookup + + 查询DNS服务器的解析情况,以确认域名是否能够正常解析,一般用来检查域名的解析是否正确 + + - curl + + 1. 是否能够成功访问URL地址; + 2. 通过HTTP协议进行访问是否正常; + 3. 能够正确获取内容是否正确。 + + - wget + + 检查是否成功从互联网上下载/获取内容 + +14. vim有几种模式,这些模式分别可以做些什么?模式之间切换又分别如何切换? + + ###### vim有三种模式:命令模式、输入模式、末行模式 + + ###### 命令模式: + + 启动vim编辑器后默认进入命令模式,该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作 + + ###### 输入模式: + + 该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改、或者添加新的内容。处于输入模式时,vim编辑器的最后一行会出现“—插入 --”的状态提示信息。 + + ###### 末行模式: + + 该模式中可以设置vim编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vim编辑器的最后一行会出现冒号“:”提示符——:wq保存退出 + + ###### 模式切换: + + ###### 命令模式 -> 输入模式 + +   当前在命令模式,使用a、A、i、I、o、O即可进入输入模式 + + ###### 输入模式 -> 命令模式 + +   输入模式中把内容输好了,要退出输入模式,按ESC键即可回到命令模式。 + + ###### 命令模式 -> 底线命令模式 + +   在命令模式下,输入:就进入了底线命令模式,就可以输入末行命令啦,例如常见的wq就是属于末行命令。 + + ###### 底线命令模式 -> 命令模式 + +   要退出底线命令模式,按ESC键即可回到命令模式。 + + + +15. 如何设置本机网卡的IP地址信息? + + 1. ip addr 查看网卡名 + + 2. vi /etc/network/interfaces 修改网卡配置文件 + + 3. allow-hotplug ens33(网卡名) + + iface ens33 inet dhcp 获取IP的方式dhcp + + 4. allow-hotplug ens33 网卡名 + + iface ens33 inet static 静态地址 + + address 192.168.92.100/24 IP地址/掩码 + + gateway 192.168.92.2 网关 + + dns-nameservers 8.8.8.8 dns + + 5. 保存退出:ESC + :wq + + 6. vim /etc/resolv.conf 修改dns配置文件 + + nameservers 8.8.8.8 dns地址 + + 7. 重启Debian刷新网卡 + + reboot + + 8. 验证 + + ip addr + + \ No newline at end of file diff --git "a/\347\216\213\345\250\201\346\226\214/20240524_Linux\345\270\270\347\224\250\345\221\275\344\273\244\357\274\210\344\270\200\357\274\211.md" "b/\347\216\213\345\250\201\346\226\214/20240524_Linux\345\270\270\347\224\250\345\221\275\344\273\244\357\274\210\344\270\200\357\274\211.md" new file mode 100644 index 0000000000000000000000000000000000000000..7ee9bd86f65550e9f5da6db263a4218faa70c9e9 --- /dev/null +++ "b/\347\216\213\345\250\201\346\226\214/20240524_Linux\345\270\270\347\224\250\345\221\275\344\273\244\357\274\210\344\270\200\357\274\211.md" @@ -0,0 +1,45 @@ +#### 文件和目录管理: + +1. 路径 + + - 绝对路径:以/根目录开始的完整路径,都是绝对路径 + + - 相对路径:以某个对象为参数而写的不完整路径,是相对路径 + +2. 目录管理: + + - cd:切换目录 + + 用法:cd 路径 + + - pwd:显示当前工作目录 + + - ls:列出指定路径下的内容,包括文件和文件夹 + + - tree:以树形结构列出指定路径下的内容 + + - mkdir:创建文件夹, + + 创建嵌套目录:mkdir -p wwb/wvc/wvb/wvd/wve + + - rmdir:删除空文件夹 + + - rm:删除文件,搭配-r选项可以删除目录,和-f(强制删除)搭配时慎用 + + - cp:复制某个/某些对象 + + - mv:移动某个/某些对象 + +3. 文件查看: + + - cat + - more + - tail + - less + +4. 文件和目录查找: + + - which + - whereis + - find + - locate \ No newline at end of file