企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### **1、基础命令** ``` ls: 查看当前目录 cd: 切换目录或直接回到根目录 cd - : 切换最近使用的两次目录 pwd: 查看当前路径 ctrl+c: 强制中断命令 crtl+L: 清空当前屏幕 witch ls:查找命令在什么地方 whereis 软件名: 查找安装的软件 du -sh * 查看当前目录下文件的大小 init 0: 关机 init 6: 重启 ``` ### **2、目录结构** ``` /mnt: 测试目录 /root: 超级管理员家目录 /home: 普通用户家目录 /tmp: 临时目录,重启后清除 /var: 存放软件日志 /boot: 系统启动目录 /etc: 配置文件目录 /bin: 所有用户都能执行的程序目录 /sbin: 只有root才能执行程序目录 /usr: 存放用户软件目录 /dev: 存放硬件设备目录 /media: 挂载光盘目录 ``` ### **3、挂载光盘** ``` mount /dev/cdrom /media: 将光驱的文件挂载到media目录下 设置光驱自动挂载: vi /etc/fstab /dev/cdrom /media iso9660 defaults 0 0 ``` ### **4、文件管理** ``` touch filename:创建文件 rm –rf fileName:删除文件 cat fileName:查看文件内容 mv fileName1 fileName2: 移动文件(相当于重命名) vi filename: 编辑文件 touch filename{1..100}: 批量创建文件 cat fileName1 | head -10: 查看文件前十行内容 cat fileName1 | tail -10: 查看文件后十行内容 find /etc -name httpd.conf: 查找文件(查找etc下apache的配置文件) cat httpd.conf | grep listen:过滤查找(查找httpd.conf里面的listen) cat httpd.conf | grep -i listen:不区分大小写 ``` ### **5、目录管理** ``` mkdir dirName: 创建目录 rm -rf dirName:删除目录 mv dirName1 dirName2:修改目录或移动目录 ls: 查看目录 mkdir –p a/b/c/d/e/f:递归创建目录 tree a: 递归查看目录 ``` ### **6、用户管理** ``` useradd username:创建用户(只有root才能创建) passwd userName:为创建用户添加密码 userdel -r userName:删除用户 id userName:查看用户 alias chttp='cat/etc/httpd/config':创建别名 unalias aliasName: 删除别名 alias :查看别名 ``` ### **7、压缩管理** ``` tar czf myshop.tar.gz myshop:gz压缩myshop zip -r myshop.zip myshop:zip压缩myshop tar xzf myshop.tar.gz:解压gz uzip myshop.zip:解压zip tar tf myshop.tar.gz:查看gz压缩包,不解压 unzip -l myshop.zip:查看zip压缩包,不解压 ``` ### **8、网络设置** ifconfig:查看ip的详细信息 ifconfig eth0 :只查看eth0 ifconfig lo:只查看lo ifconfig eth0 192.168.20.3:临时设置ip vi /etc/sysconfig/networt-scripts/ifcfg-eth0 :永久设置ip IPADDR=192.168.20.3 NETMASK=255.255.255.0 ### **9、shell技巧** ``` tab:补全 history:历史命令 !203: 调用第203行的命令 !h: 调用历史中最后一次以h开头的命令 |:管道,用于过滤 ls \--help:获取ls命令帮助 man ls:获取ls命令详细帮助信息 ``` ### **10、lptables防火墙** ``` iptables \-L:查看 iptables \-F:清空 service iptables save:保存 ``` ### **11、selinux****防火墙** ``` vi /etc/selinux/config:编辑 SELINUX=disabled ``` ### **12、系统启动流程** ``` bios找到磁盘上的mbr主引导扇区-> 进入grub界面选择相应的启动内核-> 读取kernel内核文件 /boot/vmlinuz -*-> 读取init的镜像文件 /boot/initrd -*-> init去读取/etc/inittab-> 读取启动级别(id:3:initdefault)-> 读取/etc/rc.d/rc.sysinit,完成时钟设置,主机名的设置,分区表的挂载(/etc/fstab)-> 读取/etc/rc.d/rc脚本,通过该脚本吸收3级别,然后启动该目录下以K开头的服务-进入登录界面 ``` ### **13、时间管理** ``` date:查看时间 例如:date "+%y-%m-%d %H:%M:%S" date \-s "2019//4/8 9:48:30": 修改时间 hostname:查看主机名 修改主机名: hostname 名字:临时修改 vi /etc/sysconfig/network:永久修改 HOSTNAME = 名字 ``` ### **14、磁盘分区** ``` df -Th:查看已经挂载的分区 fdisk -l:查看分区 从sdb硬盘上分3G大小进行分区: fdisk /dev/sdb 按n键新建分区 按p键建立第一个主分区 开始柱面直接回车 结束柱面+3072M 按p键查看分区 按t键修改文件系统 按w键保存退出 mkfs ext3 /dev/sdb1:格式化成ext3文件系统(也可以用mkfs -t ext3 /dev/sdb) mount dev/sdb1 mnt:挂载/mnt下使用 df:查看挂载情况 umount dev/sdb1:卸载硬盘 mount \-a:测试fstasb中挂载是否成功 ``` ### **15、RPM和YUM软件包管理** ``` mount /dev/cdrom /media:挂载光盘(准备yum源(/media) cd /etc/yum.repos.d/:进入(修改yum配置文件) mv CentOS.Base.repo CentOS-Base:改名 vi CentOS-Media.repo:修改 baseurl = file://media gpgcheck = 0 :关闭gpg签名 enabled = 1 :开启本yum源 yum list:查看(进行测试) yum list|grep ^http:按名查看 amp: yum -y install apache\* mysql\* php\*:安装 yum remove http\*: yum卸载 卸载比较危险,那就使用rmp -e来卸载, --nodeps意义是截断软件依赖 rpm -e mysql-5.0.0.77-4.el5\_4.2 –nodeps ``` ### **16、用户权限管理** ``` rwxr-xr-x root root media - :没有权限 r :读权限 w :写权限 x :执行权限 第一类人:rwx 文件所有者(root用户)u 第二类人: r-x 所有者所在的用户组内的其它用户(root组内其它用户)g 第三类人:所有者所在组以外的其它用户(root组以外的其它用户)o 所有人群:a = u+g+o 目录的rwx r:查看文件 w:写入和删除文件 x:切入目录 文件的rwx r: 查看文件内容 w:写内容 x:执行文件(脚本) 设置权限:chmod chmod g+w,o-w file.txt 查看用户组:id root 把yujie用户加入root组:gpasswd -a yujie root 把yujie从root组中删除:gpasswd -d yujie root ACL权限分配: 添加权限: setfacl -m u:yujie:rwx -R rootdir 删除权限: getfacl rootdir 查看权限: setfacl -x u:yujie rootdir setfacl -b rootdir ``` ### **17、服务进程** ``` 安装软件:yum -y install http\* 查看进程: ps -ef |grep httpd pstree -p |grep httpd 查看进程和端口:netstat -tunpl 过滤: netstat -tunpl |grep httpd 查看特定端口: netstat -tunpl |grep 8000 关闭进程:pkill httpd或kill -9 pid 查看服务器的性能: top :3秒看一次负载 uptime :平均负载 last:查看服务器重要操作 who :查看同时在线用户 cat /var/log/messages :查看系统日志 ``` ### **18、任务计划** **crontab** ``` 创建计划任务:crontab -e 查看计划任务: crontab -l 删除计划任务:crontab -r 12 19 * * * :/sbin/init 6 每天19:12重启计算机 * * * * * 分 时 日 月 周 00 03 * * * :每天3点 30 23 * * * :每天23:30 * 5 * * * * :每隔5分钟 59 23 * * 1-5 :每周一到周五 59 23 * * 1,3,5 :周一、周三和周五的23:59 59 23 6 1 * :每年1月6号23:59 例如:用shell脚本去执行(备份网站目录) #!/bin/bash #webbak.sh date=`date"+%Y-%m-%d"` zip -r /var/www/web-${date}.zip /var/www/html mv /var/www/www/web-${date}.zip /mnt/ 将这段脚本放到计划任务中: crontab -e 00 03 * * * /bin/bash /root/webbak.sh 为shell脚本添加权限: chmod a+w webak.sh 开始执行:/root/webbak.sh ```