Linux系统

发布时间:2022-07-01 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Linux系统脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

Linux一切皆文件,文件的读写执行、权限(用户、用户组)、系统(磁盘、进程)。

服务器通常使用LamP(Linux+apache+MySQL+PHP)或LNMP(Linux+Nginx+MySQL+PHP)组合。

Windows中进程叫做”服务“(service),在Linux中叫”守护进程“(daemon)。

 

用户登录Linux的三种方法:

  • 命令行登录(本地直接登录)

  • ssh登录(远程登录服务器)

  • 图形界面登录(虚拟机登录)

 

Linux链接分为两种:硬链接、软连接。

  • 硬链接:A--B,假设B是A的硬链接,那么他们两个指向同一个文件。允许一个文件拥有多个路径,用户可以通过这种机制建立硬链接到一些重要文件上,误删

  • 软链接:软链接又叫符号链接,类似windows下的快捷方式,删除文件,快捷方式也访问不了了。

 

一、环境搭建

1.1 虚拟机

  1. 下载安装VMware虚拟机软件(需要激活码激活);

  2. 下载CentOS 7镜像,Linux磁盘分区的时候注意分区名(/boot、/home);

  3. VMware安装linux系统百度博客);

    点击屏幕进入虚拟机,Ctrl+Alt将聚焦退出虚拟机

    账号:root 密码:qwedsa

 

  • 快照

    保留当前系统信息为快照,随时可以恢复,以防未来系统被玩坏。

    虚拟机——快照——拍摄快照

  • 本地网络配置

    保证Linux虚拟机和本机处在同一个网段,对应配置文件为/etc/Sysconfig/network-scripts/,虚拟机默认ifcfg-eno16777736

    静态连接:固定ip地址。

    动态连接(dhcp-桥接模式):虚拟机动态连接网络,一定要桥接到正确的网卡。

    虚拟机——设置——网络适配器——桥接模式

    编辑——网络编辑器——更改设置——桥接模式——已桥接至...

    vim ifCFg-eno16777736# 动态连接BOOTPROTO="dhcp"#静态连接,Windows ping LinuxBOOTPROTO=noneping 192.168.1.102

    傻瓜式配置,只能在图形界面下有效

    nm-connection-edITor

     

 

1.2 云服务器

  • 购买配置服务器:https://www.aliyun.COM/minisite/goods?userCode=r5SAExap&share_source=copy_link

  • 下载Xshell等远程连接工具(22端口)

  • 下载Xftp等文件上传工具(21端口)

 

二、Linux目录

  • /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:s就是SuPEr User的意思,这里存放系统管理员使用的系统管理程序。

  • /srv:该目录存放一些服务启动之后需要提取的数据。

  • /sys:这是Linux2.6内核的很大的一个变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs

  • /tmp:这个目录用来存放一些临时文件。用完即删的文件,如安装包。

  • /usr:usr是Unix Software Resource的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于Windows下的program files目录。

  • /usr/bin:系统用户使用的应用程序。

  • /usr/src:内核源代码默认放置目录。

  • /VAR:这个目录存放着不断扩充的东西,习惯将那些经常被修改的目录放在这个目录下,包括各种日志文件。

  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,该目录下的文件就会被删除。

  • /www:存放服务器网站相关的资源,如环境、网站项目。

 

三、基本命令

Ctrl+C:退出错误的命令。

Ctrl+L:清屏。

Ctrl+Z:暂停操作。

Tab:自动补全文件或目录。

reset     # 重新初始化终端/清屏;clear     # 清屏,也可使用快捷键Ctrl+L;history     # 查看历史命令;help     # 帮助;exit      # 退出;#      # 注释。|     # 在Linux中 "|" 叫做管道符,A|B,把A命令的结果作为输出操作B命令ifconfig   # 查看网络配置

 

3.1 关机

sync  # 将数据由内存同步到硬盘shutdown    # 关机指令,可以man shutdown来看一下帮助文档,例如你可以使用如下命令关机:shutdown -h 10   # 计算机将在10分钟后关机shutdown -h now   # 立刻shutdown -h 20:00   # 计算机在今天20:00关机shutdown -h +10   # 10分钟后关机shutdown -r now   # 系统立刻重启shutdown -r +10   # 系统10分钟后重启reboot    # 系统立刻重启,等同于shutdown -r nowhalt   # 关闭系统,等同于shutdown -h now和poweroff

 

3.2 目录管理

绝对路径:路径全称,如:D:书&笔记java资料Java_Teach博客;

相对路径:相对于当前路径进行操作。

cd目录名绝对路径都是以/开头,相对路径对于当前目录该如何寻找。

cd      # 改变目录cd ..   # 退回到上一菜单cd ./   # 当前目录ls       # 列出当前目录中的所有文件ls -l    # 列出当前目录中的所有文件,包括属性和权限ls -a    # 列出当前目录中的所有文件,包括隐藏文件ls -al   # 列出当前目录中的所有文件,包括属性和权限、隐藏文件pwd   # 显示当前所在的目录路径mkdir      # 新建一个目录,即新建文件夹mkdir -p   # 递归创建一个目录,mkdir -p test1/test2/test3rmdir       # 删除一个空目录rmdir -p    # 递归删除一个目录,rmdir -p test1/test2/test3,删除多个层级目录touch    # 新建一个文件,touch index.js就会在当前目录下新建一个index.js文件cp    # 复制文件或者目录,cp install.sh test,将install.sh复制到test目录中rm          # 移除文件或者目录,rm index.js就会把index.js删除rm -f       # 移除文件或者目录,忽略不存在的文件,不会出现警告,强制删除rm -r       # 递归删除目录,rm -r src删除src目录rm -i       # 删除时询问是否删除rm -rf      # 强行删除一个目录rm -rf /    # 递归删除,删除脑中全部文件,删库跑路操作,切勿使用mv      # 移动文件或目录、重命名文件,mv index.htML src,将我们要移动的文件index.html移动到目标文件夹src;mv test test1,将test文件重命名为test1mv -f   # 强制移动mv -u   # 只替换更新过的文件ln      # 创建硬链接,ln F1 f2,创建硬链接f2链接到f1ln -s   # 创建软连接

 

3.3 文件属性修改

文件属性

lrwxrwxrwx. 1 root root 7 10月 28 00:46 bin -> usr/bin

dr-xr-xr-x. 5 root root 4096 10月 28 00:53 boot

  • 第1个字符代表文件属性

    d:目录

    -:文件

    l:link file,表示链接文档

    b:表示为装置文件里面可供储存的接口设备(可随机存取装置)

    c:表示为装置文件里面的串行端口设备,例如鼠标、键盘(一次性读取装置)

  • 接下来9个字符,每三个为一组,分别为属主权限属组权限其他用户权限,且都为[rwx]三个参数的组合,如果没有这个权限则用-代替。

    r:可读red

    w:可写write

    x:可执行execute

  • 文件个数

  • 属主和属组

  • 文件大小

  • 创建时间

  • 文件名,链接文档指向具体目录

chgrp 属组名 文件名       # 修改文件属组chgrp [-R] 属组名 文件名  # 递归修改文件属组,修改该文件即该文件下子目录的数组chown 属主名 文件名               # 修改文件属主chown 属主名:属组名 文件名         # 修改文件属主、属组chown [-R] 属主名 文件名          # 递归修改文件属主chown [-R] 属主名:属组名 文件名    # 递归修改文件属主、属组chmod xyz     # 更改文件,xyz代表数字时:r(4)、w(2)、x(1),chmod 777代表属主、属组和其他用户都可读可写可执行;xyz代表符号时(略)

 

3.4 文件内容查看

cat    # 由第一行开始显示文件内容,用来读文章、读配置文件,cat ifcfg-eth0tac    # cat倒写,从最后一行开始显示文件内容nl     # 显示内容时,顺便输出行号more   # 一页一页地显示文件内容。空格 向下翻页,回车 向下看一行,:f 看当前行号less   # 与more类似,且可以翻页。PageUp/PageDown 上下翻页,q 退出,/字符 向下查找字符串,?字符 向上查找字符串,n 寻找下一个,N 向上寻找,其他操作参照morehead -n  # 只看头几行,head -n 20 csh.LOG,看csh.login的头20行tail -n  # 只看尾几行echo   # 输入字符串,echo "i love you" >>f1,向f1中写入“i love you”

 

3.5 Vim编辑器

Vim通过插件可以实现和IDE一样的功能。

Vim是从发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在Linux中必须会使用。

Vim分为三种模式:命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)

  • 命令模式

    刚进入Vim,便进入了命令模式,如果文件存在,那么就修改这个文件;如果文件不存在,那么。

    vim xx.txt

    此时敲击键盘的动作会被Vim识别为命令,不会输入字符:

    • i/a/o:切换到输入模式,输入字符;

    • x:删除当前光标所在的字符;

    • ::切换到底线命令模式。如果是输入模式,需要先退出。

  • 输入模式

    输入模式下可以使用键盘。

    • 回车:换行;

    • Backspace:删除光标前一个字符;

    • DEL:删除光标后一个字符;

    • 方向键:移动光标;

    • HOME/END:移动光标到行首/行末;

    • Page Up/Page Down:上下翻页;

    • Insert:切换光标输入/替换模式;

    • ESC:退出输入模式,切换到命令模式。

  • 底线命令模式

    底线命令模式可以输入单个或多个字符的命令。

三个模式的更多操作请百度。

Vim编译器底下:文件名、行数、字符、光标位置。

 

3.6 账号管理

Linux系统是一个多用户多任务的分时操作系统,任何一个想要使用系统资源的用户,都必须向系统管理员申请一个账号,然后以这个账号的身份进入系统。实现用户的账号管理,主要的工作有以下几个方面:

  • 用户账号的添加、删除和修改

    可从/etc/passwd文件中查看用户账号记录。

    root:x:0:0:root:/root:/bin/bash

    xj:x:1000:1000:xj:/home/xj:/bin/bash

    用户名:口令(密码,我们不可见):用户标识号:组标识号:(注释性描述:)主目录:登录Shell

    useradd -m               # 添加用户,自动创建这个用户的主目录,useradd -m xj,默认目录为/home/xjuseradd -c comment       # 指定一段注释描述useradd -d 目录           # 指定用户主目录,如果此目录不存在,则使用-museradd -g 用户组         # 指定用户所属的用户组useradd -G 用户组,用户组   # 指定用户的附加组useradd -s Shell文件      # 指定用户的登录Shelluseradd -u 用户号         # 指定用户的用户号,如果同时又-o选项,则可以重复使用其他用户的标识号userdel -r   # 删除用户,清空目录,userdel -r xjusermod -d 目录    # 修改用户目录,usermod -d /home/233 xj
  • 用户口令的管理

    登录口令加密后存放在/etc/shadow中。

    passwd      # 修改密码,默认修改当前用户密码,root用户也可修改指定用户密码,passwd xj,修改用户xj的密码,Linux修改密码不会显示,直接输入即可passwd -l   # 锁定用户,让其不能登录,passwd -l xjpasswd -d   # 清空密码并锁定用户,也不能登录passwd -u   # 解锁用户
  • 用户组的管理

    每个用户都有一个用户组,系统可以对一个用户组的所有用户进行集中管理(root、开发、测试、运维...)。不同Linux系统对用户组的规定不同,如Linux下的用户属于与他同名的用户组,这个用户组在创建用户时同时创建。从/etc/group中查看。

    xl:x:1001:

    groupadd           # 添加用户组,groupadd xl,创建xl用户组groupadd -g id     # 添加用户组并指定id,如果不指定,默认从1000开始自增groupdel      # 删除用户组,groupdel xlgroupmod -g id         # 修改用户组id,groupmod -g 520 xlgroupmod -n 用户组名    # 修改用户组名,groupmod -n newxl xl$ newgrp root   # 登陆后切换用户组,或是在创建的时候就-G指定,一般不修改
  • 切换用户

    终端命令行说明:[用户名@主机名 当前路径]#(超级用户)/$(普通用户) [root@sep home]#[xj@sep home]$

    su      # 切换用户,su xjexit    # 退回到root用户hostname  # 查看或临时修改当前主机名,hostname,查看主机名;hostname xl,将主机名修改为xl,重连后生效

     

3.7 磁盘管理

DF      # 列出文件系统整体的磁盘使用量,单位Kdf -h   # 列出磁盘整体使用量,单位Mdu          # 检查磁盘空间使用量du -a       # 检查磁盘空间使用量,包括隐藏文件du -sm /*   # 检查根目录下每个目录所占的容量mount       # Mac或Linux挂载本地磁盘或文件,mount /dev/sep /mnt/sep,将外部设备sep挂载到mnt目录下,实现访问umount      # 卸载,umount /mnt/sepumount -f   # 强制卸载

安装完JDK后,可以通过Java命令来查看信息。

 

3.8 进程管理

在Linux中,每一个程序都有自己的进程,每一个进程都有一个id号(类似Windows中的PID)。

每一个进程都有以一个父进程。

进程可以有两种存在方式:前台、后台。一般服务都是后台运行的,基本程序都是前台运行的,nohup代表后台执行程序。

ps       # 查看当前系统中正在执行的各种进程信息ps -a    # 显示当前终端运行的所有进程信息(当前进程)ps -u    # 以用户的信息显示进程ps -x    # 显示后台运行进程的参数ps -aux  # 显示所有进程,ps -aux|grep mysql,(grep查找文件中符号条件的字符串),查看mysql进程ps -ef   # 可以查看到父进程信息,一般可以通过目录树结构查看pstree -p  # 查看目录树结构,显示父idpstree -u  # 查看目录树结构,显示用户组pstree -pu # 查看目录树结构,显示id和用户组kill -9 id   # 杀掉进程,kill -9 31065,结束id号为31065的进程

 

四、软件的安装和部署

安装软件一般有四种方式:

  • rpm安装(JDK)

  • 解压缩安装(Tomcat)

  • yum在线安装(docker)

  • 宝塔面板安装

4.1 JDK安装

  1. 下载JDK rpm

  2. 安装Java环境;

    # 检测当前系统是否存在Java环境java -version# 如果有Java要卸载rpm -qa|grep jdk   # 检测JDK版本信息rpm -e --nodeps jdk    # 强制移除# 没有Java环境,即可安装rpm -ivk rpm包
  3. 配置环境变量(rpm貌似不需要,解压缩安装才需要)

    环境变量配置文件/etc/profile

    # 编辑配置文件vim /etc/profile# 插入Java环境变量JAVA_HOME=/urs/java/jdk1.8CLASSPATH=$JAVA_HOME/lib/PATH=$PATH:$JAVA_HOME/binexport PATH JAVA_HOME CLASSPATH# 让配置文件生效source /etc/profile# 查看Java环境java -version

 

4.2 Tomcat安装

  1. 下载Tomcat tar.gz

  2. 解压Tomcat;

    tar -zxvf apache-tomcat-9.0.54.tar.gz
  3. 重命名解压文件为tomcat9(方便操作)

  4. 启动Tomcat测试;

    进入bin目录,执行 ./xxx.sh脚本即可运行。

    # 执行./startup.sh# 停止./shotdown.sh
  5. 开启防火墙8080端口;

    如果防火墙8080端口开了,并且阿里云安全组也开放了,就可以直接访问远程了。

    # 查看firewall服务状态systemctl status firewalld# 根据情况打开firewallservice firewalld start      # 开启firewalld.service服务service firewalld restart    # 重启firewalld.service服务service firewalld stop       # 关闭firewalld.service服务# 查看firewall开启的端口firewall-cmd --list-all     # 查看防火墙所有信息firewall-cmd --list-ports   # 查看防火墙开启的端口信息,如果时阿里云,需要配置安全组规则# 如果没有打开8080端口,则开启,然后重启firewall-cmd --zone=public --add-port=8080/tcp --permanent    # 开启防火墙的8080端口systemctl restart firewalld.service    # 重启防火墙--zone      # 作用域--add-port=9000/tcp    # 添加端口,格式为:端口号/通讯协议--permanent     # 永久生效,没有此参数重启后失效

    上传完毕项目,直接够没自己的域名,备案解析过去即可。

    域名解析后,如果端口是80-http或者443-https,可以直接访问;如果是9000、8080,就需要通过Apache或者Nginx做一下反向代理,配置文件即可。

 

4.3 Docker安装

官网安装操作手册:Install Docker Engine on CentOS | Docker Documentation

在Linux下执行,一定要联网,yum在线安装。

  1. 检测CentOS 7;

    cat /etc/redhat-release
  2. 安装准备环境

    yum -y install 包名,yum install 安装命令,-y 所有提示都为y

    yum -y install gccyum -y install gcc-c++
  3. 根据官网安装

    # 卸载以前的安装包sudo yum remove docker                 docker-client                 docker-client-latest                 docker-common                 docker-latest                 docker-latest-logrotate                 docker-logrotate                 docker-engine# 安装环境sudo yum install -y yum-utils# 安装镜像sudo yum-config-manager   --add-repo   https://download.docker.com/linux/centos/docker-ce.repo    # 国外镜像,速度慢可用阿里云镜像sudo yum-config-manager -add-repo http://mirrors.aliyum.com/docker-ce/linux/docker-ce.repo    # 阿里云镜像# 更新yum软件的索引包yum makecache fast# 安装dockeryum -y install docker-ce docker-ce-cli containerd.io# 启动dockersystemctl start docker# 测试docker versiondocker run hello-worlddocker images

 

 

 

脚本宝典总结

以上是脚本宝典为你收集整理的Linux系统全部内容,希望文章能够帮你解决Linux系统所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。